Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0d25934d08a80e7338018fb98ddcf7a8a5c27f77
https://github.com/WebKit/WebKit/commit/0d25934d08a80e7338018fb98ddcf7a8a5c27f77
Author: Yusuke Suzuki <[email protected]>
Date: 2026-08-03 (Mon, 03 Aug 2026)
Changed paths:
M Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp
M Source/JavaScriptCore/bytecode/InlineCacheCompiler.h
M Source/JavaScriptCore/jit/JITThunks.cpp
M Source/JavaScriptCore/jit/JITThunks.h
M Source/JavaScriptCore/jit/ThunkGenerators.cpp
M Source/JavaScriptCore/jit/ThunkGenerators.h
Log Message:
-----------
[JSC] Share VM-independent JIT thunks
https://bugs.webkit.org/show_bug.cgi?id=320916
rdar://183943385
Reviewed by Yijia Huang.
We have various handler IC thunks and others, but most of them do not
need to have embedded VM*, which means they are VM-independent. Let's
share them globally among multiple VMs.
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp:
(JSC::loadHandlerImpl):
(JSC::getByIdLoadHandlerImpl):
(JSC::getByIdLoadOwnPropertyHandler):
(JSC::getByIdLoadPrototypePropertyHandler):
(JSC::getByIdMissHandler):
(JSC::getterHandlerImpl):
(JSC::getByIdGetterHandler):
(JSC::getByIdProxyObjectLoadHandler):
(JSC::getByIdModuleNamespaceLoadHandler):
(JSC::putByIdReplaceHandler):
(JSC::setterHandlerImpl):
(JSC::putByIdSetterHandlerImpl):
(JSC::putByIdStrictSetterHandler):
(JSC::putByIdSloppySetterHandler):
(JSC::inByIdInHandlerImpl):
(JSC::inByIdHitHandler):
(JSC::inByIdMissHandler):
(JSC::deleteByIdDeleteHandler):
(JSC::deleteByIdIgnoreHandlerImpl):
(JSC::deleteByIdDeleteNonConfigurableHandler):
(JSC::deleteByIdDeleteMissHandler):
(JSC::instanceOfHandlerImpl):
(JSC::instanceOfHitHandler):
(JSC::instanceOfMissHandler):
(JSC::getByValLoadHandlerImpl):
(JSC::getByValWithStringLoadOwnPropertyHandler):
(JSC::getByValWithStringLoadPrototypePropertyHandler):
(JSC::getByValWithSymbolLoadOwnPropertyHandler):
(JSC::getByValWithSymbolLoadPrototypePropertyHandler):
(JSC::getByValMissHandlerImpl):
(JSC::getByValWithStringMissHandler):
(JSC::getByValWithSymbolMissHandler):
(JSC::getByValNonStringPrimitiveKeyLoadHandlerImpl):
(JSC::getByValNonStringPrimitiveKeyMissHandlerImpl):
(JSC::putByValNonStringPrimitiveKeyReplaceHandlerImpl):
(JSC::getByValGetterHandlerImpl):
(JSC::getByValWithStringGetterHandler):
(JSC::getByValWithSymbolGetterHandler):
(JSC::putByValReplaceHandlerImpl):
(JSC::putByValWithStringReplaceHandler):
(JSC::putByValWithSymbolReplaceHandler):
(JSC::putByValSetterHandlerImpl):
(JSC::putByValWithStringStrictSetterHandler):
(JSC::putByValWithSymbolStrictSetterHandler):
(JSC::putByValWithStringSloppySetterHandler):
(JSC::putByValWithSymbolSloppySetterHandler):
(JSC::inByValInHandlerImpl):
(JSC::inByValWithStringHitHandler):
(JSC::inByValWithStringMissHandler):
(JSC::inByValWithSymbolHitHandler):
(JSC::inByValWithSymbolMissHandler):
(JSC::deleteByValDeleteHandlerImpl):
(JSC::deleteByValIgnoreHandlerImpl):
(JSC::deleteByValWithStringDeleteHandler):
(JSC::deleteByValWithStringDeleteNonConfigurableHandler):
(JSC::deleteByValWithStringDeleteMissHandler):
(JSC::deleteByValWithSymbolDeleteHandler):
(JSC::deleteByValWithSymbolDeleteNonConfigurableHandler):
(JSC::deleteByValWithSymbolDeleteMissHandler):
(JSC::checkPrivateBrandHandler):
(JSC::setPrivateBrandHandler):
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.h:
* Source/JavaScriptCore/jit/JITThunks.cpp:
(JSC::sharedCommonThunks):
(JSC::JITThunks::initialize):
(JSC::JITThunks::ctiStub):
* Source/JavaScriptCore/jit/JITThunks.h:
* Source/JavaScriptCore/jit/ThunkGenerators.cpp:
(JSC::polymorphicThunkFor):
(JSC::polymorphicThunk):
(JSC::polymorphicThunkForClosure):
(JSC::polymorphicTopTierThunk):
(JSC::polymorphicTopTierThunkForClosure):
(JSC::returnFromBaselineGenerator):
* Source/JavaScriptCore/jit/ThunkGenerators.h:
Canonical link: https://commits.webkit.org/318492@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications