(function() { | |
var o = {_f:42}; | |
o.__defineGetter__("f", function() { return this._f * 100; }); | |
var result = 0; | |
var n = 50000; | |
function foo(o) { | |
return o.f + 11; | |
} | |
noInline(foo); | |
for (var i = 0; i < n; ++i) { | |
result += foo(o); | |
} | |
if (result != n * (42 * 100 + 11)) | |
throw "Error: bad result: " + result; | |
o._f = 1000000000; | |
result = 0; | |
for (var i = 0; i < n; ++i) { | |
result += foo(o); | |
} | |
if (result != n * (1000000000 * 100 + 11)) | |
throw "Error: bad result (2): " + result; | |
})(); | |