Title: [281500] trunk
Revision
281500
Author
[email protected]
Date
2021-08-24 10:58:29 -0700 (Tue, 24 Aug 2021)

Log Message

(r281473) stress/for-in-has-own-property-shouldnt-flush-registers.js failing on Debug
https://bugs.webkit.org/show_bug.cgi?id=229448

Reviewed by Mark Lam.

JSTests:

Fix typo in test name.

* stress/for-in-in-by-val-should-flush-registers.js: Renamed from JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js.

Source/_javascript_Core:

Add missing exception checks.

* dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/JSTests/ChangeLog (281499 => 281500)


--- trunk/JSTests/ChangeLog	2021-08-24 17:57:38 UTC (rev 281499)
+++ trunk/JSTests/ChangeLog	2021-08-24 17:58:29 UTC (rev 281500)
@@ -1,3 +1,14 @@
+2021-08-24  Keith Miller  <[email protected]>
+
+        (r281473) stress/for-in-has-own-property-shouldnt-flush-registers.js failing on Debug
+        https://bugs.webkit.org/show_bug.cgi?id=229448
+
+        Reviewed by Mark Lam.
+
+        Fix typo in test name.
+
+        * stress/for-in-in-by-val-should-flush-registers.js: Renamed from JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js.
+
 2021-08-23  Saam Barati  <[email protected]>
 
         Disable peephole optimizations in the byte code generator after rewriting instructions for for-in

Copied: trunk/JSTests/stress/for-in-in-by-val-should-flush-registers.js (from rev 281499, trunk/JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js) (0 => 281500)


--- trunk/JSTests/stress/for-in-in-by-val-should-flush-registers.js	                        (rev 0)
+++ trunk/JSTests/stress/for-in-in-by-val-should-flush-registers.js	2021-08-24 17:58:29 UTC (rev 281500)
@@ -0,0 +1,13 @@
+const a = [undefined];
+a.toString = ()=>{};
+
+function foo() {
+    for (let x in a) {
+      x in a;
+      +x;
+    }
+}
+
+for (let i=0; i<10000; i++) {
+  foo();
+}

Deleted: trunk/JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js (281499 => 281500)


--- trunk/JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js	2021-08-24 17:57:38 UTC (rev 281499)
+++ trunk/JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js	2021-08-24 17:58:29 UTC (rev 281500)
@@ -1,13 +0,0 @@
-const a = [undefined];
-a.toString = ()=>{};
-
-function foo() {
-    for (let x in a) {
-      x in a;
-      +x;
-    }
-}
-
-for (let i=0; i<10000; i++) {
-  foo();
-}

Modified: trunk/Source/_javascript_Core/ChangeLog (281499 => 281500)


--- trunk/Source/_javascript_Core/ChangeLog	2021-08-24 17:57:38 UTC (rev 281499)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-08-24 17:58:29 UTC (rev 281500)
@@ -1,3 +1,15 @@
+2021-08-24  Keith Miller  <[email protected]>
+
+        (r281473) stress/for-in-has-own-property-shouldnt-flush-registers.js failing on Debug
+        https://bugs.webkit.org/show_bug.cgi?id=229448
+
+        Reviewed by Mark Lam.
+
+        Add missing exception checks.
+
+        * dfg/DFGOperations.cpp:
+        (JSC::DFG::JSC_DEFINE_JIT_OPERATION):
+
 2021-08-24  Commit Queue  <[email protected]>
 
         Unreviewed, reverting r281321.

Modified: trunk/Source/_javascript_Core/dfg/DFGOperations.cpp (281499 => 281500)


--- trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2021-08-24 17:57:38 UTC (rev 281499)
+++ trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2021-08-24 17:58:29 UTC (rev 281500)
@@ -2532,7 +2532,7 @@
     JSValue base = JSValue::decode(baseValue);
     RETURN_IF_EXCEPTION(scope, { });
     if (modeNumber == JSPropertyNameEnumerator::IndexedMode && base.isObject())
-        return JSValue::encode(jsBoolean(jsCast<JSObject*>(base)->hasProperty(globalObject, index)));
+        RELEASE_AND_RETURN(scope, JSValue::encode(jsBoolean(jsCast<JSObject*>(base)->hasProperty(globalObject, index))));
 
     JSString* propertyName = jsSecureCast<JSString*>(vm, JSValue::decode(propertyNameValue));
     RELEASE_AND_RETURN(scope, JSValue::encode(jsBoolean(CommonSlowPaths::opInByVal(globalObject, base, propertyName))));
@@ -2548,7 +2548,7 @@
     JSValue base = JSValue::decode(baseValue);
     RETURN_IF_EXCEPTION(scope, { });
     if (modeNumber == JSPropertyNameEnumerator::IndexedMode && base.isObject())
-        return JSValue::encode(jsBoolean(jsCast<JSObject*>(base)->hasOwnProperty(globalObject, index)));
+        RELEASE_AND_RETURN(scope, JSValue::encode(jsBoolean(jsCast<JSObject*>(base)->hasOwnProperty(globalObject, index))));
 
     JSString* propertyName = jsSecureCast<JSString*>(vm, JSValue::decode(propertyNameValue));
     auto identifier = propertyName->toIdentifier(globalObject);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to