summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/string-replace-gc.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/string-replace-gc.js')
-rw-r--r--deps/v8/test/mjsunit/string-replace-gc.js33
1 files changed, 12 insertions, 21 deletions
diff --git a/deps/v8/test/mjsunit/string-replace-gc.js b/deps/v8/test/mjsunit/string-replace-gc.js
index 2f1efd8813..56b6a09da1 100644
--- a/deps/v8/test/mjsunit/string-replace-gc.js
+++ b/deps/v8/test/mjsunit/string-replace-gc.js
@@ -25,31 +25,22 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// Regression test for the r1512 fix.
+// Regression test for the r1513 fix.
+
+// Flags: --allow-natives-syntax
var foo = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
+assertEquals(39, foo.length);
+
+for (var i = 0; i < 12; i++) {
+ foo = foo + foo;
+}
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-foo = foo + foo;
-
-foo.replace(/[b]/, "c"); // Flatten foo.
+foo = %FlattenString(foo);
var moving_string = "b" + "c";
-var bar = foo.replace(/[a]/g, moving_string);
+var bar = foo.replace(/a/g, moving_string);
-print(bar.length);
+// 39 * 2^12 * 2
+assertEquals(319488, bar.length);