mirror of https://github.com/tc39/test262.git
39 lines
629 B
JavaScript
39 lines
629 B
JavaScript
//@ 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);
|
|
}
|