[webkit-changes] [WebKit/WebKit] 59c35e: Replace uses of CallFrame::iterate() with StackVis...

EWS noreply at github.com
Wed Jan 18 08:06:30 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 59c35e2316675987a5d58a42addebc1f69bfff95
      https://github.com/WebKit/WebKit/commit/59c35e2316675987a5d58a42addebc1f69bfff95
  Author: Mark Lam <mark.lam at apple.com>
  Date:   2023-01-18 (Wed, 18 Jan 2023)

  Changed paths:
    M Source/JavaScriptCore/API/JSContextRef.cpp
    M Source/JavaScriptCore/bytecode/CodeBlock.cpp
    M Source/JavaScriptCore/inspector/ScriptCallStackFactory.cpp
    M Source/JavaScriptCore/interpreter/CallFrame.h
    M Source/JavaScriptCore/jsc.cpp
    M Source/JavaScriptCore/runtime/FunctionPrototype.cpp
    M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
    M Source/JavaScriptCore/runtime/NullSetterFunction.cpp
    M Source/JavaScriptCore/tools/JSDollarVM.cpp
    M Source/JavaScriptCore/tools/VMInspector.cpp
    M Source/WebCore/bindings/js/JSDOMGlobalObject.cpp
    M Source/WebCore/testing/Internals.cpp

  Log Message:
  -----------
  Replace uses of CallFrame::iterate() with StackVisitor::visit().
https://bugs.webkit.org/show_bug.cgi?id=250751
<rdar://problem/104363671>

Reviewed by Yusuke Suzuki.

An assertion in CallFrame::iterate() is blocking StackVisitor from dumping the JS stack
when we encounter Wasm frames.  The assertion was from back when Wasm frames didn't exist.

This patch removes CallFrame::iterate() completely, and changes all callsites to call
StackVisitor::visit() instead.

* Source/JavaScriptCore/API/JSContextRef.cpp:
(JSContextCreateBacktrace):
* Source/JavaScriptCore/bytecode/CodeBlock.cpp:
(JSC::CodeBlock::noticeIncomingCall):
* Source/JavaScriptCore/inspector/ScriptCallStackFactory.cpp:
(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):
* Source/JavaScriptCore/interpreter/CallFrame.h:
(JSC::CallFrame::iterate): Deleted.
* Source/JavaScriptCore/jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
* Source/JavaScriptCore/runtime/FunctionPrototype.cpp:
(JSC::retrieveArguments):
(JSC::retrieveCallerFunction):
* Source/JavaScriptCore/runtime/JSGlobalObject.cpp:
* Source/JavaScriptCore/runtime/NullSetterFunction.cpp:
(JSC::callerIsStrict):
* Source/JavaScriptCore/tools/JSDollarVM.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
* Source/JavaScriptCore/tools/VMInspector.cpp:
(JSC::VMInspector::codeBlockForFrame):
(JSC::VMInspector::dumpCallFrame):
(JSC::VMInspector::dumpRegisters):
(JSC::VMInspector::dumpStack):
* Source/WebCore/bindings/js/JSDOMGlobalObject.cpp:
(WebCore::callerGlobalObject):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::parserMetaData):

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




More information about the webkit-changes mailing list