X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/tests/stress/exit-from-setter.js?ds=inline diff --git a/tests/stress/exit-from-setter.js b/tests/stress/exit-from-setter.js new file mode 100644 index 0000000..fc84c6b --- /dev/null +++ b/tests/stress/exit-from-setter.js @@ -0,0 +1,23 @@ +(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; +})(); +