diff options
author | Alon Zakai <alonzakai@gmail.com> | 2019-04-15 13:57:56 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-15 13:57:56 -0700 |
commit | 1e91e1b666cc76874732d27843d0048c15b6152b (patch) | |
tree | 67186c2b0370f77102cc2167b4676c3cc13203c6 /test/wasm2js/func_ptrs.2asm.js | |
parent | a803c119f1a4babb7efc3dda0f475e1e87893475 (diff) | |
download | binaryen-1e91e1b666cc76874732d27843d0048c15b6152b.tar.gz binaryen-1e91e1b666cc76874732d27843d0048c15b6152b.tar.bz2 binaryen-1e91e1b666cc76874732d27843d0048c15b6152b.zip |
Use a single table in wasm2js (#2005)
This replaces the multiple asm.js tables (of power-of-2 size) with a single simple table.
Also supports importing the table.
Diffstat (limited to 'test/wasm2js/func_ptrs.2asm.js')
-rw-r--r-- | test/wasm2js/func_ptrs.2asm.js | 11 |
1 files changed, 6 insertions, 5 deletions
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 }; |