summaryrefslogtreecommitdiff
path: root/test/wasm2js/br_table.2asm.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm2js/br_table.2asm.js')
-rw-r--r--test/wasm2js/br_table.2asm.js191
1 files changed, 112 insertions, 79 deletions
diff --git a/test/wasm2js/br_table.2asm.js b/test/wasm2js/br_table.2asm.js
index 7ff5e4c4d..bd66eb523 100644
--- a/test/wasm2js/br_table.2asm.js
+++ b/test/wasm2js/br_table.2asm.js
@@ -1,3 +1,4 @@
+import { setTempRet0 } from 'env';
function asmFunc(global, env, buffer) {
"almost asm";
@@ -21,6 +22,7 @@ function asmFunc(global, env, buffer) {
var abort = env.abort;
var nan = global.NaN;
var infinity = global.Infinity;
+ var setTempRet0 = env.setTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function dummy() {
@@ -50196,100 +50198,131 @@ function asmFunc(global, env, buffer) {
return $3_1 | 0;
}
- function __wasm_ctz_i32(var$0) {
- var$0 = var$0 | 0;
- if (var$0) {
- return 31 - Math_clz32((var$0 + 4294967295 | 0) ^ var$0 | 0) | 0 | 0
+ function legalstub$6() {
+ var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = $6() | 0;
+ i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
+ $0 = i64toi32_i32$0;
+ $0$hi = i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$0 = 0;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ }
}
- return 32 | 0;
+ setTempRet0($7_1 | 0);
+ i64toi32_i32$0 = $0$hi;
+ return $0 | 0;
+ }
+
+ function legalstub$7() {
+ return +(+Math_fround($7()));
}
- function __wasm_ctz_i64(var$0, var$0$hi) {
- var$0 = var$0 | 0;
- var$0$hi = var$0$hi | 0;
- var i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $10_1 = 0, $5$hi = 0, $8$hi = 0;
- i64toi32_i32$0 = var$0$hi;
- if (((var$0 | i64toi32_i32$0 | 0 | 0) == (0 | 0) | 0) == (0 | 0)) {
+ function legalstub$30() {
+ var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = $30() | 0;
+ i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
+ $0 = i64toi32_i32$0;
+ $0$hi = i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- i64toi32_i32$0 = var$0$hi;
- i64toi32_i32$2 = var$0;
- i64toi32_i32$1 = 4294967295;
- i64toi32_i32$3 = 4294967295;
- i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0;
- i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0;
- if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) {
- i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0
- }
- $5$hi = i64toi32_i32$5;
- i64toi32_i32$5 = var$0$hi;
- i64toi32_i32$5 = $5$hi;
- i64toi32_i32$0 = i64toi32_i32$4;
- i64toi32_i32$2 = var$0$hi;
- i64toi32_i32$3 = var$0;
- i64toi32_i32$2 = i64toi32_i32$5 ^ i64toi32_i32$2 | 0;
- i64toi32_i32$0 = i64toi32_i32$0 ^ i64toi32_i32$3 | 0;
- i64toi32_i32$3 = Math_clz32(i64toi32_i32$2);
- i64toi32_i32$5 = 0;
- if ((i64toi32_i32$3 | 0) == (32 | 0)) {
- $10_1 = Math_clz32(i64toi32_i32$0) + 32 | 0
- } else {
- $10_1 = i64toi32_i32$3
- }
- $8$hi = i64toi32_i32$5;
- i64toi32_i32$5 = 0;
- i64toi32_i32$0 = 63;
- i64toi32_i32$2 = $8$hi;
- i64toi32_i32$3 = $10_1;
- i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0;
- i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$2 | 0;
- i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0;
- i64toi32_i32$0 = i64toi32_i32$1;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$4;
- return i64toi32_i32$0 | 0;
+ i64toi32_i32$0 = 0;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- i64toi32_i32$0 = 0;
- i64toi32_i32$4 = 64;
- i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
- return i64toi32_i32$4 | 0;
+ setTempRet0($7_1 | 0);
+ i64toi32_i32$0 = $0$hi;
+ return $0 | 0;
+ }
+
+ function legalstub$46() {
+ return +(+Math_fround($46()));
}
- var FUNCTION_TABLE = [f];
- function __wasm_grow_memory(pagesToAdd) {
- pagesToAdd = pagesToAdd | 0;
- var oldPages = __wasm_current_memory() | 0;
- var newPages = oldPages + pagesToAdd | 0;
- if ((oldPages < newPages) && (newPages < 65536)) {
+ function legalstub$47() {
+ var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = $47() | 0;
+ i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
+ $0 = i64toi32_i32$0;
+ $0$hi = i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
{
- var newBuffer = new ArrayBuffer(Math_imul(newPages, 65536));
- var newHEAP8 = new global.Int8Array(newBuffer);
- newHEAP8.set(HEAP8);
- HEAP8 = newHEAP8;
- HEAP16 = new global.Int16Array(newBuffer);
- HEAP32 = new global.Int32Array(newBuffer);
- HEAPU8 = new global.Uint8Array(newBuffer);
- HEAPU16 = new global.Uint16Array(newBuffer);
- HEAPU32 = new global.Uint32Array(newBuffer);
- HEAPF32 = new global.Float32Array(newBuffer);
- HEAPF64 = new global.Float64Array(newBuffer);
- buffer = newBuffer;
+ i64toi32_i32$0 = 0;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
}
}
- return oldPages;
+ setTempRet0($7_1 | 0);
+ i64toi32_i32$0 = $0$hi;
+ return $0 | 0;
+ }
+
+ function legalstub$52() {
+ return +(+Math_fround($52()));
}
- function __wasm_current_memory() {
- return buffer.byteLength / 65536 | 0;
+ function legalstub$54() {
+ var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = $54() | 0;
+ i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
+ $0 = i64toi32_i32$0;
+ $0$hi = i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$0 = 0;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ setTempRet0($7_1 | 0);
+ i64toi32_i32$0 = $0$hi;
+ return $0 | 0;
}
+ var FUNCTION_TABLE = [];
return {
type_i32: $1,
type_i64: $2,
type_f32: $3,
type_f64: $4,
type_i32_value: $5,
- type_i64_value: $6,
- type_f32_value: $7,
+ type_i64_value: legalstub$6,
+ type_f32_value: legalstub$7,
type_f64_value: $8,
empty: $9,
empty_value: $10,
@@ -50312,7 +50345,7 @@ function asmFunc(global, env, buffer) {
as_br_table_index: $27,
as_br_table_value: $28,
as_br_table_value_index: $29,
- as_return_value: $30,
+ as_return_value: legalstub$30,
as_if_cond: $31,
as_if_then: $32,
as_if_else: $33,
@@ -50327,15 +50360,15 @@ function asmFunc(global, env, buffer) {
as_call_indirect_last: $43,
as_call_indirect_func: $44,
as_local_set_value: $45,
- as_load_address: $46,
- as_loadN_address: $47,
+ as_load_address: legalstub$46,
+ as_loadN_address: legalstub$47,
as_store_address: $48,
as_store_value: $49,
as_storeN_address: $50,
as_storeN_value: $51,
- as_unary_operand: $52,
+ as_unary_operand: legalstub$52,
as_binary_left: $53,
- as_binary_right: $54,
+ as_binary_right: legalstub$54,
as_test_operand: $55,
as_compare_left: $56,
as_compare_right: $57,
@@ -50351,7 +50384,7 @@ function asmFunc(global, env, buffer) {
}
const memasmFunc = new ArrayBuffer(65536);
-const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
export const type_i32 = retasmFunc.type_i32;
export const type_i64 = retasmFunc.type_i64;
export const type_f32 = retasmFunc.type_f32;