X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/tests/stress/function-reentry-infer-on-self.js diff --git a/tests/stress/function-reentry-infer-on-self.js b/tests/stress/function-reentry-infer-on-self.js new file mode 100644 index 0000000..893ce91 --- /dev/null +++ b/tests/stress/function-reentry-infer-on-self.js @@ -0,0 +1,28 @@ +function thingy(f) { + f(); +} +noInline(thingy); + +function foo(a) { + var x; + if (a) + x = a; + thingy(function() { return x; }); + var result = 0; + for (var i = 0; i < 100000; ++i) + result += x; + return result; +} + +noInline(foo); + +for (var i = 0; i < 10; ++i) { + var result = foo(42); + if (result != 4200000) + throw "Error: bad first result: " + result; +} + +var result = foo(0); +if ("" + result != "NaN") + throw "Error: bad result at end: " + result; +