X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/tests/stress/weird-setter-counter-syntactic.js diff --git a/tests/stress/weird-setter-counter-syntactic.js b/tests/stress/weird-setter-counter-syntactic.js new file mode 100644 index 0000000..b3843e8 --- /dev/null +++ b/tests/stress/weird-setter-counter-syntactic.js @@ -0,0 +1,29 @@ +function foo(o, value) { + o.f = value; + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, value, expectedCount) { + var result = foo(o, value); + if (result != value) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + var o = { + get f() { + return this._f; + }, + set f(value) { + counter++; + this._f = value; + } + }; + test(o, i, counter + 1); +}