Title: [279558] trunk/Source
Revision
279558
Author
[email protected]
Date
2021-07-04 12:18:38 -0700 (Sun, 04 Jul 2021)

Log Message

[WebIDL] Simplify generation of runtime conditionally read-write attributes
https://bugs.webkit.org/show_bug.cgi?id=227672

Reviewed by Sam Weinig.

Source/_javascript_Core:

* runtime/Lookup.h:
(JSC::HashTableValue::makeReadOnlyCopy const):

Source/WebCore:

This patch introduces HashTableValue::makeReadOnlyCopy() to avoid manually
generating & putting a JSValue for an attribute, which is non-trivial to
do right while supporting all kinds of accelerated / built-in attributes.

Also, removes incorrect `classForThis` argument from `entries` reification.

No new tests, no behavior change.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* bindings/scripts/test/JS/*: Updated.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (279557 => 279558)


--- trunk/Source/_javascript_Core/ChangeLog	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-07-04 19:18:38 UTC (rev 279558)
@@ -1,3 +1,13 @@
+2021-07-04  Alexey Shvayka  <[email protected]>
+
+        [WebIDL] Simplify generation of runtime conditionally read-write attributes
+        https://bugs.webkit.org/show_bug.cgi?id=227672
+
+        Reviewed by Sam Weinig.
+
+        * runtime/Lookup.h:
+        (JSC::HashTableValue::makeReadOnlyCopy const):
+
 2021-07-03  Alexey Shvayka  <[email protected]>
 
         [WebIDL] Rework runtime enabled properties leveraging PropertyCallback

Modified: trunk/Source/_javascript_Core/runtime/Lookup.h (279557 => 279558)


--- trunk/Source/_javascript_Core/runtime/Lookup.h	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/_javascript_Core/runtime/Lookup.h	2021-07-04 19:18:38 UTC (rev 279558)
@@ -111,6 +111,15 @@
         auto isEnabledCallback = bitwise_cast<IsLazyPropertyEnabledCallback>(m_values.value2);
         return !isEnabledCallback || isEnabledCallback(globalObject);
     }
+
+    HashTableValue makeReadOnlyCopy() const
+    {
+        ASSERT(m_attributes & PropertyAttribute::AccessorOrCustomAccessorOrValue);
+        HashTableValue copy = *this;
+        copy.m_attributes |= PropertyAttribute::ReadOnly;
+        copy.m_values.value2 = 0;
+        return copy;
+    }
 };
 
 struct HashTable {

Modified: trunk/Source/WebCore/ChangeLog (279557 => 279558)


--- trunk/Source/WebCore/ChangeLog	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/ChangeLog	2021-07-04 19:18:38 UTC (rev 279558)
@@ -1,5 +1,24 @@
 2021-07-04  Alexey Shvayka  <[email protected]>
 
+        [WebIDL] Simplify generation of runtime conditionally read-write attributes
+        https://bugs.webkit.org/show_bug.cgi?id=227672
+
+        Reviewed by Sam Weinig.
+
+        This patch introduces HashTableValue::makeReadOnlyCopy() to avoid manually
+        generating & putting a JSValue for an attribute, which is non-trivial to
+        do right while supporting all kinds of accelerated / built-in attributes.
+
+        Also, removes incorrect `classForThis` argument from `entries` reification.
+
+        No new tests, no behavior change.
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateImplementation):
+        * bindings/scripts/test/JS/*: Updated.
+
+2021-07-04  Alexey Shvayka  <[email protected]>
+
         [WebIDL] Generate constructor's hash table in GenerateConstructorHelperMethods
         https://bugs.webkit.org/show_bug.cgi?id=227668
 

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (279557 => 279558)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2021-07-04 19:18:38 UTC (rev 279558)
@@ -4450,10 +4450,6 @@
                 my $runtimeEnableConditionalString = GenerateRuntimeEnableConditionalString($interface, $attribute, "globalObject()");
 
                 my $attributeName = $attribute->name;
-                # FIXME: Simplify this by calling reifyStaticProperty() on a HashTableValue that has been transformed to read-only.
-                my $getter = GetAttributeGetterName($interface, $className, $attribute);
-                my $setter = "nullptr";
-                my $jscAttributes = StringifyJSCAttributes(GetJSCAttributesForAttribute($interface, $attribute)) . " | JSC::PropertyAttribute::ReadOnly";
                 assert("Being both runtime enabled and runtime conditionally read-write is not yet supported (used on the '${attributeName}' attribute of '${visibleInterfaceName}').") if NeedsRuntimeCheck($interface, $attribute);
 
                 my $conditionalString = $codeGenerator->GenerateConditionalString($attribute);
@@ -4460,13 +4456,9 @@
                 push(@implContent, "#if ${conditionalString}\n") if $conditionalString;
                 push(@implContent, "    // Shadow read-write variant from the static hash table.\n");
                 push(@implContent, "    if (!${runtimeEnableConditionalString})\n");
-                if (IsAcceleratedDOMAttribute($interface, $attribute)) {
-                    my $classForThis = "${className}::info()";
-                    push(@implContent, "        putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames()." . $attributeName . "PublicName(), JSC::DOMAttributeGetterSetter::create(vm, $getter, $setter, JSC::DOMAttributeAnnotation { $classForThis, nullptr }), attributesForStructure($jscAttributes));\n");
-                } else {
-                    assert("CustomGetterSetter is not allowed for DOMAttribute. DOMAttributeGetterSetter must be used.") if IsAcceleratedDOMAttribute($interface, $attribute);
-                    push(@implContent, "        putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames()." . $attributeName . "PublicName(), CustomGetterSetter::create(vm, $getter, $setter), attributesForStructure($jscAttributes));\n");
-                }
+
+                my $propertyName = "static_cast<JSVMClientData*>(vm.clientData)->builtinNames().${attributeName}PublicName()";
+                push(@implContent, "        reifyStaticProperty(vm, ${className}::info(), ${propertyName}, info()->staticPropHashTable->entry(${propertyName})->makeReadOnlyCopy(), *this);\n");
                 push(@implContent, "#endif\n") if $conditionalString;
             }
         }
@@ -4475,7 +4467,7 @@
             AddToImplIncludes("<_javascript_Core/BuiltinNames.h>");
             if (IsKeyValueIterableInterface($interface) or $interface->mapLike or $interface->setLike) {
                 push(@implContent, "    auto& entries = vm.propertyNames->builtinNames().entriesPublicName();\n");
-                push(@implContent, "    reifyStaticProperty(vm, info(), entries, *info()->staticPropHashTable->entry(entries), *this);\n");
+                push(@implContent, "    reifyStaticProperty(vm, nullptr, entries, *info()->staticPropHashTable->entry(entries), *this);\n");
                 push(@implContent, "    putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, entries), static_cast<unsigned>(JSC::PropertyAttribute::DontEnum));\n");
             } else {
                 push(@implContent, "    putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, globalObject()->arrayProtoValuesFunction(), static_cast<unsigned>(JSC::PropertyAttribute::DontEnum));\n");

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp (279557 => 279558)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp	2021-07-04 19:18:38 UTC (rev 279558)
@@ -192,28 +192,28 @@
     reifyStaticProperties(vm, JSTestConditionallyReadWrite::info(), JSTestConditionallyReadWritePrototypeTableValues, *this);
     // Shadow read-write variant from the static hash table.
     if (!RuntimeEnabledFeatures::sharedFeatures().testFeatureEnabled())
-        putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributePublicName(), JSC::DOMAttributeGetterSetter::create(vm, jsTestConditionallyReadWrite_runtimeConditionallyReadWriteAttribute, nullptr, JSC::DOMAttributeAnnotation { JSTestConditionallyReadWrite::info(), nullptr }), attributesForStructure(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | JSC::PropertyAttribute::ReadOnly));
+        reifyStaticProperty(vm, JSTestConditionallyReadWrite::info(), static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributePublicName(), info()->staticPropHashTable->entry(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributePublicName())->makeReadOnlyCopy(), *this);
     // Shadow read-write variant from the static hash table.
     if (!RuntimeEnabledFeatures::sharedFeatures().testFeatureEnabled())
-        putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributeUnforgeablePublicName(), JSC::DOMAttributeGetterSetter::create(vm, jsTestConditionallyReadWrite_runtimeConditionallyReadWriteAttributeUnforgeable, nullptr, JSC::DOMAttributeAnnotation { JSTestConditionallyReadWrite::info(), nullptr }), attributesForStructure(JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | JSC::PropertyAttribute::ReadOnly));
+        reifyStaticProperty(vm, JSTestConditionallyReadWrite::info(), static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributeUnforgeablePublicName(), info()->staticPropHashTable->entry(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributeUnforgeablePublicName())->makeReadOnlyCopy(), *this);
     // Shadow read-write variant from the static hash table.
     if (!RuntimeEnabledFeatures::sharedFeatures().testFeatureEnabled())
-        putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributeUnforgeablePrivatePublicName(), CustomGetterSetter::create(vm, jsTestConditionallyReadWrite_runtimeConditionallyReadWriteAttributeUnforgeablePrivate, nullptr), attributesForStructure(JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::ReadOnly));
+        reifyStaticProperty(vm, JSTestConditionallyReadWrite::info(), static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributeUnforgeablePrivatePublicName(), info()->staticPropHashTable->entry(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributeUnforgeablePrivatePublicName())->makeReadOnlyCopy(), *this);
     // Shadow read-write variant from the static hash table.
     if (!RuntimeEnabledFeatures::sharedFeatures().testFeatureEnabled())
-        putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributePromisePublicName(), CustomGetterSetter::create(vm, jsTestConditionallyReadWrite_runtimeConditionallyReadWriteAttributePromise, nullptr), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor) | JSC::PropertyAttribute::ReadOnly));
+        reifyStaticProperty(vm, JSTestConditionallyReadWrite::info(), static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributePromisePublicName(), info()->staticPropHashTable->entry(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().runtimeConditionallyReadWriteAttributePromisePublicName())->makeReadOnlyCopy(), *this);
     // Shadow read-write variant from the static hash table.
     if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settingsValues().testFeatureEnabled)
-        putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributePublicName(), JSC::DOMAttributeGetterSetter::create(vm, jsTestConditionallyReadWrite_settingsConditionallyReadWriteAttribute, nullptr, JSC::DOMAttributeAnnotation { JSTestConditionallyReadWrite::info(), nullptr }), attributesForStructure(JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | JSC::PropertyAttribute::ReadOnly));
+        reifyStaticProperty(vm, JSTestConditionallyReadWrite::info(), static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributePublicName(), info()->staticPropHashTable->entry(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributePublicName())->makeReadOnlyCopy(), *this);
     // Shadow read-write variant from the static hash table.
     if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settingsValues().testFeatureEnabled)
-        putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributeUnforgeablePublicName(), JSC::DOMAttributeGetterSetter::create(vm, jsTestConditionallyReadWrite_settingsConditionallyReadWriteAttributeUnforgeable, nullptr, JSC::DOMAttributeAnnotation { JSTestConditionallyReadWrite::info(), nullptr }), attributesForStructure(JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute | JSC::PropertyAttribute::ReadOnly));
+        reifyStaticProperty(vm, JSTestConditionallyReadWrite::info(), static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributeUnforgeablePublicName(), info()->staticPropHashTable->entry(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributeUnforgeablePublicName())->makeReadOnlyCopy(), *this);
     // Shadow read-write variant from the static hash table.
     if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settingsValues().testFeatureEnabled)
-        putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributeUnforgeablePrivatePublicName(), CustomGetterSetter::create(vm, jsTestConditionallyReadWrite_settingsConditionallyReadWriteAttributeUnforgeablePrivate, nullptr), attributesForStructure(JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::ReadOnly));
+        reifyStaticProperty(vm, JSTestConditionallyReadWrite::info(), static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributeUnforgeablePrivatePublicName(), info()->staticPropHashTable->entry(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributeUnforgeablePrivatePublicName())->makeReadOnlyCopy(), *this);
     // Shadow read-write variant from the static hash table.
     if (!downcast<Document>(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext())->settingsValues().testFeatureEnabled)
-        putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributePromisePublicName(), CustomGetterSetter::create(vm, jsTestConditionallyReadWrite_settingsConditionallyReadWriteAttributePromise, nullptr), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor) | JSC::PropertyAttribute::ReadOnly));
+        reifyStaticProperty(vm, JSTestConditionallyReadWrite::info(), static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributePromisePublicName(), info()->staticPropHashTable->entry(static_cast<JSVMClientData*>(vm.clientData)->builtinNames().settingsConditionallyReadWriteAttributePromisePublicName())->makeReadOnlyCopy(), *this);
     JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
 }
 

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (279557 => 279558)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp	2021-07-04 19:18:38 UTC (rev 279558)
@@ -572,7 +572,7 @@
     Base::finishCreation(vm);
     reifyStaticProperties(vm, JSTestInterface::info(), JSTestInterfacePrototypeTableValues, *this);
     auto& entries = vm.propertyNames->builtinNames().entriesPublicName();
-    reifyStaticProperty(vm, info(), entries, *info()->staticPropHashTable->entry(entries), *this);
+    reifyStaticProperty(vm, nullptr, entries, *info()->staticPropHashTable->entry(entries), *this);
     putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, entries), static_cast<unsigned>(JSC::PropertyAttribute::DontEnum));
     JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
 }

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp (279557 => 279558)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestIterable.cpp	2021-07-04 19:18:38 UTC (rev 279558)
@@ -152,7 +152,7 @@
     Base::finishCreation(vm);
     reifyStaticProperties(vm, JSTestIterable::info(), JSTestIterablePrototypeTableValues, *this);
     auto& entries = vm.propertyNames->builtinNames().entriesPublicName();
-    reifyStaticProperty(vm, info(), entries, *info()->staticPropHashTable->entry(entries), *this);
+    reifyStaticProperty(vm, nullptr, entries, *info()->staticPropHashTable->entry(entries), *this);
     putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, entries), static_cast<unsigned>(JSC::PropertyAttribute::DontEnum));
     JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
 }

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLike.cpp (279557 => 279558)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLike.cpp	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLike.cpp	2021-07-04 19:18:38 UTC (rev 279558)
@@ -181,7 +181,7 @@
     Base::finishCreation(vm);
     reifyStaticProperties(vm, JSTestMapLike::info(), JSTestMapLikePrototypeTableValues, *this);
     auto& entries = vm.propertyNames->builtinNames().entriesPublicName();
-    reifyStaticProperty(vm, info(), entries, *info()->staticPropHashTable->entry(entries), *this);
+    reifyStaticProperty(vm, nullptr, entries, *info()->staticPropHashTable->entry(entries), *this);
     putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, entries), static_cast<unsigned>(JSC::PropertyAttribute::DontEnum));
     JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
 }

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp (279557 => 279558)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp	2021-07-04 19:18:38 UTC (rev 279558)
@@ -185,7 +185,7 @@
     Base::finishCreation(vm);
     reifyStaticProperties(vm, JSTestMapLikeWithOverriddenOperations::info(), JSTestMapLikeWithOverriddenOperationsPrototypeTableValues, *this);
     auto& entries = vm.propertyNames->builtinNames().entriesPublicName();
-    reifyStaticProperty(vm, info(), entries, *info()->staticPropHashTable->entry(entries), *this);
+    reifyStaticProperty(vm, nullptr, entries, *info()->staticPropHashTable->entry(entries), *this);
     putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, entries), static_cast<unsigned>(JSC::PropertyAttribute::DontEnum));
     JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
 }

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp (279557 => 279558)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp	2021-07-04 19:18:38 UTC (rev 279558)
@@ -295,7 +295,7 @@
     Base::finishCreation(vm);
     reifyStaticProperties(vm, JSTestNode::info(), JSTestNodePrototypeTableValues, *this);
     auto& entries = vm.propertyNames->builtinNames().entriesPublicName();
-    reifyStaticProperty(vm, info(), entries, *info()->staticPropHashTable->entry(entries), *this);
+    reifyStaticProperty(vm, nullptr, entries, *info()->staticPropHashTable->entry(entries), *this);
     putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, entries), static_cast<unsigned>(JSC::PropertyAttribute::DontEnum));
     JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
 }

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp (279557 => 279558)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp	2021-07-04 19:18:38 UTC (rev 279558)
@@ -160,7 +160,7 @@
     Base::finishCreation(vm);
     reifyStaticProperties(vm, JSTestReadOnlyMapLike::info(), JSTestReadOnlyMapLikePrototypeTableValues, *this);
     auto& entries = vm.propertyNames->builtinNames().entriesPublicName();
-    reifyStaticProperty(vm, info(), entries, *info()->staticPropHashTable->entry(entries), *this);
+    reifyStaticProperty(vm, nullptr, entries, *info()->staticPropHashTable->entry(entries), *this);
     putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, entries), static_cast<unsigned>(JSC::PropertyAttribute::DontEnum));
     JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
 }

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp (279557 => 279558)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp	2021-07-04 19:18:38 UTC (rev 279558)
@@ -158,7 +158,7 @@
     Base::finishCreation(vm);
     reifyStaticProperties(vm, JSTestReadOnlySetLike::info(), JSTestReadOnlySetLikePrototypeTableValues, *this);
     auto& entries = vm.propertyNames->builtinNames().entriesPublicName();
-    reifyStaticProperty(vm, info(), entries, *info()->staticPropHashTable->entry(entries), *this);
+    reifyStaticProperty(vm, nullptr, entries, *info()->staticPropHashTable->entry(entries), *this);
     putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, entries), static_cast<unsigned>(JSC::PropertyAttribute::DontEnum));
     JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
 }

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLike.cpp (279557 => 279558)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLike.cpp	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLike.cpp	2021-07-04 19:18:38 UTC (rev 279558)
@@ -180,7 +180,7 @@
     Base::finishCreation(vm);
     reifyStaticProperties(vm, JSTestSetLike::info(), JSTestSetLikePrototypeTableValues, *this);
     auto& entries = vm.propertyNames->builtinNames().entriesPublicName();
-    reifyStaticProperty(vm, info(), entries, *info()->staticPropHashTable->entry(entries), *this);
+    reifyStaticProperty(vm, nullptr, entries, *info()->staticPropHashTable->entry(entries), *this);
     putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, entries), static_cast<unsigned>(JSC::PropertyAttribute::DontEnum));
     JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
 }

Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp (279557 => 279558)


--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp	2021-07-04 18:47:07 UTC (rev 279557)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp	2021-07-04 19:18:38 UTC (rev 279558)
@@ -184,7 +184,7 @@
     Base::finishCreation(vm);
     reifyStaticProperties(vm, JSTestSetLikeWithOverriddenOperations::info(), JSTestSetLikeWithOverriddenOperationsPrototypeTableValues, *this);
     auto& entries = vm.propertyNames->builtinNames().entriesPublicName();
-    reifyStaticProperty(vm, info(), entries, *info()->staticPropHashTable->entry(entries), *this);
+    reifyStaticProperty(vm, nullptr, entries, *info()->staticPropHashTable->entry(entries), *this);
     putDirectWithoutTransition(vm, vm.propertyNames->iteratorSymbol, getDirect(vm, entries), static_cast<unsigned>(JSC::PropertyAttribute::DontEnum));
     JSC_TO_STRING_TAG_WITHOUT_TRANSITION();
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to