diff options
Diffstat (limited to 'js/src/jit-test/tests/ion/sink-in-recovered-object.js')
-rw-r--r-- | js/src/jit-test/tests/ion/sink-in-recovered-object.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/sink-in-recovered-object.js b/js/src/jit-test/tests/ion/sink-in-recovered-object.js new file mode 100644 index 000000000..fd1b97917 --- /dev/null +++ b/js/src/jit-test/tests/ion/sink-in-recovered-object.js @@ -0,0 +1,19 @@ +setJitCompilerOption("ion.warmup.trigger", 30); + +var arr = []; +function f (cond, a) { + var obj = { a: 0 }; + var x = 2 * a + 1; + if (cond) { + obj.a = x; + arr.push(obj.a); + obj.a = 1; + } else { + obj.a = 1; + } + return obj.a; +} + +for (var i = 0; i < 100; i++) { + assertEq(f(i % 2, i), 1); +} |