michael@0: function escapeme() {} michael@0: michael@0: function f1(x) { michael@0: escapeme(arguments); michael@0: var y = ++x; michael@0: return x + y; michael@0: } michael@0: for (var i = 0; i < 100; ++i) michael@0: assertEq(f1(2), 6); michael@0: michael@0: function f2(x) { michael@0: escapeme(arguments); michael@0: var y = --x; michael@0: return x + y; michael@0: } michael@0: for (var i = 0; i < 100; ++i) michael@0: assertEq(f2(2), 2); michael@0: michael@0: function f3(x) { michael@0: escapeme(arguments); michael@0: var y = x++; michael@0: return x + y; michael@0: } michael@0: for (var i = 0; i < 100; ++i) michael@0: assertEq(f3(2), 5); michael@0: michael@0: function f4(x) { michael@0: escapeme(arguments); michael@0: var y = x--; michael@0: return x + y; michael@0: } michael@0: for (var i = 0; i < 100; ++i) michael@0: assertEq(f4(2), 3);