functiontablebug.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. function AsmModule(stdlib,foreign,buffer) {
  6. "use asm";
  7. function add(x,y) {
  8. x = +x;
  9. y = +y;
  10. return +(x+y);
  11. }
  12. function f2(x,y){
  13. x = +x;
  14. y = +y;
  15. var i = 0.0;
  16. var t = 1;
  17. i = +fTableDbOp[t&3](x,y);
  18. return +i;
  19. }
  20. var fTableDbOp = [add,add,add,add];
  21. return {
  22. f2 : f2
  23. };
  24. }
  25. var stdlib = {Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,Infinity:Infinity, NaN:NaN}
  26. var env = {}
  27. var buffer = new ArrayBuffer(1<<20);
  28. var asmModule = AsmModule(stdlib,env,buffer);
  29. var x = 1;
  30. var y = 2;
  31. WScript.Echo(asmModule.f2(x,y));
  32. WScript.Echo(asmModule.f2(x,y));