Skip to content
  • ggaren@apple.com's avatar
    JavaScriptCore: · 339f7503
    ggaren@apple.com authored
    2009-02-22  Geoffrey Garen  <ggaren@apple.com>
    
            Reviewed by Sam Weinig.
    
            Next step in splitting JIT functionality out of the Interpreter class:
            Created a JITStubs class and renamed Interpreter::cti_* to JITStubs::cti_*.
            
            Also, moved timeout checking into its own class, located in JSGlobalData,
            so both the Interpreter and the JIT could have access to it.
    
            * JavaScriptCore.exp:
            * JavaScriptCore.pri:
            * JavaScriptCore.scons:
            * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
            * JavaScriptCore.xcodeproj/project.pbxproj:
            * JavaScriptCoreSources.bkl:
            * interpreter/CallFrame.h:
            * interpreter/Interpreter.cpp:
            (JSC::Interpreter::Interpreter):
            (JSC::Interpreter::privateExecute):
            * interpreter/Interpreter.h:
            * interpreter/Register.h:
            * jit/JIT.cpp:
            (JSC::):
            (JSC::JIT::emitTimeoutCheck):
            (JSC::JIT::privateCompileMainPass):
            (JSC::JIT::privateCompileSlowCases):
            (JSC::JIT::privateCompile):
            (JSC::JIT::privateCompileCTIMachineTrampolines):
            * jit/JIT.h:
            * jit/JITArithmetic.cpp:
            (JSC::JIT::compileFastArithSlow_op_lshift):
            (JSC::JIT::compileFastArithSlow_op_rshift):
            (JSC::JIT::compileFastArithSlow_op_bitand):
            (JSC::JIT::compileFastArithSlow_op_mod):
            (JSC::JIT::compileFastArith_op_mod):
            (JSC::JIT::compileFastArithSlow_op_post_inc):
            (JSC::JIT::compileFastArithSlow_op_post_dec):
            (JSC::JIT::compileFastArithSlow_op_pre_inc):
            (JSC::JIT::compileFastArithSlow_op_pre_dec):
            (JSC::JIT::compileFastArith_op_add):
            (JSC::JIT::compileFastArith_op_mul):
            (JSC::JIT::compileFastArith_op_sub):
            (JSC::JIT::compileBinaryArithOpSlowCase):
            (JSC::JIT::compileFastArithSlow_op_add):
            (JSC::JIT::compileFastArithSlow_op_mul):
            * jit/JITCall.cpp:
            (JSC::JIT::compileOpCall):
            (JSC::JIT::compileOpCallSlowCase):
            * jit/JITPropertyAccess.cpp:
            (JSC::JIT::compileGetByIdHotPath):
            (JSC::JIT::compilePutByIdHotPath):
            (JSC::JIT::compileGetByIdSlowCase):
            (JSC::JIT::compilePutByIdSlowCase):
            (JSC::JIT::privateCompilePutByIdTransition):
            (JSC::JIT::patchGetByIdSelf):
            (JSC::JIT::patchPutByIdReplace):
            (JSC::JIT::privateCompilePatchGetArrayLength):
            (JSC::JIT::privateCompileGetByIdSelf):
            (JSC::JIT::privateCompileGetByIdProto):
            (JSC::JIT::privateCompileGetByIdChain):
            (JSC::JIT::privateCompilePutByIdReplace):
            * jit/JITStubs.cpp:
            (JSC::JITStubs::tryCachePutByID):
            (JSC::JITStubs::tryCacheGetByID):
            (JSC::JITStubs::cti_op_convert_this):
            (JSC::JITStubs::cti_op_end):
            (JSC::JITStubs::cti_op_add):
            (JSC::JITStubs::cti_op_pre_inc):
            (JSC::JITStubs::cti_timeout_check):
            (JSC::JITStubs::cti_register_file_check):
            (JSC::JITStubs::cti_op_loop_if_less):
            (JSC::JITStubs::cti_op_loop_if_lesseq):
            (JSC::JITStubs::cti_op_new_object):
            (JSC::JITStubs::cti_op_put_by_id_generic):
            (JSC::JITStubs::cti_op_get_by_id_generic):
            (JSC::JITStubs::cti_op_put_by_id):
            (JSC::JITStubs::cti_op_put_by_id_second):
            (JSC::JITStubs::cti_op_put_by_id_fail):
            (JSC::JITStubs::cti_op_get_by_id):
            (JSC::JITStubs::cti_op_get_by_id_second):
            (JSC::JITStubs::cti_op_get_by_id_self_fail):
            (JSC::JITStubs::cti_op_get_by_id_proto_list):
            (JSC::JITStubs::cti_op_get_by_id_proto_list_full):
            (JSC::JITStubs::cti_op_get_by_id_proto_fail):
            (JSC::JITStubs::cti_op_get_by_id_array_fail):
            (JSC::JITStubs::cti_op_get_by_id_string_fail):
            (JSC::JITStubs::cti_op_instanceof):
            (JSC::JITStubs::cti_op_del_by_id):
            (JSC::JITStubs::cti_op_mul):
            (JSC::JITStubs::cti_op_new_func):
            (JSC::JITStubs::cti_op_call_JSFunction):
            (JSC::JITStubs::cti_op_call_arityCheck):
            (JSC::JITStubs::cti_vm_dontLazyLinkCall):
            (JSC::JITStubs::cti_vm_lazyLinkCall):
            (JSC::JITStubs::cti_op_push_activation):
            (JSC::JITStubs::cti_op_call_NotJSFunction):
            (JSC::JITStubs::cti_op_create_arguments):
            (JSC::JITStubs::cti_op_create_arguments_no_params):
            (JSC::JITStubs::cti_op_tear_off_activation):
            (JSC::JITStubs::cti_op_tear_off_arguments):
            (JSC::JITStubs::cti_op_profile_will_call):
            (JSC::JITStubs::cti_op_profile_did_call):
            (JSC::JITStubs::cti_op_ret_scopeChain):
            (JSC::JITStubs::cti_op_new_array):
            (JSC::JITStubs::cti_op_resolve):
            (JSC::JITStubs::cti_op_construct_JSConstruct):
            (JSC::JITStubs::cti_op_construct_NotJSConstruct):
            (JSC::JITStubs::cti_op_get_by_val):
            (JSC::JITStubs::cti_op_get_by_val_byte_array):
            (JSC::JITStubs::cti_op_resolve_func):
            (JSC::JITStubs::cti_op_sub):
            (JSC::JITStubs::cti_op_put_by_val):
            (JSC::JITStubs::cti_op_put_by_val_array):
            (JSC::JITStubs::cti_op_put_by_val_byte_array):
            (JSC::JITStubs::cti_op_lesseq):
            (JSC::JITStubs::cti_op_loop_if_true):
            (JSC::JITStubs::cti_op_negate):
            (JSC::JITStubs::cti_op_resolve_base):
            (JSC::JITStubs::cti_op_resolve_skip):
            (JSC::JITStubs::cti_op_resolve_global):
            (JSC::JITStubs::cti_op_div):
            (JSC::JITStubs::cti_op_pre_dec):
            (JSC::JITStubs::cti_op_jless):
            (JSC::JITStubs::cti_op_not):
            (JSC::JITStubs::cti_op_jtrue):
            (JSC::JITStubs::cti_op_post_inc):
            (JSC::JITStubs::cti_op_eq):
            (JSC::JITStubs::cti_op_lshift):
            (JSC::JITStubs::cti_op_bitand):
            (JSC::JITStubs::cti_op_rshift):
            (JSC::JITStubs::cti_op_bitnot):
            (JSC::JITStubs::cti_op_resolve_with_base):
            (JSC::JITStubs::cti_op_new_func_exp):
            (JSC::JITStubs::cti_op_mod):
            (JSC::JITStubs::cti_op_less):
            (JSC::JITStubs::cti_op_neq):
            (JSC::JITStubs::cti_op_post_dec):
            (JSC::JITStubs::cti_op_urshift):
            (JSC::JITStubs::cti_op_bitxor):
            (JSC::JITStubs::cti_op_new_regexp):
            (JSC::JITStubs::cti_op_bitor):
            (JSC::JITStubs::cti_op_call_eval):
            (JSC::JITStubs::cti_op_throw):
            (JSC::JITStubs::cti_op_get_pnames):
            (JSC::JITStubs::cti_op_next_pname):
            (JSC::JITStubs::cti_op_push_scope):
            (JSC::JITStubs::cti_op_pop_scope):
            (JSC::JITStubs::cti_op_typeof):
            (JSC::JITStubs::cti_op_is_undefined):
            (JSC::JITStubs::cti_op_is_boolean):
            (JSC::JITStubs::cti_op_is_number):
            (JSC::JITStubs::cti_op_is_string):
            (JSC::JITStubs::cti_op_is_object):
            (JSC::JITStubs::cti_op_is_function):
            (JSC::JITStubs::cti_op_stricteq):
            (JSC::JITStubs::cti_op_nstricteq):
            (JSC::JITStubs::cti_op_to_jsnumber):
            (JSC::JITStubs::cti_op_in):
            (JSC::JITStubs::cti_op_push_new_scope):
            (JSC::JITStubs::cti_op_jmp_scopes):
            (JSC::JITStubs::cti_op_put_by_index):
            (JSC::JITStubs::cti_op_switch_imm):
            (JSC::JITStubs::cti_op_switch_char):
            (JSC::JITStubs::cti_op_switch_string):
            (JSC::JITStubs::cti_op_del_by_val):
            (JSC::JITStubs::cti_op_put_getter):
            (JSC::JITStubs::cti_op_put_setter):
            (JSC::JITStubs::cti_op_new_error):
            (JSC::JITStubs::cti_op_debug):
            (JSC::JITStubs::cti_vm_throw):
            * jit/JITStubs.h:
            (JSC::):
            * runtime/JSFunction.h:
            * runtime/JSGlobalData.cpp:
            (JSC::JSGlobalData::JSGlobalData):
            * runtime/JSGlobalData.h:
            * runtime/JSGlobalObject.cpp:
            * runtime/JSGlobalObject.h:
            * runtime/TimeoutChecker.cpp: Copied from interpreter/Interpreter.cpp.
            (JSC::TimeoutChecker::TimeoutChecker):
            (JSC::TimeoutChecker::reset):
            (JSC::TimeoutChecker::didTimeOut):
            * runtime/TimeoutChecker.h: Copied from interpreter/Interpreter.h.
            (JSC::TimeoutChecker::setTimeoutInterval):
            (JSC::TimeoutChecker::ticksUntilNextCheck):
            (JSC::TimeoutChecker::start):
            (JSC::TimeoutChecker::stop):
    
    WebCore:
    
    2009-02-20  Geoffrey Garen  <ggaren@apple.com>
    
            Reviewed by Sam Weinig.
    
            Updated for JavaScriptCore changes to timeout checking.
    
            * bindings/js/JSCustomPositionCallback.cpp:
            (WebCore::JSCustomPositionCallback::handleEvent):
            * bindings/js/JSCustomPositionErrorCallback.cpp:
            (WebCore::JSCustomPositionErrorCallback::handleEvent):
            * bindings/js/JSCustomSQLStatementCallback.cpp:
            (WebCore::JSCustomSQLStatementCallback::handleEvent):
            * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
            (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
            * bindings/js/JSCustomSQLTransactionCallback.cpp:
            (WebCore::JSCustomSQLTransactionCallback::handleEvent):
            * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
            (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
            * bindings/js/JSCustomVoidCallback.cpp:
            (WebCore::JSCustomVoidCallback::handleEvent):
            * bindings/js/JSCustomXPathNSResolver.cpp:
            (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
            * bindings/js/JSDOMWindowBase.cpp:
            (WebCore::JSDOMWindowBase::JSDOMWindowBase):
            (WebCore::JSDOMWindowBase::commonJSGlobalData):
            * bindings/js/JSEventListener.cpp:
            (WebCore::JSAbstractEventListener::handleEvent):
            * bindings/js/ScheduledAction.cpp:
            (WebCore::ScheduledAction::executeFunctionInContext):
            * bindings/js/ScriptController.cpp:
            (WebCore::ScriptController::evaluate):
            * bindings/js/WorkerScriptController.cpp:
            (WebCore::WorkerScriptController::evaluate):
            (WebCore::WorkerScriptController::forbidExecution):
            * bindings/objc/WebScriptObject.mm:
            (-[WebScriptObject callWebScriptMethod:withArguments:]):
            (-[WebScriptObject evaluateWebScript:]):
            * bridge/NP_jsobject.cpp:
            (_NPN_InvokeDefault):
            (_NPN_Invoke):
            (_NPN_Evaluate):
            (_NPN_Construct):
            * bridge/jni/jni_jsobject.mm:
            (JavaJSObject::call):
            (JavaJSObject::eval):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    339f7503