diff --git a/examples/game-of-life/build/optimized.wat b/examples/game-of-life/build/optimized.wat index a93019af..a9e57543 100644 --- a/examples/game-of-life/build/optimized.wat +++ b/examples/game-of-life/build/optimized.wat @@ -1,8 +1,8 @@ (module - (type $ii_ (func (param i32 i32))) - (type $F (func (result f64))) - (type $_ (func)) - (type $iiF_ (func (param i32 i32 f64))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$d (func (result f64))) + (type $FUNCSIG$v (func)) + (type $FUNCSIG$viid (func (param i32 i32 f64))) (import "env" "memory" (memory $0 0)) (import "config" "BGR_DEAD" (global $assembly/config/BGR_DEAD i32)) (import "config" "BGR_ALIVE" (global $assembly/config/BGR_ALIVE i32)) @@ -18,7 +18,7 @@ (export "init" (func $assembly/index/init)) (export "step" (func $assembly/index/step)) (export "fill" (func $assembly/index/fill)) - (func $assembly/index/init (; 1 ;) (type $ii_) (param $0 i32) (param $1 i32) + (func $assembly/index/init (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 global.set $assembly/index/w @@ -83,7 +83,7 @@ end end ) - (func $assembly/index/step (; 2 ;) (type $_) + (func $assembly/index/step (; 2 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -355,7 +355,7 @@ end end ) - (func $assembly/index/fill (; 3 ;) (type $iiF_) (param $0 i32) (param $1 i32) (param $2 f64) + (func $assembly/index/fill (; 3 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) loop $repeat|0 block $break|0 @@ -422,7 +422,7 @@ end end ) - (func $null (; 4 ;) (type $_) + (func $null (; 4 ;) (type $FUNCSIG$v) nop ) ) diff --git a/examples/game-of-life/build/untouched.wat b/examples/game-of-life/build/untouched.wat index 2e3cbdb4..c8a5ebf3 100644 --- a/examples/game-of-life/build/untouched.wat +++ b/examples/game-of-life/build/untouched.wat @@ -1,8 +1,8 @@ (module - (type $ii_ (func (param i32 i32))) - (type $F (func (result f64))) - (type $_ (func)) - (type $iiF_ (func (param i32 i32 f64))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$d (func (result f64))) + (type $FUNCSIG$v (func)) + (type $FUNCSIG$viid (func (param i32 i32 f64))) (import "env" "memory" (memory $0 0)) (import "config" "BGR_DEAD" (global $assembly/config/BGR_DEAD i32)) (import "config" "BGR_ALIVE" (global $assembly/config/BGR_ALIVE i32)) @@ -19,7 +19,7 @@ (export "init" (func $assembly/index/init)) (export "step" (func $assembly/index/step)) (export "fill" (func $assembly/index/fill)) - (func $assembly/index/init (; 1 ;) (type $ii_) (param $0 i32) (param $1 i32) + (func $assembly/index/init (; 1 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -100,7 +100,7 @@ unreachable end ) - (func $assembly/index/step (; 2 ;) (type $_) + (func $assembly/index/step (; 2 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -508,7 +508,7 @@ unreachable end ) - (func $assembly/index/fill (; 3 ;) (type $iiF_) (param $0 i32) (param $1 i32) (param $2 f64) + (func $assembly/index/fill (; 3 ;) (type $FUNCSIG$viid) (param $0 i32) (param $1 i32) (param $2 f64) (local $3 i32) (local $4 i32) (local $5 i32) @@ -598,6 +598,6 @@ unreachable end ) - (func $null (; 4 ;) (type $_) + (func $null (; 4 ;) (type $FUNCSIG$v) ) ) diff --git a/examples/i64-polyfill/build/optimized.wat b/examples/i64-polyfill/build/optimized.wat index df27405e..ad28e90a 100644 --- a/examples/i64-polyfill/build/optimized.wat +++ b/examples/i64-polyfill/build/optimized.wat @@ -1,8 +1,8 @@ (module - (type $i (func (result i32))) - (type $ii_ (func (param i32 i32))) - (type $iiii_ (func (param i32 i32 i32 i32))) - (type $_ (func)) + (type $FUNCSIG$i (func (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$v (func)) (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) @@ -41,13 +41,13 @@ (export "gt_u" (func $assembly/i64/gt_u)) (export "ge_s" (func $assembly/i64/ge_s)) (export "ge_u" (func $assembly/i64/ge_u)) - (func $assembly/i64/getLo (; 0 ;) (type $i) (result i32) + (func $assembly/i64/getLo (; 0 ;) (type $FUNCSIG$i) (result i32) global.get $assembly/i64/lo ) - (func $assembly/i64/getHi (; 1 ;) (type $i) (result i32) + (func $assembly/i64/getHi (; 1 ;) (type $FUNCSIG$i) (result i32) global.get $assembly/i64/hi ) - (func $assembly/i64/clz (; 2 ;) (type $ii_) (param $0 i32) (param $1 i32) + (func $assembly/i64/clz (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -61,7 +61,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/ctz (; 3 ;) (type $ii_) (param $0 i32) (param $1 i32) + (func $assembly/i64/ctz (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -75,7 +75,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/popcnt (; 4 ;) (type $ii_) (param $0 i32) (param $1 i32) + (func $assembly/i64/popcnt (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -89,7 +89,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/eqz (; 5 ;) (type $ii_) (param $0 i32) (param $1 i32) + (func $assembly/i64/eqz (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -102,7 +102,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/add (; 6 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/add (; 6 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -128,7 +128,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/sub (; 7 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/sub (; 7 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -154,7 +154,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/mul (; 8 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/mul (; 8 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -180,7 +180,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/div_s (; 9 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/div_s (; 9 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -206,7 +206,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/div_u (; 10 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/div_u (; 10 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -232,7 +232,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/rem_s (; 11 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/rem_s (; 11 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -258,7 +258,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/rem_u (; 12 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/rem_u (; 12 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -284,7 +284,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/and (; 13 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/and (; 13 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -310,7 +310,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/or (; 14 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/or (; 14 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -336,7 +336,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/xor (; 15 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/xor (; 15 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -362,7 +362,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/shl (; 16 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/shl (; 16 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -388,7 +388,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/shr_s (; 17 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/shr_s (; 17 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -414,7 +414,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/shr_u (; 18 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/shr_u (; 18 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -440,7 +440,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/rotl (; 19 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/rotl (; 19 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -466,7 +466,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/rotr (; 20 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/rotr (; 20 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -492,7 +492,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/eq (; 21 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/eq (; 21 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -512,7 +512,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/ne (; 22 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/ne (; 22 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -532,7 +532,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/lt_s (; 23 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/lt_s (; 23 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -552,7 +552,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/lt_u (; 24 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/lt_u (; 24 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -572,7 +572,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/le_s (; 25 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/le_s (; 25 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -592,7 +592,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/le_u (; 26 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/le_u (; 26 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -612,7 +612,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/gt_s (; 27 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/gt_s (; 27 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -632,7 +632,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/gt_u (; 28 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/gt_u (; 28 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -652,7 +652,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/ge_s (; 29 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/ge_s (; 29 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -672,7 +672,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/ge_u (; 30 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/ge_u (; 30 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) local.get $0 i64.extend_i32_u local.get $1 @@ -692,7 +692,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $null (; 31 ;) (type $_) + (func $null (; 31 ;) (type $FUNCSIG$v) nop ) ) diff --git a/examples/i64-polyfill/build/untouched.wat b/examples/i64-polyfill/build/untouched.wat index 6e5fc514..c90ef2b1 100644 --- a/examples/i64-polyfill/build/untouched.wat +++ b/examples/i64-polyfill/build/untouched.wat @@ -1,8 +1,8 @@ (module - (type $i (func (result i32))) - (type $ii_ (func (param i32 i32))) - (type $iiii_ (func (param i32 i32 i32 i32))) - (type $_ (func)) + (type $FUNCSIG$i (func (result i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$v (func)) (memory $0 0) (table $0 1 funcref) (elem (i32.const 0) $null) @@ -42,13 +42,13 @@ (export "gt_u" (func $assembly/i64/gt_u)) (export "ge_s" (func $assembly/i64/ge_s)) (export "ge_u" (func $assembly/i64/ge_u)) - (func $assembly/i64/getLo (; 0 ;) (type $i) (result i32) + (func $assembly/i64/getLo (; 0 ;) (type $FUNCSIG$i) (result i32) global.get $assembly/i64/lo ) - (func $assembly/i64/getHi (; 1 ;) (type $i) (result i32) + (func $assembly/i64/getHi (; 1 ;) (type $FUNCSIG$i) (result i32) global.get $assembly/i64/hi ) - (func $assembly/i64/clz (; 2 ;) (type $ii_) (param $0 i32) (param $1 i32) + (func $assembly/i64/clz (; 2 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i64) local.get $0 i64.extend_i32_u @@ -65,7 +65,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/ctz (; 3 ;) (type $ii_) (param $0 i32) (param $1 i32) + (func $assembly/i64/ctz (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i64) local.get $0 i64.extend_i32_u @@ -82,7 +82,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/popcnt (; 4 ;) (type $ii_) (param $0 i32) (param $1 i32) + (func $assembly/i64/popcnt (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i64) local.get $0 i64.extend_i32_u @@ -99,7 +99,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/eqz (; 5 ;) (type $ii_) (param $0 i32) (param $1 i32) + (func $assembly/i64/eqz (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 i64.extend_i32_u @@ -115,7 +115,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/add (; 6 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/add (; 6 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -142,7 +142,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/sub (; 7 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/sub (; 7 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -169,7 +169,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/mul (; 8 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/mul (; 8 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -196,7 +196,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/div_s (; 9 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/div_s (; 9 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -223,7 +223,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/div_u (; 10 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/div_u (; 10 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -250,7 +250,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/rem_s (; 11 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/rem_s (; 11 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -277,7 +277,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/rem_u (; 12 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/rem_u (; 12 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -304,7 +304,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/and (; 13 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/and (; 13 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -331,7 +331,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/or (; 14 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/or (; 14 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -358,7 +358,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/xor (; 15 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/xor (; 15 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -385,7 +385,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/shl (; 16 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/shl (; 16 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -412,7 +412,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/shr_s (; 17 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/shr_s (; 17 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -439,7 +439,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/shr_u (; 18 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/shr_u (; 18 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -466,7 +466,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/rotl (; 19 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/rotl (; 19 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -493,7 +493,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/rotr (; 20 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/rotr (; 20 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i64) local.get $0 i64.extend_i32_u @@ -520,7 +520,7 @@ i32.wrap_i64 global.set $assembly/i64/hi ) - (func $assembly/i64/eq (; 21 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/eq (; 21 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $0 i64.extend_i32_u @@ -543,7 +543,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/ne (; 22 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/ne (; 22 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $0 i64.extend_i32_u @@ -566,7 +566,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/lt_s (; 23 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/lt_s (; 23 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $0 i64.extend_i32_u @@ -589,7 +589,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/lt_u (; 24 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/lt_u (; 24 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $0 i64.extend_i32_u @@ -612,7 +612,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/le_s (; 25 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/le_s (; 25 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $0 i64.extend_i32_u @@ -635,7 +635,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/le_u (; 26 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/le_u (; 26 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $0 i64.extend_i32_u @@ -658,7 +658,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/gt_s (; 27 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/gt_s (; 27 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $0 i64.extend_i32_u @@ -681,7 +681,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/gt_u (; 28 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/gt_u (; 28 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $0 i64.extend_i32_u @@ -704,7 +704,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/ge_s (; 29 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/ge_s (; 29 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $0 i64.extend_i32_u @@ -727,7 +727,7 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $assembly/i64/ge_u (; 30 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/i64/ge_u (; 30 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $0 i64.extend_i32_u @@ -750,6 +750,6 @@ i32.const 0 global.set $assembly/i64/hi ) - (func $null (; 31 ;) (type $_) + (func $null (; 31 ;) (type $FUNCSIG$v) ) ) diff --git a/examples/mandelbrot/build/optimized.wat b/examples/mandelbrot/build/optimized.wat index cc1f0a94..2936b043 100644 --- a/examples/mandelbrot/build/optimized.wat +++ b/examples/mandelbrot/build/optimized.wat @@ -1,7 +1,7 @@ (module - (type $iiii_ (func (param i32 i32 i32 i32))) - (type $FF (func (param f64) (result f64))) - (type $_ (func)) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$dd (func (param f64) (result f64))) + (type $FUNCSIG$v (func)) (import "env" "memory" (memory $0 0)) (import "Math" "log" (func $~lib/bindings/Math/log (param f64) (result f64))) (import "Math" "log2" (func $~lib/bindings/Math/log2 (param f64) (result f64))) @@ -10,7 +10,7 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "computeLine" (func $assembly/index/computeLine)) - (func $assembly/index/computeLine (; 2 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/index/computeLine (; 2 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 f64) (local $5 f64) (local $6 f64) @@ -205,7 +205,7 @@ end end ) - (func $null (; 3 ;) (type $_) + (func $null (; 3 ;) (type $FUNCSIG$v) nop ) ) diff --git a/examples/mandelbrot/build/untouched.wat b/examples/mandelbrot/build/untouched.wat index 596d599d..db2e3fde 100644 --- a/examples/mandelbrot/build/untouched.wat +++ b/examples/mandelbrot/build/untouched.wat @@ -1,8 +1,8 @@ (module - (type $iiii_ (func (param i32 i32 i32 i32))) - (type $FF (func (param f64) (result f64))) - (type $FFFF (func (param f64 f64 f64) (result f64))) - (type $_ (func)) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$dd (func (param f64) (result f64))) + (type $FUNCSIG$dddd (func (param f64 f64 f64) (result f64))) + (type $FUNCSIG$v (func)) (import "env" "memory" (memory $0 0)) (import "Math" "log" (func $~lib/bindings/Math/log (param f64) (result f64))) (import "Math" "log2" (func $~lib/bindings/Math/log2 (param f64) (result f64))) @@ -13,14 +13,14 @@ (export "memory" (memory $0)) (export "table" (table $0)) (export "computeLine" (func $assembly/index/computeLine)) - (func $assembly/index/clamp (; 2 ;) (type $FFFF) (param $0 f64) (param $1 f64) (param $2 f64) (result f64) + (func $assembly/index/clamp (; 2 ;) (type $FUNCSIG$dddd) (param $0 f64) (param $1 f64) (param $2 f64) (result f64) local.get $0 local.get $1 f64.max local.get $2 f64.min ) - (func $assembly/index/computeLine (; 3 ;) (type $iiii_) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $assembly/index/computeLine (; 3 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 f64) (local $5 f64) (local $6 f64) @@ -255,6 +255,6 @@ unreachable end ) - (func $null (; 4 ;) (type $_) + (func $null (; 4 ;) (type $FUNCSIG$v) ) ) diff --git a/examples/n-body/build/index.asm.js b/examples/n-body/build/index.asm.js index 0095ab8b..8dd198d0 100644 --- a/examples/n-body/build/index.asm.js +++ b/examples/n-body/build/index.asm.js @@ -108,63 +108,58 @@ function asmFunc(global, env, buffer) { return $7 | 0; } - function $lib_internal_memory_memset($0, $1) { + function $lib_internal_memory_memset($0) { $0 = $0 | 0; - $1 = $1 | 0; - var $2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; - if (($1 | 0) == (0 | 0)) return; + var $1 = 0, $2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; wasm2js_i32$0 = $0; wasm2js_i32$1 = 0; HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; - wasm2js_i32$0 = ($0 + $1 | 0) - 1 | 0; + $1 = $0 + 20 | 0; + wasm2js_i32$0 = $1 - 1 | 0; wasm2js_i32$1 = 0; HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; - if ($1 >>> 0 <= 2 >>> 0) return; wasm2js_i32$0 = $0 + 1 | 0; wasm2js_i32$1 = 0; HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; wasm2js_i32$0 = $0 + 2 | 0; wasm2js_i32$1 = 0; HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; - $2 = $0 + $1 | 0; - wasm2js_i32$0 = $2 - 2 | 0; + wasm2js_i32$0 = $1 - 2 | 0; wasm2js_i32$1 = 0; HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; - wasm2js_i32$0 = $2 - 3 | 0; + wasm2js_i32$0 = $1 - 3 | 0; wasm2js_i32$1 = 0; HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; - if ($1 >>> 0 <= 6 >>> 0) return; wasm2js_i32$0 = $0 + 3 | 0; wasm2js_i32$1 = 0; HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; - wasm2js_i32$0 = ($0 + $1 | 0) - 4 | 0; + wasm2js_i32$0 = $1 - 4 | 0; wasm2js_i32$1 = 0; HEAP8[wasm2js_i32$0 >> 0] = wasm2js_i32$1; - if ($1 >>> 0 <= 8 >>> 0) return; - $2 = (0 - $0 | 0) & 3 | 0; - $0 = $2 + $0 | 0; + $1 = (0 - $0 | 0) & 3 | 0; + $0 = $1 + $0 | 0; wasm2js_i32$0 = $0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; - $1 = ($1 - $2 | 0) & 4294967292 | 0; - wasm2js_i32$0 = ($1 + $0 | 0) - 4 | 0; + $2 = (20 - $1 | 0) & 4294967292 | 0; + wasm2js_i32$0 = ($2 + $0 | 0) - 4 | 0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; - if ($1 >>> 0 <= 8 >>> 0) return; + if ($2 >>> 0 <= 8 >>> 0) return; wasm2js_i32$0 = $0 + 4 | 0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; wasm2js_i32$0 = $0 + 8 | 0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; - $2 = $0 + $1 | 0; - wasm2js_i32$0 = $2 - 12 | 0; + $1 = $0 + $2 | 0; + wasm2js_i32$0 = $1 - 12 | 0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; - wasm2js_i32$0 = $2 - 8 | 0; + wasm2js_i32$0 = $1 - 8 | 0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; - if ($1 >>> 0 <= 24 >>> 0) return; + if ($2 >>> 0 <= 24 >>> 0) return; wasm2js_i32$0 = $0 + 12 | 0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; @@ -177,24 +172,24 @@ function asmFunc(global, env, buffer) { wasm2js_i32$0 = $0 + 24 | 0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; - $2 = $0 + $1 | 0; - wasm2js_i32$0 = $2 - 28 | 0; + $1 = $0 + $2 | 0; + wasm2js_i32$0 = $1 - 28 | 0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; - wasm2js_i32$0 = $2 - 24 | 0; + wasm2js_i32$0 = $1 - 24 | 0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; - wasm2js_i32$0 = $2 - 20 | 0; + wasm2js_i32$0 = $1 - 20 | 0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; - wasm2js_i32$0 = $2 - 16 | 0; + wasm2js_i32$0 = $1 - 16 | 0; wasm2js_i32$1 = 0; HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; - $2 = ($0 & 4 | 0) + 24 | 0; - $0 = $2 + $0 | 0; - $1 = $1 - $2 | 0; + $1 = ($0 & 4 | 0) + 24 | 0; + $0 = $1 + $0 | 0; + $2 = $2 - $1 | 0; continue_0 : do { - if ($1 >>> 0 >= 32 >>> 0) { + if ($2 >>> 0 >= 32 >>> 0) { i64toi32_i32$1 = $0; i64toi32_i32$0 = 0; wasm2js_i32$0 = $0; @@ -227,7 +222,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$0 = i64toi32_i32$1; wasm2js_i32$1 = i64toi32_i32$0; (wasm2js_i32$2 = wasm2js_i32$0, wasm2js_i32$3 = wasm2js_i32$1), ((HEAP8[(wasm2js_i32$2 + 4 | 0) >> 0] = wasm2js_i32$3 & 255 | 0, HEAP8[(wasm2js_i32$2 + 5 | 0) >> 0] = (wasm2js_i32$3 >>> 8 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 6 | 0) >> 0] = (wasm2js_i32$3 >>> 16 | 0) & 255 | 0), HEAP8[(wasm2js_i32$2 + 7 | 0) >> 0] = (wasm2js_i32$3 >>> 24 | 0) & 255 | 0; - $1 = $1 - 32 | 0; + $2 = $2 - 32 | 0; $0 = $0 + 32 | 0; continue continue_0; } @@ -254,7 +249,7 @@ function asmFunc(global, env, buffer) { wasm2js_i32$0 = $0; wasm2js_i32$1 = 5; HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; - $lib_internal_memory_memset($1 + 8 | 0 | 0, 20 | 0); + $lib_internal_memory_memset($1 + 8 | 0 | 0); return $0 | 0; } diff --git a/examples/n-body/build/optimized.wasm b/examples/n-body/build/optimized.wasm index 9fad966f..e299a576 100644 Binary files a/examples/n-body/build/optimized.wasm and b/examples/n-body/build/optimized.wasm differ diff --git a/examples/n-body/build/optimized.wat b/examples/n-body/build/optimized.wat index 5d7d6a67..de9adc85 100644 --- a/examples/n-body/build/optimized.wat +++ b/examples/n-body/build/optimized.wat @@ -1,14 +1,11 @@ (module - (type $_ (func)) - (type $ii (func (param i32) (result i32))) - (type $F (func (result f64))) - (type $iF (func (param i32) (result f64))) - (type $i_ (func (param i32))) + (type $FUNCSIG$v (func)) (type $FUNCSIG$ii (func (param i32) (result i32))) - (type $FUNCSIG$iddddddd (func (param f64 f64 f64 f64 f64 f64 f64) (result i32))) - (type $FUNCSIG$vii (func (param i32 i32))) - (type $FUNCSIG$i (func (result i32))) + (type $FUNCSIG$d (func (result f64))) + (type $FUNCSIG$di (func (param i32) (result f64))) (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$iddddddd (func (param f64 f64 f64 f64 f64 f64 f64) (result i32))) + (type $FUNCSIG$i (func (result i32))) (import "env" "memory" (memory $0 1)) (data (i32.const 8) "\0d\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") (table $0 1 funcref) @@ -23,7 +20,7 @@ (export "bench" (func $assembly/index/bench)) (export "getBody" (func $assembly/index/getBody)) (start $start) - (func $~lib/allocator/arena/__memory_allocate (; 0 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/allocator/arena/__memory_allocate (; 0 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -205,29 +202,20 @@ f64.store offset=48 local.get $7 ) - (func $~lib/internal/memory/memset (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/internal/memory/memset (; 3 ;) (type $FUNCSIG$vi) (param $0 i32) + (local $1 i32) (local $2 i32) - local.get $1 - i32.eqz - if - return - end local.get $0 i32.const 0 i32.store8 local.get $0 - local.get $1 + i32.const 20 i32.add + local.tee $1 i32.const 1 i32.sub i32.const 0 i32.store8 - local.get $1 - i32.const 2 - i32.le_u - if - return - end local.get $0 i32.const 1 i32.add @@ -238,67 +226,50 @@ i32.add i32.const 0 i32.store8 - local.get $0 local.get $1 - i32.add - local.tee $2 i32.const 2 i32.sub i32.const 0 i32.store8 - local.get $2 + local.get $1 i32.const 3 i32.sub i32.const 0 i32.store8 - local.get $1 - i32.const 6 - i32.le_u - if - return - end local.get $0 i32.const 3 i32.add i32.const 0 i32.store8 - local.get $0 local.get $1 - i32.add i32.const 4 i32.sub i32.const 0 i32.store8 - local.get $1 - i32.const 8 - i32.le_u - if - return - end i32.const 0 local.get $0 i32.sub i32.const 3 i32.and - local.tee $2 + local.tee $1 local.get $0 i32.add local.tee $0 i32.const 0 i32.store + i32.const 20 local.get $1 - local.get $2 i32.sub i32.const -4 i32.and - local.tee $1 + local.tee $2 local.get $0 i32.add i32.const 4 i32.sub i32.const 0 i32.store - local.get $1 + local.get $2 i32.const 8 i32.le_u if @@ -315,19 +286,19 @@ i32.const 0 i32.store local.get $0 - local.get $1 + local.get $2 i32.add - local.tee $2 + local.tee $1 i32.const 12 i32.sub i32.const 0 i32.store - local.get $2 + local.get $1 i32.const 8 i32.sub i32.const 0 i32.store - local.get $1 + local.get $2 i32.const 24 i32.le_u if @@ -354,24 +325,24 @@ i32.const 0 i32.store local.get $0 - local.get $1 + local.get $2 i32.add - local.tee $2 + local.tee $1 i32.const 28 i32.sub i32.const 0 i32.store - local.get $2 + local.get $1 i32.const 24 i32.sub i32.const 0 i32.store - local.get $2 + local.get $1 i32.const 20 i32.sub i32.const 0 i32.store - local.get $2 + local.get $1 i32.const 16 i32.sub i32.const 0 @@ -381,16 +352,16 @@ i32.and i32.const 24 i32.add - local.tee $2 + local.tee $1 local.get $0 i32.add local.set $0 - local.get $1 local.get $2 + local.get $1 i32.sub - local.set $1 + local.set $2 loop $continue|0 - local.get $1 + local.get $2 i32.const 32 i32.ge_u if @@ -412,10 +383,10 @@ i32.add i64.const 0 i64.store - local.get $1 + local.get $2 i32.const 32 i32.sub - local.set $1 + local.set $2 local.get $0 i32.const 32 i32.add @@ -449,11 +420,10 @@ local.get $1 i32.const 8 i32.add - i32.const 20 call $~lib/internal/memory/memset local.get $0 ) - (func $assembly/index/init (; 5 ;) (type $_) + (func $assembly/index/init (; 5 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) call $~lib/array/Array#constructor @@ -737,7 +707,7 @@ end end ) - (func $assembly/index/NBodySystem#energy (; 7 ;) (type $iF) (param $0 i32) (result f64) + (func $assembly/index/NBodySystem#energy (; 7 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 f64) (local $2 i32) (local $3 i32) @@ -865,13 +835,13 @@ end local.get $1 ) - (func $assembly/index/step (; 8 ;) (type $F) (result f64) + (func $assembly/index/step (; 8 ;) (type $FUNCSIG$d) (result f64) global.get $assembly/index/system call $assembly/index/NBodySystem#advance global.get $assembly/index/system call $assembly/index/NBodySystem#energy ) - (func $assembly/index/bench (; 9 ;) (type $i_) (param $0 i32) + (func $assembly/index/bench (; 9 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) block $break|0 loop $repeat|0 @@ -891,7 +861,7 @@ unreachable end ) - (func $assembly/index/getBody (; 10 ;) (type $ii) (param $0 i32) (result i32) + (func $assembly/index/getBody (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 global.get $assembly/index/system @@ -922,13 +892,13 @@ i32.const 0 end ) - (func $start (; 11 ;) (type $_) + (func $start (; 11 ;) (type $FUNCSIG$v) i32.const 40 global.set $~lib/allocator/arena/startOffset global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset ) - (func $null (; 12 ;) (type $_) + (func $null (; 12 ;) (type $FUNCSIG$v) nop ) ) diff --git a/examples/n-body/build/untouched.wat b/examples/n-body/build/untouched.wat index f22eda16..8077faee 100644 --- a/examples/n-body/build/untouched.wat +++ b/examples/n-body/build/untouched.wat @@ -1,16 +1,16 @@ (module - (type $_ (func)) - (type $iii (func (param i32 i32) (result i32))) - (type $iFFFi (func (param i32 f64 f64 f64) (result i32))) - (type $ii (func (param i32) (result i32))) - (type $i (func (result i32))) - (type $iFFFFFFFi (func (param i32 f64 f64 f64 f64 f64 f64 f64) (result i32))) - (type $iiii_ (func (param i32 i32 i32 i32))) - (type $iii_ (func (param i32 i32 i32))) - (type $F (func (result f64))) - (type $iF_ (func (param i32 f64))) - (type $iF (func (param i32) (result f64))) - (type $i_ (func (param i32))) + (type $FUNCSIG$v (func)) + (type $FUNCSIG$iii (func (param i32 i32) (result i32))) + (type $FUNCSIG$iiddd (func (param i32 f64 f64 f64) (result i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$i (func (result i32))) + (type $FUNCSIG$iiddddddd (func (param i32 f64 f64 f64 f64 f64 f64 f64) (result i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) + (type $FUNCSIG$d (func (result f64))) + (type $FUNCSIG$vid (func (param i32 f64))) + (type $FUNCSIG$di (func (param i32) (result f64))) + (type $FUNCSIG$vi (func (param i32))) (import "env" "memory" (memory $0 1)) (data (i32.const 8) "\0d\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") (data (i32.const 40) "\1c\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00") @@ -31,7 +31,7 @@ (export "bench" (func $assembly/index/bench)) (export "getBody" (func $assembly/index/getBody)) (start $start) - (func $start:~lib/allocator/arena (; 1 ;) (type $_) + (func $start:~lib/allocator/arena (; 1 ;) (type $FUNCSIG$v) global.get $~lib/memory/HEAP_BASE i32.const 7 i32.add @@ -43,10 +43,10 @@ global.get $~lib/allocator/arena/startOffset global.set $~lib/allocator/arena/offset ) - (func $start:assembly/index (; 2 ;) (type $_) + (func $start:assembly/index (; 2 ;) (type $FUNCSIG$v) call $start:~lib/allocator/arena ) - (func $~lib/array/Array#__unchecked_get (; 3 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -66,7 +66,7 @@ i32.add i32.load offset=8 ) - (func $~lib/array/Array#__get (; 4 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 4 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -99,7 +99,7 @@ unreachable end ) - (func $assembly/index/Body#offsetMomentum (; 5 ;) (type $iFFFi) (param $0 i32) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) + (func $assembly/index/Body#offsetMomentum (; 5 ;) (type $FUNCSIG$iiddd) (param $0 i32) (param $1 f64) (param $2 f64) (param $3 f64) (result i32) local.get $0 local.get $1 f64.neg @@ -120,7 +120,7 @@ f64.store offset=40 local.get $0 ) - (func $~lib/allocator/arena/__memory_allocate (; 6 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/allocator/arena/__memory_allocate (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -199,12 +199,12 @@ global.set $~lib/allocator/arena/offset local.get $1 ) - (func $~lib/memory/memory.allocate (; 7 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/memory/memory.allocate (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) local.get $0 call $~lib/allocator/arena/__memory_allocate return ) - (func $assembly/index/NBodySystem#constructor (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $assembly/index/NBodySystem#constructor (; 8 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 f64) (local $3 f64) (local $4 f64) @@ -293,7 +293,7 @@ i32.store local.get $0 ) - (func $assembly/index/Body#constructor (; 9 ;) (type $iFFFFFFFi) (param $0 i32) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 f64) (param $5 f64) (param $6 f64) (param $7 f64) (result i32) + (func $assembly/index/Body#constructor (; 9 ;) (type $FUNCSIG$iiddddddd) (param $0 i32) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 f64) (param $5 f64) (param $6 f64) (param $7 f64) (result i32) local.get $0 i32.eqz if @@ -324,7 +324,7 @@ f64.store offset=48 local.get $0 ) - (func $assembly/index/Sun (; 10 ;) (type $i) (result i32) + (func $assembly/index/Sun (; 10 ;) (type $FUNCSIG$i) (result i32) i32.const 0 f64.const 0 f64.const 0 @@ -335,7 +335,7 @@ global.get $assembly/index/SOLAR_MASS call $assembly/index/Body#constructor ) - (func $assembly/index/Jupiter (; 11 ;) (type $i) (result i32) + (func $assembly/index/Jupiter (; 11 ;) (type $FUNCSIG$i) (result i32) i32.const 0 f64.const 4.841431442464721 f64.const -1.1603200440274284 @@ -354,7 +354,7 @@ f64.mul call $assembly/index/Body#constructor ) - (func $assembly/index/Saturn (; 12 ;) (type $i) (result i32) + (func $assembly/index/Saturn (; 12 ;) (type $FUNCSIG$i) (result i32) i32.const 0 f64.const 8.34336671824458 f64.const 4.124798564124305 @@ -373,7 +373,7 @@ f64.mul call $assembly/index/Body#constructor ) - (func $assembly/index/Uranus (; 13 ;) (type $i) (result i32) + (func $assembly/index/Uranus (; 13 ;) (type $FUNCSIG$i) (result i32) i32.const 0 f64.const 12.894369562139131 f64.const -15.111151401698631 @@ -392,7 +392,7 @@ f64.mul call $assembly/index/Body#constructor ) - (func $assembly/index/Neptune (; 14 ;) (type $i) (result i32) + (func $assembly/index/Neptune (; 14 ;) (type $FUNCSIG$i) (result i32) i32.const 0 f64.const 15.379697114850917 f64.const -25.919314609987964 @@ -411,7 +411,7 @@ f64.mul call $assembly/index/Body#constructor ) - (func $~lib/internal/arraybuffer/computeSize (; 15 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/arraybuffer/computeSize (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 1 i32.const 32 local.get $0 @@ -423,7 +423,7 @@ i32.sub i32.shl ) - (func $~lib/internal/arraybuffer/allocateUnsafe (; 16 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/arraybuffer/allocateUnsafe (; 16 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -452,7 +452,7 @@ i32.store local.get $1 ) - (func $~lib/internal/memory/memset (; 17 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/memory/memset (; 17 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i64) @@ -706,7 +706,7 @@ end end ) - (func $~lib/array/Array#constructor (; 18 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -767,7 +767,7 @@ end local.get $0 ) - (func $~lib/array/Array#__unchecked_set (; 19 ;) (type $iii_) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__unchecked_set (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -791,7 +791,7 @@ local.get $5 i32.store offset=8 ) - (func $assembly/index/init (; 20 ;) (type $_) + (func $assembly/index/init (; 20 ;) (type $FUNCSIG$v) (local $0 i32) i32.const 0 block (result i32) @@ -824,7 +824,7 @@ call $assembly/index/NBodySystem#constructor global.set $assembly/index/system ) - (func $assembly/index/NBodySystem#advance (; 21 ;) (type $iF_) (param $0 i32) (param $1 f64) + (func $assembly/index/NBodySystem#advance (; 21 ;) (type $FUNCSIG$vid) (param $0 i32) (param $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1052,7 +1052,7 @@ unreachable end ) - (func $assembly/index/NBodySystem#energy (; 22 ;) (type $iF) (param $0 i32) (result f64) + (func $assembly/index/NBodySystem#energy (; 22 ;) (type $FUNCSIG$di) (param $0 i32) (result f64) (local $1 f64) (local $2 i32) (local $3 i32) @@ -1217,14 +1217,14 @@ end local.get $1 ) - (func $assembly/index/step (; 23 ;) (type $F) (result f64) + (func $assembly/index/step (; 23 ;) (type $FUNCSIG$d) (result f64) global.get $assembly/index/system f64.const 0.01 call $assembly/index/NBodySystem#advance global.get $assembly/index/system call $assembly/index/NBodySystem#energy ) - (func $assembly/index/bench (; 24 ;) (type $i_) (param $0 i32) + (func $assembly/index/bench (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) (local $1 i32) block $break|0 i32.const 0 @@ -1248,7 +1248,7 @@ unreachable end ) - (func $assembly/index/getBody (; 25 ;) (type $ii) (param $0 i32) (result i32) + (func $assembly/index/getBody (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) global.get $assembly/index/system @@ -1270,9 +1270,9 @@ i32.const 0 end ) - (func $start (; 26 ;) (type $_) + (func $start (; 26 ;) (type $FUNCSIG$v) call $start:assembly/index ) - (func $null (; 27 ;) (type $_) + (func $null (; 27 ;) (type $FUNCSIG$v) ) ) diff --git a/examples/pson/build/optimized.wat b/examples/pson/build/optimized.wat index daac220a..e996c355 100644 --- a/examples/pson/build/optimized.wat +++ b/examples/pson/build/optimized.wat @@ -1,11 +1,11 @@ (module - (type $_ (func)) - (type $i_ (func (param i32))) - (type $ii_ (func (param i32 i32))) - (type $f_ (func (param f32))) - (type $F_ (func (param f64))) - (type $i (func (result i32))) - (type $I (func (result i64))) + (type $FUNCSIG$v (func)) + (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$vf (func (param f32))) + (type $FUNCSIG$vd (func (param f64))) + (type $FUNCSIG$i (func (result i32))) + (type $FUNCSIG$j (func (result i64))) (import "pson" "onNull" (func $assembly/pson/onNull)) (import "pson" "onTrue" (func $assembly/pson/onTrue)) (import "pson" "onFalse" (func $assembly/pson/onFalse)) @@ -41,7 +41,7 @@ (export "onString" (func $assembly/pson/onString)) (export "onBinary" (func $assembly/pson/onBinary)) (export "decode" (func $assembly/pson/decode)) - (func $assembly/pson/readVarint32 (; 14 ;) (type $i) (result i32) + (func $assembly/pson/readVarint32 (; 14 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -78,7 +78,7 @@ end local.get $0 ) - (func $assembly/pson/readVarint64 (; 15 ;) (type $I) (result i64) + (func $assembly/pson/readVarint64 (; 15 ;) (type $FUNCSIG$j) (result i64) (local $0 i64) (local $1 i32) (local $2 i64) @@ -114,7 +114,7 @@ end local.get $0 ) - (func $assembly/pson/decodeValue (; 16 ;) (type $_) + (func $assembly/pson/decodeValue (; 16 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i64) @@ -312,7 +312,7 @@ call $assembly/pson/onInteger end ) - (func $assembly/pson/decode (; 17 ;) (type $i_) (param $0 i32) + (func $assembly/pson/decode (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 0 global.set $assembly/pson/offset loop $continue|0 @@ -331,7 +331,7 @@ unreachable end ) - (func $null (; 18 ;) (type $_) + (func $null (; 18 ;) (type $FUNCSIG$v) nop ) ) diff --git a/examples/pson/build/untouched.wat b/examples/pson/build/untouched.wat index 345b818a..e7a6be1e 100644 --- a/examples/pson/build/untouched.wat +++ b/examples/pson/build/untouched.wat @@ -1,11 +1,11 @@ (module - (type $_ (func)) - (type $i_ (func (param i32))) - (type $ii_ (func (param i32 i32))) - (type $f_ (func (param f32))) - (type $F_ (func (param f64))) - (type $i (func (result i32))) - (type $I (func (result i64))) + (type $FUNCSIG$v (func)) + (type $FUNCSIG$vi (func (param i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$vf (func (param f32))) + (type $FUNCSIG$vd (func (param f64))) + (type $FUNCSIG$i (func (result i32))) + (type $FUNCSIG$j (func (result i64))) (import "pson" "onNull" (func $assembly/pson/onNull)) (import "pson" "onTrue" (func $assembly/pson/onTrue)) (import "pson" "onFalse" (func $assembly/pson/onFalse)) @@ -42,7 +42,7 @@ (export "onString" (func $assembly/pson/onString)) (export "onBinary" (func $assembly/pson/onBinary)) (export "decode" (func $assembly/pson/decode)) - (func $assembly/pson/readVarint32 (; 14 ;) (type $i) (result i32) + (func $assembly/pson/readVarint32 (; 14 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -90,7 +90,7 @@ end local.get $0 ) - (func $assembly/pson/readVarint64 (; 15 ;) (type $I) (result i64) + (func $assembly/pson/readVarint64 (; 15 ;) (type $FUNCSIG$j) (result i64) (local $0 i64) (local $1 i64) (local $2 i32) @@ -140,7 +140,7 @@ end local.get $0 ) - (func $assembly/pson/decodeValue (; 16 ;) (type $_) + (func $assembly/pson/decodeValue (; 16 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -464,7 +464,7 @@ unreachable end ) - (func $assembly/pson/decode (; 17 ;) (type $i_) (param $0 i32) + (func $assembly/pson/decode (; 17 ;) (type $FUNCSIG$vi) (param $0 i32) i32.const 0 global.set $assembly/pson/offset block $break|0 @@ -485,6 +485,6 @@ unreachable end ) - (func $null (; 18 ;) (type $_) + (func $null (; 18 ;) (type $FUNCSIG$v) ) ) diff --git a/lib/parse/build/index.wat b/lib/parse/build/index.wat index 811a714b..4955d092 100644 --- a/lib/parse/build/index.wat +++ b/lib/parse/build/index.wat @@ -1,14 +1,13 @@ (module - (type $ii_ (func (param i32 i32))) - (type $ii (func (param i32) (result i32))) - (type $iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) - (type $iii_ (func (param i32 i32 i32))) - (type $iiiiii_ (func (param i32 i32 i32 i32 i32 i32))) - (type $iiiii_ (func (param i32 i32 i32 i32 i32))) - (type $iiii_ (func (param i32 i32 i32 i32))) - (type $_ (func)) - (type $I (func (result i64))) - (type $i_ (func (param i32))) + (type $FUNCSIG$vii (func (param i32 i32))) + (type $FUNCSIG$ii (func (param i32) (result i32))) + (type $FUNCSIG$iiiiii (func (param i32 i32 i32 i32 i32) (result i32))) + (type $FUNCSIG$viii (func (param i32 i32 i32))) + (type $FUNCSIG$viiiiii (func (param i32 i32 i32 i32 i32 i32))) + (type $FUNCSIG$viiiii (func (param i32 i32 i32 i32 i32))) + (type $FUNCSIG$viiii (func (param i32 i32 i32 i32))) + (type $FUNCSIG$v (func)) + (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "memory" (memory $0 0)) (import "options" "onSection" (func $assembly/options/onSection (param i32 i32 i32 i32 i32) (result i32))) @@ -99,7 +98,7 @@ global.set $assembly/index/off local.get $2 ) - (func $assembly/index/readVarint (; 20 ;) (type $ii) (param $0 i32) (result i32) + (func $assembly/index/readVarint (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -157,35 +156,34 @@ local.get $4 select ) - (func $assembly/index/readVarint64 (; 21 ;) (type $I) (result i64) - (local $0 i64) + (func $assembly/index/readVarint64 (; 21 ;) (type $FUNCSIG$v) + (local $0 i32) (local $1 i64) (local $2 i32) - (local $3 i32) + (local $3 i64) (local $4 i64) - (local $5 i64) global.get $assembly/index/off - local.set $3 + local.set $0 loop $continue|0 - local.get $3 + local.get $0 local.tee $2 i32.const 1 i32.add - local.set $3 + local.set $0 local.get $2 i64.load8_u local.tee $4 i64.const 127 i64.and - local.get $0 - i64.shl local.get $1 + i64.shl + local.get $3 i64.or - local.set $1 - local.get $0 + local.set $3 + local.get $1 i64.const 7 i64.add - local.set $0 + local.set $1 local.get $4 i64.const 128 i64.and @@ -193,32 +191,10 @@ i64.ne br_if $continue|0 end - local.get $3 + local.get $0 global.set $assembly/index/off - i64.const -1 - local.get $0 - i64.shl - local.get $1 - i64.or - local.set $5 - local.get $0 - i64.const 64 - i64.lt_u - local.tee $2 - if - local.get $4 - i64.const 64 - i64.and - i64.const 0 - i64.ne - local.set $2 - end - local.get $5 - local.get $1 - local.get $2 - select ) - (func $assembly/index/skipInitExpr (; 22 ;) (type $_) + (func $assembly/index/skipInitExpr (; 22 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) global.get $assembly/index/off @@ -263,7 +239,6 @@ br $break|0 end call $assembly/index/readVarint64 - drop br $break|0 end global.get $assembly/index/off @@ -307,7 +282,7 @@ unreachable end ) - (func $assembly/index/parse (; 23 ;) (type $ii_) (param $0 i32) (param $1 i32) + (func $assembly/index/parse (; 23 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1054,7 +1029,7 @@ unreachable end ) - (func $null (; 24 ;) (type $_) + (func $null (; 24 ;) (type $FUNCSIG$v) nop ) )