Source code
Revision control
Copy as Markdown
Other Tools
var seen = -1;
// Test to make sure the jits get the number of calls, and return value
// of setters correct. We should not be affected by whether the setter
// modifies its argument or returns some value.
function setter(x) {
this.val = x;
x = 255;
bailout();
seen++;
assertEq(seen, this.val);
return 5;
}
function F(){}
Object.defineProperty(F.prototype, "value" , ({set: setter}));
function test() {
var obj = new F();
var itrCount = 10000;
for(var i = 0; i < itrCount; i++) {
assertEq(obj.value = i, i);
assertEq(obj.val, i);
}
}
test();