Skip to content
  • mhahnenberg@apple.com's avatar
    De-virtualize JSObject::getPropertyNames · 2358ae1b
    mhahnenberg@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=71306
    
    Reviewed by Darin Adler.
    
    Source/JavaScriptCore: 
    
    Added getPropertyNames to the MethodTable, changed all the virtual 
    implementations of getPropertyNames to static ones, and replaced 
    all call sites with corresponding lookups in the MethodTable.
    
    * API/JSObjectRef.cpp:
    (JSObjectCopyPropertyNames):
    * JavaScriptCore.exp:
    * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
    * debugger/DebuggerActivation.cpp:
    (JSC::DebuggerActivation::getOwnPropertyNames):
    * runtime/ClassInfo.h:
    * runtime/JSCell.cpp:
    (JSC::JSCell::getPropertyNames):
    * runtime/JSCell.h:
    * runtime/JSObject.cpp:
    (JSC::JSObject::getPropertyNames):
    (JSC::JSObject::getOwnPropertyNames):
    * runtime/JSObject.h:
    * runtime/JSPropertyNameIterator.cpp:
    (JSC::JSPropertyNameIterator::create):
    * runtime/ScopeChain.cpp:
    (JSC::ScopeChainNode::print):
    * runtime/Structure.cpp:
    (JSC::Structure::getPropertyNamesFromStructure):
    * runtime/Structure.h:
    
    Source/JavaScriptGlue: 
    
    Added getPropertyNames to the MethodTable, changed all the virtual 
    implementations of getPropertyNames to static ones, and replaced 
    all call sites with corresponding lookups in the MethodTable.
    
    * JSUtils.cpp:
    (KJSValueToCFTypeInternal):
    * JSValueWrapper.cpp:
    (JSValueWrapper::JSObjectCopyPropertyNames):
    
    Source/WebCore: 
    
    No new tests.
    
    Added getPropertyNames to the MethodTable, changed all the virtual 
    implementations of getPropertyNames to static ones, and replaced 
    all call sites with corresponding lookups in the MethodTable.
    
    * bindings/js/JSDOMWindowCustom.cpp:
    (WebCore::JSDOMWindow::getPropertyNames):
    * bindings/js/JSDOMWindowShell.cpp:
    (WebCore::JSDOMWindowShell::getPropertyNames):
    * bindings/js/JSDOMWindowShell.h:
    * bindings/scripts/CodeGeneratorJS.pm:
    (GenerateHeader):
    * bridge/NP_jsobject.cpp:
    (_NPN_Enumerate):
    * bridge/qt/qt_runtime.cpp:
    (JSC::Bindings::convertValueToQVariantMap):
    
    Source/WebKit/mac: 
    
    Added getPropertyNames to the MethodTable, changed all the virtual 
    implementations of getPropertyNames to static ones, and replaced 
    all call sites with corresponding lookups in the MethodTable.
    
    * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
    (WebKit::NetscapePluginInstanceProxy::enumerate):
    
    Source/WebKit2: 
    
    Added getPropertyNames to the MethodTable, changed all the virtual 
    implementations of getPropertyNames to static ones, and replaced 
    all call sites with corresponding lookups in the MethodTable.
    
    * WebProcess/Plugins/Netscape/NPJSObject.cpp:
    (WebKit::NPJSObject::enumerate):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@99256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    2358ae1b