blob: 09d0219920b7f3f24e6058caee02ee43cbbb5c43 [file] [log] [blame]
var count = 0;
function setter(value) {
Object.defineProperty(
this, "f", {
enumerable: true,
configurable: true,
writable: true,
value: 32
});
var o = Object.create(this);
var currentCount = count++;
var str = "for (var i = " + currentCount + "; i < " + (100 + currentCount) + "; ++i)\n"
+ " o.f\n";
eval(str);
}
function foo(o) {
o.f = 42;
}
noInline(foo);
for (var i = 0; i < 1000; ++i) {
var o = {};
o.__defineSetter__("f", setter);
foo(o);
if (o.f != 32)
throw ("Error 1: "+o.f);
foo(o);
if (o.f != 42)
throw ("Error 2: "+o.f);
}