22 lines
651 B
JavaScript
22 lines
651 B
JavaScript
|
// 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();
|
||
|
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));
|
||
|
}
|