blob: 99f282e04aeae3b8ebd5deaff93ca6808595f847 [file] [log] [blame]
//@ runDefault("--useFTLJIT=0", "--useConcurrentJIT=false")
let num = 150;
function foo(comp, o, b) {
let sum = o.f;
if (b)
OSRExit();
for (let i = 0; i < comp; ++i) {
sum += o.f;
}
return sum;
}
noInline(foo);
let o = {f:25};
let o2 = {f:25, g:44};
o2.f = 45;
o2.f = 45;
o2.f = 45;
o2.f = 45;
let comp = {
valueOf() { return num; }
}
foo(comp, o2, true);
foo(comp, o2, true);
for (let i = 0; i < 500; ++i) {
foo(comp, o2, false);
}
let o3 = {g:24, f:73};
num = 10000000;
let result = foo(comp, o3, false);
if (result !== (num + 1)*73) {
throw new Error("Bad: " + result);
}