diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/tests/warp/setelem-inlining-bailout.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/warp/setelem-inlining-bailout.js b/js/src/jit-test/tests/warp/setelem-inlining-bailout.js new file mode 100644 index 0000000000..102b2d7dcc --- /dev/null +++ b/js/src/jit-test/tests/warp/setelem-inlining-bailout.js @@ -0,0 +1,26 @@ +// |jit-test| --fast-warmup; --no-threads + +// Inlining setters for SetElem ops will require bailout changes. + +with ({}) { } +var trigger = false; + +var obj = { + set f(x) { + if (trigger) { + bailout(); + } + } +}; + +var sum = 0; +function foo(x) { + for (var i = 0; i < 35; i++) { + var t = obj[x] = i; + sum += t; + trigger = i % 10 == 0; + } +} + +foo("f"); +assertEq(sum, 595); |