function check() {
try { foo; return true } catch (e) { return false }
}
// This should alternate b/w false and true for all iterations
// but after 16 iterations, both prints print "true"
// => ReferenceError is not thrown in "check" method for "foo"
// access after "foo" access becomes megamorphic
for (var x = 0; x < 40; x++) {
delete this.foo;
print(check());
foo = 44;
print(check());
}