michael@0: // Don't eliminate a phi if it has no SSA uses but its value is still michael@0: // observable in the interpreter. michael@0: var t1 = 100; michael@0: function test1(x) { michael@0: // g(x) is inlined with --ion-eager, but don't mark the phi michael@0: // for x as unused. michael@0: for (var i = 0; i < 90; i++) { michael@0: f1(x); michael@0: if (i >= 80) michael@0: t1; michael@0: } michael@0: } michael@0: michael@0: function f1(x) {}; michael@0: test1(2); michael@0: michael@0: var t2 = 100; michael@0: function test2(g) { michael@0: // g(x) is inlined with --ion-eager, but don't mark the phi michael@0: // for g as unused. michael@0: for (var i = 0; i < 90; i++) { michael@0: g(); michael@0: if (i >= 80) michael@0: t2; michael@0: } michael@0: } michael@0: michael@0: function f2() {}; michael@0: test2(f2);