X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/tests/stress/multi-get-by-offset-dce.js diff --git a/tests/stress/multi-get-by-offset-dce.js b/tests/stress/multi-get-by-offset-dce.js new file mode 100644 index 0000000..bce1e82 --- /dev/null +++ b/tests/stress/multi-get-by-offset-dce.js @@ -0,0 +1,22 @@ +function foo(o) { + var tmp = o.f; + return 42; +} + +noInline(foo); + +var array = [{f:1}, {g:1, f:2}]; +for (var i = 0; i < 10000; ++i) { + var result = foo(array[i % array.length]); + if (result != 42) + throw "Error: bad result in loop: " + result; +} + +var o = {}; +var didCallGetter = false; +o.__defineGetter__("f", function() { didCallGetter = true; return 73; }); +var result = foo(o); +if (result != 42) + throw "Error: bad result at end: " + result; +if (!didCallGetter) + throw "Error: did not call getter at end.";