weird-put-stack-varargs.js   [plain text]


function baz() {
    if (!foo.arguments[1])
        throw "Error: foo.arguments[1] should be truthy but is falsy: " + foo.arguments[1];
}

noInline(baz);

function foo(a, b) {
    if (a)
        b = 42;
    baz();
}

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

function bar(array1, array2) {
    fuzz.apply(this, array1);
    foo.apply(this, array2);
}

noInline(bar);

for (var i = 0; i < 100000; ++i)
    bar([false, false], [false, true]);