function testUniqueness(asmJSModule) { var f = asmJSModule(); var g = asmJSModule(); assertEq(f === g, false); f.x = 4; assertEq(f.x, 4); assertEq(g.x, undefined); } function deffun() { if (Math.sin) { function inner() { "use asm"; function g() {} return g } } return inner; } testUniqueness(deffun); function lambda() { var x = function inner() { "use asm"; function g() {} return g }; return x; } testUniqueness(lambda); function inEval() { eval("function inner() { 'use asm'; function g() {} return g }"); return inner; } testUniqueness(inEval); function inWith() { with ({}) { function inner() { "use asm"; function g() {} return g } } return inner; } testUniqueness(inWith);