-
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