| function instantiate(asmLibraryArg) { |
| var bufferView; |
| var base64ReverseLookup = new Uint8Array(123/*'z'+1*/); |
| for (var i = 25; i >= 0; --i) { |
| base64ReverseLookup[48+i] = 52+i; // '0-9' |
| base64ReverseLookup[65+i] = i; // 'A-Z' |
| base64ReverseLookup[97+i] = 26+i; // 'a-z' |
| } |
| base64ReverseLookup[43] = 62; // '+' |
| base64ReverseLookup[47] = 63; // '/' |
| /** @noinline Inlining this function would mean expanding the base64 string 4x times in the source code, which Closure seems to be happy to do. */ |
| function base64DecodeToExistingUint8Array(uint8Array, offset, b64) { |
| var b1, b2, i = 0, j = offset, bLength = b64.length, end = offset + (bLength*3>>2) - (b64[bLength-2] == '=') - (b64[bLength-1] == '='); |
| for (; i < bLength; i += 4) { |
| b1 = base64ReverseLookup[b64.charCodeAt(i+1)]; |
| b2 = base64ReverseLookup[b64.charCodeAt(i+2)]; |
| uint8Array[j++] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4; |
| if (j < end) uint8Array[j++] = b1 << 4 | b2 >> 2; |
| if (j < end) uint8Array[j++] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i+3)]; |
| } |
| return uint8Array; |
| } |
| function initActiveSegments(imports) { |
| base64DecodeToExistingUint8Array(bufferView, 1024, "aGVsbG8sIHdvcmxkIQoAAJwMAAAtKyAgIDBYMHgAKG51bGwp"); |
| base64DecodeToExistingUint8Array(bufferView, 1072, "EQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAARERE="); |
| base64DecodeToExistingUint8Array(bufferView, 1153, "CwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAAL"); |
| base64DecodeToExistingUint8Array(bufferView, 1211, "DA=="); |
| base64DecodeToExistingUint8Array(bufferView, 1223, "DAAAAAAMAAAAAAkMAAAAAAAMAAAM"); |
| base64DecodeToExistingUint8Array(bufferView, 1269, "Dg=="); |
| base64DecodeToExistingUint8Array(bufferView, 1281, "DQAAAAQNAAAAAAkOAAAAAAAOAAAO"); |
| base64DecodeToExistingUint8Array(bufferView, 1327, "EA=="); |
| base64DecodeToExistingUint8Array(bufferView, 1339, "DwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhIS"); |
| base64DecodeToExistingUint8Array(bufferView, 1394, "EgAAABISEgAAAAAAAAk="); |
| base64DecodeToExistingUint8Array(bufferView, 1443, "Cw=="); |
| base64DecodeToExistingUint8Array(bufferView, 1455, "CgAAAAAKAAAAAAkLAAAAAAALAAAL"); |
| base64DecodeToExistingUint8Array(bufferView, 1501, "DA=="); |
| base64DecodeToExistingUint8Array(bufferView, 1513, "DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGLTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAu"); |
| } |
| function asmFunc(env) { |
| var buffer = new ArrayBuffer(16777216); |
| var FUNCTION_TABLE = env.table; |
| var HEAP8 = new Int8Array(buffer); |
| var HEAP16 = new Int16Array(buffer); |
| var HEAP32 = new Int32Array(buffer); |
| var HEAPU8 = new Uint8Array(buffer); |
| var HEAPU16 = new Uint16Array(buffer); |
| var HEAPU32 = new Uint32Array(buffer); |
| var HEAPF32 = new Float32Array(buffer); |
| var HEAPF64 = new Float64Array(buffer); |
| var Math_imul = Math.imul; |
| var Math_fround = Math.fround; |
| var Math_abs = Math.abs; |
| var Math_clz32 = Math.clz32; |
| var Math_min = Math.min; |
| var Math_max = Math.max; |
| var Math_floor = Math.floor; |
| var Math_ceil = Math.ceil; |
| var Math_trunc = Math.trunc; |
| var Math_sqrt = Math.sqrt; |
| var abort = env.abort; |
| var nan = NaN; |
| var infinity = Infinity; |
| var syscall$6 = env.__syscall6; |
| var syscall$54 = env.__syscall54; |
| // EMSCRIPTEN_START_FUNCS |
| ; |
| function main() { |
| syscall$6(1, 2) | 0; |
| syscall$54(3, 4) | 0; |
| FUNCTION_TABLE[HEAP32[257]](); |
| } |
| |
| function other() { |
| main(); |
| } |
| |
| function foo() { |
| abort(); |
| } |
| |
| function bar() { |
| HEAP32[4] = 3; |
| HEAPF32[4] = 7; |
| HEAPF64[2] = 11; |
| HEAP8[16] = 15; |
| HEAP16[8] = 19; |
| if (HEAP32[25] == 1) { |
| bar() |
| } |
| if (HEAP32[26] < 2) { |
| bar() |
| } |
| if (HEAPU32[27] < 3) { |
| bar() |
| } |
| if (HEAP16[56] == 1) { |
| bar() |
| } |
| if (HEAP16[58] < 2) { |
| bar() |
| } |
| if (HEAPU16[60] < 2) { |
| bar() |
| } |
| if (HEAP16[62] >>> 0 < 3) { |
| bar() |
| } |
| if (HEAPU16[64] < 3) { |
| bar() |
| } |
| if (HEAP8[132] < 2) { |
| bar() |
| } |
| if (HEAPU8[136] < 2) { |
| bar() |
| } |
| if (HEAP8[140] >>> 0 < 3) { |
| bar() |
| } |
| if (HEAPU8[144] < 3) { |
| bar() |
| } |
| if (bools(314159) >>> 7 | 0) { |
| bar() |
| } |
| if (bools(314159) >> 8) { |
| bar() |
| } |
| if (~~getf32() >>> 0) { |
| bar() |
| } |
| if (~~getf32()) { |
| bar() |
| } |
| if (~~getf64() >>> 0) { |
| bar() |
| } |
| if (~~getf64()) { |
| bar() |
| } |
| if ((geti32() + geti32() | 0) + geti32() | 0) { |
| bar() |
| } |
| if (geti32() + (geti32() + geti32() | 0) | 0) { |
| bar() |
| } |
| if (geti32() + geti32() + (geti32() + geti32()) | 0) { |
| bar() |
| } |
| if (geti32() + geti32() + (geti32() + geti32()) + (geti32() + geti32() + (geti32() + geti32())) | 0) { |
| bar() |
| } |
| } |
| |
| function geti32() { |
| return geti32(); |
| } |
| |
| function getf32() { |
| return getf32(); |
| } |
| |
| function getf64() { |
| return getf64(); |
| } |
| |
| function __growWasmMemory($0) { |
| $0 = $0 | 0; |
| return abort() | 0; |
| } |
| |
| function internal($0) { |
| return $0; |
| } |
| |
| function sub_zero($0) { |
| $0 = $0 | 0; |
| return $0 + 5 | 0; |
| } |
| |
| function select($0) { |
| $0 = $0 | 0; |
| return ($0 ? $0 : HEAP32[4]) | 0; |
| } |
| |
| function bools($0) { |
| $0 = $0 | 0; |
| var $1 = 0; |
| bools(HEAP8[0] & 1); |
| bools(HEAP8[0] & 1); |
| bools(HEAP16[0] & 1); |
| bools(HEAP16[0] & 1); |
| bools(HEAP32[0] & 1); |
| bools(HEAPU8[0] & 2); |
| $1 = $0 ^ 1; |
| bools($1); |
| if ($1) { |
| bools(2) |
| } |
| if ($0 ^ 2) { |
| bools(2) |
| } |
| bools(!($0 ^ 1)); |
| abort(); |
| } |
| |
| // EMSCRIPTEN_END_FUNCS |
| ; |
| bufferView = HEAPU8; |
| initActiveSegments(env); |
| FUNCTION_TABLE[1] = foo; |
| FUNCTION_TABLE[2] = bar; |
| FUNCTION_TABLE[3] = internal; |
| function __wasm_memory_size() { |
| return buffer.byteLength / 65536 | 0; |
| } |
| |
| return { |
| "main": main, |
| "other": other, |
| "__growWasmMemory": __growWasmMemory, |
| "exported": internal, |
| "sub_zero": sub_zero, |
| "select": select, |
| "bools": bools |
| }; |
| } |
| |
| return asmFunc(asmLibraryArg); |
| } |