[JSC] Remove non-LargeAllocation restriction for JSCallee
https://bugs.webkit.org/show_bug.cgi?id=203260
Reviewed by Saam Barati.
Source/JavaScriptCore:
We now pass JSGlobalObject* instead of ExecState*. And we are getting VM& from JSGlobalObject*.
Because now accessing ExecState::vm() becomes less frequent, we can remove the restriction that
callee is only allocated in non-LargeAllocation, which restriction made ExecState::vm fast.
This patch renames CallFrame::vm
to CallFrame::deprecatedVM
. And we avoid using it as much as possible.
And we also remove the restriction that callee needs to be in non-LargeAllocation.
(JSContextCreateBacktrace):
(JSC::CodeBlock::noticeIncomingCall):
- debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const):
(JSC::DebuggerCallFrame::functionName const):
(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::type const):
(JSC::DebuggerCallFrame::evaluateWithScopeExtension):
(JSC::DebuggerCallFrame::positionForCallFrame):
(JSC::DFG::OSRExit::executeOSRExit):
(JSC::DFG::OSRExit::compileOSRExit):
(JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure):
- dfg/DFGOperations.cpp:
- ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileFTLOSRExit):
(JSC::FTL::compileFTLLazySlowPath):
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::evaluateWithScopeExtension):
- inspector/ScriptCallStackFactory.cpp:
(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):
- interpreter/CallFrame.cpp:
(JSC::CallFrame::callerSourceOrigin):
(JSC::CallFrame::friendlyFunctionName):
(JSC::CallFrame::iterate):
- interpreter/Interpreter.cpp:
(JSC::sizeOfVarargs):
(JSC::sizeFrameForVarargs):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::unwind):
(JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown):
(JSC::Interpreter::debug):
- interpreter/Interpreter.h:
- interpreter/ShadowChicken.cpp:
(JSC::ShadowChicken::update):
- interpreter/StackVisitor.cpp:
(JSC::StackVisitor::StackVisitor):
(JSC::StackVisitor::Frame::functionName const):
- interpreter/StackVisitor.h:
(JSC::StackVisitor::visit):
- jit/HostCallReturnValue.cpp:
(JSC::getHostCallReturnValueWithExecState):
- jit/JITOperations.cpp:
- jit/Repatch.cpp:
(JSC::linkFor):
(JSC::linkPolymorphicCall):
(functionJSCStack):
(functionRunString):
(functionLoadString):
(functionCallerSourceOrigin):
(functionCallerIsOMGCompiled):
(functionDollarEvalScript):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::getBytecodeOffset):
- runtime/FunctionConstructor.cpp:
(JSC::constructFunction):
(JSC::CallFrame::deprecatedVM const):
(JSC::CallFrame::vm const): Deleted.
(JSC::retrieveArguments):
(JSC::JSFunction::argumentsGetter):
(JSC::retrieveCallerFunction):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGlobalObject.cpp:
(JSC::assertCall):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
(JSC::globalFuncImportModule):
- runtime/NullSetterFunction.cpp:
(JSC::callerIsStrict):
(JSC::NullSetterFunctionInternal::callReturnUndefined):
(IGNORE_WARNINGS_BEGIN):
(JSC::functionLLintTrue):
(JSC::functionJITTrue):
(JSC::functionDumpRegisters):
(JSC::functionShadowChickenFunctionsOnStack):
(JSC::VMInspector::codeBlockForFrame):
(JSC::VMInspector::dumpCallFrame):
(JSC::VMInspector::dumpRegisters):
(JSC::VMInspector::dumpStack):
(JSC::Wasm::wasmToJS):
Source/WebCore:
Passing VM& instead of calling CallFrame::vm.
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::callerGlobalObject):
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::responsibleDocument):
- bindings/js/JSDOMWindowBase.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallWith):
(WebCore::Internals::parserMetaData):