Skip to content
  • barraclough@apple.com's avatar
    Bug 42207 - Clean up interface to compile executables, always check for exceptions · 40b4ad33
    barraclough@apple.com authored
    Reviewed by Oliver Hunt.
    
    Presently interface to compile executable is inconsistent between eval/program and
    function code, and is error prone in allowing a caller to byte compile without JIT
    compiling an executable (we rely on all executables with codeblocks having JIT code).
    Unify on an interface where all compilation is performed by a single compile (with
    ForCall|ForConstruct variants) method, and make all clients check for errors.
    
    * interpreter/Interpreter.cpp:
    (JSC::Interpreter::unwindCallFrame):
    (JSC::Interpreter::execute):
    (JSC::Interpreter::executeCall):
    (JSC::Interpreter::executeConstruct):
    (JSC::Interpreter::prepareForRepeatCall):
    (JSC::Interpreter::privateExecute):
    * jit/JITStubs.cpp:
    (JSC::DEFINE_STUB_FUNCTION):
    * parser/Parser.h:
    (JSC::Parser::isFunctionBodyNode):
    (JSC::Parser::parse):
    * runtime/ArrayPrototype.cpp:
    (JSC::isNumericCompareFunction):
    * runtime/ExceptionHelpers.cpp:
    (JSC::createStackOverflowError):
    * runtime/ExceptionHelpers.h:
    * runtime/Executable.cpp:
    (JSC::EvalExecutable::compileInternal):
    (JSC::ProgramExecutable::checkSyntax):
    (JSC::ProgramExecutable::compileInternal):
    (JSC::FunctionExecutable::compileForCallInternal):
    (JSC::FunctionExecutable::compileForConstructInternal):
    (JSC::FunctionExecutable::reparseExceptionInfo):
    (JSC::EvalExecutable::reparseExceptionInfo):
    (JSC::FunctionExecutable::fromGlobalCode):
    * runtime/Executable.h:
    (JSC::EvalExecutable::compile):
    (JSC::EvalExecutable::generatedBytecode):
    (JSC::EvalExecutable::generatedJITCode):
    (JSC::ProgramExecutable::compile):
    (JSC::ProgramExecutable::generatedBytecode):
    (JSC::ProgramExecutable::generatedJITCode):
    (JSC::FunctionExecutable::generatedBytecode):
    (JSC::FunctionExecutable::compileForCall):
    (JSC::FunctionExecutable::compileForConstruct):
    (JSC::FunctionExecutable::generatedJITCodeForConstructWithArityCheck):
    * runtime/FunctionConstructor.cpp:
    (JSC::constructFunction):
    * runtime/JSActivation.cpp:
    (JSC::JSActivation::argumentsGetter):
    * runtime/JSGlobalData.h:
    (JSC::JSGlobalData::canUseJIT):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    40b4ad33