js/src/jit-test/tests/pic/length_string_object.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:dc3c03ae64da
1 //length, string, object
2
3 var expected = "3,6,4,3,6,4,3,6,4,3,6,4,";
4 var actual = '';
5
6 function f() {
7 var ss = [new String("abc"), new String("foobar"), new String("quux")];
8
9 for (var i = 0; i < 12; ++i) {
10 actual += ss[i%3].length + ',';
11 }
12 }
13
14 f();
15
16 assertEq(actual, expected);
17
18
19 function g(s) {
20 return new String(s).length;
21 }
22
23 assertEq(g("x"), 1); // Warm-up
24 assertEq(g("x"), 1); // Create IC
25 assertEq(g("x"), 1); // Test IC
26
27 function h(s) {
28 var x = new String(s);
29 for (var i = 0; i < 100; i++)
30 x[i] = i;
31 return x.length;
32 }
33
34 assertEq(h("x"), 1);
35 assertEq(h("x"), 1);
36 assertEq(h("x"), 1);

mercurial