Title: [201719] trunk/Source
Revision
201719
Author
[email protected]
Date
2016-06-06 12:11:17 -0700 (Mon, 06 Jun 2016)

Log Message

Deprecate remaining uses of Lookup getStatic*, use HasStaticPropertyTable instead.
https://bugs.webkit.org/show_bug.cgi?id=158178

Reviewed by Darin Adler.

As of bug #158059 most JSC static table property access no longer requires getOwnPropertySlot to be
overridden. Port remaining calls to the getStatic* functions in Lookup.h over to the new mechanism.

Source/_javascript_Core:

Deprecate getStatic* functions in Lookup.h

* runtime/Lookup.h:
(JSC::getStaticPropertySlot): Deleted.
(JSC::getStaticFunctionSlot): Deleted.
(JSC::getStaticValueSlot): Deleted.
    - No longer required. Static table access now via JSObject.

Source/WebCore:

Switch WebCore DOM instance bindings to use HasStaticPropertyTable.

* bindings/js/JSPluginElementFunctions.h:
(WebCore::pluginElementCustomGetOwnPropertySlot):
    - Switch call from getStaticValueSlot to Type::getOwnPropertySlot.
      For any element where Type::hasStaticPropertyTable is true the HasStaticPropertyTable
      structure flag will also be set, so Type::getOwnPropertySlot will do the same thing.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
    - If we override getOwnPropertySlot, Base::getOwnPropertySlot will handle property storage & static property lookup.
(InstanceOverridesGetOwnPropertySlot):
    - Instances only override getOwnPropertySlot if the really need to, not just for static property lookup.
(GenerateHeader):
    - Set HasStaticPropertyTable in instance structureFlags, where appropriate.
(GenerateImplementation):
    - GenerateGetOwnPropertySlotBody no longer needs to know if there are static properties.
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestActiveDOMObject.h:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestException.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.h:
* bindings/scripts/test/JS/JSattribute.cpp:
* bindings/scripts/test/JS/JSattribute.h:
    - Updating bindings test results.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (201718 => 201719)


--- trunk/Source/_javascript_Core/ChangeLog	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-06-06 19:11:17 UTC (rev 201719)
@@ -1,3 +1,21 @@
+2016-06-05  Gavin & Ellie Barraclough  <[email protected]>
+
+        Deprecate remaining uses of Lookup getStatic*, use HasStaticPropertyTable instead.
+        https://bugs.webkit.org/show_bug.cgi?id=158178
+
+        Reviewed by Darin Adler.
+
+        As of bug #158059 most JSC static table property access no longer requires getOwnPropertySlot to be
+        overridden. Port remaining calls to the getStatic* functions in Lookup.h over to the new mechanism.
+
+        Deprecate getStatic* functions in Lookup.h
+
+        * runtime/Lookup.h:
+        (JSC::getStaticPropertySlot): Deleted.
+        (JSC::getStaticFunctionSlot): Deleted.
+        (JSC::getStaticValueSlot): Deleted.
+            - No longer required. Static table access now via JSObject.
+
 2016-06-06  Guillaume Emont  <[email protected]>
 
         [jsc][mips] Implement absDouble()

Modified: trunk/Source/_javascript_Core/runtime/Lookup.h (201718 => 201719)


--- trunk/Source/_javascript_Core/runtime/Lookup.h	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/_javascript_Core/runtime/Lookup.h	2016-06-06 19:11:17 UTC (rev 201719)
@@ -229,86 +229,6 @@
     return true;
 }
 
