(function() { var o = {_f:42}; o.__defineSetter__("f", function(value) { this._f = value * 100; }); var n = 50000; function foo(o_, v_) { var o = o_.f; var v = v_.f; o.f = v; o.f = v + 1; } noInline(foo); for (var i = 0; i < n; ++i) { foo({f:o}, {f:11}); } if (o._f != (11 + 1) * 100) throw "Error: bad o._f: " + o._f; for (var i = 0; i < n; ++i) { foo({f:o}, {f:1000000000}); } if (o._f != 100 * (1000000000 + 1)) throw "Error: bad o._f (2): " + o._f; })();