X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/tests/stress/call-varargs-length-effects.js diff --git a/tests/stress/call-varargs-length-effects.js b/tests/stress/call-varargs-length-effects.js new file mode 100644 index 0000000..03bcfd7 --- /dev/null +++ b/tests/stress/call-varargs-length-effects.js @@ -0,0 +1,24 @@ +function foo() { return arguments.length; } + +var o = {}; +o[0] = 42; +var callCount = 0; +o.__defineGetter__("length", function() { + callCount++; + return 1; +}); + +function bar() { + callCount = 0; + var result = foo.apply(this, o); + if (result != 1) + throw "Error: bad result: " + result; + if (callCount != 1) + throw "Error: bad call count: " + callCount; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 10000; ++i) + bar();