neuter-during-arguments-coercion.js (552B)
1 load(libdir + "asm.js"); 2 3 function f(stdlib, foreign, buffer) 4 { 5 "use asm"; 6 var i32 = new stdlib.Int32Array(buffer); 7 function set(v) 8 { 9 v=v|0; 10 i32[5] = v; 11 } 12 return set; 13 } 14 if (isAsmJSCompilationAvailable()) 15 assertEq(isAsmJSModule(f), true); 16 17 var i32 = new Int32Array(65536); 18 var buffer = i32.buffer; 19 var set = f(this, null, buffer); 20 if (isAsmJSCompilationAvailable()) 21 assertEq(isAsmJSFunction(set), true); 22 23 try 24 { 25 set({ valueOf() { detachArrayBuffer(buffer); return 17; } }); 26 } 27 catch (e) { /* if an exception thrown, swallow */ }