-/**
- * This method does it all (looking in the hashtable, checking for function
- * overrides, creating the function or retrieving from cache, calling
- * getValueProperty in case of a non-function property, forwarding to parent if
- * unknown property).
- */
-template <class ThisImp, class ParentImp>
-inline bool getStaticPropertySlot(ExecState* exec, const HashTable& table, ThisImp* thisObject, PropertyName propertyName, PropertySlot& slot)
-{
-    if (ParentImp::getOwnPropertySlot(thisObject, exec, propertyName, slot))
-        return true;
-
-    if (thisObject->staticFunctionsReified())
-        return false;
-
-    auto* entry = table.entry(propertyName);
-    if (!entry)
-        return false;
-
-    if (entry->attributes() & BuiltinOrFunctionOrAccessorOrLazyProperty)
-        return setUpStaticFunctionSlot(exec->vm(), entry, thisObject, propertyName, slot);
-
-    if (entry->attributes() & ConstantInteger) {
-        slot.setValue(thisObject, attributesForStructure(entry->attributes()), jsNumber(entry->constantInteger()));
-        return true;
-    }
-
-    slot.setCacheableCustom(thisObject, attributesForStructure(entry->attributes()), entry->propertyGetter());
-    return true;
-}
-
-/**
- * Simplified version of getStaticPropertySlot in case there are only functions.
- * Using this instead of getStaticPropertySlot allows 'this' to avoid implementing
- * a dummy getValueProperty.
- */
-template <class ParentImp>
-inline bool getStaticFunctionSlot(ExecState* exec, const HashTable& table, JSObject* thisObject, PropertyName propertyName, PropertySlot& slot)
-{
-    if (ParentImp::getOwnPropertySlot(thisObject, exec, propertyName, slot))
-        return true;
-
-    if (thisObject->staticFunctionsReified())
-        return false;
-
-    auto* entry = table.entry(propertyName);
-    if (!entry)
-        return false;
-
-    return setUpStaticFunctionSlot(exec->vm(), entry, thisObject, propertyName, slot);
-}
-
-/**
- * Simplified version of getStaticPropertySlot in case there are no functions, only "values".
- * Using this instead of getStaticPropertySlot removes the need for a FuncImp class.
- */
-template <class ThisImp, class ParentImp>
-inline bool getStaticValueSlot(ExecState* exec, const HashTable& table, ThisImp* thisObject, PropertyName propertyName, PropertySlot& slot)
-{
-    if (ParentImp::getOwnPropertySlot(thisObject, exec, propertyName, slot))
-        return true;
-
-    if (thisObject->staticFunctionsReified())
-        return false;
-
-    auto* entry = table.entry(propertyName);
-    if (!entry)
-        return false;
-
-    ASSERT(!(entry->attributes() & BuiltinOrFunctionOrAccessorOrLazyProperty));
-
-    if (entry->attributes() & ConstantInteger) {
-        slot.setValue(thisObject, attributesForStructure(entry->attributes()), jsNumber(entry->constantInteger()));
-        return true;
-    }
-
-    slot.setCacheableCustom(thisObject, attributesForStructure(entry->attributes()), entry->propertyGetter());
-    return true;
-}
-
 inline bool replaceStaticPropertySlot(VM& vm, JSObject* thisObject, PropertyName propertyName, JSValue value)
 {
     if (!thisObject->putDirect(vm, propertyName, value))

Modified: trunk/Source/WebCore/ChangeLog (201718 => 201719)


--- trunk/Source/WebCore/ChangeLog	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/ChangeLog	2016-06-06 19:11:17 UTC (rev 201719)
@@ -1,3 +1,41 @@
+2016-06-05  Gavin & Ellie Barraclough  <[email protected]>
+
+        Deprecate remaining uses of Lookup getStatic*, use HasStaticPropertyTable instead.
+        https://bugs.webkit.org/show_bug.cgi?id=158178
+
+        Reviewed by Darin Adler.
+
+        As of bug #158059 most JSC static table property access no longer requires getOwnPropertySlot to be
+        overridden. Port remaining calls to the getStatic* functions in Lookup.h over to the new mechanism.
+
+        Switch WebCore DOM instance bindings to use HasStaticPropertyTable.
+
+        * bindings/js/JSPluginElementFunctions.h:
+        (WebCore::pluginElementCustomGetOwnPropertySlot):
+            - Switch call from getStaticValueSlot to Type::getOwnPropertySlot.
+              For any element where Type::hasStaticPropertyTable is true the HasStaticPropertyTable
+              structure flag will also be set, so Type::getOwnPropertySlot will do the same thing.
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateGetOwnPropertySlotBody):
+            - If we override getOwnPropertySlot, Base::getOwnPropertySlot will handle property storage & static property lookup.
+        (InstanceOverridesGetOwnPropertySlot):
+            - Instances only override getOwnPropertySlot if the really need to, not just for static property lookup.
+        (GenerateHeader):
+            - Set HasStaticPropertyTable in instance structureFlags, where appropriate.
+        (GenerateImplementation):
+            - GenerateGetOwnPropertySlotBody no longer needs to know if there are static properties.
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+        * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
+        * bindings/scripts/test/JS/JSTestException.cpp:
+        * bindings/scripts/test/JS/JSTestException.h:
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        * bindings/scripts/test/JS/JSTestObj.h:
+        * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+        * bindings/scripts/test/JS/JSTestTypedefs.h:
+        * bindings/scripts/test/JS/JSattribute.cpp:
+        * bindings/scripts/test/JS/JSattribute.h:
+            - Updating bindings test results.
+
 2016-06-06  Brady Eidson  <[email protected]>
 
         Modern IDB: Crash seen in IDBConnectionProxy::putOrAdd on GuardMalloc bot

