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

Reply via email to