mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-22 11:11:43 +00:00
Support indirect calls with omitted arguments
This commit is contained in:
@ -3,9 +3,7 @@
|
||||
(type $iiiiv (func (param i32 i32 i32 i32)))
|
||||
(type $iii (func (param i32 i32) (result i32)))
|
||||
(type $iiii (func (param i32 i32 i32) (result i32)))
|
||||
(type $iiiii (func (param i32 i32 i32 i32) (result i32)))
|
||||
(type $iiF (func (param i32 i32) (result f64)))
|
||||
(type $iiiF (func (param i32 i32 i32) (result f64)))
|
||||
(type $iF (func (param i32) (result f64)))
|
||||
(type $ii (func (param i32) (result i32)))
|
||||
(type $iiiv (func (param i32 i32 i32)))
|
||||
@ -14,6 +12,7 @@
|
||||
(global "$(lib)/allocator/arena/startOffset" (mut i32) (i32.const 0))
|
||||
(global "$(lib)/allocator/arena/offset" (mut i32) (i32.const 0))
|
||||
(global $std/string/str (mut i32) (i32.const 4))
|
||||
(global $argumentCount (mut i32) (i32.const 0))
|
||||
(global $std/string/c (mut i32) (i32.const 0))
|
||||
(global $HEAP_BASE i32 (i32.const 348))
|
||||
(memory $0 1)
|
||||
@ -279,14 +278,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func "$(lib)/string/String#startsWith|trampoline" (; 5 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
|
||||
(block $N=1
|
||||
(block $N=0
|
||||
(block $N=invalid
|
||||
(br_table $N=0 $N=1 $N=invalid
|
||||
(func "$(lib)/string/String#startsWith|trampoline" (; 5 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(block $1of1
|
||||
(block $0of1
|
||||
(block $oob
|
||||
(br_table $0of1 $1of1 $oob
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
(i32.const 2)
|
||||
(get_global $argumentCount)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -388,14 +387,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(func "$(lib)/string/String#endsWith|trampoline" (; 7 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
|
||||
(block $N=1
|
||||
(block $N=0
|
||||
(block $N=invalid
|
||||
(br_table $N=0 $N=1 $N=invalid
|
||||
(func "$(lib)/string/String#endsWith|trampoline" (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(block $1of1
|
||||
(block $0of1
|
||||
(block $oob
|
||||
(br_table $0of1 $1of1 $oob
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
(i32.const 2)
|
||||
(get_global $argumentCount)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -527,14 +526,14 @@
|
||||
(i32.const -1)
|
||||
)
|
||||
)
|
||||
(func "$(lib)/string/String#includes|trampoline" (; 10 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
|
||||
(block $N=1
|
||||
(block $N=0
|
||||
(block $N=invalid
|
||||
(br_table $N=0 $N=1 $N=invalid
|
||||
(func "$(lib)/string/String#includes|trampoline" (; 10 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(block $1of1
|
||||
(block $0of1
|
||||
(block $oob
|
||||
(br_table $0of1 $1of1 $oob
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
(i32.const 2)
|
||||
(get_global $argumentCount)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -550,14 +549,14 @@
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
(func "$(lib)/string/String#indexOf|trampoline" (; 11 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
|
||||
(block $N=1
|
||||
(block $N=0
|
||||
(block $N=invalid
|
||||
(br_table $N=0 $N=1 $N=invalid
|
||||
(func "$(lib)/string/String#indexOf|trampoline" (; 11 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
|
||||
(block $1of1
|
||||
(block $0of1
|
||||
(block $oob
|
||||
(br_table $0of1 $1of1 $oob
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
(i32.const 2)
|
||||
(get_global $argumentCount)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -947,13 +946,13 @@
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(func "$(lib)/string/parseInt|trampoline" (; 15 ;) (type $iiiF) (param $0 i32) (param $1 i32) (param $2 i32) (result f64)
|
||||
(block $N=1
|
||||
(block $N=0
|
||||
(block $N=invalid
|
||||
(br_table $N=0 $N=1 $N=invalid
|
||||
(func "$(lib)/string/parseInt|trampoline" (; 15 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64)
|
||||
(block $1of1
|
||||
(block $0of1
|
||||
(block $oob
|
||||
(br_table $0of1 $1of1 $oob
|
||||
(i32.sub
|
||||
(get_local $2)
|
||||
(get_global $argumentCount)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
@ -3368,12 +3367,16 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(call "$(lib)/string/String#startsWith|trampoline"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 108)
|
||||
(i32.const 0)
|
||||
(i32.const 2)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.eqz
|
||||
(call "$(lib)/string/String#startsWith|trampoline"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 108)
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(block
|
||||
@ -3387,12 +3390,16 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(call "$(lib)/string/String#endsWith|trampoline"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 128)
|
||||
(i32.const 0)
|
||||
(i32.const 2)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.eqz
|
||||
(call "$(lib)/string/String#endsWith|trampoline"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 128)
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(block
|
||||
@ -3406,12 +3413,16 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(call "$(lib)/string/String#includes|trampoline"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 144)
|
||||
(i32.const 0)
|
||||
(i32.const 2)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.eqz
|
||||
(call "$(lib)/string/String#includes|trampoline"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 144)
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(block
|
||||
@ -3425,14 +3436,18 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.ne
|
||||
(call "$(lib)/string/String#indexOf|trampoline"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 156)
|
||||
(i32.const 0)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.ne
|
||||
(call "$(lib)/string/String#indexOf|trampoline"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 156)
|
||||
(i32.const 0)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
@ -3445,14 +3460,18 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.ne
|
||||
(call "$(lib)/string/String#indexOf|trampoline"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 164)
|
||||
(i32.const 0)
|
||||
(i32.const 2)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.ne
|
||||
(call "$(lib)/string/String#indexOf|trampoline"
|
||||
(get_global $std/string/str)
|
||||
(i32.const 164)
|
||||
(i32.const 0)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
(i32.const -1)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
@ -3465,13 +3484,17 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 172)
|
||||
(i32.const 0)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(f64.const 0)
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 172)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 0)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
@ -3484,13 +3507,17 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 180)
|
||||
(i32.const 0)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(f64.const 1)
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 180)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
@ -3503,13 +3530,17 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 188)
|
||||
(i32.const 0)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(f64.const 5)
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 188)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 5)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
@ -3522,13 +3553,17 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 204)
|
||||
(i32.const 0)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(f64.const 455)
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 204)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 455)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
@ -3541,13 +3576,17 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 220)
|
||||
(i32.const 0)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(f64.const 3855)
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 220)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 3855)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
@ -3560,13 +3599,17 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 236)
|
||||
(i32.const 0)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(f64.const 3855)
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 236)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 3855)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
@ -3579,13 +3622,17 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 252)
|
||||
(i32.const 0)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(f64.const 11)
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 252)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 11)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
@ -3598,13 +3645,17 @@
|
||||
)
|
||||
)
|
||||
(if
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 264)
|
||||
(i32.const 0)
|
||||
(block (result i32)
|
||||
(set_global $argumentCount
|
||||
(i32.const 1)
|
||||
)
|
||||
(f64.const 1)
|
||||
(f64.ne
|
||||
(call "$(lib)/string/parseInt|trampoline"
|
||||
(i32.const 264)
|
||||
(i32.const 0)
|
||||
)
|
||||
(f64.const 1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $abort
|
||||
|
Reference in New Issue
Block a user