De-virtualize JSObject::putWithAttributes
authormhahnenberg@apple.com <mhahnenberg@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 7 Nov 2011 23:57:37 +0000 (23:57 +0000)
committermhahnenberg@apple.com <mhahnenberg@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 7 Nov 2011 23:57:37 +0000 (23:57 +0000)
commit6aacc4b45e6d27a2727621b8d6dde530f63d2bbe
tree4614e4e67166d037135c3f7993a111e9c4b5956a
parent0c2f63b821d9d284c6ac3298ea23cc34d2dc380a
De-virtualize JSObject::putWithAttributes
https://bugs.webkit.org/show_bug.cgi?id=71716

Reviewed by Darin Adler.

Source/JavaScriptCore:

Added putWithAttributes to the MethodTable, changed all the virtual
implementations of putWithAttributes to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.

* API/JSObjectRef.cpp:
(JSObjectSetProperty):
* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* debugger/DebuggerActivation.cpp:
(JSC::DebuggerActivation::putWithAttributes):
* debugger/DebuggerActivation.h:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
* runtime/ClassInfo.h:
* runtime/JSActivation.cpp:
(JSC::JSActivation::putWithAttributes):
* runtime/JSActivation.h:
* runtime/JSCell.cpp:
(JSC::JSCell::putWithAttributes):
* runtime/JSCell.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::putWithAttributes):
* runtime/JSGlobalObject.h:
* runtime/JSObject.cpp:
(JSC::JSObject::putWithAttributes):
(JSC::putDescriptor):
* runtime/JSObject.h:
* runtime/JSStaticScopeObject.cpp:
(JSC::JSStaticScopeObject::putWithAttributes):
* runtime/JSStaticScopeObject.h:
* runtime/JSVariableObject.cpp:
(JSC::JSVariableObject::putWithAttributes):
* runtime/JSVariableObject.h:

Source/WebCore:

No new tests.

Added putWithAttributes to the MethodTable, changed all the virtual
implementations of putWithAttributes to static ones, and replaced
all call sites with corresponding lookups in the MethodTable.

* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::putWithAttributes):
* bindings/js/JSDOMWindowShell.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@99497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
23 files changed:
Source/JavaScriptCore/API/JSObjectRef.cpp
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/runtime/ClassInfo.h
Source/JavaScriptCore/runtime/JSActivation.cpp
Source/JavaScriptCore/runtime/JSActivation.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/JSStaticScopeObject.cpp
Source/JavaScriptCore/runtime/JSStaticScopeObject.h
Source/JavaScriptCore/runtime/JSVariableObject.cpp
Source/JavaScriptCore/runtime/JSVariableObject.h
Source/WebCore/ChangeLog
Source/WebCore/bindings/js/JSDOMWindowShell.cpp
Source/WebCore/bindings/js/JSDOMWindowShell.h