| Index: test/mjsunit/thin-strings.js
|
| diff --git a/test/mjsunit/thin-strings.js b/test/mjsunit/thin-strings.js
|
| deleted file mode 100644
|
| index c86764259ac93f113fe09ef4939c3564117833e9..0000000000000000000000000000000000000000
|
| --- a/test/mjsunit/thin-strings.js
|
| +++ /dev/null
|
| @@ -1,90 +0,0 @@
|
| -// Copyright 2016 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: --allow-natives-syntax
|
| -
|
| -function get_thin_string(a, b) {
|
| - var str = a + b; // Make a ConsString.
|
| - var o = {};
|
| - o[str]; // Turn it into a ThinString.
|
| - return str;
|
| -}
|
| -
|
| -var str = get_thin_string("foo", "bar");
|
| -
|
| -var re = /.o+ba./;
|
| -assertEquals(["foobar"], re.exec(str));
|
| -assertEquals(["foobar"], re.exec(str));
|
| -assertEquals(["foobar"], re.exec(str));
|
| -
|
| -function CheckCS() {
|
| - assertEquals("o", str.substring(1, 2));
|
| - assertEquals("f".charCodeAt(0), str.charCodeAt(0));
|
| - assertEquals("f", str.split(/oo/)[0]);
|
| -}
|
| -CheckCS();
|
| -%OptimizeFunctionOnNextCall(CheckCS);
|
| -CheckCS();
|
| -
|
| -function CheckTF() {
|
| - try {} catch(e) {} // Turbofan.
|
| - assertEquals("o", str.substring(1, 2));
|
| - assertEquals("f".charCodeAt(0), str.charCodeAt(0));
|
| - assertEquals("f", str.split(/oo/)[0]);
|
| -}
|
| -CheckTF();
|
| -%OptimizeFunctionOnNextCall(CheckTF);
|
| -CheckTF();
|
| -
|
| -// Flat cons strings can point to a thin string.
|
| -
|
| -function get_cons_thin_string(a, b) {
|
| - // Make a ConsString.
|
| - var s = a + b;
|
| - // Flatten it.
|
| - s.endsWith("a");
|
| - // Internalize the first part.
|
| - var o = {};
|
| - o[s];
|
| - return s;
|
| -}
|
| -
|
| -var s = get_cons_thin_string("__________", "@@@@@@@@@@a");
|
| -s.match(/.*a/);
|
| -assertEquals("________", s.substring(0, 8));
|
| -
|
| -function cc1(s) {
|
| - assertEquals(95, s.charCodeAt(0));
|
| - assertEquals(95, s.codePointAt(0));
|
| -}
|
| -cc1(s);
|
| -cc1(s);
|
| -%OptimizeFunctionOnNextCall(cc1);
|
| -cc1(s);
|
| -
|
| -// Sliced strings can have a thin string as their parent.
|
| -
|
| -function get_sliced_thin_string(a, b) {
|
| - // Make a long thin string.
|
| - var s = a + b;
|
| - // Slice a substring out of it.
|
| - var slice = s.substring(0, 20);
|
| - // Make the original string thin.
|
| - var o = {};
|
| - o[s];
|
| - return slice;
|
| -}
|
| -
|
| -var t = get_sliced_thin_string("abcdefghijklmnopqrstuvwxyz",
|
| - "abcdefghijklmnopqrstuvwxyz");
|
| -assertEquals("abcdefghijklmnopqrst", decodeURI(t));
|
| -
|
| -function cc2(s) {
|
| - assertEquals(97, s.charCodeAt(0));
|
| - assertEquals(97, s.codePointAt(0));
|
| -}
|
| -cc2(t);
|
| -cc2(t);
|
| -%OptimizeFunctionOnNextCall(cc2);
|
| -cc2(t);
|
|
|