blob: 509a9992c4de20143d7c8df5da6c307667b83f57 [file] [log] [blame]
var causeOSI = true;
function rec(x, self) {
if (x === 0 || x !== x) {
if (causeOSI) {
causeOSI = false;
self(NaN, self)
causeOSI = true;
}
return;
}
self(x - 1, self);
}
// Use enough iterations to type infer the script.
causeOSI = false;
for (var i = 0; i < 20; ++i)
rec(1, rec);
causeOSI = true;
rec(2, rec)