Ignore:
Timestamp:
Nov 7, 2011, 3:57:37 PM (14 years ago)
Author:
[email protected]
Message:

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):

(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:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/debugger/DebuggerActivation.h

    r99223 r99497  
    4646        static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier& propertyName, PropertySlot&);
    4747        static void put(JSCell*, ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&);
    48         virtual void putWithAttributes(ExecState*, const Identifier& propertyName, JSValue, unsigned attributes);
     48        static void putWithAttributes(JSObject*, ExecState*, const Identifier& propertyName, JSValue, unsigned attributes);
    4949        static bool deleteProperty(JSCell*, ExecState*, const Identifier& propertyName);
    5050        static void getOwnPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode);
Note: See TracChangeset for help on using the changeset viewer.