haikuwebkit/JSTests/stress/getter.js

19 lines
634 B
JavaScript

function foo(o) {
return o.f + o.k * 1000;
}
noInline(foo);
for (var i = 0; i < 100; ++i) {
var o = {g_: 5};
o.__defineGetter__("f", function() { return 42 + this.g_; });
o.__defineGetter__("g", function() { return 43 + this.g_; });
o.__defineGetter__("h", function() { return 44 + this.g_; });
o.__defineGetter__("i", function() { return 45 + this.g_; });
o.__defineGetter__("j", function() { return 46 + this.g_; });
o.__defineGetter__("k", function() { return 47 + this.g_; });
var result = foo(o);
if (result != (42 + 5) + 1000 * (47 + 5))
throw "Error: bad result: " + result;
}