Ignore:
Timestamp:
Oct 27, 2010, 1:46:09 PM (15 years ago)
Author:
[email protected]
Message:

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):

  • interpreter/CallFrame.h:

(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):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITStubs.cpp:

(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):

  • runtime/CallData.cpp:

(JSC::call):

  • runtime/Completion.cpp:

(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):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/runtime/ConstructData.cpp

    r60708 r70703  
    3737{
    3838    ASSERT(constructType == ConstructTypeJS || constructType == ConstructTypeHost);
    39     return exec->interpreter()->executeConstruct(exec, asObject(constructorObject), constructType, constructData, args, exec->exceptionSlot());
     39    return exec->interpreter()->executeConstruct(exec, asObject(constructorObject), constructType, constructData, args);
    4040}
    4141
Note: See TracChangeset for help on using the changeset viewer.