Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 60287e9d8fbc5cdac94710facb5dad90cf9d642b
https://github.com/WebKit/WebKit/commit/60287e9d8fbc5cdac94710facb5dad90cf9d642b
Author: Keith Miller <[email protected]>
Date: 2024-10-02 (Wed, 02 Oct 2024)
Changed paths:
M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
M Source/JavaScriptCore/wasm/WasmCallee.h
M Source/JavaScriptCore/wasm/WasmCalleeGroup.h
M Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp
M Source/JavaScriptCore/wasm/WasmOMGPlan.cpp
M Source/JavaScriptCore/wasm/WasmOSREntryPlan.cpp
M Source/JavaScriptCore/wasm/WasmOperations.cpp
M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp
Log Message:
-----------
Wasm tier up replacements should be fetched from the CalleeGroup
https://bugs.webkit.org/show_bug.cgi?id=280760
rdar://137126633
Reviewed by David Degazio.
Right now replacement callees are store in each lower tier Callee.
1) This uses extra space on each Callee
2) It makes destroying old BBQ code harder since there could be interpreter
callees retaining BBQ callees.
3) It shouldn't be a performance regression to get the replacement from the
callee group since most callsites
should update on their own when we repatch them.
The only Wasm::Callee that still retains its tier up callee is BBQCallee ->
OSREntryCallee. That's because
the OSREntryCallee is *not* retained by the CalleeGroup.
Long term, if we start releasing interpreter callees, we could resume having
each Callee retain a replacement.
That way, as each Callee gets destroyed it can register the tier up callee for
destruction too.
* Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::work):
* Source/JavaScriptCore/wasm/WasmCallee.h:
* Source/JavaScriptCore/wasm/WasmCalleeGroup.h:
* Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp:
(JSC::IPInt::jitCompileAndSetHeuristics):
(JSC::IPInt::WASM_IPINT_EXTERN_CPP_DECL):
* Source/JavaScriptCore/wasm/WasmOMGPlan.cpp:
(JSC::Wasm::OMGPlan::work):
* Source/JavaScriptCore/wasm/WasmOSREntryPlan.cpp:
(JSC::Wasm::OSREntryPlan::work):
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_NOEXCEPT_JIT_OPERATION):
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::jitCompileSIMDFunction):
(JSC::LLInt::WASM_SLOW_PATH_DECL):
Canonical link: https://commits.webkit.org/284575@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes