diff options
Diffstat (limited to 'test')
58 files changed, 121 insertions, 65 deletions
diff --git a/test/binaryen.js/emit_asmjs.js.txt b/test/binaryen.js/emit_asmjs.js.txt index e16bf2fca..04e863ec0 100644 --- a/test/binaryen.js/emit_asmjs.js.txt +++ b/test/binaryen.js/emit_asmjs.js.txt @@ -27,6 +27,7 @@ function asmFunc(global, env, buffer) { return $0 | 0; } + var FUNCTION_TABLE = []; return { main: main }; diff --git a/test/wasm2js.asserts.js b/test/wasm2js.asserts.js index 9d20ffe57..c51d3aadb 100644 --- a/test/wasm2js.asserts.js +++ b/test/wasm2js.asserts.js @@ -73,6 +73,7 @@ function asmFunc0(global, env, buffer) { return i64toi32_i32$HIGH_BITS | 0; } + var FUNCTION_TABLE = []; return { empty: $0, add: $1, diff --git a/test/wasm2js.traps.js b/test/wasm2js.traps.js index 1dbd01507..acb6c9441 100644 --- a/test/wasm2js.traps.js +++ b/test/wasm2js.traps.js @@ -73,6 +73,7 @@ function asmFunc0(global, env, buffer) { return i64toi32_i32$HIGH_BITS | 0; } + var FUNCTION_TABLE = []; return { empty: $0, add: $1, diff --git a/test/wasm2js/address.2asm.js b/test/wasm2js/address.2asm.js index f402c35f7..0bda4e0f4 100644 --- a/test/wasm2js/address.2asm.js +++ b/test/wasm2js/address.2asm.js @@ -47,6 +47,7 @@ function asmFunc(global, env, buffer) { HEAP32[(i + 4294967295 | 0) >> 2] | 0; } + var FUNCTION_TABLE = []; return { good: $0, bad: $1 diff --git a/test/wasm2js/base64.2asm.js b/test/wasm2js/base64.2asm.js index 9720c1ae9..3960d7ca6 100644 --- a/test/wasm2js/base64.2asm.js +++ b/test/wasm2js/base64.2asm.js @@ -22,6 +22,7 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var i64toi32_i32$HIGH_BITS = 0; + var FUNCTION_TABLE = []; return { }; diff --git a/test/wasm2js/block.2asm.js b/test/wasm2js/block.2asm.js index b069ec6c9..f3c7f07ef 100644 --- a/test/wasm2js/block.2asm.js +++ b/test/wasm2js/block.2asm.js @@ -177,6 +177,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { empty: $1, singular: $2, diff --git a/test/wasm2js/br.2asm.js b/test/wasm2js/br.2asm.js index ba323f2d6..90c9194ea 100644 --- a/test/wasm2js/br.2asm.js +++ b/test/wasm2js/br.2asm.js @@ -601,7 +601,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$4 | 0; } - var FUNCTION_TABLE_iiii = [f]; + var FUNCTION_TABLE = [f]; return { type_i32: $1, type_i64: $2, @@ -750,6 +750,7 @@ function asmFunc(global, env, buffer) { } + var FUNCTION_TABLE = []; return { }; diff --git a/test/wasm2js/br_if.2asm.js b/test/wasm2js/br_if.2asm.js index 0e5e84a23..f70758d8c 100644 --- a/test/wasm2js/br_if.2asm.js +++ b/test/wasm2js/br_if.2asm.js @@ -234,6 +234,7 @@ function asmFunc(global, env, buffer) { return 1 + $2_1 | 0 | 0; } + var FUNCTION_TABLE = []; return { as_block_first: $1, as_block_mid: $2, diff --git a/test/wasm2js/br_table.2asm.js b/test/wasm2js/br_table.2asm.js index 135733e4b..755059a1c 100644 --- a/test/wasm2js/br_table.2asm.js +++ b/test/wasm2js/br_table.2asm.js @@ -50236,7 +50236,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$4 | 0; } - var FUNCTION_TABLE_iiii = [f]; + var FUNCTION_TABLE = [f]; return { type_i32: $1, type_i64: $2, diff --git a/test/wasm2js/br_table_temp.2asm.js b/test/wasm2js/br_table_temp.2asm.js index e5209e148..425c4e1d9 100644 --- a/test/wasm2js/br_table_temp.2asm.js +++ b/test/wasm2js/br_table_temp.2asm.js @@ -50232,7 +50232,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$4 | 0; } - var FUNCTION_TABLE_iiii = [f]; + var FUNCTION_TABLE = [f]; return { type_i32: $1, type_i64: $2, diff --git a/test/wasm2js/break-drop.2asm.js b/test/wasm2js/break-drop.2asm.js index 178d21a19..52c8da977 100644 --- a/test/wasm2js/break-drop.2asm.js +++ b/test/wasm2js/break-drop.2asm.js @@ -34,6 +34,7 @@ function asmFunc(global, env, buffer) { } + var FUNCTION_TABLE = []; return { br: $0, br_if: $1, diff --git a/test/wasm2js/call.2asm.js b/test/wasm2js/call.2asm.js index a36f59811..86f77a122 100644 --- a/test/wasm2js/call.2asm.js +++ b/test/wasm2js/call.2asm.js @@ -408,6 +408,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$1 | 0; } + var FUNCTION_TABLE = []; return { type_i32: $12, type_i64: $13, diff --git a/test/wasm2js/call_indirect.2asm.js b/test/wasm2js/call_indirect.2asm.js index 9ee3d9480..c94d44c6a 100644 --- a/test/wasm2js/call_indirect.2asm.js +++ b/test/wasm2js/call_indirect.2asm.js @@ -119,14 +119,14 @@ function asmFunc(global, env, buffer) { function $16() { var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; wasm2js_i32$1 = 0; - wasm2js_i32$0 = FUNCTION_TABLE_i[wasm2js_i32$1 & 31]() | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1]() | 0; return wasm2js_i32$0 | 0; } function $17() { var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; wasm2js_i32$1 = 1; - wasm2js_i32$0 = FUNCTION_TABLE_i[wasm2js_i32$1 & 31]() | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1]() | 0; i64toi32_i32$0 = wasm2js_i32$0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -136,14 +136,14 @@ function asmFunc(global, env, buffer) { function $18() { var wasm2js_f32$0 = Math_fround(0), wasm2js_i32$0 = 0; wasm2js_i32$0 = 2; - wasm2js_f32$0 = Math_fround(FUNCTION_TABLE_f[wasm2js_i32$0 & 31]()); + wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[wasm2js_i32$0]()); return Math_fround(wasm2js_f32$0); } function $19() { var wasm2js_f64$0 = 0.0, wasm2js_i32$0 = 0; wasm2js_i32$0 = 3; - wasm2js_f64$0 = +FUNCTION_TABLE_d[wasm2js_i32$0 & 31](); + wasm2js_f64$0 = +FUNCTION_TABLE[wasm2js_i32$0](); return +wasm2js_f64$0; } @@ -153,7 +153,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$2 = 100; wasm2js_i32$3 = i64toi32_i32$0; wasm2js_i32$1 = 5; - wasm2js_i32$0 = FUNCTION_TABLE_iii[wasm2js_i32$1 & 31](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; i64toi32_i32$0 = wasm2js_i32$0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -164,7 +164,7 @@ function asmFunc(global, env, buffer) { var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; wasm2js_i32$2 = 32; wasm2js_i32$1 = 4; - wasm2js_i32$0 = FUNCTION_TABLE_ii[wasm2js_i32$1 & 31](wasm2js_i32$2 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](wasm2js_i32$2 | 0) | 0; return wasm2js_i32$0 | 0; } @@ -174,7 +174,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$2 = 64; wasm2js_i32$3 = i64toi32_i32$0; wasm2js_i32$1 = 5; - wasm2js_i32$0 = FUNCTION_TABLE_iii[wasm2js_i32$1 & 31](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; i64toi32_i32$0 = wasm2js_i32$0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -185,7 +185,7 @@ function asmFunc(global, env, buffer) { var wasm2js_f32$0 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$1 = Math_fround(0); wasm2js_f32$1 = Math_fround(1.3200000524520874); wasm2js_i32$0 = 6; - wasm2js_f32$0 = Math_fround(FUNCTION_TABLE_ff[wasm2js_i32$0 & 31](Math_fround(wasm2js_f32$1))); + wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[wasm2js_i32$0](Math_fround(wasm2js_f32$1))); return Math_fround(wasm2js_f32$0); } @@ -193,7 +193,7 @@ function asmFunc(global, env, buffer) { var wasm2js_f64$0 = 0.0, wasm2js_i32$0 = 0, wasm2js_f64$1 = 0.0; wasm2js_f64$1 = 1.64; wasm2js_i32$0 = 7; - wasm2js_f64$0 = +FUNCTION_TABLE_dd[wasm2js_i32$0 & 31](+wasm2js_f64$1); + wasm2js_f64$0 = +FUNCTION_TABLE[wasm2js_i32$0](+wasm2js_f64$1); return +wasm2js_f64$0; } @@ -202,7 +202,7 @@ function asmFunc(global, env, buffer) { wasm2js_f32$0 = Math_fround(32.099998474121094); wasm2js_i32$2 = 32; wasm2js_i32$1 = 8; - wasm2js_i32$0 = FUNCTION_TABLE_ifi[wasm2js_i32$1 & 31](Math_fround(wasm2js_f32$0), wasm2js_i32$2 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](Math_fround(wasm2js_f32$0), wasm2js_i32$2 | 0) | 0; return wasm2js_i32$0 | 0; } @@ -213,7 +213,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$3 = 64; wasm2js_i32$4 = i64toi32_i32$0; wasm2js_i32$1 = 9; - wasm2js_i32$0 = FUNCTION_TABLE_iiii[wasm2js_i32$1 & 31](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0) | 0; i64toi32_i32$0 = wasm2js_i32$0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -225,7 +225,7 @@ function asmFunc(global, env, buffer) { wasm2js_f64$0 = 64.0; wasm2js_f32$1 = Math_fround(32.0); wasm2js_i32$0 = 10; - wasm2js_f32$0 = Math_fround(FUNCTION_TABLE_fdf[wasm2js_i32$0 & 31](+wasm2js_f64$0, Math_fround(wasm2js_f32$1))); + wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[wasm2js_i32$0](+wasm2js_f64$0, Math_fround(wasm2js_f32$1))); return Math_fround(wasm2js_f32$0); } @@ -235,7 +235,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$2 = 0; wasm2js_f64$1 = 64.1; wasm2js_i32$0 = 11; - wasm2js_f64$0 = +FUNCTION_TABLE_diid[wasm2js_i32$0 & 31](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, +wasm2js_f64$1); + wasm2js_f64$0 = +FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, +wasm2js_f64$1); return +wasm2js_f64$0; } @@ -248,7 +248,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$2 = $1; wasm2js_i32$3 = i64toi32_i32$0; wasm2js_i32$1 = $0; - wasm2js_i32$0 = FUNCTION_TABLE_iii[wasm2js_i32$1 & 31](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; i64toi32_i32$0 = wasm2js_i32$0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -262,7 +262,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$2 = 9; wasm2js_i32$3 = i64toi32_i32$0; wasm2js_i32$1 = $0; - wasm2js_i32$0 = FUNCTION_TABLE_iii[wasm2js_i32$1 & 31](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; i64toi32_i32$0 = wasm2js_i32$0; i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; i64toi32_i32$HIGH_BITS = i64toi32_i32$1; @@ -287,7 +287,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$2 = i64toi32_i32$2 - i64toi32_i32$3 | 0; wasm2js_i32$3 = i64toi32_i32$5; wasm2js_i32$1 = 12; - wasm2js_i32$0 = FUNCTION_TABLE_iii[wasm2js_i32$1 & 31](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; i64toi32_i32$5 = wasm2js_i32$0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $6 = i64toi32_i32$5; @@ -329,7 +329,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$2 = i64toi32_i32$4; wasm2js_i32$3 = i64toi32_i32$5; wasm2js_i32$1 = 13; - wasm2js_i32$0 = FUNCTION_TABLE_iii[wasm2js_i32$1 & 31](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; i64toi32_i32$5 = wasm2js_i32$0; i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; $5 = i64toi32_i32$5; @@ -346,7 +346,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$3 = i64toi32_i32$0; wasm2js_i32$2 = i64toi32_i32$4; wasm2js_i32$1 = 13; - wasm2js_i32$0 = FUNCTION_TABLE_iii[wasm2js_i32$1 & 31](wasm2js_i32$3 | 0, wasm2js_i32$2 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](wasm2js_i32$3 | 0, wasm2js_i32$2 | 0) | 0; i64toi32_i32$4 = wasm2js_i32$0; i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; $8 = i64toi32_i32$4; @@ -373,7 +373,7 @@ function asmFunc(global, env, buffer) { if (($0 | 0) == (0 | 0)) $6 = 44; else { wasm2js_i32$2 = $0 - 1 | 0; wasm2js_i32$1 = 15; - wasm2js_i32$0 = FUNCTION_TABLE_ii[wasm2js_i32$1 & 31](wasm2js_i32$2 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](wasm2js_i32$2 | 0) | 0; $6 = wasm2js_i32$0; } return $6 | 0; @@ -385,7 +385,7 @@ function asmFunc(global, env, buffer) { if (($0 | 0) == (0 | 0)) $6 = 99; else { wasm2js_i32$2 = $0 - 1 | 0; wasm2js_i32$1 = 14; - wasm2js_i32$0 = FUNCTION_TABLE_ii[wasm2js_i32$1 & 31](wasm2js_i32$2 | 0) | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1](wasm2js_i32$2 | 0) | 0; $6 = wasm2js_i32$0; } return $6 | 0; @@ -394,19 +394,19 @@ function asmFunc(global, env, buffer) { function runaway() { var wasm2js_i32$0 = 0; wasm2js_i32$0 = 16; - FUNCTION_TABLE_v[wasm2js_i32$0 & 31](); + FUNCTION_TABLE[wasm2js_i32$0](); } function mutual_runaway1() { var wasm2js_i32$0 = 0; wasm2js_i32$0 = 18; - FUNCTION_TABLE_v[wasm2js_i32$0 & 31](); + FUNCTION_TABLE[wasm2js_i32$0](); } function mutual_runaway2() { var wasm2js_i32$0 = 0; wasm2js_i32$0 = 17; - FUNCTION_TABLE_v[wasm2js_i32$0 & 31](); + FUNCTION_TABLE[wasm2js_i32$0](); } function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) { @@ -495,18 +495,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$1 | 0; } - var FUNCTION_TABLE_d = [const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64, const_f64]; - var FUNCTION_TABLE_dd = [id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, over_f64_duplicate, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64, id_f64]; - var FUNCTION_TABLE_diid = [i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64, i64_f64]; - var FUNCTION_TABLE_f = [const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32, const_f32]; - var FUNCTION_TABLE_fdf = [f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32, f64_f32]; - var FUNCTION_TABLE_ff = [id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, over_f32_duplicate, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32, id_f32]; - var FUNCTION_TABLE_i = [const_i32, const_i64, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32, const_i32]; - var FUNCTION_TABLE_ifi = [f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32, f32_i32]; - var FUNCTION_TABLE_ii = [id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, even, odd, id_i32, id_i32, id_i32, over_i32_duplicate, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32, id_i32]; - var FUNCTION_TABLE_iii = [id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, fac, fib, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, over_i64_duplicate, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64, id_i64]; - var FUNCTION_TABLE_iiii = [i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64, i32_i64]; - var FUNCTION_TABLE_v = [runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, mutual_runaway1, mutual_runaway2, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway, runaway]; + var FUNCTION_TABLE = [const_i32, const_i64, const_f32, const_f64, id_i32, id_i64, id_f32, id_f64, f32_i32, i32_i64, f64_f32, i64_f64, fac, fib, even, odd, runaway, mutual_runaway1, mutual_runaway2, over_i32_duplicate, over_i64_duplicate, over_f32_duplicate, over_f64_duplicate]; return { type_i32: $16, type_i64: $17, diff --git a/test/wasm2js/comments.2asm.js b/test/wasm2js/comments.2asm.js index 243239f6c..6c025e88e 100644 --- a/test/wasm2js/comments.2asm.js +++ b/test/wasm2js/comments.2asm.js @@ -22,6 +22,7 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var i64toi32_i32$HIGH_BITS = 0; + var FUNCTION_TABLE = []; return { }; @@ -53,6 +54,7 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var i64toi32_i32$HIGH_BITS = 0; + var FUNCTION_TABLE = []; return { }; diff --git a/test/wasm2js/conversions-modified.2asm.js b/test/wasm2js/conversions-modified.2asm.js index 3d6044a01..c188bbc74 100644 --- a/test/wasm2js/conversions-modified.2asm.js +++ b/test/wasm2js/conversions-modified.2asm.js @@ -221,6 +221,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$1 | 0; } + var FUNCTION_TABLE = []; return { i64_extend_s_i32: $0, i64_extend_u_i32: $1, diff --git a/test/wasm2js/empty_table.2asm.js b/test/wasm2js/empty_table.2asm.js index d515f48f4..5ef3aa88a 100644 --- a/test/wasm2js/empty_table.2asm.js +++ b/test/wasm2js/empty_table.2asm.js @@ -22,6 +22,7 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var i64toi32_i32$HIGH_BITS = 0; + var FUNCTION_TABLE = []; return { }; diff --git a/test/wasm2js/emscripten.2asm.js b/test/wasm2js/emscripten.2asm.js index 63e5a5923..31b87cd44 100644 --- a/test/wasm2js/emscripten.2asm.js +++ b/test/wasm2js/emscripten.2asm.js @@ -1,4 +1,4 @@ -function instantiate(asmLibraryArg, wasmMemory, wasmTable) { +function instantiate(asmLibraryArg, wasmMemory, FUNCTION_TABLE) { function asmFunc(global, env, buffer) { "use asm"; @@ -32,7 +32,7 @@ function asmFunc(global, env, buffer) { syscall$6(1 | 0, 2 | 0) | 0; syscall$54(3 | 0, 4 | 0) | 0; wasm2js_i32$0 = HEAP32[(0 + 1030 | 0) >> 2] | 0; - FUNCTION_TABLE_v[wasm2js_i32$0 & 3](); + FUNCTION_TABLE[wasm2js_i32$0](); } function other() { @@ -48,7 +48,8 @@ function asmFunc(global, env, buffer) { } // EMSCRIPTEN_END_FUNCS; - var FUNCTION_TABLE_v = [foo, foo, bar, foo]; + FUNCTION_TABLE[1] = foo; + FUNCTION_TABLE[2] = bar; return { main: main, other: other diff --git a/test/wasm2js/endianness.2asm.js b/test/wasm2js/endianness.2asm.js index 88619536f..19bd79751 100644 --- a/test/wasm2js/endianness.2asm.js +++ b/test/wasm2js/endianness.2asm.js @@ -290,6 +290,7 @@ function asmFunc(global, env, buffer) { return +(+HEAPF64[__tempMemory__ >> 3]); } + var FUNCTION_TABLE = []; return { i32_load16_s: $6, i32_load16_u: $7, diff --git a/test/wasm2js/f32.2asm.js b/test/wasm2js/f32.2asm.js index e8a12f19c..ff8f2d94a 100644 --- a/test/wasm2js/f32.2asm.js +++ b/test/wasm2js/f32.2asm.js @@ -119,6 +119,7 @@ function asmFunc(global, env, buffer) { return Math_fround((wasm2js_f32$0 = Math_fround(Math_ceil(var$0)), wasm2js_f32$1 = Math_fround(Math_floor(var$0)), wasm2js_i32$0 = var$0 < Math_fround(0.0), wasm2js_i32$0 ? wasm2js_f32$0 : wasm2js_f32$1)); } + var FUNCTION_TABLE = []; return { add: $0, sub: $1, diff --git a/test/wasm2js/f32_cmp.2asm.js b/test/wasm2js/f32_cmp.2asm.js index 87e9e2506..0349fa344 100644 --- a/test/wasm2js/f32_cmp.2asm.js +++ b/test/wasm2js/f32_cmp.2asm.js @@ -58,6 +58,7 @@ function asmFunc(global, env, buffer) { return x >= y | 0; } + var FUNCTION_TABLE = []; return { eq: $0, ne: $1, diff --git a/test/wasm2js/f64.2asm.js b/test/wasm2js/f64.2asm.js index 9ede1bfb5..ade8bab00 100644 --- a/test/wasm2js/f64.2asm.js +++ b/test/wasm2js/f64.2asm.js @@ -153,6 +153,7 @@ function asmFunc(global, env, buffer) { return +(wasm2js_f64$0 = Math_ceil(var$0), wasm2js_f64$1 = Math_floor(var$0), wasm2js_i32$0 = var$0 < 0.0, wasm2js_i32$0 ? wasm2js_f64$0 : wasm2js_f64$1); } + var FUNCTION_TABLE = []; return { add: $0, sub: $1, diff --git a/test/wasm2js/f64_cmp.2asm.js b/test/wasm2js/f64_cmp.2asm.js index 0bc1bcb71..f23103d4c 100644 --- a/test/wasm2js/f64_cmp.2asm.js +++ b/test/wasm2js/f64_cmp.2asm.js @@ -58,6 +58,7 @@ function asmFunc(global, env, buffer) { return x >= y | 0; } + var FUNCTION_TABLE = []; return { eq: $0, ne: $1, diff --git a/test/wasm2js/fac.2asm.js b/test/wasm2js/fac.2asm.js index f244548db..24a5f37e1 100644 --- a/test/wasm2js/fac.2asm.js +++ b/test/wasm2js/fac.2asm.js @@ -316,6 +316,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$1 | 0; } + var FUNCTION_TABLE = []; return { fac_rec: $0, fac_rec_named: fac_rec_named, diff --git a/test/wasm2js/float-ops.2asm.js b/test/wasm2js/float-ops.2asm.js index 06bdd9b21..f6bd1a0d6 100644 --- a/test/wasm2js/float-ops.2asm.js +++ b/test/wasm2js/float-ops.2asm.js @@ -376,6 +376,7 @@ function asmFunc(global, env, buffer) { return (~~i64toi32_i32$0 >>> 0 | 0) == (0 | 0) & (i64toi32_i32$1 | 0) == (0 | 0) | 0 | 0; } + var FUNCTION_TABLE = []; return { f32_add: $1, f32_sub: $2, diff --git a/test/wasm2js/float_literals-modified.2asm.js b/test/wasm2js/float_literals-modified.2asm.js index c93840e9c..59bacf1c3 100644 --- a/test/wasm2js/float_literals-modified.2asm.js +++ b/test/wasm2js/float_literals-modified.2asm.js @@ -474,6 +474,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$1 | 0; } + var FUNCTION_TABLE = []; return { f32_nan: $0, f32_positive_nan: $1, diff --git a/test/wasm2js/float_misc.2asm.js b/test/wasm2js/float_misc.2asm.js index 6eae19361..3de4561ed 100644 --- a/test/wasm2js/float_misc.2asm.js +++ b/test/wasm2js/float_misc.2asm.js @@ -250,6 +250,7 @@ function asmFunc(global, env, buffer) { return +(wasm2js_f64$0 = Math_ceil(var$0), wasm2js_f64$1 = Math_floor(var$0), wasm2js_i32$0 = var$0 < 0.0, wasm2js_i32$0 ? wasm2js_f64$0 : wasm2js_f64$1); } + var FUNCTION_TABLE = []; return { f32_add: $0, f32_sub: $1, diff --git a/test/wasm2js/forward.2asm.js b/test/wasm2js/forward.2asm.js index c7421abb8..2b1fbea06 100644 --- a/test/wasm2js/forward.2asm.js +++ b/test/wasm2js/forward.2asm.js @@ -36,6 +36,7 @@ function asmFunc(global, env, buffer) { return $6 | 0; } + var FUNCTION_TABLE = []; return { even: even, odd: odd diff --git a/test/wasm2js/func-ptr-offset.2asm.js b/test/wasm2js/func-ptr-offset.2asm.js index 3d75062a7..68d7755ea 100644 --- a/test/wasm2js/func-ptr-offset.2asm.js +++ b/test/wasm2js/func-ptr-offset.2asm.js @@ -38,11 +38,11 @@ function asmFunc(global, env, buffer) { $0 = $0 | 0; var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; wasm2js_i32$1 = $0; - wasm2js_i32$0 = FUNCTION_TABLE_i[wasm2js_i32$1 & 3]() | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1]() | 0; return wasm2js_i32$0 | 0; } - var FUNCTION_TABLE_i = [t1, t1, t2, t3]; + var FUNCTION_TABLE = [null, t1, t2, t3]; return { call: $3 }; diff --git a/test/wasm2js/func.2asm.js b/test/wasm2js/func.2asm.js index 585c28552..75fd3581d 100644 --- a/test/wasm2js/func.2asm.js +++ b/test/wasm2js/func.2asm.js @@ -501,9 +501,9 @@ function asmFunc(global, env, buffer) { function $76() { var wasm2js_i32$0 = 0; wasm2js_i32$0 = 1; - FUNCTION_TABLE_v[wasm2js_i32$0 & 7](); + FUNCTION_TABLE[wasm2js_i32$0](); wasm2js_i32$0 = 4; - FUNCTION_TABLE_v[wasm2js_i32$0 & 7](); + FUNCTION_TABLE[wasm2js_i32$0](); } function $77() { @@ -523,7 +523,7 @@ function asmFunc(global, env, buffer) { wasm2js_f32$0 = Math_fround(0.0); wasm2js_i32$7 = 0; wasm2js_i32$0 = 0; - FUNCTION_TABLE_vdiidiidiifi[wasm2js_i32$0 & 7](+wasm2js_f64$0, wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, +wasm2js_f64$1, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, +wasm2js_f64$2, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0, Math_fround(wasm2js_f32$0), wasm2js_i32$7 | 0); + FUNCTION_TABLE[wasm2js_i32$0](+wasm2js_f64$0, wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, +wasm2js_f64$1, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, +wasm2js_f64$2, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0, Math_fround(wasm2js_f32$0), wasm2js_i32$7 | 0); i64toi32_i32$2 = 0; i64toi32_i32$1 = 0; i64toi32_i32$0 = 0; @@ -539,7 +539,7 @@ function asmFunc(global, env, buffer) { wasm2js_f32$0 = Math_fround(0.0); wasm2js_i32$1 = 0; wasm2js_i32$0 = 2; - FUNCTION_TABLE_vdiidiidiifi[wasm2js_i32$0 & 7](+wasm2js_f64$2, wasm2js_i32$7 | 0, wasm2js_i32$6 | 0, +wasm2js_f64$1, wasm2js_i32$5 | 0, wasm2js_i32$4 | 0, +wasm2js_f64$0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0, Math_fround(wasm2js_f32$0), wasm2js_i32$1 | 0); + FUNCTION_TABLE[wasm2js_i32$0](+wasm2js_f64$2, wasm2js_i32$7 | 0, wasm2js_i32$6 | 0, +wasm2js_f64$1, wasm2js_i32$5 | 0, wasm2js_i32$4 | 0, +wasm2js_f64$0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0, Math_fround(wasm2js_f32$0), wasm2js_i32$1 | 0); i64toi32_i32$0 = 0; i64toi32_i32$1 = 0; i64toi32_i32$2 = 0; @@ -555,13 +555,13 @@ function asmFunc(global, env, buffer) { wasm2js_f32$0 = Math_fround(0.0); wasm2js_i32$7 = 0; wasm2js_i32$0 = 3; - FUNCTION_TABLE_vdiidiidiifi[wasm2js_i32$0 & 7](+wasm2js_f64$0, wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, +wasm2js_f64$1, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, +wasm2js_f64$2, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0, Math_fround(wasm2js_f32$0), wasm2js_i32$7 | 0); + FUNCTION_TABLE[wasm2js_i32$0](+wasm2js_f64$0, wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, +wasm2js_f64$1, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, +wasm2js_f64$2, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0, Math_fround(wasm2js_f32$0), wasm2js_i32$7 | 0); } function $78() { var wasm2js_i32$0 = 0; wasm2js_i32$0 = 1; - FUNCTION_TABLE_v[wasm2js_i32$0 & 7](); + FUNCTION_TABLE[wasm2js_i32$0](); } function $79() { @@ -578,11 +578,10 @@ function asmFunc(global, env, buffer) { wasm2js_f32$0 = Math_fround(0.0); wasm2js_i32$7 = 0; wasm2js_i32$0 = 0; - FUNCTION_TABLE_vdiidiidiifi[wasm2js_i32$0 & 7](+wasm2js_f64$0, wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, +wasm2js_f64$1, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, +wasm2js_f64$2, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0, Math_fround(wasm2js_f32$0), wasm2js_i32$7 | 0); + FUNCTION_TABLE[wasm2js_i32$0](+wasm2js_f64$0, wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, +wasm2js_f64$1, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, +wasm2js_f64$2, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0, Math_fround(wasm2js_f32$0), wasm2js_i32$7 | 0); } - var FUNCTION_TABLE_v = [empty_sig_2, empty_sig_2, empty_sig_2, empty_sig_2, empty_sig_1, empty_sig_2, empty_sig_2, empty_sig_2]; - var FUNCTION_TABLE_vdiidiidiifi = [complex_sig_3, complex_sig_3, complex_sig_1, complex_sig_3, complex_sig_3, complex_sig_3, complex_sig_3, complex_sig_3]; + var FUNCTION_TABLE = [complex_sig_3, empty_sig_2, complex_sig_1, complex_sig_3, empty_sig_1]; return { f: $2, g: h, diff --git a/test/wasm2js/func_ptrs.2asm.js b/test/wasm2js/func_ptrs.2asm.js index 53f330061..7836c4ca2 100644 --- a/test/wasm2js/func_ptrs.2asm.js +++ b/test/wasm2js/func_ptrs.2asm.js @@ -51,6 +51,7 @@ function asmFunc(global, env, buffer) { print($0 | 0); } + var FUNCTION_TABLE = []; return { one: $3, two: $4, @@ -113,7 +114,7 @@ function asmFunc(global, env, buffer) { i = i | 0; var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; wasm2js_i32$1 = i; - wasm2js_i32$0 = FUNCTION_TABLE_i[wasm2js_i32$1 & 7]() | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1]() | 0; return wasm2js_i32$0 | 0; } @@ -121,11 +122,11 @@ function asmFunc(global, env, buffer) { i = i | 0; var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; wasm2js_i32$1 = i; - wasm2js_i32$0 = FUNCTION_TABLE_i[wasm2js_i32$1 & 7]() | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1]() | 0; return wasm2js_i32$0 | 0; } - var FUNCTION_TABLE_i = [t1, t2, t3, u1, u2, t1, t3, t1]; + var FUNCTION_TABLE = [t1, t2, t3, u1, u2, t1, t3]; return { callt: $5, callu: $6 @@ -172,11 +173,11 @@ function asmFunc(global, env, buffer) { i = i | 0; var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; wasm2js_i32$1 = i; - wasm2js_i32$0 = FUNCTION_TABLE_i[wasm2js_i32$1 & 1]() | 0; + wasm2js_i32$0 = FUNCTION_TABLE[wasm2js_i32$1]() | 0; return wasm2js_i32$0 | 0; } - var FUNCTION_TABLE_i = [t1, t2]; + var FUNCTION_TABLE = [t1, t2]; return { callt: $2 }; diff --git a/test/wasm2js/get-set-local.2asm.js b/test/wasm2js/get-set-local.2asm.js index 5f50972ba..ad466d8a0 100644 --- a/test/wasm2js/get-set-local.2asm.js +++ b/test/wasm2js/get-set-local.2asm.js @@ -39,6 +39,7 @@ function asmFunc(global, env, buffer) { return ($0 | 0) == (r | 0) & (i64toi32_i32$0 | 0) == (r$hi | 0) | 0 | 0; } + var FUNCTION_TABLE = []; return { check_extend_ui32: $1 }; diff --git a/test/wasm2js/get_local.2asm.js b/test/wasm2js/get_local.2asm.js index 2b8688bef..cfec0e802 100644 --- a/test/wasm2js/get_local.2asm.js +++ b/test/wasm2js/get_local.2asm.js @@ -102,6 +102,7 @@ function asmFunc(global, env, buffer) { return +($10 + (+$1_1 + ($2_1 + (+($3_1 >>> 0) + (+($4_1 | 0) + (+Math_fround(5.5) + ($21 + (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 >>> 0) + 8.0)))))))); } + var FUNCTION_TABLE = []; return { type_local_i32: $0, type_local_i64: $1, diff --git a/test/wasm2js/grow-memory-tricky.2asm.js b/test/wasm2js/grow-memory-tricky.2asm.js index 62b615bdc..0e2754f9d 100644 --- a/test/wasm2js/grow-memory-tricky.2asm.js +++ b/test/wasm2js/grow-memory-tricky.2asm.js @@ -42,6 +42,7 @@ function asmFunc(global, env, buffer) { return __wasm_grow_memory(1 | 0) | 0; } + var FUNCTION_TABLE = []; function __wasm_grow_memory(pagesToAdd) { pagesToAdd = pagesToAdd | 0; var oldPages = __wasm_current_memory() | 0; diff --git a/test/wasm2js/grow_memory.2asm.js b/test/wasm2js/grow_memory.2asm.js index ad8ff14b0..95fb080c4 100644 --- a/test/wasm2js/grow_memory.2asm.js +++ b/test/wasm2js/grow_memory.2asm.js @@ -31,6 +31,7 @@ function asmFunc(global, env, buffer) { return __wasm_current_memory() | 0; } + var FUNCTION_TABLE = []; function __wasm_grow_memory(pagesToAdd) { pagesToAdd = pagesToAdd | 0; var oldPages = __wasm_current_memory() | 0; diff --git a/test/wasm2js/hello_world.2asm.js b/test/wasm2js/hello_world.2asm.js index 403fdd4e2..59192ebfd 100644 --- a/test/wasm2js/hello_world.2asm.js +++ b/test/wasm2js/hello_world.2asm.js @@ -28,6 +28,7 @@ function asmFunc(global, env, buffer) { return x + y | 0 | 0; } + var FUNCTION_TABLE = []; return { add: add }; diff --git a/test/wasm2js/i32.2asm.js b/test/wasm2js/i32.2asm.js index adf917e9b..1f26c5ddb 100644 --- a/test/wasm2js/i32.2asm.js +++ b/test/wasm2js/i32.2asm.js @@ -232,6 +232,7 @@ function asmFunc(global, env, buffer) { return ((4294967295 << var$2 | 0) & var$0 | 0) >>> var$2 | 0 | (((4294967295 >>> var$1 | 0) & var$0 | 0) << var$1 | 0) | 0 | 0; } + var FUNCTION_TABLE = []; return { add: $0, sub: $1, diff --git a/test/wasm2js/i64-add-sub.2asm.js b/test/wasm2js/i64-add-sub.2asm.js index 521264318..1c2a4d58a 100644 --- a/test/wasm2js/i64-add-sub.2asm.js +++ b/test/wasm2js/i64-add-sub.2asm.js @@ -69,6 +69,7 @@ function asmFunc(global, env, buffer) { return (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) | 0 | 0; } + var FUNCTION_TABLE = []; return { check_add_i64: $1, check_sub_i64: $2 diff --git a/test/wasm2js/i64-ctz.2asm.js b/test/wasm2js/i64-ctz.2asm.js index bb217bc66..3ef91d90b 100644 --- a/test/wasm2js/i64-ctz.2asm.js +++ b/test/wasm2js/i64-ctz.2asm.js @@ -134,6 +134,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$5 | 0; } + var FUNCTION_TABLE = []; return { a: popcnt64, b: ctz64 diff --git a/test/wasm2js/i64-lowering.2asm.js b/test/wasm2js/i64-lowering.2asm.js index dbbbeb4a2..cb93e0af8 100644 --- a/test/wasm2js/i64-lowering.2asm.js +++ b/test/wasm2js/i64-lowering.2asm.js @@ -186,6 +186,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$0 >>> 0 < $1$hi >>> 0 | ((i64toi32_i32$0 | 0) == ($1$hi | 0) & $0 >>> 0 < $1_1 >>> 0 | 0) | 0 | 0; } + var FUNCTION_TABLE = []; return { eq_i64: $1, ne_i64: $2, diff --git a/test/wasm2js/i64-rotate.2asm.js b/test/wasm2js/i64-rotate.2asm.js index e2031cca0..4b33a5668 100644 --- a/test/wasm2js/i64-rotate.2asm.js +++ b/test/wasm2js/i64-rotate.2asm.js @@ -282,6 +282,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$5 | 0; } + var FUNCTION_TABLE = []; return { rotl: $1, rotr: $2 diff --git a/test/wasm2js/i64-select.2asm.js b/test/wasm2js/i64-select.2asm.js index e715515b0..1352cedfb 100644 --- a/test/wasm2js/i64-select.2asm.js +++ b/test/wasm2js/i64-select.2asm.js @@ -42,6 +42,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$3 | 0; } + var FUNCTION_TABLE = []; return { }; diff --git a/test/wasm2js/i64-shifts.2asm.js b/test/wasm2js/i64-shifts.2asm.js index 9c8d32f34..b08b9991a 100644 --- a/test/wasm2js/i64-shifts.2asm.js +++ b/test/wasm2js/i64-shifts.2asm.js @@ -88,6 +88,7 @@ function asmFunc(global, env, buffer) { return (i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == ($2$hi | 0) | 0 | 0; } + var FUNCTION_TABLE = []; return { shl_i64: $1, shr_i64: $2 diff --git a/test/wasm2js/i64.2asm.js b/test/wasm2js/i64.2asm.js index 7f4bfbe09..c254713c8 100644 --- a/test/wasm2js/i64.2asm.js +++ b/test/wasm2js/i64.2asm.js @@ -1581,6 +1581,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { add: $0, sub: $1, diff --git a/test/wasm2js/int_exprs.2asm.js b/test/wasm2js/int_exprs.2asm.js index d9f08eaee..605482d1f 100644 --- a/test/wasm2js/int_exprs.2asm.js +++ b/test/wasm2js/int_exprs.2asm.js @@ -101,6 +101,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0 | 0; } + var FUNCTION_TABLE = []; return { i32_no_fold_cmp_s_offset: $0, i32_no_fold_cmp_u_offset: $1, @@ -150,6 +151,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$1 | 0; } + var FUNCTION_TABLE = []; return { i64_no_fold_wrap_extend_s: $0 }; @@ -192,6 +194,7 @@ function asmFunc(global, env, buffer) { return x | 0; } + var FUNCTION_TABLE = []; return { i64_no_fold_wrap_extend_u: $0 }; @@ -298,6 +301,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$0 | 0; } + var FUNCTION_TABLE = []; return { i32_no_fold_shl_shr_s: $0, i32_no_fold_shl_shr_u: $1, @@ -410,6 +414,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$0 | 0; } + var FUNCTION_TABLE = []; return { i32_no_fold_shr_s_shl: $0, i32_no_fold_shr_u_shl: $1, @@ -1144,6 +1149,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { i32_no_fold_div_s_mul: $0, i32_no_fold_div_u_mul: $1, @@ -1878,6 +1884,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { i32_no_fold_mul_div_s: $0, i32_no_fold_mul_div_u: $1, @@ -2501,6 +2508,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { i32_no_fold_div_s_2: $0, i64_no_fold_div_s_2: $1 @@ -3103,6 +3111,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { i32_no_fold_rem_s_2: $0, i64_no_fold_rem_s_2: $1 @@ -3739,6 +3748,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { i32_div_s_3: $0, i32_div_u_3: $1, @@ -4379,6 +4389,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { i32_div_s_3: $0, i32_div_u_3: $1, @@ -5019,6 +5030,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { i32_div_s_5: $0, i32_div_u_5: $1, @@ -5659,6 +5671,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { i32_div_s_7: $0, i32_div_u_7: $1, @@ -6282,6 +6295,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { i32_rem_s_3: $0, i32_rem_u_3: $1, @@ -6905,6 +6919,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { i32_rem_s_5: $0, i32_rem_u_5: $1, @@ -7528,6 +7543,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { i32_rem_s_7: $0, i32_rem_u_7: $1, diff --git a/test/wasm2js/int_literals.2asm.js b/test/wasm2js/int_literals.2asm.js index 7e30964f0..20e9d0c68 100644 --- a/test/wasm2js/int_literals.2asm.js +++ b/test/wasm2js/int_literals.2asm.js @@ -126,6 +126,7 @@ function asmFunc(global, env, buffer) { return 42 | 0; } + var FUNCTION_TABLE = []; return { i32_test: $0, i32_umax: $1, diff --git a/test/wasm2js/labels.2asm.js b/test/wasm2js/labels.2asm.js index a6bfe109a..495692961 100644 --- a/test/wasm2js/labels.2asm.js +++ b/test/wasm2js/labels.2asm.js @@ -318,6 +318,7 @@ function asmFunc(global, env, buffer) { return $1_2 + $2_2 | 0 | 0; } + var FUNCTION_TABLE = []; return { block: $0, loop1: $1, diff --git a/test/wasm2js/left-to-right.2asm.js b/test/wasm2js/left-to-right.2asm.js index 4d3f16859..933fce892 100644 --- a/test/wasm2js/left-to-right.2asm.js +++ b/test/wasm2js/left-to-right.2asm.js @@ -488,7 +488,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$1 = i32_left() | 0; wasm2js_i32$2 = i32_right() | 0; wasm2js_i32$0 = i32_callee() | 0; - FUNCTION_TABLE_iii[wasm2js_i32$0 & 7](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0; + FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0; return get() | 0 | 0; } @@ -1033,7 +1033,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$3 = $1; wasm2js_i32$4 = i64toi32_i32$1; wasm2js_i32$0 = i64_callee() | 0; - FUNCTION_TABLE_iiiii[wasm2js_i32$0 & 7](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0) | 0; + FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0) | 0; return get() | 0 | 0; } @@ -1153,7 +1153,7 @@ function asmFunc(global, env, buffer) { wasm2js_f32$0 = Math_fround(f32_left()); wasm2js_f32$1 = Math_fround(f32_right()); wasm2js_i32$0 = f32_callee() | 0; - FUNCTION_TABLE_iff[wasm2js_i32$0 & 7](Math_fround(wasm2js_f32$0), Math_fround(wasm2js_f32$1)) | 0; + FUNCTION_TABLE[wasm2js_i32$0](Math_fround(wasm2js_f32$0), Math_fround(wasm2js_f32$1)) | 0; return get() | 0 | 0; } @@ -1297,7 +1297,7 @@ function asmFunc(global, env, buffer) { wasm2js_f64$0 = +f64_left(); wasm2js_f64$1 = +f64_right(); wasm2js_i32$0 = f64_callee() | 0; - FUNCTION_TABLE_idd[wasm2js_i32$0 & 7](+wasm2js_f64$0, +wasm2js_f64$1) | 0; + FUNCTION_TABLE[wasm2js_i32$0](+wasm2js_f64$0, +wasm2js_f64$1) | 0; return get() | 0 | 0; } @@ -2120,10 +2120,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } - var FUNCTION_TABLE_idd = [f64_t0, f64_t0, f64_t0, f64_t0, f64_t0, f64_t0, f64_t0, f64_t1]; - var FUNCTION_TABLE_iff = [f32_t0, f32_t0, f32_t0, f32_t0, f32_t0, f32_t1, f32_t0, f32_t0]; - var FUNCTION_TABLE_iii = [i32_t0, i32_t1, i32_t0, i32_t0, i32_t0, i32_t0, i32_t0, i32_t0]; - var FUNCTION_TABLE_iiiii = [i64_t0, i64_t0, i64_t0, i64_t1, i64_t0, i64_t0, i64_t0, i64_t0]; + var FUNCTION_TABLE = [i32_t0, i32_t1, i64_t0, i64_t1, f32_t0, f32_t1, f64_t0, f64_t1]; return { i32_add: $35, i32_sub: $36, diff --git a/test/wasm2js/loop.2asm.js b/test/wasm2js/loop.2asm.js index bf53d0318..9287c1326 100644 --- a/test/wasm2js/loop.2asm.js +++ b/test/wasm2js/loop.2asm.js @@ -566,6 +566,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$1 | 0; } + var FUNCTION_TABLE = []; return { empty: $1, singular: $2, diff --git a/test/wasm2js/nested-selects.2asm.js b/test/wasm2js/nested-selects.2asm.js index c08be2b2b..6827a54df 100644 --- a/test/wasm2js/nested-selects.2asm.js +++ b/test/wasm2js/nested-selects.2asm.js @@ -32,6 +32,7 @@ function asmFunc(global, env, buffer) { return (wasm2js_i32$0 = 4294967295, wasm2js_i32$1 = (wasm2js_i32$3 = 1, wasm2js_i32$4 = 0, wasm2js_i32$5 = ($0 | 0) > (0 | 0), wasm2js_i32$5 ? wasm2js_i32$3 : wasm2js_i32$4), wasm2js_i32$2 = ($0 | 0) < (0 | 0), wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1) | 0; } + var FUNCTION_TABLE = []; return { sign: $1 }; diff --git a/test/wasm2js/reinterpret.2asm.js b/test/wasm2js/reinterpret.2asm.js index 47521bb91..87b034eb3 100644 --- a/test/wasm2js/reinterpret.2asm.js +++ b/test/wasm2js/reinterpret.2asm.js @@ -54,6 +54,7 @@ function asmFunc(global, env, buffer) { return (HEAP32[__tempMemory__ >> 2] | 0 | 0) == ($0 | 0) & (i64toi32_i32$0 | 0) == ($0$hi | 0) | 0 | 0; } + var FUNCTION_TABLE = []; return { i32_roundtrip: $1, i64_roundtrip: $2 diff --git a/test/wasm2js/select.2asm.js b/test/wasm2js/select.2asm.js index ec21d2002..faf17aac1 100644 --- a/test/wasm2js/select.2asm.js +++ b/test/wasm2js/select.2asm.js @@ -75,6 +75,7 @@ function asmFunc(global, env, buffer) { return abort() | 0; } + var FUNCTION_TABLE = []; return { select_i32: $0, select_i64: $1, diff --git a/test/wasm2js/set_local.2asm.js b/test/wasm2js/set_local.2asm.js index 6728bb35e..1f4bd619b 100644 --- a/test/wasm2js/set_local.2asm.js +++ b/test/wasm2js/set_local.2asm.js @@ -97,6 +97,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$1 | 0; } + var FUNCTION_TABLE = []; return { type_local_i32: $0, type_local_i64: $1, diff --git a/test/wasm2js/stack-modified.2asm.js b/test/wasm2js/stack-modified.2asm.js index babd7bdda..0c93ffc3b 100644 --- a/test/wasm2js/stack-modified.2asm.js +++ b/test/wasm2js/stack-modified.2asm.js @@ -328,6 +328,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$1 | 0; } + var FUNCTION_TABLE = []; return { fac_expr: $0, fac_stack: $1, diff --git a/test/wasm2js/switch.2asm.js b/test/wasm2js/switch.2asm.js index 053736116..6fdd6725f 100644 --- a/test/wasm2js/switch.2asm.js +++ b/test/wasm2js/switch.2asm.js @@ -183,6 +183,7 @@ function asmFunc(global, env, buffer) { return 1 | 0; } + var FUNCTION_TABLE = []; return { stmt: $0, expr: $1, diff --git a/test/wasm2js/tee_local.2asm.js b/test/wasm2js/tee_local.2asm.js index f07a4ca7e..4ef04c043 100644 --- a/test/wasm2js/tee_local.2asm.js +++ b/test/wasm2js/tee_local.2asm.js @@ -132,6 +132,7 @@ function asmFunc(global, env, buffer) { return +($10_1 + (+Math_fround(2.0) + (3.3 + (+(4 >>> 0) + (+(5 | 0) + (+Math_fround(5.5) + ($21 + (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 >>> 0) + 8.0)))))))); } + var FUNCTION_TABLE = []; return { type_local_i32: $0, type_local_i64: $1, diff --git a/test/wasm2js/traps.2asm.js b/test/wasm2js/traps.2asm.js index 026f20abc..d95284e77 100644 --- a/test/wasm2js/traps.2asm.js +++ b/test/wasm2js/traps.2asm.js @@ -634,6 +634,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { no_dce_i32_div_s: $0, no_dce_i32_div_u: $1, @@ -1267,6 +1268,7 @@ function asmFunc(global, env, buffer) { return 32 | 0; } + var FUNCTION_TABLE = []; return { no_dce_i32_rem_s: $0, no_dce_i32_rem_u: $1, @@ -1381,6 +1383,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$2 | 0; } + var FUNCTION_TABLE = []; return { no_dce_i32_trunc_s_f32: $0, no_dce_i32_trunc_u_f32: $1, @@ -1452,6 +1455,7 @@ function asmFunc(global, env, buffer) { return +(+HEAPF64[i >> 3]); } + var FUNCTION_TABLE = []; return { no_dce_i32_load: $0, no_dce_i64_load: $1, diff --git a/test/wasm2js/unaligned.2asm.js b/test/wasm2js/unaligned.2asm.js index e30a43f05..5e7234bc8 100644 --- a/test/wasm2js/unaligned.2asm.js +++ b/test/wasm2js/unaligned.2asm.js @@ -96,6 +96,7 @@ function asmFunc(global, env, buffer) { (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0; } + var FUNCTION_TABLE = []; return { i32_load: $0, i64_load: $1, diff --git a/test/wasm2js/unary-ops.2asm.js b/test/wasm2js/unary-ops.2asm.js index 8c9114540..642958f14 100644 --- a/test/wasm2js/unary-ops.2asm.js +++ b/test/wasm2js/unary-ops.2asm.js @@ -241,6 +241,7 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$5 | 0; } + var FUNCTION_TABLE = []; return { i32_popcnt: $1, check_popcnt_i64: $2, |