cseBug.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. //views
  8. var HEAP8 =new stdlib.Int8Array(buffer);
  9. var HEAP32 =new stdlib.Int32Array(buffer);
  10. function read8 (x){
  11. x = x|0;
  12. var y = 0;
  13. var z = 0;
  14. HEAP32[x>>2] = 257;
  15. y = HEAP8[x]|0;
  16. z = HEAP32[x >> 2]|0;
  17. return (y + z)|0;
  18. }
  19. return read8
  20. }
  21. var stdlib = {Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,Infinity:Infinity, NaN:NaN}
  22. var env = {}
  23. var buffer = new ArrayBuffer(1<<20);
  24. var asmModule = AsmModule(stdlib,env,buffer);
  25. print(asmModule(0));
  26. print(asmModule(0));
  27. let m = function (stdlib, foreign) {
  28. 'use asm';
  29. function f() {
  30. +4294967295;
  31. return + +(-1 | 0);
  32. }
  33. return f;
  34. }({}, {});
  35. print(m());
  36. print(m());