Title: [181765] trunk/Source/_javascript_Core
Revision
181765
Author
[email protected]
Date
2015-03-19 16:01:14 -0700 (Thu, 19 Mar 2015)

Log Message

JSCallee unnecessarily overrides a bunch of things in the method table.
<https://webkit.org/b/142855>

Reviewed by Geoffrey Garen.

Remove JSCallee method table overrides that simply call to base class.
This makes JSFunction property slot lookups slightly more efficient since
they can take the fast path when passing over JSCallee in the base class chain.

* runtime/JSCallee.cpp:
(JSC::JSCallee::getOwnPropertySlot): Deleted.
(JSC::JSCallee::getOwnNonIndexPropertyNames): Deleted.
(JSC::JSCallee::put): Deleted.
(JSC::JSCallee::deleteProperty): Deleted.
(JSC::JSCallee::defineOwnProperty): Deleted.
* runtime/JSCallee.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (181764 => 181765)


--- trunk/Source/_javascript_Core/ChangeLog	2015-03-19 22:46:56 UTC (rev 181764)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-03-19 23:01:14 UTC (rev 181765)
@@ -1,5 +1,24 @@
 2015-03-19  Andreas Kling  <[email protected]>
 
+        JSCallee unnecessarily overrides a bunch of things in the method table.
+        <https://webkit.org/b/142855>
+
+        Reviewed by Geoffrey Garen.
+
+        Remove JSCallee method table overrides that simply call to base class.
+        This makes JSFunction property slot lookups slightly more efficient since
+        they can take the fast path when passing over JSCallee in the base class chain.
+
+        * runtime/JSCallee.cpp:
+        (JSC::JSCallee::getOwnPropertySlot): Deleted.
+        (JSC::JSCallee::getOwnNonIndexPropertyNames): Deleted.
+        (JSC::JSCallee::put): Deleted.
+        (JSC::JSCallee::deleteProperty): Deleted.
+        (JSC::JSCallee::defineOwnProperty): Deleted.
+        * runtime/JSCallee.h:
+
+2015-03-19  Andreas Kling  <[email protected]>
+
         DFGAllocator should use bmalloc's aligned allocator.
         <https://webkit.org/b/142871>
 

Modified: trunk/Source/_javascript_Core/runtime/JSCallee.cpp (181764 => 181765)


--- trunk/Source/_javascript_Core/runtime/JSCallee.cpp	2015-03-19 22:46:56 UTC (rev 181764)
+++ trunk/Source/_javascript_Core/runtime/JSCallee.cpp	2015-03-19 23:01:14 UTC (rev 181765)
@@ -71,29 +71,4 @@
     visitor.append(&thisObject->m_scope);
 }
 
-bool JSCallee::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
-{
-    return Base::getOwnPropertySlot(object, exec, propertyName, slot);
-}
-
-void JSCallee::getOwnNonIndexPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
-{
-    Base::getOwnNonIndexPropertyNames(object, exec, propertyNames, mode);
-}
-
-void JSCallee::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
-{
-    Base::put(cell, exec, propertyName, value, slot);
-}
-
-bool JSCallee::deleteProperty(JSCell* cell, ExecState* exec, PropertyName propertyName)
-{
-    return Base::deleteProperty(cell, exec, propertyName);
-}
-
-bool JSCallee::defineOwnProperty(JSObject* object, ExecState* exec, PropertyName propertyName, const PropertyDescriptor& descriptor, bool throwException)
-{
-    return Base::defineOwnProperty(object, exec, propertyName, descriptor, throwException);
-}
-
 } // namespace JSC

Modified: trunk/Source/_javascript_Core/runtime/JSCallee.h (181764 => 181765)


--- trunk/Source/_javascript_Core/runtime/JSCallee.h	2015-03-19 22:46:56 UTC (rev 181764)
+++ trunk/Source/_javascript_Core/runtime/JSCallee.h	2015-03-19 23:01:14 UTC (rev 181765)
@@ -90,7 +90,7 @@
     }
 
 protected:
-    const static unsigned StructureFlags = OverridesGetOwnPropertySlot | ImplementsHasInstance | OverridesGetPropertyNames | JSObject::StructureFlags;
+    const static unsigned StructureFlags = ImplementsHasInstance | JSObject::StructureFlags;
 
     JS_EXPORT_PRIVATE JSCallee(VM&, JSGlobalObject*, Structure*);
     JSCallee(VM&, JSScope*, Structure*);
@@ -100,12 +100,6 @@
 
     static void visitChildren(JSCell*, SlotVisitor&);
 
-    static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
-    static void getOwnNonIndexPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode = ExcludeDontEnumProperties);
-    static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, const PropertyDescriptor&, bool shouldThrow);
-    static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);
-    static bool deleteProperty(JSCell*, ExecState*, PropertyName);
-
 private:
     friend class LLIntOffsetsExtractor;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to