Modified: trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.h (201718 => 201719)


--- trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.h	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/js/JSPluginElementFunctions.h	2016-06-06 19:11:17 UTC (rev 201719)
@@ -46,7 +46,7 @@
     template <class Type, class Base> bool pluginElementCustomGetOwnPropertySlot(JSC::ExecState* exec, JSC::PropertyName propertyName, JSC::PropertySlot& slot, Type* element)
     {
         if (!element->globalObject()->world().isNormal()) {
-            if (Type::hasStaticPropertyTable && JSC::getStaticValueSlot<Type, Base>(exec, *Type::info()->staticPropHashTable, element, propertyName, slot))
+            if (Type::hasStaticPropertyTable && Type::getOwnPropertySlot(element, exec, propertyName, slot))
                 return true;
 
             JSC::JSValue proto = element->getPrototypeDirect();

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2016-06-06 19:11:17 UTC (rev 201719)
@@ -272,7 +272,7 @@
 
 sub GenerateGetOwnPropertySlotBody
 {
-    my ($interface, $className, $hasInstanceProperties, $inlined) = @_;
+    my ($interface, $className, $inlined) = @_;
 
     my $namespaceMaybe = ($inlined ? "JSC::" : "");
     my $namedGetterFunction = GetNamedGetterFunction($interface);
@@ -281,15 +281,7 @@
     my @getOwnPropertySlotImpl = ();
 
     my $ownPropertyCheck = sub {
-        if ($hasInstanceProperties) {
-            my $instanceFunctionCount = InstanceFunctionCount($interface);
-            # If there are functions on the instance, then call getStaticPropertySlot() instead of getStaticValueSlot().
-            my $staticPropertyGetFunction = $namespaceMaybe . ($instanceFunctionCount eq 0 ? "getStaticValueSlot" : "getStaticPropertySlot");
-            my $staticPropertyTable = $inlined ? "*info()->staticPropHashTable" : "${className}Table";
-            push(@getOwnPropertySlotImpl, "    if ($staticPropertyGetFunction<$className, Base>(state, ${staticPropertyTable}, thisObject, propertyName, slot))\n");
-        } else {
-            push(@getOwnPropertySlotImpl, "    if (Base::getOwnPropertySlot(thisObject, state, propertyName, slot))\n");
-        }
+        push(@getOwnPropertySlotImpl, "    if (Base::getOwnPropertySlot(thisObject, state, propertyName, slot))\n");
         push(@getOwnPropertySlotImpl, "        return true;\n");
     };
 
@@ -686,7 +678,6 @@
 sub InstanceOverridesGetOwnPropertySlot
 {
     my $interface = shift;
-    my $numInstanceProperties = InstancePropertyCount($interface);
 
     my $namedGetterFunction = GetNamedGetterFunction($interface);
     my $indexedGetterFunction = GetIndexedGetterFunction($interface);
@@ -699,7 +690,7 @@
         || $interface->extendedAttributes->{"CustomGetOwnPropertySlot"}
         || $hasNamedGetter;
 
-    return $numInstanceProperties > 0 || $hasComplexGetter;
+    return $hasComplexGetter;
 }
 
 sub PrototypeHasStaticPropertyTable
@@ -1147,8 +1138,12 @@
         push(@headerContent, "    static const bool needsDestruction = false;\n\n");
     }
 
-    my $hasStaticPropertyTable = InstancePropertyCount($interface) > 0 ? "true" : "false";
-    push(@headerContent, "    static const bool hasStaticPropertyTable = $hasStaticPropertyTable;\n\n");
+    if (InstancePropertyCount($interface) > 0) {
+        $structureFlags{"JSC::HasStaticPropertyTable"} = 1;
+        push(@headerContent, "    static const bool hasStaticPropertyTable = true;\n\n");
+    } else {
+        push(@headerContent, "    static const bool hasStaticPropertyTable = false;\n\n");
+    }
 
     # Prototype
     unless (IsDOMGlobalObject($interface)) {
@@ -2435,7 +2430,7 @@
             push(@implContent, "{\n");
             push(@implContent, "    auto* thisObject = jsCast<${className}*>(object);\n");
             push(@implContent, "    ASSERT_GC_OBJECT_INHERITS(thisObject, info());\n");
-            push(@implContent, GenerateGetOwnPropertySlotBody($interface, $className, $numInstanceProperties > 0, 0));
+            push(@implContent, GenerateGetOwnPropertySlotBody($interface, $className, 0));
             push(@implContent, "}\n\n");
         }
 

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp	2016-06-06 19:11:17 UTC (rev 201719)
@@ -140,15 +140,6 @@
     thisObject->JSTestActiveDOMObject::~JSTestActiveDOMObject();
 }
 
-bool JSTestActiveDOMObject::getOwnPropertySlot(JSObject* object, ExecState* state, PropertyName propertyName, PropertySlot& slot)
-{
-    auto* thisObject = jsCast<JSTestActiveDOMObject*>(object);
-    ASSERT_GC_OBJECT_INHERITS(thisObject, info());
-    if (getStaticValueSlot<JSTestActiveDOMObject, Base>(state, JSTestActiveDOMObjectTable, thisObject, propertyName, slot))
-        return true;
-    return false;
-}
-
 EncodedJSValue jsTestActiveDOMObjectExcitingAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
 {
     UNUSED_PARAM(state);

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.h	2016-06-06 19:11:17 UTC (rev 201719)
@@ -41,7 +41,6 @@
     static JSC::JSObject* createPrototype(JSC::VM&, JSC::JSGlobalObject*);
     static JSC::JSObject* prototype(JSC::VM&, JSC::JSGlobalObject*);
     static TestActiveDOMObject* toWrapped(JSC::JSValue);
-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
     static void destroy(JSC::JSCell*);
 
     DECLARE_INFO;
@@ -53,7 +52,7 @@
 
     static JSC::JSValue getConstructor(JSC::VM&, const JSC::JSGlobalObject*);
 public:
-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
+    static const unsigned StructureFlags = JSC::HasStaticPropertyTable | Base::StructureFlags;
 protected:
     JSTestActiveDOMObject(JSC::Structure*, JSDOMGlobalObject&, Ref<TestActiveDOMObject>&&);
 

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp	2016-06-06 19:11:17 UTC (rev 201719)
@@ -132,15 +132,6 @@
     thisObject->JSTestException::~JSTestException();
 }
 
-bool JSTestException::getOwnPropertySlot(JSObject* object, ExecState* state, PropertyName propertyName, PropertySlot& slot)
-{
-    auto* thisObject = jsCast<JSTestException*>(object);
-    ASSERT_GC_OBJECT_INHERITS(thisObject, info());
-    if (getStaticValueSlot<JSTestException, Base>(state, JSTestExceptionTable, thisObject, propertyName, slot))
-        return true;
-    return false;
-}
-
 EncodedJSValue jsTestExceptionName(ExecState* state, EncodedJSValue thisValue, PropertyName)
 {
     UNUSED_PARAM(state);

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.h	2016-06-06 19:11:17 UTC (rev 201719)
@@ -42,7 +42,6 @@
     static JSC::JSObject* createPrototype(JSC::VM&, JSC::JSGlobalObject*);
     static JSC::JSObject* prototype(JSC::VM&, JSC::JSGlobalObject*);
     static TestException* toWrapped(JSC::JSValue);
-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
     static void destroy(JSC::JSCell*);
 
     DECLARE_INFO;
@@ -54,7 +53,7 @@
 
     static JSC::JSValue getConstructor(JSC::VM&, const JSC::JSGlobalObject*);
 public:
-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
+    static const unsigned StructureFlags = JSC::HasStaticPropertyTable | Base::StructureFlags;
 protected:
     JSTestException(JSC::Structure*, JSDOMGlobalObject&, Ref<TestException>&&);
 

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp	2016-06-06 19:11:17 UTC (rev 201719)
@@ -137,15 +137,6 @@
     thisObject->JSTestGlobalObject::~JSTestGlobalObject();
 }
 
-bool JSTestGlobalObject::getOwnPropertySlot(JSObject* object, ExecState* state, PropertyName propertyName, PropertySlot& slot)
-{
-    auto* thisObject = jsCast<JSTestGlobalObject*>(object);
-    ASSERT_GC_OBJECT_INHERITS(thisObject, info());
-    if (getStaticPropertySlot<JSTestGlobalObject, Base>(state, JSTestGlobalObjectTable, thisObject, propertyName, slot))
-        return true;
-    return false;
-}
-
 EncodedJSValue jsTestGlobalObjectRegularAttribute(ExecState* state, EncodedJSValue thisValue, PropertyName)
 {
     UNUSED_PARAM(state);

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.h	2016-06-06 19:11:17 UTC (rev 201719)
@@ -43,7 +43,6 @@
     static const bool hasStaticPropertyTable = true;
 
     static TestGlobalObject* toWrapped(JSC::JSValue);
-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
     static void destroy(JSC::JSCell*);
 
     DECLARE_INFO;
@@ -55,7 +54,7 @@
 
     static JSC::JSValue getConstructor(JSC::VM&, const JSC::JSGlobalObject*);
 public:
-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
+    static const unsigned StructureFlags = JSC::HasStaticPropertyTable | Base::StructureFlags;
 protected:
     JSTestGlobalObject(JSC::Structure*, JSDOMGlobalObject&, Ref<TestGlobalObject>&&);
 

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp	2016-06-06 19:11:17 UTC (rev 201719)
@@ -1358,7 +1358,7 @@
         slot.setValue(thisObject, attributes, jsStringOrUndefined(state, thisObject->wrapped().item(index)));
         return true;
     }
-    if (getStaticPropertySlot<JSTestObj, Base>(state, JSTestObjTable, thisObject, propertyName, slot))
+    if (Base::getOwnPropertySlot(thisObject, state, propertyName, slot))
         return true;
     return false;
 }

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h	2016-06-06 19:11:17 UTC (rev 201719)
@@ -68,7 +68,7 @@
     JSC::JSValue customMethodWithArgs(JSC::ExecState&);
     static JSC::JSValue classMethod2(JSC::ExecState&);
 public:
