diff options
Diffstat (limited to 'deps/v8/test/mjsunit/string-replace-gc.js')
-rw-r--r-- | deps/v8/test/mjsunit/string-replace-gc.js | 33 |
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); |