Ignore:
Timestamp:
Aug 23, 2018, 3:57:09 PM (7 years ago)
Author:
[email protected]
Message:

Move vmEntryGlobalObject() to VM from CallFrame.
https://bugs.webkit.org/show_bug.cgi?id=188900
<rdar://problem/43655753>

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Also introduced CallFrame::isGlobalExec() which makes use of one property of
GlobalExecs to identify them i.e. GlobalExecs have null callerFrame and returnPCs.
CallFrame::initGlobalExec() ensures this.

In contrast, normal CallFrames always have a callerFrame (because they must at
least be preceded by a VM EntryFrame) and a returnPC (at least return to the
VM entry glue).

  • API/APIUtils.h:

(handleExceptionIfNeeded):
(setException):

  • API/JSBase.cpp:

(JSEvaluateScript):
(JSCheckScriptSyntax):

  • API/JSContextRef.cpp:

(JSGlobalContextRetain):
(JSGlobalContextRelease):
(JSGlobalContextCopyName):
(JSGlobalContextSetName):
(JSGlobalContextGetRemoteInspectionEnabled):
(JSGlobalContextSetRemoteInspectionEnabled):
(JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions):
(JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions):
(JSGlobalContextGetDebuggerRunLoop):
(JSGlobalContextSetDebuggerRunLoop):
(JSGlobalContextGetAugmentableInspectorController):

  • API/JSValue.mm:

(reportExceptionToInspector):

  • API/glib/JSCClass.cpp:

(jscContextForObject):

  • API/glib/JSCContext.cpp:

(jsc_context_evaluate_in_object):

  • debugger/Debugger.cpp:

(JSC::Debugger::pauseIfNeeded):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::vmEntryGlobalObject const):
(JSC::DebuggerCallFrame::evaluateWithScopeExtension):

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::vmEntryGlobalObject): Deleted.

  • interpreter/CallFrame.h:

(JSC::ExecState::scope const):
(JSC::ExecState::noCaller):
(JSC::ExecState::isGlobalExec const):

  • interpreter/Interpreter.cpp:

(JSC::notifyDebuggerOfUnwinding):
(JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown):
(JSC::Interpreter::debug):

  • runtime/CallData.cpp:

(JSC::profiledCall):

  • runtime/Completion.cpp:

(JSC::evaluate):
(JSC::profiledEvaluate):
(JSC::evaluateWithScopeExtension):
(JSC::loadAndEvaluateModule):
(JSC::loadModule):
(JSC::linkAndEvaluateModule):
(JSC::importModule):

  • runtime/ConstructData.cpp:

(JSC::profiledConstruct):

  • runtime/Error.cpp:

(JSC::getStackTrace):

  • runtime/VM.cpp:

(JSC::VM::throwException):
(JSC::VM::vmEntryGlobalObject const):

  • runtime/VM.h:

Source/WebCore:

No new tests needed because this patch does not introduce new functionality.

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::create):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::callerGlobalObject):
(WebCore::toJSDOMGlobalObject): Deleted.

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::firstDOMWindow):

  • bridge/c/c_utility.cpp:

(JSC::Bindings::convertValueToNPVariant):

  • bridge/objc/WebScriptObject.mm:

(WebCore::addExceptionToConsole):

  • bridge/objc/objc_instance.mm:

(ObjcInstance::moveGlobalExceptionToExecState):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::convertValueToObjcObject):

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::convertValueToObjcValue):

  • testing/Internals.cpp:

(WebCore::Internals::cloneArrayBuffer):

Source/WebKitLegacy/mac:

  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::sourceParsed):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/debugger/Debugger.cpp

    r233236 r235254  
    719719    TemporaryPausedState pausedState(*this);
    720720
    721     JSGlobalObject* vmEntryGlobalObject = callFrame->vmEntryGlobalObject(vm);
     721    JSGlobalObject* vmEntryGlobalObject = vm.vmEntryGlobalObject(callFrame);
    722722
    723723    if (didHitBreakpoint) {
Note: See TracChangeset for help on using the changeset viewer.