blob: d91bd87b67edb5cd7da74d22edb4bbd2347bacec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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();
|