Call trampolines with the actual number of provided operands

When calling indirectly, the number of required operands might not be known at compile time and providing the actual number of operands instead solves this.
This commit is contained in:
dcodeIO
2018-03-23 15:00:09 +01:00
parent 4adb69f73a
commit 2738eee9cd
13 changed files with 150 additions and 76 deletions

View File

@ -2844,7 +2844,10 @@
(block $N=0
(block $N=invalid
(br_table $N=0 $N=1 $N=invalid
(get_local $3)
(i32.sub
(get_local $3)
(i32.const 2)
)
)
)
(unreachable)
@ -2952,7 +2955,10 @@
(block $N=0
(block $N=invalid
(br_table $N=0 $N=1 $N=invalid
(get_local $3)
(i32.sub
(get_local $3)
(i32.const 2)
)
)
)
(unreachable)
@ -4037,7 +4043,7 @@
(get_global $std/array/arr)
(i32.const 44)
(i32.const 0)
(i32.const 0)
(i32.const 2)
)
)
(if
@ -4057,7 +4063,7 @@
(get_global $std/array/arr)
(i32.const 42)
(i32.const 0)
(i32.const 0)
(i32.const 2)
)
)
(if
@ -4080,7 +4086,7 @@
(get_global $std/array/arr)
(i32.const 45)
(i32.const 0)
(i32.const 0)
(i32.const 2)
)
)
(if
@ -4257,7 +4263,7 @@
(get_global $std/array/arr)
(i32.const 44)
(i32.const 0)
(i32.const 0)
(i32.const 2)
)
)
(if
@ -4280,7 +4286,7 @@
(get_global $std/array/arr)
(i32.const 42)
(i32.const 0)
(i32.const 0)
(i32.const 2)
)
)
(if
@ -4303,7 +4309,7 @@
(get_global $std/array/arr)
(i32.const 45)
(i32.const 0)
(i32.const 0)
(i32.const 2)
)
)
(if