Title: [281605] branches/safari-612-branch
Revision
281605
Author
alanc...@apple.com
Date
2021-08-25 17:01:36 -0700 (Wed, 25 Aug 2021)

Log Message

Cherry-pick r281500. rdar://problem/82350929

    (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):

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281500 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Added Paths

Removed Paths

Diff

Modified: branches/safari-612-branch/JSTests/ChangeLog (281604 => 281605)


--- branches/safari-612-branch/JSTests/ChangeLog	2021-08-26 00:01:33 UTC (rev 281604)
+++ branches/safari-612-branch/JSTests/ChangeLog	2021-08-26 00:01:36 UTC (rev 281605)
@@ -1,3 +1,39 @@
+2021-08-25  Alan Coon  <alanc...@apple.com>
+
+        Cherry-pick r281500. rdar://problem/82350929
+
+    (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):
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2021-08-24  Keith Miller  <keith_mil...@apple.com>
+
+            (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  Alan Coon  <alanc...@apple.com>
 
         Cherry-pick r281473. rdar://problem/82262986

Copied: branches/safari-612-branch/JSTests/stress/for-in-in-by-val-should-flush-registers.js (from rev 281604, branches/safari-612-branch/JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js) (0 => 281605)


--- branches/safari-612-branch/JSTests/stress/for-in-in-by-val-should-flush-registers.js	                        (rev 0)
+++ branches/safari-612-branch/JSTests/stress/for-in-in-by-val-should-flush-registers.js	2021-08-26 00:01:36 UTC (rev 281605)
@@ -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: branches/safari-612-branch/JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js (281604 => 281605)


--- branches/safari-612-branch/JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js	2021-08-26 00:01:33 UTC (rev 281604)
+++ branches/safari-612-branch/JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js	2021-08-26 00:01:36 UTC (rev 281605)
@@ -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: branches/safari-612-branch/Source/_javascript_Core/ChangeLog (281604 => 281605)


--- branches/safari-612-branch/Source/_javascript_Core/ChangeLog	2021-08-26 00:01:33 UTC (rev 281604)
+++ branches/safari-612-branch/Source/_javascript_Core/ChangeLog	2021-08-26 00:01:36 UTC (rev 281605)
@@ -1,3 +1,40 @@
+2021-08-25  Alan Coon  <alanc...@apple.com>
+
+        Cherry-pick r281500. rdar://problem/82350929
+
+    (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):
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281500 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2021-08-24  Keith Miller  <keith_mil...@apple.com>
+
+            (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-23  Alan Coon  <alanc...@apple.com>
 
         Cherry-pick r281473. rdar://problem/82262986

Modified: branches/safari-612-branch/Source/_javascript_Core/dfg/DFGOperations.cpp (281604 => 281605)


--- branches/safari-612-branch/Source/_javascript_Core/dfg/DFGOperations.cpp	2021-08-26 00:01:33 UTC (rev 281604)
+++ branches/safari-612-branch/Source/_javascript_Core/dfg/DFGOperations.cpp	2021-08-26 00:01:36 UTC (rev 281605)
@@ -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
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to