| //------------------------------------------------------------------------------------------------------- |
| // Copyright (C) Microsoft. All rights reserved. |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. |
| //------------------------------------------------------------------------------------------------------- |
| |
| function AsmModule(stdlib,foreign,buffer) { |
| "use asm"; |
| function add(x,y) { |
| x = +x; |
| y = +y; |
| return +(x+y); |
| } |
| |
| function f2(x,y){ |
| x = +x; |
| y = +y; |
| var i = 0.0; |
| var t = 1; |
| i = +fTableDbOp[t&3](x,y); |
| return +i; |
| } |
| |
| var fTableDbOp = [add,add,add,add]; |
| |
| |
| return { |
| f2 : f2 |
| }; |
| } |
| |
| var stdlib = {Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,Infinity:Infinity, NaN:NaN} |
| var env = {} |
| var buffer = new ArrayBuffer(1<<20); |
| |
| var asmModule = AsmModule(stdlib,env,buffer); |
| var x = 1; |
| var y = 2; |
| WScript.Echo(asmModule.f2(x,y)); |
| WScript.Echo(asmModule.f2(x,y)); |