Skip to content
  • mhahnenberg@apple.com's avatar
    De-virtualize JSObject::className · b039de03
    mhahnenberg@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=71428
    
    Reviewed by Sam Weinig.
    
    Source/JavaScriptCore:
    
    Added className to the MethodTable, changed all the virtual
    implementations of className to static ones, and replaced
    all call sites with corresponding lookups in the MethodTable.
    
    * API/JSCallbackObject.h:
    * API/JSCallbackObjectFunctions.h:
    (JSC::::className):
    * JavaScriptCore.exp:
    * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
    * debugger/DebuggerActivation.cpp:
    (JSC::DebuggerActivation::className):
    * debugger/DebuggerActivation.h:
    * jsc.cpp:
    (GlobalObject::createStructure):
    * profiler/Profiler.cpp:
    (JSC::Profiler::createCallIdentifier):
    * runtime/ClassInfo.h:
    * runtime/JSCell.cpp:
    (JSC::JSCell::className):
    * runtime/JSCell.h:
    * runtime/JSObject.cpp:
    (JSC::JSObject::className):
    * runtime/JSObject.h:
    * runtime/ObjectPrototype.cpp:
    (JSC::objectProtoFuncToString):
    * testRegExp.cpp:
    (GlobalObject::createStructure):
    
    Source/JavaScriptGlue:
    
    Added className to the MethodTable, changed all the virtual
    implementations of className to static ones, and replaced
    all call sites with corresponding lookups in the MethodTable.
    
    * JSUtils.cpp:
    (KJSValueToCFTypeInternal):
    
    Source/WebCore:
    
    No new tests.
    
    Added className to the MethodTable, changed all the virtual
    implementations of className to static ones, and replaced
    all call sites with corresponding lookups in the MethodTable.
    
    * bindings/js/JSDOMWindowShell.cpp:
    (WebCore::JSDOMWindowShell::className):
    * bindings/js/JSDOMWindowShell.h:
    * bindings/js/JSInjectedScriptHostCustom.cpp:
    (WebCore::JSInjectedScriptHost::internalConstructorName):
    * bridge/testqtbindings.cpp:
    (Global::className):
    
    Source/WebKit/efl:
    
    Added className to the MethodTable, changed all the virtual
    implementations of className to static ones, and replaced
    all call sites with corresponding lookups in the MethodTable.
    
    * ewk/ewk_js.cpp:
    (ewk_js_npobject_to_object):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    b039de03