g0 = function(i) { this["g"+(i+1)] = g0; return "g"+(i+1); } function f() { a = eval("g0"); for(var i=0; i<40; i++) { a = this[a(i)]; if (i === 30) { gc(); } assertEq(this["g" + i], g0); } } f();