29 lines
496 B
JavaScript
29 lines
496 B
JavaScript
function thingy(f) {
|
|
f();
|
|
}
|
|
noInline(thingy);
|
|
|
|
function foo(a) {
|
|
var x;
|
|
if (a)
|
|
x = a;
|
|
thingy(function() { return x; });
|
|
var result = 0;
|
|
for (var i = 0; i < 100000; ++i)
|
|
result += x;
|
|
return result;
|
|
}
|
|
|
|
noInline(foo);
|
|
|
|
for (var i = 0; i < 10; ++i) {
|
|
var result = foo(42);
|
|
if (result != 4200000)
|
|
throw "Error: bad first result: " + result;
|
|
}
|
|
|
|
var result = foo(0);
|
|
if ("" + result != "NaN")
|
|
throw "Error: bad result at end: " + result;
|
|
|