Support indirect calls with omitted arguments

This commit is contained in:
dcodeIO
2018-03-24 09:46:22 +01:00
parent 664f2a1c0d
commit 19a616dd96
18 changed files with 1084 additions and 531 deletions

View File

@ -6,13 +6,13 @@
(type $iiiv (func (param i32 i32 i32)))
(type $iv (func (param i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $v (func))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global "$(lib)/allocator/arena/startOffset" (mut i32) (i32.const 0))
(global "$(lib)/allocator/arena/offset" (mut i32) (i32.const 0))
(global $std/array/arr (mut i32) (i32.const 0))
(global $std/array/i (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $std/array/includes (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 64))
(memory $0 1)
@ -2839,14 +2839,14 @@
)
(i32.const -1)
)
(func "$(lib)/array/Array<i32>#indexOf|trampoline" (; 15 ;) (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)/array/Array<i32>#indexOf|trampoline" (; 15 ;) (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)
)
)
)
@ -2950,14 +2950,14 @@
)
(i32.const 0)
)
(func "$(lib)/array/Array<i32>#includes|trampoline" (; 17 ;) (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)/array/Array<i32>#includes|trampoline" (; 17 ;) (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)
)
)
)
@ -4039,11 +4039,15 @@
)
)
(set_global $std/array/i
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 44)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 44)
(i32.const 0)
)
)
)
(if
@ -4059,11 +4063,15 @@
)
)
(set_global $std/array/i
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 42)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 42)
(i32.const 0)
)
)
)
(if
@ -4082,11 +4090,15 @@
)
)
(set_global $std/array/i
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 45)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 45)
(i32.const 0)
)
)
)
(if
@ -4259,11 +4271,15 @@
)
)
(set_global $std/array/includes
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 44)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 44)
(i32.const 0)
)
)
)
(if
@ -4282,11 +4298,15 @@
)
)
(set_global $std/array/includes
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 42)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 42)
(i32.const 0)
)
)
)
(if
@ -4305,11 +4325,15 @@
)
)
(set_global $std/array/includes
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 45)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 45)
(i32.const 0)
)
)
)
(if

View File

@ -7,7 +7,6 @@
(type $iiiv (func (param i32 i32 i32)))
(type $iv (func (param i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $v (func))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global "$(lib)/allocator/common/alignment/BITS" i32 (i32.const 3))
@ -17,6 +16,7 @@
(global "$(lib)/allocator/arena/offset" (mut i32) (i32.const 0))
(global $std/array/arr (mut i32) (i32.const 0))
(global $std/array/i (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $std/array/includes (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 64))
(memory $0 1)
@ -3187,14 +3187,14 @@
(i32.const -1)
)
)
(func "$(lib)/array/Array<i32>#indexOf|trampoline" (; 15 ;) (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)/array/Array<i32>#indexOf|trampoline" (; 15 ;) (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)
)
)
)
@ -3308,14 +3308,14 @@
(i32.const 0)
)
)
(func "$(lib)/array/Array<i32>#includes|trampoline" (; 17 ;) (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)/array/Array<i32>#includes|trampoline" (; 17 ;) (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)
)
)
)
@ -4525,11 +4525,15 @@
)
)
(set_global $std/array/i
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 44)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 44)
(i32.const 0)
)
)
)
(if
@ -4550,11 +4554,15 @@
)
)
(set_global $std/array/i
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 42)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 42)
(i32.const 0)
)
)
)
(if
@ -4575,11 +4583,15 @@
)
)
(set_global $std/array/i
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 45)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#indexOf|trampoline"
(get_global $std/array/arr)
(i32.const 45)
(i32.const 0)
)
)
)
(if
@ -4768,11 +4780,15 @@
)
)
(set_global $std/array/includes
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 44)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 44)
(i32.const 0)
)
)
)
(if
@ -4793,11 +4809,15 @@
)
)
(set_global $std/array/includes
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 42)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 42)
(i32.const 0)
)
)
)
(if
@ -4818,11 +4838,15 @@
)
)
(set_global $std/array/includes
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 45)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/array/Array<i32>#includes|trampoline"
(get_global $std/array/arr)
(i32.const 45)
(i32.const 0)
)
)
)
(if

View File

@ -4,13 +4,13 @@
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $v (func))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global "$(lib)/allocator/arena/startOffset" (mut i32) (i32.const 0))
(global "$(lib)/allocator/arena/offset" (mut i32) (i32.const 0))
(global $std/arraybuffer/buffer (mut i32) (i32.const 0))
(global "$(lib)/arraybuffer/ArrayBuffer.EMPTY" (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $std/arraybuffer/sliced (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 44))
(memory $0 1)
@ -2129,16 +2129,13 @@
)
)
)
(func "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline" (; 6 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(block $N=2
(block $N=1
(block $N=0
(block $N=invalid
(br_table $N=0 $N=1 $N=2 $N=invalid
(i32.sub
(get_local $3)
(i32.const 1)
)
(func "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline" (; 6 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(block $2of2
(block $1of2
(block $0of2
(block $oob
(br_table $0of2 $1of2 $2of2 $oob
(get_global $argumentCount)
)
)
(unreachable)
@ -2194,11 +2191,15 @@
)
)
(set_global $std/arraybuffer/sliced
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 0)
(i32.const 0)
(i32.const 1)
(block (result i32)
(set_global $argumentCount
(i32.const 0)
)
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 0)
(i32.const 0)
)
)
)
(if
@ -2234,11 +2235,15 @@
)
)
(set_global $std/arraybuffer/sliced
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 1)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 1)
(i32.const 0)
)
)
)
(if
@ -2259,11 +2264,15 @@
)
)
(set_global $std/arraybuffer/sliced
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const -1)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const -1)
(i32.const 0)
)
)
)
(if
@ -2380,11 +2389,15 @@
)
)
(set_global $std/arraybuffer/sliced
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 42)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 42)
(i32.const 0)
)
)
)
(if

View File

@ -5,7 +5,6 @@
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $v (func))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global "$(lib)/allocator/common/alignment/BITS" i32 (i32.const 3))
@ -16,6 +15,7 @@
(global "$(lib)/arraybuffer/HEADER_SIZE" i32 (i32.const 4))
(global $std/arraybuffer/buffer (mut i32) (i32.const 0))
(global "$(lib)/arraybuffer/ArrayBuffer.EMPTY" (mut i32) (i32.const 0))
(global $argumentCount (mut i32) (i32.const 0))
(global $std/arraybuffer/sliced (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 44))
(memory $0 1)
@ -2435,16 +2435,13 @@
)
)
)
(func "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline" (; 6 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(block $N=2
(block $N=1
(block $N=0
(block $N=invalid
(br_table $N=0 $N=1 $N=2 $N=invalid
(i32.sub
(get_local $3)
(i32.const 1)
)
(func "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline" (; 6 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(block $2of2
(block $1of2
(block $0of2
(block $oob
(br_table $0of2 $1of2 $2of2 $oob
(get_global $argumentCount)
)
)
(unreachable)
@ -2505,11 +2502,15 @@
)
)
(set_global $std/arraybuffer/sliced
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 0)
(i32.const 0)
(i32.const 1)
(block (result i32)
(set_global $argumentCount
(i32.const 0)
)
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 0)
(i32.const 0)
)
)
)
(if
@ -2549,11 +2550,15 @@
)
)
(set_global $std/arraybuffer/sliced
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 1)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 1)
(i32.const 0)
)
)
)
(if
@ -2576,11 +2581,15 @@
)
)
(set_global $std/arraybuffer/sliced
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const -1)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const -1)
(i32.const 0)
)
)
)
(if
@ -2707,11 +2716,15 @@
)
)
(set_global $std/arraybuffer/sliced
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 42)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/arraybuffer/ArrayBuffer#slice|trampoline"
(get_global $std/arraybuffer/buffer)
(i32.const 42)
(i32.const 0)
)
)
)
(if

View File

@ -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

View File

@ -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)))
@ -18,6 +16,7 @@
(global "$(lib)/allocator/arena/offset" (mut i32) (i32.const 0))
(global $std/string/str (mut i32) (i32.const 4))
(global "$(lib)/string/HEADER_SIZE" i32 (i32.const 4))
(global $argumentCount (mut i32) (i32.const 0))
(global "$(lib)/string/CharCode.PLUS" i32 (i32.const 43))
(global "$(lib)/string/CharCode.MINUS" i32 (i32.const 45))
(global "$(lib)/string/CharCode.DOT" i32 (i32.const 46))
@ -344,14 +343,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)
)
)
)
@ -471,14 +470,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)
)
)
)
@ -635,14 +634,14 @@
)
)
)
(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)
)
)
)
@ -658,14 +657,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)
)
)
)
@ -1104,13 +1103,13 @@
)
)
)
(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)
)
)
@ -3865,11 +3864,15 @@
)
(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)
)
(call "$(lib)/string/String#startsWith|trampoline"
(get_global $std/string/str)
(i32.const 108)
(i32.const 0)
)
)
)
(block
@ -3884,11 +3887,15 @@
)
(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)
)
(call "$(lib)/string/String#endsWith|trampoline"
(get_global $std/string/str)
(i32.const 128)
(i32.const 0)
)
)
)
(block
@ -3903,11 +3910,15 @@
)
(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)
)
(call "$(lib)/string/String#includes|trampoline"
(get_global $std/string/str)
(i32.const 144)
(i32.const 0)
)
)
)
(block
@ -3923,11 +3934,15 @@
(if
(i32.eqz
(i32.eq
(call "$(lib)/string/String#indexOf|trampoline"
(get_global $std/string/str)
(i32.const 156)
(i32.const 0)
(i32.const 2)
(block (result i32)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/string/String#indexOf|trampoline"
(get_global $std/string/str)
(i32.const 156)
(i32.const 0)
)
)
(i32.const 2)
)
@ -3945,11 +3960,15 @@
(if
(i32.eqz
(i32.eq
(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)
)
(call "$(lib)/string/String#indexOf|trampoline"
(get_global $std/string/str)
(i32.const 164)
(i32.const 0)
)
)
(i32.const -1)
)
@ -3967,10 +3986,14 @@
(if
(i32.eqz
(f64.eq
(call "$(lib)/string/parseInt|trampoline"
(i32.const 172)
(i32.const 0)
(i32.const 1)
(block (result f64)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/string/parseInt|trampoline"
(i32.const 172)
(i32.const 0)
)
)
(f64.const 0)
)
@ -3988,10 +4011,14 @@
(if
(i32.eqz
(f64.eq
(call "$(lib)/string/parseInt|trampoline"
(i32.const 180)
(i32.const 0)
(i32.const 1)
(block (result f64)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/string/parseInt|trampoline"
(i32.const 180)
(i32.const 0)
)
)
(f64.const 1)
)
@ -4009,10 +4036,14 @@
(if
(i32.eqz
(f64.eq
(call "$(lib)/string/parseInt|trampoline"
(i32.const 188)
(i32.const 0)
(i32.const 1)
(block (result f64)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/string/parseInt|trampoline"
(i32.const 188)
(i32.const 0)
)
)
(f64.const 5)
)
@ -4030,10 +4061,14 @@
(if
(i32.eqz
(f64.eq
(call "$(lib)/string/parseInt|trampoline"
(i32.const 204)
(i32.const 0)
(i32.const 1)
(block (result f64)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/string/parseInt|trampoline"
(i32.const 204)
(i32.const 0)
)
)
(f64.const 455)
)
@ -4051,10 +4086,14 @@
(if
(i32.eqz
(f64.eq
(call "$(lib)/string/parseInt|trampoline"
(i32.const 220)
(i32.const 0)
(i32.const 1)
(block (result f64)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/string/parseInt|trampoline"
(i32.const 220)
(i32.const 0)
)
)
(f64.const 3855)
)
@ -4072,10 +4111,14 @@
(if
(i32.eqz
(f64.eq
(call "$(lib)/string/parseInt|trampoline"
(i32.const 236)
(i32.const 0)
(i32.const 1)
(block (result f64)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/string/parseInt|trampoline"
(i32.const 236)
(i32.const 0)
)
)
(f64.const 3855)
)
@ -4093,10 +4136,14 @@
(if
(i32.eqz
(f64.eq
(call "$(lib)/string/parseInt|trampoline"
(i32.const 252)
(i32.const 0)
(i32.const 1)
(block (result f64)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/string/parseInt|trampoline"
(i32.const 252)
(i32.const 0)
)
)
(f64.const 11)
)
@ -4114,10 +4161,14 @@
(if
(i32.eqz
(f64.eq
(call "$(lib)/string/parseInt|trampoline"
(i32.const 264)
(i32.const 0)
(i32.const 1)
(block (result f64)
(set_global $argumentCount
(i32.const 1)
)
(call "$(lib)/string/parseInt|trampoline"
(i32.const 264)
(i32.const 0)
)
)
(f64.const 1)
)