Title: [244049] trunk/JSTests
Revision
244049
Author
[email protected]
Date
2019-04-08 15:01:32 -0700 (Mon, 08 Apr 2019)

Log Message

[JSC] Add more tests for r243966
https://bugs.webkit.org/show_bug.cgi?id=196711

Reviewed by Saam Barati.

Adding one more test for r243966 fix. The added test will not crash after r243966.

* stress/stress-cleared-calllinkinfo.js: Added.
(runNearStackLimit.t):
(runNearStackLimit):
(repeat):
(cls):
(let.item.of.array.runNearStackLimit):

Modified Paths

Added Paths

Diff

Modified: trunk/JSTests/ChangeLog (244048 => 244049)


--- trunk/JSTests/ChangeLog	2019-04-08 21:42:47 UTC (rev 244048)
+++ trunk/JSTests/ChangeLog	2019-04-08 22:01:32 UTC (rev 244049)
@@ -1,3 +1,19 @@
+2019-04-08  Yusuke Suzuki  <[email protected]>
+
+        [JSC] Add more tests for r243966
+        https://bugs.webkit.org/show_bug.cgi?id=196711
+
+        Reviewed by Saam Barati.
+
+        Adding one more test for r243966 fix. The added test will not crash after r243966.
+
+        * stress/stress-cleared-calllinkinfo.js: Added.
+        (runNearStackLimit.t):
+        (runNearStackLimit):
+        (repeat):
+        (cls):
+        (let.item.of.array.runNearStackLimit):
+
 2019-04-08  Saam Barati  <[email protected]>
 
         WebAssembly.RuntimeError missing exception check

Added: trunk/JSTests/stress/stress-cleared-calllinkinfo.js (0 => 244049)


--- trunk/JSTests/stress/stress-cleared-calllinkinfo.js	                        (rev 0)
+++ trunk/JSTests/stress/stress-cleared-calllinkinfo.js	2019-04-08 22:01:32 UTC (rev 244049)
@@ -0,0 +1,34 @@
+//@ slow!
+function runNearStackLimit(f) {
+    function t() {
+        try {
+            return t();
+        } catch (e) {
+            String(e);
+            return f();
+        }
+    }
+    return t()
+}
+function repeat(func, count) {
+    for (let i = 0; i < count; i++) {
+        try {
+            func(i);
+        } catch (e) {}
+    }
+}
+let array = [Error, String, RegExp, {}, class cls {}];
+for (let item of array) {
+    runNearStackLimit(() => {
+        return repeat(void 0, 30);
+    })
+}
+
+repeat(function (v) {
+    let func = new Proxy(function () {
+        gc();
+    }, {});
+    runNearStackLimit(() => {
+        new func();
+    })
+}, 5);
\ No newline at end of file
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to