Skip to content
  • ggaren@apple.com's avatar
    2009-02-23 Geoffrey Garen <ggaren@apple.com> · c3343bd2
    ggaren@apple.com authored
            Reviewed by Sam Weinig.
    
            Next step in splitting JIT functionality out of the Interpreter class:
            Moved vptr storage from Interpreter to JSGlobalData, so it could be shared
            between Interpreter and JITStubs, and moved the *Trampoline JIT stubs
            into the JITStubs class. Also added a VPtrSet class to encapsulate vptr
            hacks during JSGlobalData initialization.
            
            SunSpider says 0.4% faster. Meh.
    
            * JavaScriptCore.exp:
            * JavaScriptCore.xcodeproj/project.pbxproj:
            * interpreter/Interpreter.cpp:
            (JSC::Interpreter::Interpreter):
            (JSC::Interpreter::tryCacheGetByID):
            (JSC::Interpreter::privateExecute):
            * interpreter/Interpreter.h:
            * jit/JIT.cpp:
            (JSC::JIT::privateCompileMainPass):
            (JSC::JIT::privateCompile):
            (JSC::JIT::privateCompileCTIMachineTrampolines):
            * jit/JIT.h:
            (JSC::JIT::compileCTIMachineTrampolines):
            * jit/JITCall.cpp:
            (JSC::JIT::compileOpCall):
            (JSC::JIT::compileOpCallSlowCase):
            * jit/JITPropertyAccess.cpp:
            (JSC::JIT::privateCompilePatchGetArrayLength):
            * jit/JITStubs.cpp:
            (JSC::JITStubs::JITStubs):
            (JSC::JITStubs::tryCacheGetByID):
            (JSC::JITStubs::cti_vm_dontLazyLinkCall):
            (JSC::JITStubs::cti_op_get_by_val):
            (JSC::JITStubs::cti_op_get_by_val_byte_array):
            (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_is_string):
            * jit/JITStubs.h:
            (JSC::JITStubs::ctiArrayLengthTrampoline):
            (JSC::JITStubs::ctiStringLengthTrampoline):
            (JSC::JITStubs::ctiVirtualCallPreLink):
            (JSC::JITStubs::ctiVirtualCallLink):
            (JSC::JITStubs::ctiVirtualCall):
            * runtime/ArrayPrototype.cpp:
            (JSC::arrayProtoFuncPop):
            (JSC::arrayProtoFuncPush):
            * runtime/FunctionPrototype.cpp:
            (JSC::functionProtoFuncApply):
            * runtime/JSArray.h:
            (JSC::isJSArray):
            * runtime/JSByteArray.h:
            (JSC::asByteArray):
            (JSC::isJSByteArray):
            * runtime/JSCell.h:
            * runtime/JSFunction.h:
            * runtime/JSGlobalData.cpp:
            (JSC::VPtrSet::VPtrSet):
            (JSC::JSGlobalData::JSGlobalData):
            (JSC::JSGlobalData::create):
            (JSC::JSGlobalData::sharedInstance):
            * runtime/JSGlobalData.h:
            * runtime/JSString.h:
            (JSC::isJSString):
            * runtime/Operations.h:
            (JSC::jsLess):
            (JSC::jsLessEq):
            * wrec/WREC.cpp:
            (JSC::WREC::Generator::compileRegExp):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41168 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    c3343bd2