summaryrefslogtreecommitdiff
path: root/test/wasm2js/set_local.2asm.js
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2019-05-01 17:18:04 -0700
committerGitHub <noreply@github.com>2019-05-01 17:18:04 -0700
commitaf459403bc6e1bb99468ad05f351665143193082 (patch)
treefd6b0c2e0bd14822c3e3bb1e0f4a3b42c78bb56c /test/wasm2js/set_local.2asm.js
parent2bd3758a22131cfd6925b3fd995657b211095c90 (diff)
downloadbinaryen-af459403bc6e1bb99468ad05f351665143193082.tar.gz
binaryen-af459403bc6e1bb99468ad05f351665143193082.tar.bz2
binaryen-af459403bc6e1bb99468ad05f351665143193082.zip
wasm2js: don't run coalesce-locals if not optimizing (#2076)
That pass is very slow on unoptimized code (super-linear on the number of locals, which if unoptimized can be massive due to flatten).
Diffstat (limited to 'test/wasm2js/set_local.2asm.js')
-rw-r--r--test/wasm2js/set_local.2asm.js215
1 files changed, 123 insertions, 92 deletions
diff --git a/test/wasm2js/set_local.2asm.js b/test/wasm2js/set_local.2asm.js
index 9a3788536..eb5a4485e 100644
--- a/test/wasm2js/set_local.2asm.js
+++ b/test/wasm2js/set_local.2asm.js
@@ -44,9 +44,9 @@ function asmFunc(global, env, buffer) {
$0_1 = $0_1 | 0;
}
- function $5($0_1, $1_1) {
+ function $5($0_1, $0$hi) {
$0_1 = $0_1 | 0;
- $1_1 = $1_1 | 0;
+ $0$hi = $0$hi | 0;
}
function $6($0_1) {
@@ -57,72 +57,86 @@ function asmFunc(global, env, buffer) {
$0_1 = +$0_1;
}
- function $8($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
+ function $8($0_1, $0$hi, $1_1, $2_1, $3_1, $4_1) {
$0_1 = $0_1 | 0;
- $1_1 = $1_1 | 0;
- $2_1 = Math_fround($2_1);
- $3_1 = +$3_1;
+ $0$hi = $0$hi | 0;
+ $1_1 = Math_fround($1_1);
+ $2_1 = +$2_1;
+ $3_1 = $3_1 | 0;
$4_1 = $4_1 | 0;
- $5_1 = $5_1 | 0;
+ var i64toi32_i32$0 = 0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$0 = 0;
}
- function $9($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
+ function $9($0_1, $0$hi, $1_1, $2_1, $3_1, $4_1) {
$0_1 = $0_1 | 0;
- $1_1 = $1_1 | 0;
- $2_1 = Math_fround($2_1);
- $3_1 = +$3_1;
+ $0$hi = $0$hi | 0;
+ $1_1 = Math_fround($1_1);
+ $2_1 = +$2_1;
+ $3_1 = $3_1 | 0;
$4_1 = $4_1 | 0;
- $5_1 = $5_1 | 0;
- var $6_1 = 0.0, $7_1 = 0.0, $8_1 = 0, $9_1 = 0;
- $4_1 = 0;
- $5_1 = $4_1;
- $4_1 = $1_1;
- $6_1 = +($0_1 >>> 0) + 4294967296.0 * +($4_1 >>> 0);
- $4_1 = $5_1;
- $0_1 = 6;
- $7_1 = +($0_1 >>> 0) + 4294967296.0 * +($4_1 >>> 0);
- $4_1 = $8_1;
- $0_1 = $9_1;
- $3_1 = $6_1 + (+Math_fround(-.30000001192092896) + ($3_1 + (+(40 >>> 0) + (+(-7 | 0) + (+Math_fround(5.5) + ($7_1 + (+($0_1 >>> 0) + 4294967296.0 * +($4_1 >>> 0) + 8.0)))))));
- if (Math_abs($3_1) >= 1.0) {
- if ($3_1 > 0.0) {
- $4_1 = ~~Math_min(Math_floor($3_1 / 4294967296.0), 4294967296.0 - 1.0) >>> 0
- } else {
- $4_1 = ~~Math_ceil(($3_1 - +(~~$3_1 >>> 0 >>> 0)) / 4294967296.0) >>> 0
+ var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0.0, $14 = 0, $15 = 0, $6$hi = 0, $10 = 0.0, $21 = 0.0, $7$hi = 0, $7_1 = 0;
+ i64toi32_i32$0 = 0;
+ $6$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = $0$hi;
+ i64toi32_i32$1 = $0_1;
+ $10 = +(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 >>> 0);
+ i64toi32_i32$0 = $6$hi;
+ i64toi32_i32$1 = 6;
+ $21 = +(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 >>> 0);
+ i64toi32_i32$0 = $7$hi;
+ i64toi32_i32$1 = $7_1;
+ i64toi32_i32$3 = $10 + (+Math_fround(-.30000001192092896) + ($2_1 + (+(40 >>> 0) + (+(-7 | 0) + (+Math_fround(5.5) + ($21 + (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 >>> 0) + 8.0)))))));
+ if (Math_abs(i64toi32_i32$3) >= 1.0) {
+ {
+ if (i64toi32_i32$3 > 0.0) {
+ $14 = ~~Math_min(Math_floor(i64toi32_i32$3 / 4294967296.0), 4294967296.0 - 1.0) >>> 0
+ } else {
+ $14 = ~~Math_ceil((i64toi32_i32$3 - +(~~i64toi32_i32$3 >>> 0 >>> 0)) / 4294967296.0) >>> 0
+ }
+ $15 = $14;
}
} else {
- $4_1 = 0
+ $15 = 0
}
- $0_1 = ~~$3_1 >>> 0;
- i64toi32_i32$HIGH_BITS = $4_1;
- return $0_1 | 0;
+ i64toi32_i32$0 = $15;
+ i64toi32_i32$1 = ~~i64toi32_i32$3 >>> 0;
+ i64toi32_i32$HIGH_BITS = i64toi32_i32$0;
+ return i64toi32_i32$1 | 0;
}
function legalstub$5($0_1, $1_1) {
$0_1 = $0_1 | 0;
$1_1 = $1_1 | 0;
- var $2_1 = 0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0;
- $2_1 = 0;
- $6_1 = $2_1;
- $2_1 = 0;
- $3_1 = 32;
- $4_1 = $3_1 & 31 | 0;
- if (32 >>> 0 <= ($3_1 & 63 | 0) >>> 0) {
+ var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
+ i64toi32_i32$0 = 0;
+ $3_1 = $0_1;
+ $3$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) {
{
- $5_1 = $1_1 << $4_1 | 0;
- $3_1 = 0;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $10 = 0;
}
} else {
{
- $5_1 = ((1 << $4_1 | 0) - 1 | 0) & ($1_1 >>> (32 - $4_1 | 0) | 0) | 0 | ($2_1 << $4_1 | 0) | 0;
- $3_1 = $1_1 << $4_1 | 0;
+ 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;
+ $10 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $1_1 = $5_1;
- $5_1 = $6_1;
- $2_1 = $0_1;
- $1_1 = $5_1 | $1_1 | 0;
- $5($2_1 | $3_1 | 0 | 0, $1_1 | 0);
+ $6$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = $3$hi;
+ i64toi32_i32$0 = $3_1;
+ i64toi32_i32$2 = $6$hi;
+ i64toi32_i32$3 = $10;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $5(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0);
}
function legalstub$8($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
@@ -132,28 +146,33 @@ function asmFunc(global, env, buffer) {
$3_1 = +$3_1;
$4_1 = $4_1 | 0;
$5_1 = $5_1 | 0;
- var $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0, $10 = 0;
- $6_1 = 0;
- $10 = $6_1;
- $6_1 = 0;
- $7_1 = 32;
- $8_1 = $7_1 & 31 | 0;
- if (32 >>> 0 <= ($7_1 & 63 | 0) >>> 0) {
+ var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $14 = 0, $7_1 = 0, $7$hi = 0, $10$hi = 0;
+ i64toi32_i32$0 = 0;
+ $7_1 = $0_1;
+ $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) {
{
- $9_1 = $1_1 << $8_1 | 0;
- $7_1 = 0;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $14 = 0;
}
} else {
{
- $9_1 = ((1 << $8_1 | 0) - 1 | 0) & ($1_1 >>> (32 - $8_1 | 0) | 0) | 0 | ($6_1 << $8_1 | 0) | 0;
- $7_1 = $1_1 << $8_1 | 0;
+ 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;
+ $14 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $1_1 = $9_1;
- $9_1 = $10;
- $6_1 = $0_1;
- $1_1 = $9_1 | $1_1 | 0;
- $8($6_1 | $7_1 | 0 | 0, $1_1 | 0, Math_fround($2_1), +$3_1, $4_1 | 0, $5_1 | 0);
+ $10$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = $7$hi;
+ i64toi32_i32$0 = $7_1;
+ i64toi32_i32$2 = $10$hi;
+ i64toi32_i32$3 = $14;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $8(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, Math_fround($2_1), +$3_1, $4_1 | 0, $5_1 | 0);
}
function legalstub$9($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
@@ -163,42 +182,54 @@ function asmFunc(global, env, buffer) {
$3_1 = +$3_1;
$4_1 = $4_1 | 0;
$5_1 = $5_1 | 0;
- var $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0, $10 = 0;
- $7_1 = 0;
- $9_1 = $0_1;
- $10 = $7_1;
- $7_1 = 0;
- $8_1 = 32;
- $6_1 = $8_1 & 31 | 0;
- if (32 >>> 0 <= ($8_1 & 63 | 0) >>> 0) {
+ var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $16 = 0, $17 = 0, $8_1 = 0, $8$hi = 0, $11$hi = 0, $6_1 = 0, $6$hi = 0;
+ i64toi32_i32$0 = 0;
+ $8_1 = $0_1;
+ $8$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) {
{
- $0_1 = $1_1 << $6_1 | 0;
- $8_1 = 0;
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $16 = 0;
}
} else {
{
- $0_1 = ((1 << $6_1 | 0) - 1 | 0) & ($1_1 >>> (32 - $6_1 | 0) | 0) | 0 | ($7_1 << $6_1 | 0) | 0;
- $8_1 = $1_1 << $6_1 | 0;
+ 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;
+ $16 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
}
}
- $1_1 = $0_1;
- $0_1 = $10;
- $7_1 = $9_1;
- $1_1 = $0_1 | $1_1 | 0;
- $1_1 = $9($7_1 | $8_1 | 0 | 0, $1_1 | 0, Math_fround($2_1), +$3_1, $4_1 | 0, $5_1 | 0) | 0;
- $7_1 = i64toi32_i32$HIGH_BITS;
- $5_1 = $1_1;
- $4_1 = $7_1;
- $0_1 = $1_1;
- $8_1 = 32;
- $6_1 = $8_1 & 31 | 0;
- if (32 >>> 0 <= ($8_1 & 63 | 0) >>> 0) {
- $0_1 = $7_1 >>> $6_1 | 0
+ $11$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = $8$hi;
+ i64toi32_i32$0 = $8_1;
+ i64toi32_i32$2 = $11$hi;
+ i64toi32_i32$3 = $16;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $9(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, Math_fround($2_1), +$3_1, $4_1 | 0, $5_1 | 0) | 0;
+ i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
+ $6_1 = i64toi32_i32$2;
+ $6$hi = i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$2;
+ 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 = 0;
+ $17 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ }
} else {
- $0_1 = (((1 << $6_1 | 0) - 1 | 0) & $7_1 | 0) << (32 - $6_1 | 0) | 0 | ($0_1 >>> $6_1 | 0) | 0
+ {
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $17 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
+ }
}
- setTempRet0($0_1 | 0);
- return $5_1 | 0;
+ setTempRet0($17 | 0);
+ i64toi32_i32$2 = $6$hi;
+ return $6_1 | 0;
}
var FUNCTION_TABLE = [];