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

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:533689102da2
1 function g1(x) {
2 return x + 1;
3 }
4 function f1() {
5 var y = 0;
6 for (var i=0; i<100; i++) {
7 y += g1(g1(i));
8 }
9 return y;
10 }
11 g1(10);
12 assertEq(f1(), 5150);
13
14 x = 1;
15 other = newGlobal("same-compartment");
16 other.eval("f = function() { return x; }; x = 2;");
17
18 h = other.f;
19
20 function testOtherGlobal() {
21 var y = 0;
22 for (var i=0; i<100; i++) {
23 y += h();
24 }
25 return y;
26 }
27 h();
28 assertEq(testOtherGlobal(), 200);
29
30 // Note: this test requires on On-Stack Invalidation.
31 f2 = function() {
32 return x;
33 }
34 function test2() {
35 var y = 0;
36 for (var i=0; i<50; i++) {
37 y += f2();
38 }
39 return y;
40 }
41 assertEq(test2(), 50);
42 f2 = h;
43 assertEq(test2(), 100);

mercurial