Bug 48365 - Remove output parameters from JITStackFrame
Reviewed by Oliver Hunt.
The JIT stub functions presently use the stackframe to provide a couple of additional return values.
- In the case of uncaught exceptions the exception value is returned on the stackframe.exception property.
- In the case of caught exceptions the updated value for the callFrame register is returned on the stackframe.callFrame property.
Change exception returns such that exceptions are always returned on JSGlobalData::exception.
Change op_catch such that the new CallFrame value is returned from op_throw / vm_throw in regT0.
(JSC::evaluateInGlobalCallFrame):
- debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::evaluate):
- interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
(JSC::CachedCall::call):
(JSC::ExecState::exception):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::callEval):
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::privateExecute):
- interpreter/Interpreter.h:
- jit/JITCode.h:
(JSC::JITCode::execute):
(JSC::JIT::emit_op_catch):
(JSC::JIT::emit_op_catch):
(JSC::ctiTrampoline):
(JSC::jitThrow):
(JSC::DEFINE_STUB_FUNCTION):
- jit/JITStubs.h:
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncMap):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncForEach):
(JSC::arrayProtoFuncSome):
(JSC::arrayProtoFuncReduce):
(JSC::arrayProtoFuncReduceRight):
(JSC::call):
(JSC::evaluate):
- runtime/ConstructData.cpp:
(JSC::construct):
- runtime/ExceptionHelpers.cpp:
(JSC::createErrorForInvalidGlobalAssignment):
(JSC::throwOutOfMemoryError):
(JSC::throwStackOverflowError):
- runtime/ExceptionHelpers.h:
- runtime/JSArray.cpp:
(JSC::JSArray::sort):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
- runtime/StringPrototype.cpp:
(JSC::stringProtoFuncReplace):