-    static const unsigned StructureFlags = JSC::InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero | JSC::OverridesGetOwnPropertySlot | JSC::OverridesGetPropertyNames | Base::StructureFlags;
+    static const unsigned StructureFlags = JSC::HasStaticPropertyTable | JSC::InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero | JSC::OverridesGetOwnPropertySlot | JSC::OverridesGetPropertyNames | Base::StructureFlags;
 protected:
     JSTestObj(JSC::Structure*, JSDOMGlobalObject&, Ref<TestObj>&&);
 

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp	2016-06-06 19:11:17 UTC (rev 201719)
@@ -209,15 +209,6 @@
     thisObject->JSTestTypedefs::~JSTestTypedefs();
 }
 
-bool JSTestTypedefs::getOwnPropertySlot(JSObject* object, ExecState* state, PropertyName propertyName, PropertySlot& slot)
-{
-    auto* thisObject = jsCast<JSTestTypedefs*>(object);
-    ASSERT_GC_OBJECT_INHERITS(thisObject, info());
-    if (getStaticValueSlot<JSTestTypedefs, Base>(state, JSTestTypedefsTable, thisObject, propertyName, slot))
-        return true;
-    return false;
-}
-
 EncodedJSValue jsTestTypedefsUnsignedLongLongAttr(ExecState* state, EncodedJSValue thisValue, PropertyName)
 {
     UNUSED_PARAM(state);

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h	2016-06-06 19:11:17 UTC (rev 201719)
@@ -41,7 +41,6 @@
     static JSC::JSObject* createPrototype(JSC::VM&, JSC::JSGlobalObject*);
     static JSC::JSObject* prototype(JSC::VM&, JSC::JSGlobalObject*);
     static TestTypedefs* toWrapped(JSC::JSValue);
-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
     static void destroy(JSC::JSCell*);
 
     DECLARE_INFO;
@@ -53,7 +52,7 @@
 
     static JSC::JSValue getConstructor(JSC::VM&, const JSC::JSGlobalObject*);
 public:
-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
+    static const unsigned StructureFlags = JSC::HasStaticPropertyTable | Base::StructureFlags;
 protected:
     JSTestTypedefs(JSC::Structure*, JSDOMGlobalObject&, Ref<TestTypedefs>&&);
 

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp	2016-06-06 19:11:17 UTC (rev 201719)
@@ -132,15 +132,6 @@
     thisObject->JSattribute::~JSattribute();
 }
 
