blob: 240c19b73858919381a767b1fb01c9bdbf5ef991 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// 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";
//views
var HEAP8 =new stdlib.Int8Array(buffer);
var HEAP32 =new stdlib.Int32Array(buffer);
function read8 (x){
x = x|0;
var y = 0;
var z = 0;
HEAP32[x>>2] = 257;
y = HEAP8[x]|0;
z = HEAP32[x >> 2]|0;
return (y + z)|0;
}
return read8
}
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);
print(asmModule(0));
print(asmModule(0));
let m = function (stdlib, foreign) {
'use asm';
function f() {
+4294967295;
return + +(-1 | 0);
}
return f;
}({}, {});
print(m());
print(m());