De-virtualize JSObject::getOwnPropertyNames
https://bugs.webkit.org/show_bug.cgi?id=71307
Reviewed by Darin Adler.
Source/JavaScriptCore:
Added getOwnPropertyNames to the MethodTable, changed all the virtual
implementations of getOwnPropertyNames to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
- API/JSCallbackObject.h:
- API/JSCallbackObjectFunctions.h:
(JSC::::getOwnPropertyNames):
(JSC::DebuggerActivation::getOwnPropertyNames):
- debugger/DebuggerActivation.h:
- runtime/Arguments.cpp:
(JSC::Arguments::getOwnPropertyNames):
- runtime/Arguments.h:
- runtime/ClassInfo.h:
- runtime/JSActivation.cpp:
(JSC::JSActivation::getOwnPropertyNames):
- runtime/JSActivation.h:
- runtime/JSArray.cpp:
(JSC::JSArray::getOwnPropertyNames):
- runtime/JSArray.h:
- runtime/JSByteArray.cpp:
(JSC::JSByteArray::getOwnPropertyNames):
- runtime/JSByteArray.h:
- runtime/JSCell.cpp:
(JSC::JSCell::getOwnPropertyNames):
- runtime/JSCell.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::getOwnPropertyNames):
- runtime/JSFunction.h:
- runtime/JSNotAnObject.cpp:
(JSC::JSNotAnObject::getOwnPropertyNames):
- runtime/JSNotAnObject.h:
- runtime/JSONObject.cpp:
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
(JSC::JSObject::getPropertyNames):
(JSC::JSObject::getOwnPropertyNames):
- runtime/JSObject.h:
- runtime/JSVariableObject.cpp:
(JSC::JSVariableObject::~JSVariableObject):
(JSC::JSVariableObject::getOwnPropertyNames):
- runtime/JSVariableObject.h:
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorKeys):
(JSC::defineProperties):
- runtime/RegExpMatchesArray.h:
(JSC::RegExpMatchesArray::getOwnPropertyNames):
- runtime/StringObject.cpp:
(JSC::StringObject::getOwnPropertyNames):
- runtime/StringObject.h:
- runtime/Structure.h:
Source/JavaScriptGlue:
Added getOwnPropertyNames to the MethodTable, changed all the virtual
implementations of getOwnPropertyNames to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
(UserObjectImp::getOwnPropertyNames):
Source/WebCore:
No new tests.
Added getOwnPropertyNames to the MethodTable, changed all the virtual
implementations of getOwnPropertyNames to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
- WebCore.exp.in:
- bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::getOwnPropertyNames):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertyNames):
- bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::getOwnPropertyNames):
- bindings/js/JSDOMWindowShell.h:
- bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::getOwnPropertyNames):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertyNames):
- bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::getOwnPropertyNames):
- bindings/js/ScriptValue.cpp:
(WebCore::jsToInspectorValue):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
- bridge/qt/qt_runtime.cpp:
(JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
(JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
- bridge/qt/qt_runtime.h:
- bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertyNames):
- bridge/runtime_array.h:
- bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::getOwnPropertyNames):
Source/WebKit2:
Added getOwnPropertyNames to the MethodTable, changed all the virtual
implementations of getOwnPropertyNames to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.
- WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::getOwnPropertyNames):
- WebProcess/Plugins/Netscape/JSNPObject.h: