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; | |
} |