summaryrefslogtreecommitdiff
path: root/test/wasm2js/i64-shifts.2asm.js
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2019-04-24 15:27:05 -0700
committerGitHub <noreply@github.com>2019-04-24 15:27:05 -0700
commitc3ed0f176b36a502ef2e1fd915550a808b8d8f0b (patch)
tree6abff96331025a74e18cfa4f173a997d3c800559 /test/wasm2js/i64-shifts.2asm.js
parentbc0a605e8864324d40aafbd00e8de0e50240ce26 (diff)
downloadbinaryen-c3ed0f176b36a502ef2e1fd915550a808b8d8f0b.tar.gz
binaryen-c3ed0f176b36a502ef2e1fd915550a808b8d8f0b.tar.bz2
binaryen-c3ed0f176b36a502ef2e1fd915550a808b8d8f0b.zip
wasm2js: more js optimization (#2050)
* Emit ints as signed, so -1 isn't a big unsigned number. * x - -c (where c is a constant) is larger than x + c in js (but not wasm) * +(+x) => +x * Avoid unnecessary coercions on calls, return, load, etc. - we just need coercions when entering or exiting "wasm" (not internally), and on actual operations that need them.
Diffstat (limited to 'test/wasm2js/i64-shifts.2asm.js')
-rw-r--r--test/wasm2js/i64-shifts.2asm.js16
1 files changed, 2 insertions, 14 deletions
diff --git a/test/wasm2js/i64-shifts.2asm.js b/test/wasm2js/i64-shifts.2asm.js
index 7602fb332..d21c92d37 100644
--- a/test/wasm2js/i64-shifts.2asm.js
+++ b/test/wasm2js/i64-shifts.2asm.js
@@ -92,12 +92,6 @@ function asmFunc(global, env, buffer) {
}
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;
@@ -183,16 +177,10 @@ function asmFunc(global, env, buffer) {
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;
+ return $1($11, i64toi32_i32$0, $17, i64toi32_i32$1, $23, i64toi32_i32$2);
}
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;
@@ -278,7 +266,7 @@ function asmFunc(global, env, buffer) {
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;
+ return $2($11, i64toi32_i32$0, $17, i64toi32_i32$1, $23, i64toi32_i32$2);
}
var FUNCTION_TABLE = [];