Index: test/mjsunit/regress/regress-chromium-482998.js |
diff --git a/test/mjsunit/regress/regress-chromium-482998.js b/test/mjsunit/regress/regress-chromium-482998.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..94ff5008e85688ee8cf70dc9dd010c4c41257b26 |
--- /dev/null |
+++ b/test/mjsunit/regress/regress-chromium-482998.js |
@@ -0,0 +1,22 @@ |
+// Copyright 2015 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Should not time out. Running time 0.5s vs. 120s before the change. |
+function collapse() { |
+ var src = "(?:"; |
+ for (var i = 128; i < 0x1000; i++) { |
+ src += "a" + String.fromCharCode(i) + "|"; |
+ } |
+ src += "aa)"; |
+ var collapsible = new RegExp(src); |
+ var subject = "zzzzzzz" + String.fromCharCode(3000); |
+ for (var i = 0; i < 1000; i++) { |
+ subject += "xxxxxxx"; |
+ } |
+ for (var i = 0; i < 2000; i++) { |
+ assertFalse(collapsible.test(subject)); |
+ } |
+} |
+ |
+collapse(); |