michael@0: michael@0: /* Recompilation while being processed by a call IC. */ michael@0: michael@0: var g; michael@0: function foo() { michael@0: for (g = 0; g < 5; g++) { michael@0: bar(); michael@0: } michael@0: function bar() { michael@0: with ({}) { michael@0: eval("g = undefined;"); michael@0: } michael@0: } michael@0: } michael@0: foo(); michael@0: michael@0: assertEq(g, NaN); michael@0: michael@0: /* Recompilation while being processed by a native call IC. */ michael@0: michael@0: function native() { michael@0: var x; michael@0: x = x; michael@0: x = Math.ceil(NaN); michael@0: assertEq(x, NaN); michael@0: } michael@0: native();