forked from kozorizki/binaryen
When generating assertions, traverse the `WASTScript` data structure rather than interleaving assertion parsing with emitting.
721 lines
24 KiB
JavaScript
721 lines
24 KiB
JavaScript
import * as env from 'env';
|
|
|
|
var bufferView;
|
|
|
|
var scratchBuffer = new ArrayBuffer(16);
|
|
var i32ScratchView = new Int32Array(scratchBuffer);
|
|
var f32ScratchView = new Float32Array(scratchBuffer);
|
|
var f64ScratchView = new Float64Array(scratchBuffer);
|
|
|
|
function wasm2js_scratch_load_i32(index) {
|
|
return i32ScratchView[index];
|
|
}
|
|
|
|
function wasm2js_scratch_store_i32(index, value) {
|
|
i32ScratchView[index] = value;
|
|
}
|
|
|
|
function wasm2js_scratch_load_f64() {
|
|
return f64ScratchView[0];
|
|
}
|
|
|
|
function wasm2js_scratch_store_f64(value) {
|
|
f64ScratchView[0] = value;
|
|
}
|
|
|
|
function wasm2js_scratch_store_f32(value) {
|
|
f32ScratchView[2] = value;
|
|
}
|
|
|
|
function wasm2js_scratch_load_f32() {
|
|
return f32ScratchView[2];
|
|
}
|
|
|
|
function asmFunc(imports) {
|
|
var buffer = new ArrayBuffer(65536);
|
|
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 env = imports.env;
|
|
var setTempRet0 = env.setTempRet0;
|
|
var i64toi32_i32$HIGH_BITS = 0;
|
|
function i16_store_little(address, value) {
|
|
address = address | 0;
|
|
value = value | 0;
|
|
HEAP8[address >> 0] = value;
|
|
HEAP8[(address + 1 | 0) >> 0] = value >>> 8 | 0;
|
|
}
|
|
|
|
function i32_store_little(address, value) {
|
|
address = address | 0;
|
|
value = value | 0;
|
|
i16_store_little(address | 0, value | 0);
|
|
i16_store_little(address + 2 | 0 | 0, value >>> 16 | 0 | 0);
|
|
}
|
|
|
|
function i64_store_little(address, value, value$hi) {
|
|
address = address | 0;
|
|
value = value | 0;
|
|
value$hi = value$hi | 0;
|
|
var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $6_1 = 0, i64toi32_i32$2 = 0;
|
|
i64toi32_i32$0 = value$hi;
|
|
i32_store_little(address | 0, value | 0);
|
|
$6_1 = address + 4 | 0;
|
|
i64toi32_i32$2 = value;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$1 = 0;
|
|
$9_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
} else {
|
|
i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
$9_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
|
|
}
|
|
i32_store_little($6_1 | 0, $9_1 | 0);
|
|
}
|
|
|
|
function i16_load_little(address) {
|
|
address = address | 0;
|
|
return HEAPU8[address >> 0] | 0 | ((HEAPU8[(address + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | 0;
|
|
}
|
|
|
|
function i32_load_little(address) {
|
|
address = address | 0;
|
|
return i16_load_little(address | 0) | 0 | ((i16_load_little(address + 2 | 0 | 0) | 0) << 16 | 0) | 0 | 0;
|
|
}
|
|
|
|
function i64_load_little(address) {
|
|
address = address | 0;
|
|
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $3_1 = 0, $3$hi = 0, $8$hi = 0;
|
|
i64toi32_i32$0 = 0;
|
|
$3_1 = i32_load_little(address | 0) | 0;
|
|
$3$hi = i64toi32_i32$0;
|
|
i64toi32_i32$0 = 0;
|
|
i64toi32_i32$2 = i32_load_little(address + 4 | 0 | 0) | 0;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
$9_1 = 0;
|
|
} else {
|
|
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
|
|
$9_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
}
|
|
$8$hi = i64toi32_i32$1;
|
|
i64toi32_i32$1 = $3$hi;
|
|
i64toi32_i32$0 = $3_1;
|
|
i64toi32_i32$2 = $8$hi;
|
|
i64toi32_i32$3 = $9_1;
|
|
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
|
|
i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0;
|
|
i64toi32_i32$HIGH_BITS = i64toi32_i32$2;
|
|
return i64toi32_i32$0 | 0;
|
|
}
|
|
|
|
function $0(value) {
|
|
value = value | 0;
|
|
i16_store_little(0 | 0, value | 0);
|
|
return HEAP16[0 >> 1] | 0 | 0;
|
|
}
|
|
|
|
function $1(value) {
|
|
value = value | 0;
|
|
i16_store_little(0 | 0, value | 0);
|
|
return HEAPU16[0 >> 1] | 0 | 0;
|
|
}
|
|
|
|
function $2(value) {
|
|
value = value | 0;
|
|
i32_store_little(0 | 0, value | 0);
|
|
return HEAP32[0 >> 2] | 0 | 0;
|
|
}
|
|
|
|
function $3(value, value$hi) {
|
|
value = value | 0;
|
|
value$hi = value$hi | 0;
|
|
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
|
|
i64toi32_i32$0 = value$hi;
|
|
i16_store_little(0 | 0, value | 0);
|
|
i64toi32_i32$0 = HEAP16[0 >> 1] | 0;
|
|
i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
|
|
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
|
|
return i64toi32_i32$0 | 0;
|
|
}
|
|
|
|
function $4(value, value$hi) {
|
|
value = value | 0;
|
|
value$hi = value$hi | 0;
|
|
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
|
|
i64toi32_i32$0 = value$hi;
|
|
i16_store_little(0 | 0, value | 0);
|
|
i64toi32_i32$0 = HEAPU16[0 >> 1] | 0;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
|
|
return i64toi32_i32$0 | 0;
|
|
}
|
|
|
|
function $5(value, value$hi) {
|
|
value = value | 0;
|
|
value$hi = value$hi | 0;
|
|
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
|
|
i64toi32_i32$0 = value$hi;
|
|
i32_store_little(0 | 0, value | 0);
|
|
i64toi32_i32$0 = HEAP32[0 >> 2] | 0;
|
|
i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0;
|
|
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
|
|
return i64toi32_i32$0 | 0;
|
|
}
|
|
|
|
function $6(value, value$hi) {
|
|
value = value | 0;
|
|
value$hi = value$hi | 0;
|
|
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
|
|
i64toi32_i32$0 = value$hi;
|
|
i32_store_little(0 | 0, value | 0);
|
|
i64toi32_i32$0 = HEAP32[0 >> 2] | 0;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
|
|
return i64toi32_i32$0 | 0;
|
|
}
|
|
|
|
function $7(value, value$hi) {
|
|
value = value | 0;
|
|
value$hi = value$hi | 0;
|
|
var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0;
|
|
i64toi32_i32$0 = value$hi;
|
|
i64_store_little(0 | 0, value | 0, i64toi32_i32$0 | 0);
|
|
i64toi32_i32$2 = 0;
|
|
i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0;
|
|
i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0;
|
|
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
|
|
return i64toi32_i32$0 | 0;
|
|
}
|
|
|
|
function $8(value) {
|
|
value = Math_fround(value);
|
|
i32_store_little(0 | 0, (wasm2js_scratch_store_f32(value), wasm2js_scratch_load_i32(2)) | 0);
|
|
return Math_fround(Math_fround(HEAPF32[0 >> 2]));
|
|
}
|
|
|
|
function $9(value) {
|
|
value = +value;
|
|
var i64toi32_i32$0 = 0;
|
|
wasm2js_scratch_store_f64(+value);
|
|
i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0;
|
|
i64_store_little(0 | 0, wasm2js_scratch_load_i32(0 | 0) | 0 | 0, i64toi32_i32$0 | 0);
|
|
return +(+HEAPF64[0 >> 3]);
|
|
}
|
|
|
|
function $10(value) {
|
|
value = value | 0;
|
|
HEAP16[0 >> 1] = value;
|
|
return i16_load_little(0 | 0) | 0 | 0;
|
|
}
|
|
|
|
function $11(value) {
|
|
value = value | 0;
|
|
HEAP32[0 >> 2] = value;
|
|
return i32_load_little(0 | 0) | 0 | 0;
|
|
}
|
|
|
|
function $12(value, value$hi) {
|
|
value = value | 0;
|
|
value$hi = value$hi | 0;
|
|
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
|
|
i64toi32_i32$0 = value$hi;
|
|
HEAP16[0 >> 1] = value;
|
|
i64toi32_i32$0 = 0;
|
|
i64toi32_i32$1 = i16_load_little(0 | 0) | 0;
|
|
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
|
|
return i64toi32_i32$1 | 0;
|
|
}
|
|
|
|
function $13(value, value$hi) {
|
|
value = value | 0;
|
|
value$hi = value$hi | 0;
|
|
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
|
|
i64toi32_i32$0 = value$hi;
|
|
HEAP32[0 >> 2] = value;
|
|
i64toi32_i32$0 = 0;
|
|
i64toi32_i32$1 = i32_load_little(0 | 0) | 0;
|
|
i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
|
|
return i64toi32_i32$1 | 0;
|
|
}
|
|
|
|
function $14(value, value$hi) {
|
|
value = value | 0;
|
|
value$hi = value$hi | 0;
|
|
var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0;
|
|
i64toi32_i32$0 = value$hi;
|
|
i64toi32_i32$1 = 0;
|
|
HEAP32[i64toi32_i32$1 >> 2] = value;
|
|
HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0;
|
|
i64toi32_i32$0 = i64_load_little(0 | 0) | 0;
|
|
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
|
|
i64toi32_i32$HIGH_BITS = i64toi32_i32$1;
|
|
return i64toi32_i32$0 | 0;
|
|
}
|
|
|
|
function $15(value) {
|
|
value = Math_fround(value);
|
|
HEAPF32[0 >> 2] = value;
|
|
return Math_fround((wasm2js_scratch_store_i32(2, i32_load_little(0 | 0) | 0), wasm2js_scratch_load_f32()));
|
|
}
|
|
|
|
function $16(value) {
|
|
value = +value;
|
|
var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0;
|
|
HEAPF64[0 >> 3] = value;
|
|
i64toi32_i32$0 = i64_load_little(0 | 0) | 0;
|
|
i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
|
|
wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 | 0);
|
|
wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0);
|
|
return +(+wasm2js_scratch_load_f64());
|
|
}
|
|
|
|
function legalstub$3($0_1, $1_1) {
|
|
$0_1 = $0_1 | 0;
|
|
$1_1 = $1_1 | 0;
|
|
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
|
|
i64toi32_i32$0 = 0;
|
|
$4_1 = $0_1;
|
|
$4$hi = i64toi32_i32$0;
|
|
i64toi32_i32$0 = 0;
|
|
i64toi32_i32$2 = $1_1;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
$12_1 = 0;
|
|
} else {
|
|
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
|
|
$12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
}
|
|
$7$hi = i64toi32_i32$1;
|
|
i64toi32_i32$1 = $4$hi;
|
|
i64toi32_i32$0 = $4_1;
|
|
i64toi32_i32$2 = $7$hi;
|
|
i64toi32_i32$3 = $12_1;
|
|
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
|
|
i64toi32_i32$2 = $3(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
|
|
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
|
|
$2_1 = i64toi32_i32$2;
|
|
$2$hi = i64toi32_i32$0;
|
|
i64toi32_i32$1 = i64toi32_i32$2;
|
|
i64toi32_i32$2 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$2 = 0;
|
|
$13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
} else {
|
|
i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
$13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
|
|
}
|
|
setTempRet0($13_1 | 0);
|
|
i64toi32_i32$2 = $2$hi;
|
|
return $2_1 | 0;
|
|
}
|
|
|
|
function legalstub$4($0_1, $1_1) {
|
|
$0_1 = $0_1 | 0;
|
|
$1_1 = $1_1 | 0;
|
|
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
|
|
i64toi32_i32$0 = 0;
|
|
$4_1 = $0_1;
|
|
$4$hi = i64toi32_i32$0;
|
|
i64toi32_i32$0 = 0;
|
|
i64toi32_i32$2 = $1_1;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
$12_1 = 0;
|
|
} else {
|
|
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
|
|
$12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
}
|
|
$7$hi = i64toi32_i32$1;
|
|
i64toi32_i32$1 = $4$hi;
|
|
i64toi32_i32$0 = $4_1;
|
|
i64toi32_i32$2 = $7$hi;
|
|
i64toi32_i32$3 = $12_1;
|
|
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
|
|
i64toi32_i32$2 = $4(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
|
|
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
|
|
$2_1 = i64toi32_i32$2;
|
|
$2$hi = i64toi32_i32$0;
|
|
i64toi32_i32$1 = i64toi32_i32$2;
|
|
i64toi32_i32$2 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$2 = 0;
|
|
$13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
} else {
|
|
i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
$13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
|
|
}
|
|
setTempRet0($13_1 | 0);
|
|
i64toi32_i32$2 = $2$hi;
|
|
return $2_1 | 0;
|
|
}
|
|
|
|
function legalstub$5($0_1, $1_1) {
|
|
$0_1 = $0_1 | 0;
|
|
$1_1 = $1_1 | 0;
|
|
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
|
|
i64toi32_i32$0 = 0;
|
|
$4_1 = $0_1;
|
|
$4$hi = i64toi32_i32$0;
|
|
i64toi32_i32$0 = 0;
|
|
i64toi32_i32$2 = $1_1;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
$12_1 = 0;
|
|
} else {
|
|
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
|
|
$12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
}
|
|
$7$hi = i64toi32_i32$1;
|
|
i64toi32_i32$1 = $4$hi;
|
|
i64toi32_i32$0 = $4_1;
|
|
i64toi32_i32$2 = $7$hi;
|
|
i64toi32_i32$3 = $12_1;
|
|
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
|
|
i64toi32_i32$2 = $5(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
|
|
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
|
|
$2_1 = i64toi32_i32$2;
|
|
$2$hi = i64toi32_i32$0;
|
|
i64toi32_i32$1 = i64toi32_i32$2;
|
|
i64toi32_i32$2 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$2 = 0;
|
|
$13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
} else {
|
|
i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
$13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
|
|
}
|
|
setTempRet0($13_1 | 0);
|
|
i64toi32_i32$2 = $2$hi;
|
|
return $2_1 | 0;
|
|
}
|
|
|
|
function legalstub$6($0_1, $1_1) {
|
|
$0_1 = $0_1 | 0;
|
|
$1_1 = $1_1 | 0;
|
|
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
|
|
i64toi32_i32$0 = 0;
|
|
$4_1 = $0_1;
|
|
$4$hi = i64toi32_i32$0;
|
|
i64toi32_i32$0 = 0;
|
|
i64toi32_i32$2 = $1_1;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
$12_1 = 0;
|
|
} else {
|
|
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
|
|
$12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
}
|
|
$7$hi = i64toi32_i32$1;
|
|
i64toi32_i32$1 = $4$hi;
|
|
i64toi32_i32$0 = $4_1;
|
|
i64toi32_i32$2 = $7$hi;
|
|
i64toi32_i32$3 = $12_1;
|
|
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
|
|
i64toi32_i32$2 = $6(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
|
|
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
|
|
$2_1 = i64toi32_i32$2;
|
|
$2$hi = i64toi32_i32$0;
|
|
i64toi32_i32$1 = i64toi32_i32$2;
|
|
i64toi32_i32$2 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$2 = 0;
|
|
$13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
} else {
|
|
i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
$13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
|
|
}
|
|
setTempRet0($13_1 | 0);
|
|
i64toi32_i32$2 = $2$hi;
|
|
return $2_1 | 0;
|
|
}
|
|
|
|
function legalstub$7($0_1, $1_1) {
|
|
$0_1 = $0_1 | 0;
|
|
$1_1 = $1_1 | 0;
|
|
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
|
|
i64toi32_i32$0 = 0;
|
|
$4_1 = $0_1;
|
|
$4$hi = i64toi32_i32$0;
|
|
i64toi32_i32$0 = 0;
|
|
i64toi32_i32$2 = $1_1;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
$12_1 = 0;
|
|
} else {
|
|
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
|
|
$12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
}
|
|
$7$hi = i64toi32_i32$1;
|
|
i64toi32_i32$1 = $4$hi;
|
|
i64toi32_i32$0 = $4_1;
|
|
i64toi32_i32$2 = $7$hi;
|
|
i64toi32_i32$3 = $12_1;
|
|
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
|
|
i64toi32_i32$2 = $7(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
|
|
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
|
|
$2_1 = i64toi32_i32$2;
|
|
$2$hi = i64toi32_i32$0;
|
|
i64toi32_i32$1 = i64toi32_i32$2;
|
|
i64toi32_i32$2 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$2 = 0;
|
|
$13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
} else {
|
|
i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
$13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
|
|
}
|
|
setTempRet0($13_1 | 0);
|
|
i64toi32_i32$2 = $2$hi;
|
|
return $2_1 | 0;
|
|
}
|
|
|
|
function legalstub$12($0_1, $1_1) {
|
|
$0_1 = $0_1 | 0;
|
|
$1_1 = $1_1 | 0;
|
|
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
|
|
i64toi32_i32$0 = 0;
|
|
$4_1 = $0_1;
|
|
$4$hi = i64toi32_i32$0;
|
|
i64toi32_i32$0 = 0;
|
|
i64toi32_i32$2 = $1_1;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
$12_1 = 0;
|
|
} else {
|
|
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
|
|
$12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
}
|
|
$7$hi = i64toi32_i32$1;
|
|
i64toi32_i32$1 = $4$hi;
|
|
i64toi32_i32$0 = $4_1;
|
|
i64toi32_i32$2 = $7$hi;
|
|
i64toi32_i32$3 = $12_1;
|
|
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
|
|
i64toi32_i32$2 = $12(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
|
|
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
|
|
$2_1 = i64toi32_i32$2;
|
|
$2$hi = i64toi32_i32$0;
|
|
i64toi32_i32$1 = i64toi32_i32$2;
|
|
i64toi32_i32$2 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$2 = 0;
|
|
$13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
} else {
|
|
i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
$13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
|
|
}
|
|
setTempRet0($13_1 | 0);
|
|
i64toi32_i32$2 = $2$hi;
|
|
return $2_1 | 0;
|
|
}
|
|
|
|
function legalstub$13($0_1, $1_1) {
|
|
$0_1 = $0_1 | 0;
|
|
$1_1 = $1_1 | 0;
|
|
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
|
|
i64toi32_i32$0 = 0;
|
|
$4_1 = $0_1;
|
|
$4$hi = i64toi32_i32$0;
|
|
i64toi32_i32$0 = 0;
|
|
i64toi32_i32$2 = $1_1;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
$12_1 = 0;
|
|
} else {
|
|
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
|
|
$12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
}
|
|
$7$hi = i64toi32_i32$1;
|
|
i64toi32_i32$1 = $4$hi;
|
|
i64toi32_i32$0 = $4_1;
|
|
i64toi32_i32$2 = $7$hi;
|
|
i64toi32_i32$3 = $12_1;
|
|
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
|
|
i64toi32_i32$2 = $13(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
|
|
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
|
|
$2_1 = i64toi32_i32$2;
|
|
$2$hi = i64toi32_i32$0;
|
|
i64toi32_i32$1 = i64toi32_i32$2;
|
|
i64toi32_i32$2 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$2 = 0;
|
|
$13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
} else {
|
|
i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
$13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
|
|
}
|
|
setTempRet0($13_1 | 0);
|
|
i64toi32_i32$2 = $2$hi;
|
|
return $2_1 | 0;
|
|
}
|
|
|
|
function legalstub$14($0_1, $1_1) {
|
|
$0_1 = $0_1 | 0;
|
|
$1_1 = $1_1 | 0;
|
|
var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
|
|
i64toi32_i32$0 = 0;
|
|
$4_1 = $0_1;
|
|
$4$hi = i64toi32_i32$0;
|
|
i64toi32_i32$0 = 0;
|
|
i64toi32_i32$2 = $1_1;
|
|
i64toi32_i32$1 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
$12_1 = 0;
|
|
} else {
|
|
i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
|
|
$12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
|
|
}
|
|
$7$hi = i64toi32_i32$1;
|
|
i64toi32_i32$1 = $4$hi;
|
|
i64toi32_i32$0 = $4_1;
|
|
i64toi32_i32$2 = $7$hi;
|
|
i64toi32_i32$3 = $12_1;
|
|
i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
|
|
i64toi32_i32$2 = $14(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
|
|
i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
|
|
$2_1 = i64toi32_i32$2;
|
|
$2$hi = i64toi32_i32$0;
|
|
i64toi32_i32$1 = i64toi32_i32$2;
|
|
i64toi32_i32$2 = 0;
|
|
i64toi32_i32$3 = 32;
|
|
i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
|
|
if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
|
|
i64toi32_i32$2 = 0;
|
|
$13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
} else {
|
|
i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
|
|
$13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
|
|
}
|
|
setTempRet0($13_1 | 0);
|
|
i64toi32_i32$2 = $2$hi;
|
|
return $2_1 | 0;
|
|
}
|
|
|
|
bufferView = HEAPU8;
|
|
function __wasm_memory_size() {
|
|
return buffer.byteLength / 65536 | 0;
|
|
}
|
|
|
|
function __wasm_memory_grow(pagesToAdd) {
|
|
pagesToAdd = pagesToAdd | 0;
|
|
var oldPages = __wasm_memory_size() | 0;
|
|
var newPages = oldPages + pagesToAdd | 0;
|
|
if ((oldPages < newPages) && (newPages < 65536)) {
|
|
var newBuffer = new ArrayBuffer(Math_imul(newPages, 65536));
|
|
var newHEAP8 = new Int8Array(newBuffer);
|
|
newHEAP8.set(HEAP8);
|
|
HEAP8 = new Int8Array(newBuffer);
|
|
HEAP16 = new Int16Array(newBuffer);
|
|
HEAP32 = new Int32Array(newBuffer);
|
|
HEAPU8 = new Uint8Array(newBuffer);
|
|
HEAPU16 = new Uint16Array(newBuffer);
|
|
HEAPU32 = new Uint32Array(newBuffer);
|
|
HEAPF32 = new Float32Array(newBuffer);
|
|
HEAPF64 = new Float64Array(newBuffer);
|
|
buffer = newBuffer;
|
|
bufferView = HEAPU8;
|
|
}
|
|
return oldPages;
|
|
}
|
|
|
|
return {
|
|
"i32_load16_s": $0,
|
|
"i32_load16_u": $1,
|
|
"i32_load": $2,
|
|
"i64_load16_s": legalstub$3,
|
|
"i64_load16_u": legalstub$4,
|
|
"i64_load32_s": legalstub$5,
|
|
"i64_load32_u": legalstub$6,
|
|
"i64_load": legalstub$7,
|
|
"f32_load": $8,
|
|
"f64_load": $9,
|
|
"i32_store16": $10,
|
|
"i32_store": $11,
|
|
"i64_store16": legalstub$12,
|
|
"i64_store32": legalstub$13,
|
|
"i64_store": legalstub$14,
|
|
"f32_store": $15,
|
|
"f64_store": $16
|
|
};
|
|
}
|
|
|
|
var retasmFunc = asmFunc({
|
|
"env": env,
|
|
});
|
|
export var i32_load16_s = retasmFunc.i32_load16_s;
|
|
export var i32_load16_u = retasmFunc.i32_load16_u;
|
|
export var i32_load = retasmFunc.i32_load;
|
|
export var i64_load16_s = retasmFunc.i64_load16_s;
|
|
export var i64_load16_u = retasmFunc.i64_load16_u;
|
|
export var i64_load32_s = retasmFunc.i64_load32_s;
|
|
export var i64_load32_u = retasmFunc.i64_load32_u;
|
|
export var i64_load = retasmFunc.i64_load;
|
|
export var f32_load = retasmFunc.f32_load;
|
|
export var f64_load = retasmFunc.f64_load;
|
|
export var i32_store16 = retasmFunc.i32_store16;
|
|
export var i32_store = retasmFunc.i32_store;
|
|
export var i64_store16 = retasmFunc.i64_store16;
|
|
export var i64_store32 = retasmFunc.i64_store32;
|
|
export var i64_store = retasmFunc.i64_store;
|
|
export var f32_store = retasmFunc.f32_store;
|
|
export var f64_store = retasmFunc.f64_store;
|