Source code

Revision control

Copy as Markdown

Other Tools

// GVN would alias the second Object.keys(obj).length to the first instance
// while the instruction are not supposed to alias due to the delete operation
// which exist in between.
function foo() {
let obj = {a: 1};
if (Object.keys(obj).length == 0) {}
delete obj.a;
assertEq(Object.keys(obj).length, 0);
}
with ({}) {}
for (var i = 0; i < 10000; i++) {
foo();
}