Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 98bc2206cd1ab283d8500d833ddcba7d0eddc233
      
https://github.com/WebKit/WebKit/commit/98bc2206cd1ab283d8500d833ddcba7d0eddc233
  Author: Yusuke Suzuki <[email protected]>
  Date:   2023-03-12 (Sun, 12 Mar 2023)

  Changed paths:
    M Source/JavaScriptCore/jit/GPRInfo.h
    M Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h
    M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
    M Source/JavaScriptCore/wasm/WasmOperations.cpp
    M Source/JavaScriptCore/wasm/WasmThunks.cpp

  Log Message:
  -----------
  [JSC] Don't clobber argumentGPR0 and argumentGPR1 for tiering up in wasm
https://bugs.webkit.org/show_bug.cgi?id=253802
rdar://106622369

Reviewed by Justin Michaud.

Tiering up check should just use GPRInfo::nonPreservedNonArgumentGPR0 as a 
scratch.
As a result, GPRInfo::argumentGPR1 is no longer clobbered. And 
GPRInfo::argumentGPR0 is
clobbered *only when we definitely tier up*. So in the normal cases (not 
tiering up),
we no longer clobber both registers. Thus we do not need to say that they are 
clobbered
for tiering up checks. This avoids always saving these arguments to the stack.

* Source/JavaScriptCore/jit/GPRInfo.h:
* Source/JavaScriptCore/wasm/WasmAirIRGeneratorBase.h:
(JSC::Wasm::ExpressionType>::emitEntryTierUpCheck):
(JSC::Wasm::ExpressionType>::emitLoopTierUpCheck):
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::emitEntryTierUpCheck):
(JSC::Wasm::B3IRGenerator::emitLoopTierUpCheck):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::emitEntryTierUpCheck):
(JSC::Wasm::BBQJIT::addTopLevel):
(JSC::Wasm::BBQJIT::emitLoopTierUpCheck):
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
(JSC::Wasm::doOSREntry):
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/wasm/WasmThunks.cpp:
(JSC::Wasm::triggerOMGEntryTierUpThunkGeneratorImpl):

Canonical link: https://commits.webkit.org/261557@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to