De-virtualize JSObject::defineGetter
authormhahnenberg@apple.com <mhahnenberg@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 31 Oct 2011 22:24:20 +0000 (22:24 +0000)
committermhahnenberg@apple.com <mhahnenberg@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 31 Oct 2011 22:24:20 +0000 (22:24 +0000)
commit0402a6682a41915951ab1fb458e9a94ff6c79fb1
tree92e600ac8609104a869900fd54843cc9c7896e6c
parent09af67a8de4038ca26cdf06fce645e3346fd1151
De-virtualize JSObject::defineGetter
https://bugs.webkit.org/show_bug.cgi?id=71134

Reviewed by Darin Adler.

Source/JavaScriptCore:

Added defineGetter to the MethodTable.  Replaced all virtual versions of defineGetter
with static versions.  Replaced all call sites with lookups in the MethodTable.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* debugger/DebuggerActivation.cpp:
(JSC::DebuggerActivation::defineGetter):
* debugger/DebuggerActivation.h:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* runtime/ClassInfo.h:
* runtime/JSCell.cpp:
(JSC::JSCell::defineGetter):
* runtime/JSCell.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::defineGetter):
* runtime/JSGlobalObject.h:
* runtime/JSObject.cpp:
(JSC::JSObject::defineGetter):
(JSC::putDescriptor):
* runtime/JSObject.h:
* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncDefineGetter):

Source/WebCore:

No new tests.

Added defineGetter to the MethodTable.  Replaced all virtual versions of defineGetter
with static versions.  Replaced all call sites with lookups in the MethodTable.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::defineGetter):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::defineGetter):
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::defineGetter):
(WebCore::JSLocationPrototype::defineGetter):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):

Source/WebKit/qt:

Added defineGetter to the MethodTable.  Replaced all virtual versions of defineGetter
with static versions.  Replaced all call sites with lookups in the MethodTable.

* Api/qwebframe.cpp:
(QWebFramePrivate::addQtSenderToGlobalObject):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@98889 268f45cc-cd09-0410-ab3c-d52691b4dbfc
23 files changed:
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.exp
Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
Source/JavaScriptCore/debugger/DebuggerActivation.cpp
Source/JavaScriptCore/debugger/DebuggerActivation.h
Source/JavaScriptCore/interpreter/Interpreter.cpp
Source/JavaScriptCore/jit/JITStubs.cpp
Source/JavaScriptCore/runtime/ClassInfo.h
Source/JavaScriptCore/runtime/JSCell.cpp
Source/JavaScriptCore/runtime/JSCell.h
Source/JavaScriptCore/runtime/JSGlobalObject.cpp
Source/JavaScriptCore/runtime/JSGlobalObject.h
Source/JavaScriptCore/runtime/JSObject.cpp
Source/JavaScriptCore/runtime/JSObject.h
Source/JavaScriptCore/runtime/ObjectPrototype.cpp
Source/WebCore/ChangeLog
Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
Source/WebCore/bindings/js/JSDOMWindowShell.cpp
Source/WebCore/bindings/js/JSDOMWindowShell.h
Source/WebCore/bindings/js/JSLocationCustom.cpp
Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
Source/WebKit/qt/Api/qwebframe.cpp
Source/WebKit/qt/ChangeLog