REGRESSION: stress/regress-178386.js is timing out on JSC debug bot
authorysuzuki@apple.com <ysuzuki@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Feb 2019 03:48:25 +0000 (03:48 +0000)
committerysuzuki@apple.com <ysuzuki@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 27 Feb 2019 03:48:25 +0000 (03:48 +0000)
https://bugs.webkit.org/show_bug.cgi?id=194677
<rdar://problem/48112492>

Reviewed by Mark Lam.

Before r241233, String.fromCharCode (except for an empty string) always returns 16bit string.
This makes the rope generated by padEnd 16bit. When we resolve the rope inside JSON.stringify,
it immediately fails due the large size.

After r241233, String.fromCharCode starts returning 8bit string if possible. So the rope becomes
8bit, and we successfully resolve the rope in this case. Resolving such a large rope takes long
time and that is why stress/regress-178386.js starts timing out. Note that, the test fails with
OOM error anyway because JSON.stringify's builder overflows with such a large string input.

This patch changes the test to produce 16bit string from String.fromCharCode.

* stress/regress-178386.js:

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

JSTests/ChangeLog
JSTests/stress/regress-178386.js

index ec4387c..11b22e6 100644 (file)
@@ -1,3 +1,24 @@
+2019-02-26  Yusuke Suzuki  <ysuzuki@apple.com>
+
+        REGRESSION: stress/regress-178386.js is timing out on JSC debug bot
+        https://bugs.webkit.org/show_bug.cgi?id=194677
+        <rdar://problem/48112492>
+
+        Reviewed by Mark Lam.
+
+        Before r241233, String.fromCharCode (except for an empty string) always returns 16bit string.
+        This makes the rope generated by padEnd 16bit. When we resolve the rope inside JSON.stringify,
+        it immediately fails due the large size.
+
+        After r241233, String.fromCharCode starts returning 8bit string if possible. So the rope becomes
+        8bit, and we successfully resolve the rope in this case. Resolving such a large rope takes long
+        time and that is why stress/regress-178386.js starts timing out. Note that, the test fails with
+        OOM error anyway because JSON.stringify's builder overflows with such a large string input.
+
+        This patch changes the test to produce 16bit string from String.fromCharCode.
+
+        * stress/regress-178386.js:
+
 2019-02-26  Mark Lam  <mark.lam@apple.com>
 
         wasmToJS() should purify incoming NaNs.
index 3c66e09..c2dfb9e 100644 (file)
@@ -1,4 +1,4 @@
-var str1 = String.fromCharCode(136, 115, 29, 20, 15, 155, 81);
+var str1 = String.fromCharCode(365, 115, 29, 20, 15, 155, 81);
 str3 = str1.padEnd(0x7FFFFFFC, '123');
 
 var exception;