singleton-scope-then-realloc-and-overwrite.js   [plain text]


function foo(a) {
    var x = a + 1;
    return function(a) {
        return x + a;
    };
}

var f = foo(42);
noInline(f);

for (var i = 0; i < 10000; ++i) {
    var result = f(i);
    if (result != 42 + 1 + i)
        throw "Error: bad result: " + result;
}

var f = foo(43);
var result = f(1);
if (result != 43 + 1 + 1)
    throw "Error: bad result: " + result;