var n = 1000000; | |
function bar(set) { | |
var result = set(0); | |
if (result !== void 0) | |
throw "Error: bad value: " + result; | |
} | |
function foo(b) { | |
var result = 0; | |
var imUndefined; | |
var baz; | |
var set = (x) => { | |
result = x; | |
if (baz !== 50) | |
throw "Error: bad value: " + baz; | |
return imUndefined; | |
}; | |
baz = 50; | |
if (b) { | |
OSRExit(); | |
if (b) { | |
bar(set); | |
} | |
return 0; | |
} | |
return result; | |
} | |
noInline(bar); | |
noInline(foo); | |
for (var i = 0; i < n; i++) { | |
var result = foo(!(i % 100)); | |
if (result != 0) | |
throw "Error: bad result: " + result; | |
} |