X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/tests/stress/ftl-library-inlining-exceptions-dataview.js diff --git a/tests/stress/ftl-library-inlining-exceptions-dataview.js b/tests/stress/ftl-library-inlining-exceptions-dataview.js new file mode 100644 index 0000000..f41b9ce --- /dev/null +++ b/tests/stress/ftl-library-inlining-exceptions-dataview.js @@ -0,0 +1,26 @@ +function foo(d){ + return d.getInt8(42); +} + +noInline(foo); + +var d = new DataView(new ArrayBuffer(43)); +d.setInt8(42, 43); +for (var i = 0; i < 100000; ++i) { + var result = foo(d); + if (result != 43) + throw "Error: bad result: " + result; +} + +for (var i = 0; i < 10; ++i) { + var didThrow = false; + try { + foo(new DataView(new ArrayBuffer(42))); + } catch (e) { + didThrow = true; + if (e.message.indexOf("Out of bounds") < 0) + throw "Error: bad exception: " + e.message; + } + if (!didThrow) + throw "Error: did not throw"; +}