[webkit-changes] [WebKit/WebKit] 2d8001: [JSC] Use probe instead of debugCall for speculati...

Yusuke Suzuki noreply at github.com
Thu Aug 3 19:45:18 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2d800189793ac2a9ab2c482095f23f52ad292392
      https://github.com/WebKit/WebKit/commit/2d800189793ac2a9ab2c482095f23f52ad292392
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2023-08-03 (Thu, 03 Aug 2023)

  Changed paths:
    M Source/JavaScriptCore/dfg/DFGOSRExit.cpp
    M Source/JavaScriptCore/dfg/DFGOSRExit.h
    M Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp
    M Source/JavaScriptCore/jit/AssemblyHelpers.cpp
    M Source/JavaScriptCore/jit/AssemblyHelpers.h

  Log Message:
  -----------
  [JSC] Use probe instead of debugCall for speculation failure dump
https://bugs.webkit.org/show_bug.cgi?id=259810
rdar://113365827

Reviewed by Mark Lam.

debugCall is now leveraged even in FTL, but this does not work well for FTL since it does not restore all registers used by FTL.
In this patch, we remove debugCall, and instead we use JIT probe. This is cleaner, fixing FTL issue, and it is OK for debug purpose calls.

* Source/JavaScriptCore/dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::compileExit):
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/dfg/DFGOSRExit.h:
* Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileStub):
* Source/JavaScriptCore/jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::debugCall): Deleted.
* Source/JavaScriptCore/jit/AssemblyHelpers.h:

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




More information about the webkit-changes mailing list