js/src/jit-test/tests/ion/bug701964.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:c926b58054dc
1 load(libdir + 'array-compare.js');
2
3 function f(v) {
4 return v.length;
5 }
6
7 function g(v) {
8 return v.length;
9 }
10
11 function h(v) {
12 return v.length;
13 }
14
15 function aliasCheck(v) {
16 v[0] = v.length;
17 v[1] = v.length;
18 v[2] = v.length;
19 return v;
20 }
21
22 for(let i = 41; i; i--) {
23 assertEq(f([]), 0);
24 assertEq(f([0]), 1);
25 assertEq(f([0, 1]), 2);
26 assertEq(f([0, 1, 2]), 3);
27 assertEq(g(""), 0);
28 assertEq(g("1"), 1);
29 assertEq(g("12"), 2);
30 assertEq(g("123"), 3);
31 assertEq(h({}), undefined);
32 assertEq(h({a: 1}), undefined);
33 assertEq(h({a: 1, b: 2}), undefined);
34 assertEq(h({a: 1, b: 2, length: 3}), 3);
35 assertEq(arraysEqual(aliasCheck([0, 1, 2]), [3, 3, 3]), true);
36 }

mercurial