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

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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);
    14 x = 1;
    15 other = newGlobal("same-compartment");
    16 other.eval("f = function() { return x; }; x = 2;");
    18 h = other.f;
    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);
    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