Avoid trampolines where optional arguments are constant literals, see #102; Fix temporary local flags not being cleared; Fix inlined temporary locals not being free'd; Fix inlined flows not breaking after returns; Allow changetype of u32s, i.e. function pointers

This commit is contained in:
dcodeIO
2018-05-11 16:31:56 +02:00
parent ef9b43740d
commit e415377cda
35 changed files with 3424 additions and 4059 deletions

View File

@@ -370,13 +370,13 @@
(if
(f64.le
(f64.add
(tee_local $8
(tee_local $7
(f64.mul
(get_local $4)
(get_local $4)
)
)
(tee_local $7
(tee_local $8
(f64.mul
(get_local $5)
(get_local $5)
@@ -401,8 +401,8 @@
(set_local $4
(f64.add
(f64.sub
(get_local $8)
(get_local $7)
(get_local $8)
)
(get_local $10)
)
@@ -424,7 +424,7 @@
)
)
)
(set_local $8
(set_local $7
(f64.min
(f64.const 8)
(f64.convert_u/i32
@@ -438,10 +438,10 @@
(f64.convert_u/i32
(get_local $6)
)
(get_local $8)
(get_local $7)
)
(block
(set_local $7
(set_local $8
(f64.add
(f64.sub
(f64.mul
@@ -469,7 +469,7 @@
)
)
(set_local $4
(get_local $7)
(get_local $8)
)
(set_local $6
(i32.add