Modified: releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ChangeLog (181943 => 181944)
--- releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ChangeLog 2015-03-25 10:09:07 UTC (rev 181943)
+++ releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/ChangeLog 2015-03-25 10:34:22 UTC (rev 181944)
@@ -1,3 +1,22 @@
+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-16 Csaba Osztrogonác <[email protected]>
[ARM] Enable generating idiv instructions if it is supported
Modified: releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/runtime/JSCallee.cpp (181943 => 181944)
--- releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/runtime/JSCallee.cpp 2015-03-25 10:09:07 UTC (rev 181943)
+++ releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/runtime/JSCallee.cpp 2015-03-25 10:34:22 UTC (rev 181944)
@@ -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: releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/runtime/JSCallee.h (181943 => 181944)
--- releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/runtime/JSCallee.h 2015-03-25 10:09:07 UTC (rev 181943)
+++ releases/WebKitGTK/webkit-2.8/Source/_javascript_Core/runtime/JSCallee.h 2015-03-25 10:34:22 UTC (rev 181944)
@@ -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;