michael@0: // |jit-test| debug michael@0: setDebug(true); michael@0: var a = new Array(); michael@0: michael@0: function i(save) { michael@0: var x = 9; michael@0: evalInFrame(0, "a.push(x)", save); michael@0: evalInFrame(1, "a.push(z)", save); michael@0: evalInFrame(2, "a.push(z)", save); michael@0: evalInFrame(3, "a.push(y)", save); michael@0: evalInFrame(4, "a.push(x)", save); michael@0: } michael@0: michael@0: function h() { michael@0: var z = 5; michael@0: evalInFrame(0, "a.push(z)"); michael@0: evalInFrame(1, "a.push(y)"); michael@0: evalInFrame(2, "a.push(x)"); michael@0: evalInFrame(0, "i(false)"); michael@0: evalInFrame(0, "a.push(z)", true); michael@0: evalInFrame(1, "a.push(y)", true); michael@0: evalInFrame(2, "a.push(x)", true); michael@0: evalInFrame(0, "i(true)", true); michael@0: } michael@0: michael@0: function g() { michael@0: var y = 4; michael@0: h(); michael@0: } michael@0: michael@0: function f() { michael@0: var x = 3; michael@0: g(); michael@0: } michael@0: michael@0: f(); michael@0: assertEq(a+'', [5, 4, 3, 9, 5, 5, 4, 3, 5, 4, 3, 9, 5, 5, 4, 3]+'');