Source code
Revision control
Copy as Markdown
Other Tools
// |jit-test| --fast-warmup
function inner(i) {
// Can't be eliminated because negative indices cause a bailout.
arguments[i];
arguments[i];
arguments[i];
}
function outer(i) {
trialInline();
// Loop header to trigger OSR.
for (let j = 0; j < 1; ++j) {
inner(i);
}
}
let count = 0;
for (let i = 0; i <= 100; ++i) {
if (i === 50) {
Object.defineProperty(Object.prototype, -1, {
get() {
count++;
}
});
}
outer(i < 100 ? i : -1);
}
assertEq(count, 3);