varargs-inlined-simple-exit.js   [plain text]


function foo(a, b) {
    return a + b;
}

var global;
function bar() {
    var a = arguments;
    var tmp = global + 1;
    return tmp + foo.apply(null, a);
}

function baz(a, b) {
    return bar(a, b);
}

noInline(baz);

for (var i = 0; i < 10000; ++i) {
    global = i;
    var result = baz(1, 2);
    if (result != i + 1 + 1 + 2)
        throw "Error: bad result: " + result;
}

global = 1.5;
var result = baz(1, 2);
if (result != 1.5 + 1 + 1 + 2)
    throw "Error: bad result at end: " + result;