michael@0: var appendToActual = function(s) { michael@0: actual += s + ','; michael@0: } michael@0: michael@0: for(var z=0; z < 3; z++) { michael@0: function ff() { michael@0: } michael@0: ff(); michael@0: michael@0: // jit-test/tests/closures/setname-closure.js michael@0: actual = ''; michael@0: expected = '2,4,8,16,32,undefined,64,128,256,512,1024,undefined,2048,4096,8192,16384,32768,undefined,65536,131072,262144,524288,1048576,undefined,2097152,4194304,8388608,16777216,33554432,undefined,'; michael@0: michael@0: var f = function() { michael@0: var p = 1; michael@0: function g() { michael@0: for (var i = 0; i < 5; ++i) { michael@0: p = p * 2; michael@0: appendToActual(p); michael@0: } michael@0: } michael@0: return g; michael@0: } michael@0: var g = f(); michael@0: for (var i = 0; i < 5; ++i) { michael@0: g(); michael@0: appendToActual(); michael@0: } michael@0: assertEq(actual, expected); michael@0: } michael@0: