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