function f() { | |
return 20; | |
} | |
noInline(f); | |
function bar(b) { | |
if (b) | |
throw new Error("blah!"); | |
} | |
function Foo(b) { | |
try { | |
this.value = bar(b); | |
} catch(e) { | |
this.value = e.toString(); | |
} | |
f(this.value, b); | |
} | |
noInline(Foo); | |
for (var i = 1; i < 1000; i++) { | |
let value = new Foo(i % 3 === 0); | |
if (i % 3 === 0 && value.value !== "Error: blah!") | |
throw new Error("bad value: " + value.value); | |
} |