[webkit-changes] [WebKit/WebKit] 689b0b: Introduce CallFrame::returnPCForInspection(), and ...

Commit Queue noreply at github.com
Fri Dec 16 15:58:32 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 689b0ba375c8ad009024dac56d3d7713c6f5b7c6
      https://github.com/WebKit/WebKit/commit/689b0ba375c8ad009024dac56d3d7713c6f5b7c6
  Author: Mark Lam <mark.lam at apple.com>
  Date:   2022-12-16 (Fri, 16 Dec 2022)

  Changed paths:
    M Source/JavaScriptCore/CMakeLists.txt
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/Sources.txt
    M Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
    R Source/JavaScriptCore/interpreter/AbstractPC.cpp
    R Source/JavaScriptCore/interpreter/AbstractPC.h
    M Source/JavaScriptCore/interpreter/CallFrame.cpp
    M Source/JavaScriptCore/interpreter/CallFrame.h
    M Source/JavaScriptCore/interpreter/StackVisitor.cpp
    M Source/JavaScriptCore/jit/JIT.cpp
    M Source/JavaScriptCore/jit/JIT.h
    M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
    M Source/JavaScriptCore/tools/VMInspector.cpp
    M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp

  Log Message:
  -----------
  Introduce CallFrame::returnPCForInspection(), and removed some unused code.
https://bugs.webkit.org/show_bug.cgi?id=249495
<rdar://problem/103457282>

Reviewed by Justin Michaud.

CallFrame::returnPC() was relying on ReturnAddressPtr, which in turn expected to be able
to untag any arbitrary return address read from a stack frame.  This will not always be
possible when JITCage is enabled.  Also, CallFrame::returnPC() is only used for debugging
purposes.  So, this patch will simplify its implementation and rename it to
CallFrame::returnPCForInspection() to make it clear that it should only be used for
debugging and analysis purposes.

We will also remove some related unused code.

* Source/JavaScriptCore/CMakeLists.txt:
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/Sources.txt:
* Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:
(JSC::ReturnAddressPtr::ReturnAddressPtr): Deleted.
(JSC::ReturnAddressPtr::fromTaggedPC): Deleted.
(JSC::ReturnAddressPtr::value const): Deleted.
(JSC::ReturnAddressPtr::untaggedValue const): Deleted.
(JSC::ReturnAddressPtr::dump const): Deleted.
(): Deleted.
* Source/JavaScriptCore/interpreter/AbstractPC.cpp: Removed.
* Source/JavaScriptCore/interpreter/AbstractPC.h: Removed.
* Source/JavaScriptCore/interpreter/CallFrame.cpp:
(JSC::CallFrame::dump const):
* Source/JavaScriptCore/interpreter/CallFrame.h:
(JSC::CallFrame::returnPCForInspection const):
(JSC::CallFrame::returnPCOffset):
(JSC::CallFrame::returnPC const): Deleted.
(JSC::CallFrame::abstractReturnPC): Deleted.
* Source/JavaScriptCore/interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::dump const):
* Source/JavaScriptCore/jit/JIT.cpp:
(JSC::ctiPatchCallByReturnAddress): Deleted.
* Source/JavaScriptCore/jit/JIT.h:
* Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* Source/JavaScriptCore/tools/VMInspector.cpp:
(JSC::VMInspector::dumpRegisters):
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):

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




More information about the webkit-changes mailing list