minintbug.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  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. var bb = foreign.a;
  8. var abs = stdlib.Math.abs;
  9. function f1(){
  10. var b = 1.0;
  11. if(b>2147483647.0|!(b>=-2147483648.0)){
  12. b = 5.0;
  13. }
  14. return +b;
  15. }
  16. function f2(){
  17. var a = 0;
  18. a = abs(-2147483648)|0;
  19. return a|0;
  20. }
  21. return {
  22. f1 : f1,
  23. f2 : f2
  24. };
  25. }
  26. var stdlib = {Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,Infinity:Infinity, NaN:NaN}
  27. var env = {"a":function(x){print(x);}}
  28. var buffer = new ArrayBuffer(1<<20);
  29. var asmModule = AsmModule(stdlib,env,buffer);
  30. print(asmModule.f1());
  31. print(asmModule.f2());