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>&&);