diff options
Diffstat (limited to 'test/wasm2js/br_table.2asm.js')
-rw-r--r-- | test/wasm2js/br_table.2asm.js | 191 |
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; |