From 89975616707df597d7ed783c4a577d3bf1b2404a Mon Sep 17 00:00:00 2001 From: Max Graey Date: Thu, 3 May 2018 19:25:32 +0300 Subject: [PATCH] Update dependencies (#93) --- examples/n-body/build/index.asm.js | 143 ++++++++--------- examples/n-body/build/optimized.wasm | Bin 2338 -> 2298 bytes examples/n-body/build/optimized.wat | 204 ++++++++++-------------- package-lock.json | 200 +++++++++++++++-------- package.json | 6 +- src/extra/ast.ts | 2 +- tests/compiler/std/libm.optimized.wat | 22 +-- tests/compiler/std/math.optimized.wat | 68 ++++---- tests/compiler/std/string.optimized.wat | 151 +++++++++--------- 9 files changed, 405 insertions(+), 391 deletions(-) diff --git a/examples/n-body/build/index.asm.js b/examples/n-body/build/index.asm.js index 3a63874d..a8431989 100644 --- a/examples/n-body/build/index.asm.js +++ b/examples/n-body/build/index.asm.js @@ -150,7 +150,7 @@ function asmFunc(global, env, buffer) { function $lib_array_Array_Body__constructor($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0; + var $2 = 0, $3 = 0, $4 = 0; if ($1 >>> 0 > 268435454 >>> 0) { abort(0 | 0, 4 | 0, 23 | 0, 39 | 0); abort(); @@ -160,13 +160,12 @@ function asmFunc(global, env, buffer) { $4 = $lib_allocator_arena_allocate_memory(1 << (32 - Math_clz32($2 + 7 | 0) | 0) | 0 | 0) | 0; HEAP32[$4 >> 2] = $2; $2 = $4; - if ($0) $5 = $0; else { + if (($0 | 0) == (0 | 0)) { $0 = $lib_allocator_arena_allocate_memory(8 | 0) | 0; HEAP32[$0 >> 2] = 0; HEAP32[($0 + 4 | 0) >> 2] = 0; - $5 = $0; } - HEAP32[$5 >> 2] = $2; + HEAP32[$0 >> 2] = $2; HEAP32[($0 + 4 | 0) >> 2] = $1; $lib_memory_set_memory($2 + 8 | 0 | 0, 0 | 0, $3 | 0); return $0 | 0; @@ -176,24 +175,21 @@ function asmFunc(global, env, buffer) { $0 = $0 | 0; $1 = $1 | 0; var $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0; - $2 = $1; - $8 = HEAP32[($2 + 4 | 0) >> 2] | 0; + $8 = HEAP32[($1 + 4 | 0) >> 2] | 0; continue_0 : do { - if (($3 | 0) < ($8 | 0)) { - $2 = $3; - $2 = HEAPU32[(((HEAPU32[$1 >> 2] | 0) + ($2 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; - $4 = +HEAPF64[($2 + 48 | 0) >> 3]; - $5 = $5 + +HEAPF64[($2 + 24 | 0) >> 3] * $4; - $6 = $6 + +HEAPF64[($2 + 32 | 0) >> 3] * $4; - $7 = $7 + +HEAPF64[($2 + 40 | 0) >> 3] * $4; - $3 = $3 + 1 | 0; + if (($2 | 0) < ($8 | 0)) { + $3 = HEAPU32[(((HEAPU32[$1 >> 2] | 0) + ($2 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; + $4 = +HEAPF64[($3 + 48 | 0) >> 3]; + $5 = $5 + +HEAPF64[($3 + 24 | 0) >> 3] * $4; + $6 = $6 + +HEAPF64[($3 + 32 | 0) >> 3] * $4; + $7 = $7 + +HEAPF64[($3 + 40 | 0) >> 3] * $4; + $2 = $2 + 1 | 0; continue continue_0; } break continue_0; } while (1); - $2 = $1; - $2 = HEAPU32[$2 >> 2] | 0; - if (0 >>> 0 < ((HEAP32[$2 >> 2] | 0) >>> 2 | 0) >>> 0) $9 = HEAPU32[(($2 + 0 | 0) + 8 | 0) >> 2] | 0; else abort(); + $2 = HEAPU32[$1 >> 2] | 0; + if (0 >>> 0 < ((HEAP32[$2 >> 2] | 0) >>> 2 | 0) >>> 0) $9 = HEAPU32[($2 + 8 | 0) >> 2] | 0; else abort(); $2 = $9; HEAPF64[($2 + 24 | 0) >> 3] = -$5 / 39.47841760435743; HEAPF64[($2 + 32 | 0) >> 3] = -$6 / 39.47841760435743; @@ -206,23 +202,19 @@ function asmFunc(global, env, buffer) { } function assembly_index_init() { - var $2 = 0, $0 = 0, $1 = 0; + var $0 = 0, $1 = 0, $2 = 0; $1 = $lib_array_Array_Body__constructor(0 | 0, 5 | 0) | 0; - $2 = $1; - $0 = assembly_index_Body_constructor(0 | 0, +(0.0), +(0.0), +(0.0), +(0.0), +(0.0), +(0.0), +(39.47841760435743)) | 0; - HEAP32[(((HEAPU32[$2 >> 2] | 0) + 0 | 0) + 8 | 0) >> 2] = $0; + $0 = $1; + $2 = assembly_index_Body_constructor(0 | 0, +(0.0), +(0.0), +(0.0), +(0.0), +(0.0), +(0.0), +(39.47841760435743)) | 0; + HEAP32[((HEAPU32[$0 >> 2] | 0) + 8 | 0) >> 2] = $2; $0 = assembly_index_Body_constructor(0 | 0, +(4.841431442464721), +(-1.1603200440274284), +(-.10362204447112311), +(.606326392995832), +(2.81198684491626), +(-.02521836165988763), +(.03769367487038949)) | 0; - $2 = $1; - HEAP32[(((HEAPU32[$2 >> 2] | 0) + 4 | 0) + 8 | 0) >> 2] = $0; + HEAP32[(((HEAPU32[$1 >> 2] | 0) + 4 | 0) + 8 | 0) >> 2] = $0; $0 = assembly_index_Body_constructor(0 | 0, +(8.34336671824458), +(4.124798564124305), +(-.4035234171143214), +(-1.0107743461787924), +(1.8256623712304119), +(.008415761376584154), +(.011286326131968767)) | 0; - $2 = $1; - HEAP32[(((HEAPU32[$2 >> 2] | 0) + 8 | 0) + 8 | 0) >> 2] = $0; + HEAP32[(((HEAPU32[$1 >> 2] | 0) + 8 | 0) + 8 | 0) >> 2] = $0; $0 = assembly_index_Body_constructor(0 | 0, +(12.894369562139131), +(-15.111151401698631), +(-.22330757889265573), +(1.0827910064415354), +(.8687130181696082), +(-.010832637401363636), +(1.7237240570597112e-03)) | 0; - $2 = $1; - HEAP32[(((HEAPU32[$2 >> 2] | 0) + 12 | 0) + 8 | 0) >> 2] = $0; + HEAP32[(((HEAPU32[$1 >> 2] | 0) + 12 | 0) + 8 | 0) >> 2] = $0; $0 = assembly_index_Body_constructor(0 | 0, +(15.379697114850917), +(-25.919314609987964), +(.17925877295037118), +(.979090732243898), +(.5946989986476762), +(-.034755955504078104), +(2.0336868699246304e-03)) | 0; - $2 = $1; - HEAP32[(((HEAPU32[$2 >> 2] | 0) + 16 | 0) + 8 | 0) >> 2] = $0; + HEAP32[(((HEAPU32[$1 >> 2] | 0) + 16 | 0) + 8 | 0) >> 2] = $0; assembly_index_system = assembly_index_NBodySystem_constructor(0 | 0, $1 | 0) | 0; } @@ -241,52 +233,48 @@ function asmFunc(global, env, buffer) { function assembly_index_NBodySystem_advance($0, $1) { $0 = $0 | 0; $1 = +$1; - var $2 = 0, $3 = 0, $4 = 0.0, $9 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; + var $2 = 0, $3 = 0.0, $9 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; $13 = HEAPU32[$0 >> 2] | 0; - $0 = $13; - $14 = HEAP32[($0 + 4 | 0) >> 2] | 0; + $14 = HEAP32[($13 + 4 | 0) >> 2] | 0; continue_0 : do { - if ($5 >>> 0 < $14 >>> 0) { - $0 = $13; - $3 = $5; - $0 = HEAPU32[(((HEAPU32[$0 >> 2] | 0) + ($3 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; + if ($4 >>> 0 < $14 >>> 0) { + $0 = HEAPU32[(((HEAPU32[$13 >> 2] | 0) + ($4 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; $15 = +HEAPF64[$0 >> 3]; $16 = +HEAPF64[($0 + 8 | 0) >> 3]; $17 = +HEAPF64[($0 + 16 | 0) >> 3]; - $6 = +HEAPF64[($0 + 24 | 0) >> 3]; - $7 = +HEAPF64[($0 + 32 | 0) >> 3]; - $8 = +HEAPF64[($0 + 40 | 0) >> 3]; + $5 = +HEAPF64[($0 + 24 | 0) >> 3]; + $6 = +HEAPF64[($0 + 32 | 0) >> 3]; + $7 = +HEAPF64[($0 + 40 | 0) >> 3]; $18 = +HEAPF64[($0 + 48 | 0) >> 3]; - $3 = $5 + 1 | 0; + $8 = $4 + 1 | 0; continue_1 : do { - if ($3 >>> 0 < $14 >>> 0) { - $2 = $13; - $2 = HEAPU32[(((HEAPU32[$2 >> 2] | 0) + ($3 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; + if ($8 >>> 0 < $14 >>> 0) { + $2 = HEAPU32[(((HEAPU32[$13 >> 2] | 0) + ($8 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; $10 = $15 - +HEAPF64[$2 >> 3]; $11 = $16 - +HEAPF64[($2 + 8 | 0) >> 3]; $12 = $17 - +HEAPF64[($2 + 16 | 0) >> 3]; - $4 = $10 * $10 + $11 * $11 + $12 * $12; - $9 = $1 / ($4 * Math_sqrt($4)); - $4 = $18 * $9; + $3 = $10 * $10 + $11 * $11 + $12 * $12; + $9 = $1 / ($3 * Math_sqrt($3)); + $3 = $18 * $9; $9 = +HEAPF64[($2 + 48 | 0) >> 3] * $9; - $6 = $6 - $10 * $9; - $7 = $7 - $11 * $9; - $8 = $8 - $12 * $9; - HEAPF64[($2 + 24 | 0) >> 3] = +HEAPF64[($2 + 24 | 0) >> 3] + $10 * $4; - HEAPF64[($2 + 32 | 0) >> 3] = +HEAPF64[($2 + 32 | 0) >> 3] + $11 * $4; - HEAPF64[($2 + 40 | 0) >> 3] = +HEAPF64[($2 + 40 | 0) >> 3] + $12 * $4; - $3 = $3 + 1 | 0; + $5 = $5 - $10 * $9; + $6 = $6 - $11 * $9; + $7 = $7 - $12 * $9; + HEAPF64[($2 + 24 | 0) >> 3] = +HEAPF64[($2 + 24 | 0) >> 3] + $10 * $3; + HEAPF64[($2 + 32 | 0) >> 3] = +HEAPF64[($2 + 32 | 0) >> 3] + $11 * $3; + HEAPF64[($2 + 40 | 0) >> 3] = +HEAPF64[($2 + 40 | 0) >> 3] + $12 * $3; + $8 = $8 + 1 | 0; continue continue_1; } break continue_1; } while (1); - HEAPF64[($0 + 24 | 0) >> 3] = $6; - HEAPF64[($0 + 32 | 0) >> 3] = $7; - HEAPF64[($0 + 40 | 0) >> 3] = $8; - HEAPF64[$0 >> 3] = +HEAPF64[$0 >> 3] + $1 * $6; - HEAPF64[($0 + 8 | 0) >> 3] = +HEAPF64[($0 + 8 | 0) >> 3] + $1 * $7; - HEAPF64[($0 + 16 | 0) >> 3] = +HEAPF64[($0 + 16 | 0) >> 3] + $1 * $8; - $5 = $5 + 1 | 0; + HEAPF64[($0 + 24 | 0) >> 3] = $5; + HEAPF64[($0 + 32 | 0) >> 3] = $6; + HEAPF64[($0 + 40 | 0) >> 3] = $7; + HEAPF64[$0 >> 3] = +HEAPF64[$0 >> 3] + $1 * $5; + HEAPF64[($0 + 8 | 0) >> 3] = +HEAPF64[($0 + 8 | 0) >> 3] + $1 * $6; + HEAPF64[($0 + 16 | 0) >> 3] = +HEAPF64[($0 + 16 | 0) >> 3] + $1 * $7; + $4 = $4 + 1 | 0; continue continue_0; } break continue_0; @@ -295,41 +283,36 @@ function asmFunc(global, env, buffer) { function assembly_index_NBodySystem_energy($0) { $0 = $0 | 0; - var $1 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $10 = 0.0, $11 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0; + var $1 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $10 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0; $4 = HEAPU32[$0 >> 2] | 0; - $0 = $4; - $5 = HEAP32[($0 + 4 | 0) >> 2] | 0; + $5 = HEAP32[($4 + 4 | 0) >> 2] | 0; continue_0 : do { if ($3 >>> 0 < $5 >>> 0) { - $0 = $4; - $2 = $3; - $0 = HEAPU32[(((HEAPU32[$0 >> 2] | 0) + ($2 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; + $0 = HEAPU32[(((HEAPU32[$4 >> 2] | 0) + ($3 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; $7 = +HEAPF64[$0 >> 3]; $8 = +HEAPF64[($0 + 8 | 0) >> 3]; $9 = +HEAPF64[($0 + 16 | 0) >> 3]; - $12 = $1; + $11 = $1; $10 = +HEAPF64[($0 + 48 | 0) >> 3]; $1 = +HEAPF64[($0 + 24 | 0) >> 3]; - $13 = $1 * $1; + $12 = $1 * $1; $1 = +HEAPF64[($0 + 32 | 0) >> 3]; - $14 = $13 + $1 * $1; + $13 = $12 + $1 * $1; $1 = +HEAPF64[($0 + 40 | 0) >> 3]; - $1 = $12 + .5 * $10 * ($14 + $1 * $1); + $1 = $11 + .5 * $10 * ($13 + $1 * $1); $0 = $3 + 1 | 0; continue_1 : do { if ($0 >>> 0 < $5 >>> 0) { - $15 = $7; - $11 = $0; - $2 = $4; - $2 = HEAPU32[$2 >> 2] | 0; - if ($11 >>> 0 < ((HEAP32[$2 >> 2] | 0) >>> 2 | 0) >>> 0) $16 = HEAPU32[(($2 + ($11 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; else abort(); - $2 = $16; - $6 = $15 - +HEAPF64[$2 >> 3]; - $17 = $1; + $14 = $7; + $2 = HEAPU32[$4 >> 2] | 0; + if ($0 >>> 0 < ((HEAP32[$2 >> 2] | 0) >>> 2 | 0) >>> 0) $15 = HEAPU32[(($2 + ($0 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; else abort(); + $2 = $15; + $6 = $14 - +HEAPF64[$2 >> 3]; + $16 = $1; $1 = $8 - +HEAPF64[($2 + 8 | 0) >> 3]; - $18 = $6 * $6 + $1 * $1; + $17 = $6 * $6 + $1 * $1; $1 = $9 - +HEAPF64[($2 + 16 | 0) >> 3]; - $1 = $17 - $10 * +HEAPF64[($2 + 48 | 0) >> 3] / Math_sqrt($18 + $1 * $1); + $1 = $16 - $10 * +HEAPF64[($2 + 48 | 0) >> 3] / Math_sqrt($17 + $1 * $1); $0 = $0 + 1 | 0; continue continue_1; } diff --git a/examples/n-body/build/optimized.wasm b/examples/n-body/build/optimized.wasm index e7dcc0fb16bb00c01c66869b878312a37e31031b..096ab8bd0015509b823f7ffa4ed7acb962dc1ade 100644 GIT binary patch delta 590 zcmYjOy-EZz5S~mXx#$Y6+E`f32808ft1LwD78Lwx#L`aeP7nmK68068Jb-trw*I_< z;ERYap@@hxxf5K-&i5sg`6l1A^IvmU59a>)@fgi%TCnTQ7WL~;ng}(lB5)2=FfeAy zW)+FC4ucxlmX@J-F=!jQWYa~e$o3hTwyCdNZq;}`=wgU=#r7)4o&_wjYloHRjuOtK z!$C=RIkO=5%%H*{HZ`EE+LaVd1?h-312Sag^hCSq zn-0>xJ4ko3KHXk?M|921Wlo7sJNDACWxpdG3kOaoer?IByuO9TC-ZE0c6?6h)n9wc z3F)x2+vHrUtri~!sqvHQ_MabGUHCsgV8ue!VF{rM8p>*l-6rJkZ9{i@ak|yG7@fGH zh%*{0?2chOY{b><7D&6mq*78h%SCl=Vw#azj%VSZh(_c`G6KibEV$RoWPB?_5E4cc bnJH!Egx%bZL<#iWppX3;>O1ENH9=~6MCTUOfr=O26h&5W;ir@iy9=JNZu7ieCVTlQ$Ak-_EAnFJXQ z5m<#7T1K^O4v`ph7&5T!tgQSrXh%9@ldwmMWRKZ0J)&bay_{eZW_&&L7!n@XRdnoG zf_-+=I(lxZVKoh}LUp~mz&4v9+NEh*Vd?2m5s>lCi4=+%hH_<}-u_{Y9W$W3*>#jm z#9W@!-SUnWJ-ELz(Cl6PCa9tjc|-a=w+{?s5MI(T&S91_33PL@0V`iP)b= zOPT?uRG#>IcStMLhIMt14d0YK700%G@t^#*iE`AOj=Gy_KkfTU@iWD4DRpqjR4JN~ zs+0LYIykTp1B-;XsM5t9_76dyUk_?#mD;K5e)8-!VvW`{*(X0rcC9nVS~dty8mTxr zH#vdU`_j)mVZ(0bJ7|-U5;n1s>uXu!)g*Vb=~YfUu@)tL1{}<-i8~- Imk;69KkwmVzyJUM diff --git a/examples/n-body/build/optimized.wat b/examples/n-body/build/optimized.wat index c27d7af0..4ee6e88b 100644 --- a/examples/n-body/build/optimized.wat +++ b/examples/n-body/build/optimized.wat @@ -534,26 +534,27 @@ (set_local $2 (get_local $4) ) - (i32.store - (if (result i32) + (if + (i32.eqz (get_local $0) - (get_local $0) - (block (result i32) - (i32.store - (tee_local $0 - (call $~lib/allocator/arena/allocate_memory - (i32.const 8) - ) + ) + (block + (i32.store + (tee_local $0 + (call $~lib/allocator/arena/allocate_memory + (i32.const 8) ) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $0) - (i32.const 0) ) + (i32.const 0) + ) + (i32.store offset=4 (get_local $0) + (i32.const 0) ) ) + ) + (i32.store + (get_local $0) (get_local $2) ) (i32.store offset=4 @@ -580,30 +581,26 @@ (local $8 i32) (set_local $8 (i32.load offset=4 - (tee_local $2 - (get_local $1) - ) + (get_local $1) ) ) (loop $continue|0 (if (i32.lt_s - (get_local $3) + (get_local $2) (get_local $8) ) (block (set_local $4 (f64.load offset=48 - (tee_local $2 + (tee_local $3 (i32.load offset=8 (i32.add (i32.load (get_local $1) ) (i32.shl - (tee_local $2 - (get_local $3) - ) + (get_local $2) (i32.const 2) ) ) @@ -616,7 +613,7 @@ (get_local $5) (f64.mul (f64.load offset=24 - (get_local $2) + (get_local $3) ) (get_local $4) ) @@ -627,7 +624,7 @@ (get_local $6) (f64.mul (f64.load offset=32 - (get_local $2) + (get_local $3) ) (get_local $4) ) @@ -638,15 +635,15 @@ (get_local $7) (f64.mul (f64.load offset=40 - (get_local $2) + (get_local $3) ) (get_local $4) ) ) ) - (set_local $3 + (set_local $2 (i32.add - (get_local $3) + (get_local $2) (i32.const 1) ) ) @@ -663,9 +660,7 @@ (i32.load (tee_local $2 (i32.load - (tee_local $2 - (get_local $1) - ) + (get_local $1) ) ) ) @@ -673,10 +668,7 @@ ) ) (i32.load offset=8 - (i32.add - (get_local $2) - (i32.const 0) - ) + (get_local $2) ) (unreachable) ) @@ -729,7 +721,7 @@ (call $assembly/index/NBodySystem#constructor (i32.const 0) (block (result i32) - (set_local $2 + (set_local $0 (tee_local $1 (call $~lib/array/Array#constructor (i32.const 0) @@ -737,7 +729,7 @@ ) ) ) - (set_local $0 + (set_local $2 (call $assembly/index/Body#constructor (i32.const 0) (f64.const 0) @@ -750,13 +742,10 @@ ) ) (i32.store offset=8 - (i32.add - (i32.load - (get_local $2) - ) - (i32.const 0) + (i32.load + (get_local $0) ) - (get_local $0) + (get_local $2) ) (set_local $0 (call $assembly/index/Body#constructor @@ -773,9 +762,7 @@ (i32.store offset=8 (i32.add (i32.load - (tee_local $2 - (get_local $1) - ) + (get_local $1) ) (i32.const 4) ) @@ -796,9 +783,7 @@ (i32.store offset=8 (i32.add (i32.load - (tee_local $2 - (get_local $1) - ) + (get_local $1) ) (i32.const 8) ) @@ -819,9 +804,7 @@ (i32.store offset=8 (i32.add (i32.load - (tee_local $2 - (get_local $1) - ) + (get_local $1) ) (i32.const 12) ) @@ -842,9 +825,7 @@ (i32.store offset=8 (i32.add (i32.load - (tee_local $2 - (get_local $1) - ) + (get_local $1) ) (i32.const 16) ) @@ -898,12 +879,12 @@ ) (func $assembly/index/NBodySystem#advance (; 8 ;) (type $iFv) (param $0 i32) (param $1 f64) (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 i32) + (local $3 f64) + (local $4 i32) + (local $5 f64) (local $6 f64) (local $7 f64) - (local $8 f64) + (local $8 i32) (local $9 f64) (local $10 f64) (local $11 f64) @@ -916,11 +897,9 @@ (local $18 f64) (set_local $14 (i32.load offset=4 - (tee_local $0 - (tee_local $13 - (i32.load - (get_local $0) - ) + (tee_local $13 + (i32.load + (get_local $0) ) ) ) @@ -928,7 +907,7 @@ (loop $continue|0 (if (i32.lt_u - (get_local $5) + (get_local $4) (get_local $14) ) (block @@ -938,14 +917,10 @@ (i32.load offset=8 (i32.add (i32.load - (tee_local $0 - (get_local $13) - ) + (get_local $13) ) (i32.shl - (tee_local $3 - (get_local $5) - ) + (get_local $4) (i32.const 2) ) ) @@ -963,17 +938,17 @@ (get_local $0) ) ) - (set_local $6 + (set_local $5 (f64.load offset=24 (get_local $0) ) ) - (set_local $7 + (set_local $6 (f64.load offset=32 (get_local $0) ) ) - (set_local $8 + (set_local $7 (f64.load offset=40 (get_local $0) ) @@ -983,27 +958,27 @@ (get_local $0) ) ) - (set_local $3 + (set_local $8 (i32.add - (get_local $5) + (get_local $4) (i32.const 1) ) ) (loop $continue|1 (if (i32.lt_u - (get_local $3) + (get_local $8) (get_local $14) ) (block - (set_local $4 + (set_local $3 (f64.mul (get_local $18) (tee_local $9 (f64.div (get_local $1) (f64.mul - (tee_local $4 + (tee_local $3 (f64.add (f64.add (f64.mul @@ -1015,12 +990,10 @@ (i32.load offset=8 (i32.add (i32.load - (tee_local $2 - (get_local $13) - ) + (get_local $13) ) (i32.shl - (get_local $3) + (get_local $8) (i32.const 2) ) ) @@ -1057,16 +1030,16 @@ ) ) (f64.sqrt - (get_local $4) + (get_local $3) ) ) ) ) ) ) - (set_local $6 + (set_local $5 (f64.sub - (get_local $6) + (get_local $5) (f64.mul (get_local $10) (tee_local $9 @@ -1080,18 +1053,18 @@ ) ) ) - (set_local $7 + (set_local $6 (f64.sub - (get_local $7) + (get_local $6) (f64.mul (get_local $11) (get_local $9) ) ) ) - (set_local $8 + (set_local $7 (f64.sub - (get_local $8) + (get_local $7) (f64.mul (get_local $12) (get_local $9) @@ -1106,7 +1079,7 @@ ) (f64.mul (get_local $10) - (get_local $4) + (get_local $3) ) ) ) @@ -1118,7 +1091,7 @@ ) (f64.mul (get_local $11) - (get_local $4) + (get_local $3) ) ) ) @@ -1130,13 +1103,13 @@ ) (f64.mul (get_local $12) - (get_local $4) + (get_local $3) ) ) ) - (set_local $3 + (set_local $8 (i32.add - (get_local $3) + (get_local $8) (i32.const 1) ) ) @@ -1146,15 +1119,15 @@ ) (f64.store offset=24 (get_local $0) - (get_local $6) + (get_local $5) ) (f64.store offset=32 (get_local $0) - (get_local $7) + (get_local $6) ) (f64.store offset=40 (get_local $0) - (get_local $8) + (get_local $7) ) (f64.store (get_local $0) @@ -1164,7 +1137,7 @@ ) (f64.mul (get_local $1) - (get_local $6) + (get_local $5) ) ) ) @@ -1176,7 +1149,7 @@ ) (f64.mul (get_local $1) - (get_local $7) + (get_local $6) ) ) ) @@ -1188,13 +1161,13 @@ ) (f64.mul (get_local $1) - (get_local $8) + (get_local $7) ) ) ) - (set_local $5 + (set_local $4 (i32.add - (get_local $5) + (get_local $4) (i32.const 1) ) ) @@ -1214,14 +1187,11 @@ (local $8 f64) (local $9 f64) (local $10 f64) - (local $11 i32) (set_local $5 (i32.load offset=4 - (tee_local $0 - (tee_local $4 - (i32.load - (get_local $0) - ) + (tee_local $4 + (i32.load + (get_local $0) ) ) ) @@ -1239,14 +1209,10 @@ (i32.load offset=8 (i32.add (i32.load - (tee_local $0 - (get_local $4) - ) + (get_local $4) ) (i32.shl - (tee_local $2 - (get_local $3) - ) + (get_local $3) (i32.const 2) ) ) @@ -1327,16 +1293,12 @@ (tee_local $2 (if (result i32) (i32.lt_u - (tee_local $11 - (get_local $0) - ) + (get_local $0) (i32.shr_u (i32.load (tee_local $2 (i32.load - (tee_local $2 - (get_local $4) - ) + (get_local $4) ) ) ) @@ -1347,7 +1309,7 @@ (i32.add (get_local $2) (i32.shl - (get_local $11) + (get_local $0) (i32.const 2) ) ) diff --git a/package-lock.json b/package-lock.json index 75b67149..d496c041 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,16 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, "@protobufjs/utf8": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", @@ -338,9 +348,9 @@ } }, "babel-core": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", - "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { "babel-code-frame": "^6.26.0", @@ -353,15 +363,15 @@ "babel-traverse": "^6.26.0", "babel-types": "^6.26.0", "babylon": "^6.18.0", - "convert-source-map": "^1.5.0", - "debug": "^2.6.8", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", "json5": "^0.5.1", "lodash": "^4.17.4", "minimatch": "^3.0.4", "path-is-absolute": "^1.0.1", - "private": "^0.1.7", + "private": "^0.1.8", "slash": "^1.0.0", - "source-map": "^0.5.6" + "source-map": "^0.5.7" }, "dependencies": { "babylon": { @@ -828,9 +838,9 @@ } }, "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", - "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { "babel-plugin-transform-strict-mode": "^6.24.1", @@ -1257,9 +1267,9 @@ "dev": true }, "binaryen": { - "version": "46.0.0-nightly.20180427", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-46.0.0-nightly.20180427.tgz", - "integrity": "sha512-pPG9B3c2n27udyDPkLrhTJcP0ut0fK56RLH/jWUcvAIUMJXgZY3hmxLZMuUiPc2+kERZroKNxpdMf3HRmf/UnQ==" + "version": "47.0.0-nightly.20180503", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-47.0.0-nightly.20180503.tgz", + "integrity": "sha512-kYOHR+3v9iFPHnsbBWXem5c+mYpgWEOvK52KcMa4Af87L1/u89/0A4itry2Y3NKLhiFxx1oIO+k7RDPKG3zV3g==" }, "binaryextensions": { "version": "2.1.1", @@ -1494,6 +1504,12 @@ } } }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", @@ -1767,9 +1783,9 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "colors": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.1.tgz", - "integrity": "sha512-s8+wktIuDSLffCywiwSxQOMqtPxML11a/dtHE17tMn4B1MSWw/C22EKf7M2KGUBcDaVFEGT+S8N02geDXeuNKg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.3.tgz", + "integrity": "sha512-qTfM2pNFeMZcLvf/RbrVAzDEVttZjFhaApfx9dplNjvHSX88Ui66zBRb/4YGob/xUWxDceirgoC1lT676asfCQ==", "dev": true }, "commander": { @@ -1998,9 +2014,9 @@ } }, "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "dev": true }, "define-property": { @@ -2085,6 +2101,16 @@ "randombytes": "^2.0.0" } }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -2492,6 +2518,19 @@ "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, + "fast-glob": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.1.tgz", + "integrity": "sha512-wSyW1TBK3ia5V+te0rGPXudeMHoUQW6O5Y9oATiaGhpENmEifPDlOdhpsnlj5HoG6ttIvGiY1DdCmI9X2xGMhg==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.1", + "micromatch": "^3.1.10" + } + }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", @@ -2566,9 +2605,9 @@ } }, "flow-parser": { - "version": "0.70.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.70.0.tgz", - "integrity": "sha512-gGdyVUZWswG5jcINrVDHd3RY4nJptBTAx9mR9thGsrGGmAUR7omgJXQSpR+fXrLtxSTAea3HpAZNU/yzRJc2Cg==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.71.0.tgz", + "integrity": "sha512-rXSvqSBLf8aRI6T3P99jMcUYvZoO1KZcKDkzGJmXvYdNAgRKu7sfGNtxEsn3cX4TgungBuJpX+K8aHRC9/B5MA==", "dev": true }, "flush-write-stream": { @@ -3360,6 +3399,12 @@ } } }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -3412,9 +3457,9 @@ } }, "got": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/got/-/got-8.3.0.tgz", - "integrity": "sha512-kBNy/S2CGwrYgDSec5KTWGKUvupwkkTVAjIsVFF2shXO13xpZdFP4d4kxa//CLX2tN/rV0aYwK8vY6UKWGn2vQ==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.1.tgz", + "integrity": "sha512-tiLX+bnYm5A56T5N/n9Xo89vMaO1mrS9qoDqj3u/anVooqGozvY/HbXzEpDfbNeKsHCBpK40gSbz8wGYSp3i1w==", "dev": true, "requires": { "@sindresorhus/is": "^0.7.0", @@ -3696,6 +3741,12 @@ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", "dev": true }, + "ignore": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz", + "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==", + "dev": true + }, "import-local": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", @@ -4088,6 +4139,12 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, + "isbinaryfile": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz", + "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=", + "dev": true + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -4511,7 +4568,7 @@ }, "onetime": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, @@ -4622,7 +4679,7 @@ }, "onetime": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, @@ -4740,16 +4797,17 @@ } }, "mem-fs-editor": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-3.0.2.tgz", - "integrity": "sha1-3Qpuryu4prN3QAZ6pUnrUwEFr58=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-4.0.1.tgz", + "integrity": "sha512-54fptqhSZX1sSYsVVInG2qzUWPPrEv/6qYxHAwXJZQfzDcviJcL+7p/wmupg8SdAOi42m/vilMBemx3D6Sz22g==", "dev": true, "requires": { "commondir": "^1.0.1", - "deep-extend": "^0.4.0", - "ejs": "^2.3.1", + "deep-extend": "^0.5.1", + "ejs": "^2.5.9", "glob": "^7.0.3", - "globby": "^6.1.0", + "globby": "^8.0.0", + "isbinaryfile": "^3.0.2", "mkdirp": "^0.5.0", "multimatch": "^2.0.0", "rimraf": "^2.2.8", @@ -4758,9 +4816,9 @@ }, "dependencies": { "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", "dev": true }, "clone-stats": { @@ -4769,6 +4827,21 @@ "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", "dev": true }, + "globby": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", + "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, "replace-ext": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", @@ -4801,6 +4874,12 @@ "readable-stream": "^2.0.1" } }, + "merge2": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.1.tgz", + "integrity": "sha512-wUqcG5pxrAcaFI1lkqkMnk3Q7nUxV/NWfpAFSeWUwG9TRODnBDCUHa75mi3o3vLWQ5N4CQERWCauSlP0I3ZqUg==", + "dev": true + }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -5269,7 +5348,7 @@ }, "onetime": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, @@ -6751,9 +6830,9 @@ } }, "ts-node": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-5.0.1.tgz", - "integrity": "sha512-XK7QmDcNHVmZkVtkiwNDWiERRHPyU8nBqZB1+iv2UhOG0q3RQ9HsZ2CMqISlFbxjrYFGfG2mX7bW4dAyxBVzUw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-6.0.2.tgz", + "integrity": "sha512-H/KWK27B3JJAc5WFOBBUxN638DukbV8PptdQgiHWPO2SGDVJzuVOl8Ye0XJ5+FiZIdFtgUuGOJRV4c/XBQ5dBg==", "requires": { "arrify": "^1.0.0", "chalk": "^2.3.0", @@ -7338,9 +7417,9 @@ } }, "webpack-cli": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-2.0.15.tgz", - "integrity": "sha512-bjNeIUO51D4OsmZ5ufzcpzVoacjxfWNfeBZKYL3jc+EMfCME3TyfdCPSUoKiOnebQChfupQuIRpAnx7L4l3Hew==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-2.1.2.tgz", + "integrity": "sha512-2C6bs9gORlzCSgkNZTnj8hnXMxe3g2v+yqiUdB+1l/I3sI36ND4zZStV00yq0eGjE5CNu0eqOQr7YYe+42H2Yw==", "dev": true, "requires": { "chalk": "^2.3.2", @@ -7368,7 +7447,7 @@ "webpack-addons": "^1.1.5", "yargs": "^11.1.0", "yeoman-environment": "^2.0.0", - "yeoman-generator": "^2.0.3" + "yeoman-generator": "^2.0.4" } }, "webpack-sources": { @@ -7591,26 +7670,26 @@ } }, "yeoman-generator": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-2.0.4.tgz", - "integrity": "sha512-Sgvz3MAkOpEIobcpW3rjEl6bOTNnl8SkibP9z7hYKfIGIlw0QDC2k0MAeXvyE2pLqc2M0Duql+6R7/W9GrJojg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-2.0.5.tgz", + "integrity": "sha512-rV6tJ8oYzm4mmdF2T3wjY+Q42jKF2YiiD0VKfJ8/0ZYwmhCKC9Xs2346HVLPj/xE13i68psnFJv7iS6gWRkeAg==", "dev": true, "requires": { "async": "^2.6.0", "chalk": "^2.3.0", "cli-table": "^0.3.1", - "cross-spawn": "^5.1.0", + "cross-spawn": "^6.0.5", "dargs": "^5.1.0", - "dateformat": "^3.0.2", + "dateformat": "^3.0.3", "debug": "^3.1.0", "detect-conflict": "^1.0.0", "error": "^7.0.2", "find-up": "^2.1.0", "github-username": "^4.0.0", - "istextorbinary": "^2.1.0", - "lodash": "^4.17.4", + "istextorbinary": "^2.2.1", + "lodash": "^4.17.10", "make-dir": "^1.1.0", - "mem-fs-editor": "^3.0.2", + "mem-fs-editor": "^4.0.0", "minimist": "^1.2.0", "pretty-bytes": "^4.0.2", "read-chunk": "^2.1.0", @@ -7632,17 +7711,6 @@ "lodash": "^4.14.0" } }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -7651,6 +7719,12 @@ "requires": { "ms": "2.0.0" } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true } } }, diff --git a/package.json b/package.json index a06e5a0c..4f15f987 100644 --- a/package.json +++ b/package.json @@ -12,11 +12,11 @@ }, "dependencies": { "@protobufjs/utf8": "^1.1.0", - "binaryen": "46.0.0-nightly.20180427", + "binaryen": "47.0.0-nightly.20180503", "glob": "^7.1.2", "long": "^4.0.0", "minimist": "^1.2.0", - "ts-node": "^5.0.1" + "ts-node": "^6.0.2" }, "devDependencies": { "@types/node": "^9.6.6", @@ -30,7 +30,7 @@ "typedoc-plugin-external-module-name": "^1.1.1", "typescript": "^2.8.3", "webpack": "^4.6.0", - "webpack-cli": "^2.0.15" + "webpack-cli": "^2.1.2" }, "main": "index.js", "types": "index.d.ts", diff --git a/src/extra/ast.ts b/src/extra/ast.ts index 51e175f1..97cdc0bc 100644 --- a/src/extra/ast.ts +++ b/src/extra/ast.ts @@ -545,7 +545,7 @@ export class ASTBuilder { } visitIntegerLiteralExpression(node: IntegerLiteralExpression): void { - this.sb.push(node.value.toString()); + this.sb.push(i64_to_string(node.value)); } visitStringLiteral(str: string, singleQuoted: bool = false): void { diff --git a/tests/compiler/std/libm.optimized.wat b/tests/compiler/std/libm.optimized.wat index ea0b5c0e..9559aec8 100644 --- a/tests/compiler/std/libm.optimized.wat +++ b/tests/compiler/std/libm.optimized.wat @@ -2999,18 +2999,18 @@ ) ) ) - (if - (i32.gt_u - (get_local $1) - (i32.const 1043333120) - ) - (set_local $5 + (set_local $5 + (if (result f64) + (i32.gt_u + (get_local $1) + (i32.const 1043333120) + ) (get_local $0) - ) - (return - (f64.add - (f64.const 1) - (get_local $0) + (return + (f64.add + (f64.const 1) + (get_local $0) + ) ) ) ) diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index 001978a4..5b5f0c3e 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -5710,18 +5710,18 @@ ) ) ) - (if - (i32.gt_u - (get_local $1) - (i32.const 1043333120) - ) - (set_local $5 + (set_local $5 + (if (result f64) + (i32.gt_u + (get_local $1) + (i32.const 1043333120) + ) (get_local $0) - ) - (return - (f64.add - (f64.const 1) - (get_local $0) + (return + (f64.add + (f64.const 1) + (get_local $0) + ) ) ) ) @@ -6083,15 +6083,15 @@ ) ) ) - (if - (i32.lt_u - (get_local $2) - (i32.const 855638016) - ) - (return - (get_local $0) - ) - (set_local $2 + (set_local $2 + (if (result i32) + (i32.lt_u + (get_local $2) + (i32.const 855638016) + ) + (return + (get_local $0) + ) (i32.const 0) ) ) @@ -6466,23 +6466,23 @@ ) ) ) - (if - (i32.gt_u - (get_local $1) - (i32.const 956301312) - ) - (block - (set_local $1 - (i32.const 0) + (set_local $3 + (if (result f32) + (i32.gt_u + (get_local $1) + (i32.const 956301312) ) - (set_local $3 + (block (result f32) + (set_local $1 + (i32.const 0) + ) (get_local $0) ) - ) - (return - (f32.add - (f32.const 1) - (get_local $0) + (return + (f32.add + (f32.const 1) + (get_local $0) + ) ) ) ) diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 0bcc0279..aa20a079 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -787,86 +787,81 @@ (get_local $0) ) (block - (if - (i32.and - (if (result i32) - (tee_local $0 - (i32.ge_s - (tee_local $2 - (i32.load16_u offset=4 - (get_local $3) - ) - ) - (i32.const 48) - ) - ) - (i32.le_s - (get_local $2) - (i32.const 57) - ) - (get_local $0) - ) - (i32.const 1) - ) - (set_local $2 - (i32.sub - (get_local $2) - (i32.const 48) - ) - ) - (if - (i32.and - (if (result i32) - (tee_local $0 - (i32.ge_s - (get_local $2) - (i32.const 65) - ) - ) - (i32.le_s - (get_local $2) - (i32.const 90) - ) - (get_local $0) - ) - (i32.const 1) - ) - (set_local $2 - (i32.sub - (get_local $2) - (i32.const 55) - ) - ) - (if - (i32.and - (if (result i32) - (tee_local $0 - (i32.ge_s - (get_local $2) - (i32.const 97) - ) - ) - (i32.le_s - (get_local $2) - (i32.const 122) - ) - (get_local $0) - ) - (i32.const 1) - ) - (set_local $2 - (i32.sub - (get_local $2) - (i32.const 87) - ) - ) - (br $break|1) - ) - ) - ) (br_if $break|1 (i32.ge_s - (get_local $2) + (tee_local $2 + (if (result i32) + (i32.and + (if (result i32) + (tee_local $0 + (i32.ge_s + (tee_local $2 + (i32.load16_u offset=4 + (get_local $3) + ) + ) + (i32.const 48) + ) + ) + (i32.le_s + (get_local $2) + (i32.const 57) + ) + (get_local $0) + ) + (i32.const 1) + ) + (i32.sub + (get_local $2) + (i32.const 48) + ) + (if (result i32) + (i32.and + (if (result i32) + (tee_local $0 + (i32.ge_s + (get_local $2) + (i32.const 65) + ) + ) + (i32.le_s + (get_local $2) + (i32.const 90) + ) + (get_local $0) + ) + (i32.const 1) + ) + (i32.sub + (get_local $2) + (i32.const 55) + ) + (if (result i32) + (i32.and + (if (result i32) + (tee_local $0 + (i32.ge_s + (get_local $2) + (i32.const 97) + ) + ) + (i32.le_s + (get_local $2) + (i32.const 122) + ) + (get_local $0) + ) + (i32.const 1) + ) + (i32.sub + (get_local $2) + (i32.const 87) + ) + (br $break|1) + ) + ) + ) + ) (get_local $1) ) )