Title: [221146] trunk/JSTests
Revision
221146
Author
mark....@apple.com
Date
2017-08-24 10:42:45 -0700 (Thu, 24 Aug 2017)

Log Message

Land regression test for https://bugs.webkit.org/show_bug.cgi?id=164081.
https://bugs.webkit.org/show_bug.cgi?id=175940
<rdar://problem/29003921>

Reviewed by Saam Barati.

* stress/regress-164081.js: Added.
(shouldEqual):
(testcase):

Modified Paths

Added Paths

Diff

Modified: trunk/JSTests/ChangeLog (221145 => 221146)


--- trunk/JSTests/ChangeLog	2017-08-24 17:31:56 UTC (rev 221145)
+++ trunk/JSTests/ChangeLog	2017-08-24 17:42:45 UTC (rev 221146)
@@ -1,3 +1,15 @@
+2017-08-24  Mark Lam  <mark....@apple.com>
+
+        Land regression test for https://bugs.webkit.org/show_bug.cgi?id=164081.
+        https://bugs.webkit.org/show_bug.cgi?id=175940
+        <rdar://problem/29003921>
+
+        Reviewed by Saam Barati.
+
+        * stress/regress-164081.js: Added.
+        (shouldEqual):
+        (testcase):
+
 2017-08-24  Ryan Haddad  <ryanhad...@apple.com>
 
         Skip flaky JSC test stress/test-finally.js.

Added: trunk/JSTests/stress/regress-164081.js (0 => 221146)


--- trunk/JSTests/stress/regress-164081.js	                        (rev 0)
+++ trunk/JSTests/stress/regress-164081.js	2017-08-24 17:42:45 UTC (rev 221146)
@@ -0,0 +1,34 @@
+//@ runFTLNoCJIT
+
+// Regression test for https://webkit.org/b/164081.
+// This test passes if it does not crash nor throws an error.
+
+function shouldEqual(actual, expected) {
+    if (actual != expected) {
+        throw "ERROR: expect " + expected + ", actual " + actual;
+    }
+}
+
+var count = 10000;
+
+var g_arr = new Array(count);
+for (var z = 0; z < count; z+=2) {
+    testcase(z);
+}
+function testcase(z) {
+    var visited = [];
+
+    g_arr[z]= Function('\'use strict\'');
+    g_arr[z][0]=5;
+    try {
+        g_arr[z+1] = new Uint32Array(8); //can skip
+        g_arr[z+1][6] = 0x41414141; // can skip
+        g_arr[z+1][7] = 0x41414141; // can skip
+        visited.push("set_caller");
+        g_arr[z].caller= 1;
+    } catch (e) {
+        visited.push("caught_exception");
+    }
+    shouldEqual(visited, "set_caller,caught_exception");
+}
+
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to