-bool JSattribute::getOwnPropertySlot(JSObject* object, ExecState* state, PropertyName propertyName, PropertySlot& slot)
-{
-    auto* thisObject = jsCast<JSattribute*>(object);
-    ASSERT_GC_OBJECT_INHERITS(thisObject, info());
-    if (getStaticValueSlot<JSattribute, Base>(state, JSattributeTable, thisObject, propertyName, slot))
-        return true;
-    return false;
-}
-
 EncodedJSValue jsattributeReadonly(ExecState* state, EncodedJSValue thisValue, PropertyName)
 {
     UNUSED_PARAM(state);

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h (201718 => 201719)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h	2016-06-06 18:51:23 UTC (rev 201718)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSattribute.h	2016-06-06 19:11:17 UTC (rev 201719)
@@ -42,7 +42,6 @@
     static JSC::JSObject* createPrototype(JSC::VM&, JSC::JSGlobalObject*);
     static JSC::JSObject* prototype(JSC::VM&, JSC::JSGlobalObject*);
     static attribute* toWrapped(JSC::JSValue);
-    static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
     static void destroy(JSC::JSCell*);
 
     DECLARE_INFO;
@@ -54,7 +53,7 @@
 
     static JSC::JSValue getConstructor(JSC::VM&, const JSC::JSGlobalObject*);
 public:
-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
+    static const unsigned StructureFlags = JSC::HasStaticPropertyTable | Base::StructureFlags;
 protected:
     JSattribute(JSC::Structure*, JSDOMGlobalObject&, Ref<attribute>&&);
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to