diff options
author | Alon Zakai <alonzakai@gmail.com> | 2019-04-19 15:22:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-19 15:22:55 -0700 |
commit | db14d0477f2715e3071687f42b77d8712477d83e (patch) | |
tree | 7cb4f679bfc18cbb7d4a87db0b3d5a02f6bcaeed /test/wasm2js/i64-rotate.2asm.js | |
parent | a4baf2152d11c28964025759d2702fe7c48d321e (diff) | |
download | binaryen-db14d0477f2715e3071687f42b77d8712477d83e.tar.gz binaryen-db14d0477f2715e3071687f42b77d8712477d83e.tar.bz2 binaryen-db14d0477f2715e3071687f42b77d8712477d83e.zip |
wasm2js2 import fixes (#2031)
* Don't assume function types exist in legalize-js-interface.
* Properly handle (ignore) imports in RemoveNonJSOps - do not try to recurse into them.
* Run legalize-js-interface and remove-unused-module-elements in wasm2js, the first is necessary, the last is nice to have.
Diffstat (limited to 'test/wasm2js/i64-rotate.2asm.js')
-rw-r--r-- | test/wasm2js/i64-rotate.2asm.js | 198 |
1 files changed, 192 insertions, 6 deletions
diff --git a/test/wasm2js/i64-rotate.2asm.js b/test/wasm2js/i64-rotate.2asm.js index b7684673a..4506e8e35 100644 --- a/test/wasm2js/i64-rotate.2asm.js +++ b/test/wasm2js/i64-rotate.2asm.js @@ -22,10 +22,6 @@ function asmFunc(global, env, buffer) { var nan = global.NaN; var infinity = global.Infinity; var i64toi32_i32$HIGH_BITS = 0; - function dummy() { - - } - function $1($0, $0$hi, $1_1, $1$hi, $2_1, $2$hi) { $0 = $0 | 0; $0$hi = $0$hi | 0; @@ -70,6 +66,196 @@ function asmFunc(global, env, buffer) { return (i64toi32_i32$2 | 0) == ($2_1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0 | 0; } + function legalstub$1($0, $1_1, $2_1, $3, $4, $5) { + $0 = $0 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 0, $7 = 0, $7$hi = 0, $10$hi = 0, $11 = 0, $11$hi = 0, $13 = 0, $13$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0; + i64toi32_i32$0 = 0; + $7 = $0; + $7$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; + $26 = 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; + $26 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $7$hi; + i64toi32_i32$0 = $7; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$3 = $26; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $11 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $13 = $2_1; + $13$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3; + 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 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $27 = 0; + } + } else { + { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $27 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $16$hi = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$2 = $13; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$3 = $27; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $17 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $17$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $19 = $4; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $5; + 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 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $28 = 0; + } + } else { + { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + } + $22$hi = i64toi32_i32$2; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$1 = $19; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$3 = $28; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $23$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$2 = $23$hi; + return $1($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function legalstub$2($0, $1_1, $2_1, $3, $4, $5) { + $0 = $0 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $26 = 0, $27 = 0, $28 = 0, $7 = 0, $7$hi = 0, $10$hi = 0, $11 = 0, $11$hi = 0, $13 = 0, $13$hi = 0, $16$hi = 0, $17 = 0, $17$hi = 0, $19 = 0, $19$hi = 0, $22$hi = 0, $23 = 0, $23$hi = 0; + i64toi32_i32$0 = 0; + $7 = $0; + $7$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; + $26 = 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; + $26 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $7$hi; + i64toi32_i32$0 = $7; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$3 = $26; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $11 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $13 = $2_1; + $13$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3; + 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 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $27 = 0; + } + } else { + { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $27 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $16$hi = i64toi32_i32$0; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$2 = $13; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$3 = $27; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $17 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $17$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $19 = $4; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = $5; + 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 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $28 = 0; + } + } else { + { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $28 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + } + $22$hi = i64toi32_i32$2; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$1 = $19; + i64toi32_i32$0 = $22$hi; + i64toi32_i32$3 = $28; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + $23 = i64toi32_i32$1 | i64toi32_i32$3 | 0; + $23$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$2 = $23$hi; + return $2($11 | 0, i64toi32_i32$0 | 0, $17 | 0, i64toi32_i32$1 | 0, $23 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + function __wasm_rotl_i64(var$0, var$0$hi, var$1, var$1$hi) { var$0 = var$0 | 0; var$0$hi = var$0$hi | 0; @@ -316,8 +502,8 @@ function asmFunc(global, env, buffer) { var FUNCTION_TABLE = []; return { - rotl: $1, - rotr: $2 + rotl: legalstub$1, + rotr: legalstub$2 }; } |