Chromium Code Reviews| Index: test/mjsunit/regress/regress-sliced-external-cons-regexp.js |
| diff --git a/test/mjsunit/regress/regress-sliced-external-cons-regexp.js b/test/mjsunit/regress/regress-sliced-external-cons-regexp.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..145c831896a9b1433035de19bfbdd6daa8757b1b |
| --- /dev/null |
| +++ b/test/mjsunit/regress/regress-sliced-external-cons-regexp.js |
| @@ -0,0 +1,21 @@ |
| +// Copyright 2014 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. |
| + |
| +// Flags: --expose-externalize-string --expose-gc |
| + |
| +var re = /(B)/; |
| +var cons1 = "0123456789" + "ABCDEFGHIJ"; |
| +var cons2 = "0123456789\u1234" + "ABCDEFGHIJ"; |
| +gc(); |
|
Hannes Payer (out of office)
2014/07/03 11:40:09
you could call gc(true) to just invoke the scaveng
|
| +gc(); // Promote cons. |
| + |
| +try { externalizeString(cons1, false); } catch (e) { } |
| +try { externalizeString(cons2, true); } catch (e) { } |
| + |
| +var slice1 = cons1.slice(1,-1); |
| +var slice2 = cons2.slice(1,-1); |
| +for (var i = 0; i < 10; i++) { |
| + assertEquals(["B", "B"], re.exec(slice1)); |
| + assertEquals(["B", "B"], re.exec(slice2)); |
| +} |