blob: 518f429d27842bb3cd0f06084c4399e187a51d33 [file] [log] [blame]
function alwaysFalse() { return false; }
noInline(alwaysFalse);
let count = 0;
function sometimesZero() {
count++;
if (count % 3 === 0) {
return 0;
}
return 1;
}
noInline(sometimesZero);
function assert(b) {
if (!b)
throw new Error;
}
function v9() {
const v14 = {};
const v15 = {a: 1337};
v14.phantom = v15;
if (alwaysFalse())
return 42;
for (const v18 of "asdf") {
v14.b = 43;
}
const v15Shadow = v14.phantom;
let r;
for (let i = 0; i < sometimesZero(); i++) {
r = v15Shadow;
}
return r;
}
noInline(v9);
let previousResult = v9();
for (let v27 = 0; v27 < 100000; v27++) {
let r = v9();
if (typeof previousResult === "undefined") {
assert(typeof r === "object");
assert(r.a === 1337);
} else
assert(typeof r === "undefined");
previousResult = r;
}