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

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     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