michael@0: function g(f) { michael@0: for (var j = 0; j < 9; ++j) { michael@0: try { michael@0: f() michael@0: } catch (e) {} michael@0: } michael@0: } michael@0: function h(code) { michael@0: Function(code)(); michael@0: } michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: g([]); michael@0: h("\ michael@0: m = (function(stdlib, foreign) { \ michael@0: \"use asm\";\ michael@0: var ff=foreign.ff;\ michael@0: function f(){\ michael@0: ff(0);\ michael@0: } \ michael@0: return f \ michael@0: })(this , { \ michael@0: ff: arguments.callee.caller\ michael@0: });\ michael@0: g(m , []);\ michael@0: "); michael@0: h("\ michael@0: m = undefined;\ michael@0: gc();\ michael@0: ")