eliminate retainRelease and skippedRelease

This commit is contained in:
dcode
2019-05-25 19:16:09 +02:00
parent bd9d77e151
commit 3224925e47
37 changed files with 8521 additions and 5537 deletions

View File

@ -1815,33 +1815,7 @@
local.get $2
call $~lib/rt/pure/__retain
)
(func $~lib/rt/pure/__retainRelease (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
local.get $1
i32.ne
if
local.get $1
i32.const 6564
i32.gt_u
if
local.get $1
i32.const 16
i32.sub
call $~lib/rt/pure/increment
end
local.get $0
i32.const 6564
i32.gt_u
if
local.get $0
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
end
local.get $1
)
(func $~lib/string/String#startsWith (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String#startsWith (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -1891,7 +1865,7 @@
call $~lib/rt/pure/__release
local.get $0
)
(func $~lib/string/String#endsWith (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String#endsWith (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
i32.const 576
@ -1939,7 +1913,7 @@
call $~lib/rt/pure/__release
local.get $0
)
(func $~lib/string/String#indexOf (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/string/String#indexOf (; 32 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1962,7 +1936,15 @@
if
local.get $1
i32.const 552
call $~lib/rt/pure/__retainRelease
i32.ne
if
i32.const 552
call $~lib/rt/pure/__retain
drop
local.get $1
call $~lib/rt/pure/__release
end
i32.const 552
local.set $1
end
local.get $1
@ -2033,7 +2015,7 @@
call $~lib/rt/pure/__release
i32.const -1
)
(func $~lib/memory/memory.repeat (; 34 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/memory/memory.repeat (; 33 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(local $4 i32)
local.get $2
local.get $3
@ -2058,7 +2040,7 @@
end
end
)
(func $~lib/string/String#padStart (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/string/String#padStart (; 34 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2160,7 +2142,7 @@
call $~lib/rt/pure/__release
local.get $0
)
(func $~lib/string/String#padEnd (; 36 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/string/String#padEnd (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2263,7 +2245,7 @@
call $~lib/rt/pure/__release
local.get $0
)
(func $~lib/string/String#lastIndexOf (; 37 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/string/String#lastIndexOf (; 36 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
local.get $1
@ -2284,7 +2266,15 @@
if
local.get $1
i32.const 552
call $~lib/rt/pure/__retainRelease
i32.ne
if
i32.const 552
call $~lib/rt/pure/__retain
drop
local.get $1
call $~lib/rt/pure/__release
end
i32.const 552
local.set $1
end
local.get $0
@ -2354,7 +2344,7 @@
call $~lib/rt/pure/__release
i32.const -1
)
(func $~lib/util/string/parse<f64> (; 38 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
(func $~lib/util/string/parse<f64> (; 37 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -2584,7 +2574,7 @@
call $~lib/rt/pure/__release
f64.const nan:0x8000000000000
)
(func $~lib/string/parseInt (; 39 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
(func $~lib/string/parseInt (; 38 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
(local $1 f64)
local.get $0
call $~lib/rt/pure/__retain
@ -2596,7 +2586,7 @@
call $~lib/rt/pure/__release
local.get $1
)
(func $~lib/string/parseFloat (; 40 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
(func $~lib/string/parseFloat (; 39 ;) (type $FUNCSIG$di) (param $0 i32) (result f64)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -2770,7 +2760,7 @@
call $~lib/rt/pure/__release
f64.const nan:0x8000000000000
)
(func $~lib/string/String#concat (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#concat (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2782,7 +2772,15 @@
if
local.get $1
i32.const 552
call $~lib/rt/pure/__retainRelease
i32.ne
if
i32.const 552
call $~lib/rt/pure/__retain
drop
local.get $1
call $~lib/rt/pure/__release
end
i32.const 552
local.set $1
end
local.get $0
@ -2825,7 +2823,7 @@
call $~lib/rt/pure/__release
local.get $2
)
(func $~lib/string/String.__concat (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 41 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
call $~lib/rt/pure/__retain
@ -2846,7 +2844,7 @@
call $~lib/rt/pure/__release
local.get $2
)
(func $~lib/string/String.__ne (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__ne (; 42 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
call $~lib/rt/pure/__retain
@ -2865,7 +2863,7 @@
call $~lib/rt/pure/__release
local.get $2
)
(func $~lib/string/String.__gt (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__gt (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -2936,7 +2934,7 @@
call $~lib/rt/pure/__release
i32.const 0
)
(func $~lib/string/String.__lt (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__lt (; 44 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -3006,7 +3004,7 @@
call $~lib/rt/pure/__release
i32.const 0
)
(func $~lib/string/String.__gte (; 46 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__gte (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
call $~lib/rt/pure/__retain
@ -3025,7 +3023,7 @@
call $~lib/rt/pure/__release
local.get $2
)
(func $~lib/string/String.__lte (; 47 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String.__lte (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
i32.const 120
call $~lib/rt/pure/__retain
@ -3044,7 +3042,7 @@
call $~lib/rt/pure/__release
local.get $1
)
(func $~lib/string/String#repeat (; 48 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#repeat (; 47 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -3115,7 +3113,7 @@
local.get $3
call $~lib/rt/pure/__retain
)
(func $~lib/string/String#slice (; 49 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/string/String#slice (; 48 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
local.get $0
call $~lib/string/String#get:length
@ -3190,7 +3188,7 @@
local.get $3
call $~lib/rt/pure/__retain
)
(func $~lib/rt/__allocArray (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/rt/__allocArray (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -3218,7 +3216,7 @@
i32.store offset=12
local.get $1
)
(func $~lib/rt/tlsf/reallocateBlock (; 51 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/rt/tlsf/reallocateBlock (; 50 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -3332,7 +3330,7 @@
call $~lib/rt/tlsf/insertBlock
local.get $3
)
(func $~lib/rt/tlsf/__realloc (; 52 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/rt/tlsf/__realloc (; 51 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
global.get $~lib/rt/tlsf/ROOT
i32.eqz
if
@ -3368,7 +3366,7 @@
i32.const 16
i32.add
)
(func $~lib/memory/memory.fill (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/memory/memory.fill (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
block $~lib/util/memory/memset|inlined.0
local.get $1
@ -3579,7 +3577,7 @@
end
end
)
(func $~lib/array/ensureSize (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/ensureSize (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3634,9 +3632,10 @@
i32.store offset=8
end
)
(func $~lib/array/Array<~lib/string/String>#push (; 55 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/Array<~lib/string/String>#push (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
local.get $1
call $~lib/rt/pure/__retain
drop
@ -3655,18 +3654,25 @@
i32.shl
i32.add
local.tee $2
local.get $2
i32.load
local.tee $4
local.get $1
call $~lib/rt/pure/__retainRelease
i32.store
i32.ne
if
local.get $2
local.get $1
call $~lib/rt/pure/__retain
i32.store
local.get $4
call $~lib/rt/pure/__release
end
local.get $0
local.get $3
i32.store offset=12
local.get $1
call $~lib/rt/pure/__release
)
(func $~lib/string/String#split (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#split (; 55 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -3888,19 +3894,7 @@
call $~lib/rt/pure/__release
local.get $2
)
(func $~lib/rt/pure/__skippedRelease (; 57 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.const 6564
i32.gt_u
if
local.get $0
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
local.get $1
)
(func $~lib/array/Array<~lib/string/String>#__get (; 58 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<~lib/string/String>#__get (; 56 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
local.get $0
i32.load offset=12
@ -3936,7 +3930,7 @@
i32.load
call $~lib/rt/pure/__retain
)
(func $~lib/util/number/decimalCount32 (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/util/number/decimalCount32 (; 57 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 1
i32.const 2
local.get $0
@ -3984,7 +3978,7 @@
i32.lt_u
select
)
(func $~lib/util/number/utoa_simple<u32> (; 60 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/util/number/utoa_simple<u32> (; 58 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
loop $continue|0
local.get $1
@ -4010,7 +4004,7 @@
br_if $continue|0
end
)
(func $~lib/util/number/itoa32 (; 61 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/util/number/itoa32 (; 59 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4053,7 +4047,7 @@
local.get $2
call $~lib/rt/pure/__retain
)
(func $~lib/util/number/utoa32 (; 62 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/util/number/utoa32 (; 60 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -4077,7 +4071,7 @@
local.get $2
call $~lib/rt/pure/__retain
)
(func $~lib/util/number/decimalCount64 (; 63 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(func $~lib/util/number/decimalCount64 (; 61 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
i32.const 11
i32.const 12
local.get $0
@ -4125,7 +4119,7 @@
i64.lt_u
select
)
(func $~lib/util/number/utoa_simple<u64> (; 64 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
(func $~lib/util/number/utoa_simple<u64> (; 62 ;) (type $FUNCSIG$viji) (param $0 i32) (param $1 i64) (param $2 i32)
(local $3 i64)
loop $continue|0
local.get $1
@ -4154,7 +4148,7 @@
br_if $continue|0
end
)
(func $~lib/util/number/utoa64 (; 65 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(func $~lib/util/number/utoa64 (; 63 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4198,7 +4192,7 @@
local.get $2
call $~lib/rt/pure/__retain
)
(func $~lib/util/number/itoa64 (; 66 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(func $~lib/util/number/itoa64 (; 64 ;) (type $FUNCSIG$ij) (param $0 i64) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -4265,7 +4259,7 @@
local.get $3
call $~lib/rt/pure/__retain
)
(func $~lib/util/number/genDigits (; 67 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
(func $~lib/util/number/genDigits (; 65 ;) (type $FUNCSIG$iijijiji) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32)
(local $7 i32)
(local $8 i32)
(local $9 i64)
@ -4666,7 +4660,7 @@
local.get $6
end
)
(func $~lib/util/number/prettify (; 68 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/util/number/prettify (; 66 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
local.get $2
i32.eqz
@ -4917,7 +4911,7 @@
end
end
)
(func $~lib/util/number/dtoa_core (; 69 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
(func $~lib/util/number/dtoa_core (; 67 ;) (type $FUNCSIG$iid) (param $0 i32) (param $1 f64) (result i32)
(local $2 i64)
(local $3 i32)
(local $4 i64)
@ -5205,7 +5199,7 @@
local.get $10
i32.add
)
(func $~lib/string/String#substring (; 70 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#substring (; 68 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -5292,7 +5286,7 @@
local.get $1
call $~lib/rt/pure/__retain
)
(func $~lib/rt/tlsf/__free (; 71 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/tlsf/__free (; 69 ;) (type $FUNCSIG$vi) (param $0 i32)
global.get $~lib/rt/tlsf/ROOT
i32.eqz
if
@ -5325,7 +5319,7 @@
i32.sub
call $~lib/rt/tlsf/freeBlock
)
(func $~lib/util/number/dtoa (; 72 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
(func $~lib/util/number/dtoa (; 70 ;) (type $FUNCSIG$id) (param $0 f64) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -5381,7 +5375,7 @@
call $~lib/rt/tlsf/__free
local.get $2
)
(func $start:std/string (; 73 ;) (type $FUNCSIG$v)
(func $start:std/string (; 71 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -5538,12 +5532,12 @@
i32.const -1
i32.const 0
global.get $std/string/str
local.tee $0
local.tee $1
call $~lib/string/String#get:length
i32.ge_u
br_if $__inlined_func$~lib/string/String#charCodeAt
drop
local.get $0
local.get $1
i32.load16_u
end
i32.const 104
@ -5595,7 +5589,7 @@
end
i32.const 0
call $~lib/string/String.fromCharCode
local.tee $6
local.tee $5
i32.const 384
call $~lib/string/String.__eq
i32.eqz
@ -5609,7 +5603,7 @@
end
i32.const 54
call $~lib/string/String.fromCharCode
local.tee $7
local.tee $6
i32.const 432
call $~lib/string/String.__eq
i32.eqz
@ -5623,7 +5617,7 @@
end
i32.const 65590
call $~lib/string/String.fromCharCode
local.tee $8
local.tee $7
i32.const 432
call $~lib/string/String.__eq
i32.eqz
@ -5637,7 +5631,7 @@
end
i32.const 0
call $~lib/string/String.fromCodePoint
local.tee $9
local.tee $8
i32.const 384
call $~lib/string/String.__eq
i32.eqz
@ -5651,7 +5645,7 @@
end
i32.const 54
call $~lib/string/String.fromCodePoint
local.tee $10
local.tee $9
i32.const 432
call $~lib/string/String.__eq
i32.eqz
@ -5665,7 +5659,7 @@
end
i32.const 119558
call $~lib/string/String.fromCodePoint
local.tee $11
local.tee $10
i32.eqz
if
i32.const 504
@ -5700,15 +5694,15 @@
global.get $std/string/str
i32.const 608
call $~lib/rt/pure/__retain
local.tee $0
local.tee $1
i32.const 0
call $~lib/string/String#indexOf
i32.const -1
i32.ne
local.set $1
local.get $0
call $~lib/rt/pure/__release
local.set $0
local.get $1
call $~lib/rt/pure/__release
local.get $0
i32.eqz
if
i32.const 0
@ -5722,7 +5716,7 @@
i32.const 0
i32.const 632
call $~lib/string/String#padStart
local.tee $12
local.tee $11
global.get $std/string/str
call $~lib/string/String.__eq
i32.eqz
@ -5738,7 +5732,7 @@
i32.const 15
i32.const 632
call $~lib/string/String#padStart
local.tee $13
local.tee $12
global.get $std/string/str
call $~lib/string/String.__eq
i32.eqz
@ -5754,7 +5748,7 @@
i32.const 3
i32.const 632
call $~lib/string/String#padStart
local.tee $14
local.tee $13
i32.const 656
call $~lib/string/String.__eq
i32.eqz
@ -5770,7 +5764,7 @@
i32.const 10
i32.const 120
call $~lib/string/String#padStart
local.tee $15
local.tee $14
i32.const 120
call $~lib/string/String.__eq
i32.eqz
@ -5786,7 +5780,7 @@
i32.const 100
i32.const 120
call $~lib/string/String#padStart
local.tee $16
local.tee $15
i32.const 408
call $~lib/string/String.__eq
i32.eqz
@ -5802,7 +5796,7 @@
i32.const 5
i32.const 632
call $~lib/string/String#padStart
local.tee $17
local.tee $16
i32.const 704
call $~lib/string/String.__eq
i32.eqz
@ -5818,7 +5812,7 @@
i32.const 6
i32.const 736
call $~lib/string/String#padStart
local.tee $18
local.tee $17
i32.const 760
call $~lib/string/String.__eq
i32.eqz
@ -5834,7 +5828,7 @@
i32.const 8
i32.const 736
call $~lib/string/String#padStart
local.tee $19
local.tee $18
i32.const 792
call $~lib/string/String.__eq
i32.eqz
@ -5850,7 +5844,7 @@
i32.const 0
i32.const 632
call $~lib/string/String#padEnd
local.tee $20
local.tee $19
global.get $std/string/str
call $~lib/string/String.__eq
i32.eqz
@ -5866,7 +5860,7 @@
i32.const 15
i32.const 632
call $~lib/string/String#padEnd
local.tee $21
local.tee $20
global.get $std/string/str
call $~lib/string/String.__eq
i32.eqz
@ -5882,7 +5876,7 @@
i32.const 3
i32.const 632
call $~lib/string/String#padEnd
local.tee $22
local.tee $21
i32.const 656
call $~lib/string/String.__eq
i32.eqz
@ -5898,7 +5892,7 @@
i32.const 10
i32.const 120
call $~lib/string/String#padEnd
local.tee $23
local.tee $22
i32.const 120
call $~lib/string/String.__eq
i32.eqz
@ -5914,7 +5908,7 @@
i32.const 100
i32.const 120
call $~lib/string/String#padEnd
local.tee $24
local.tee $23
i32.const 408
call $~lib/string/String.__eq
i32.eqz
@ -5930,7 +5924,7 @@
i32.const 5
i32.const 632
call $~lib/string/String#padEnd
local.tee $25
local.tee $24
i32.const 824
call $~lib/string/String.__eq
i32.eqz
@ -5946,7 +5940,7 @@
i32.const 6
i32.const 680
call $~lib/string/String#padEnd
local.tee $26
local.tee $25
i32.const 856
call $~lib/string/String.__eq
i32.eqz
@ -5962,7 +5956,7 @@
i32.const 8
i32.const 680
call $~lib/string/String#padEnd
local.tee $27
local.tee $26
i32.const 888
call $~lib/string/String.__eq
i32.eqz
@ -6416,9 +6410,9 @@
i32.const 408
i32.const 1344
call $~lib/string/String.__concat
local.tee $1
call $~lib/rt/pure/__retain
local.tee $0
call $~lib/rt/pure/__retain
local.tee $1
i32.const 1368
call $~lib/string/String.__eq
i32.eqz
@ -6430,7 +6424,7 @@
call $~lib/builtins/abort
unreachable
end
local.get $0
local.get $1
i32.const 408
call $~lib/string/String.__ne
i32.eqz
@ -6442,10 +6436,10 @@
call $~lib/builtins/abort
unreachable
end
local.get $1
call $~lib/rt/pure/__release
local.get $0
call $~lib/rt/pure/__release
local.get $1
call $~lib/rt/pure/__release
i32.const 120
i32.const 120
call $~lib/string/String.__eq
@ -6787,17 +6781,17 @@
end
i32.const 65377
call $~lib/string/String.fromCodePoint
local.tee $0
local.tee $1
i32.const 55296
call $~lib/string/String.fromCodePoint
local.tee $1
local.tee $0
i32.const 56322
call $~lib/string/String.fromCodePoint
local.tee $3
local.tee $2
call $~lib/string/String.__concat
local.tee $4
local.tee $3
call $~lib/rt/pure/__retain
local.tee $5
local.tee $4
call $~lib/string/String.__gt
i32.eqz
if
@ -6808,16 +6802,16 @@
call $~lib/builtins/abort
unreachable
end
local.get $1
call $~lib/rt/pure/__release
local.get $0
call $~lib/rt/pure/__release
local.get $1
local.get $2
call $~lib/rt/pure/__release
local.get $3
call $~lib/rt/pure/__release
local.get $4
call $~lib/rt/pure/__release
local.get $5
call $~lib/rt/pure/__release
i32.const 736
call $~lib/string/String#get:length
i32.const 3
@ -6863,7 +6857,7 @@
i32.const 408
i32.const 1
call $~lib/string/String#repeat
local.tee $5
local.tee $27
i32.const 408
call $~lib/string/String.__eq
i32.eqz
@ -6966,8 +6960,17 @@
unreachable
end
global.get $std/string/str
local.tee $1
i32.const 1944
i32.ne
if
i32.const 1944
call $~lib/rt/pure/__retain
drop
local.get $1
call $~lib/rt/pure/__release
end
i32.const 1944
call $~lib/rt/pure/__retainRelease
global.set $std/string/str
global.get $std/string/str
i32.const 0
@ -7081,12 +7084,13 @@
call $~lib/builtins/abort
unreachable
end
i32.const 0
i32.const 120
i32.const 0
call $~lib/string/String#split
call $~lib/rt/pure/__skippedRelease
local.tee $1
local.set $1
i32.const 0
call $~lib/rt/pure/__release
local.get $1
i32.load offset=12
i32.const 1
i32.eq
@ -7114,12 +7118,13 @@
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.const 120
i32.const 120
call $~lib/string/String#split
call $~lib/rt/pure/__skippedRelease
local.tee $0
local.set $0
local.get $1
call $~lib/rt/pure/__release
local.get $0
i32.load offset=12
if
i32.const 0
@ -7129,24 +7134,25 @@
call $~lib/builtins/abort
unreachable
end
local.get $0
i32.const 120
i32.const 920
call $~lib/string/String#split
call $~lib/rt/pure/__skippedRelease
local.tee $1
local.set $2
local.get $0
call $~lib/rt/pure/__release
local.get $2
i32.load offset=12
i32.const 1
i32.eq
if
local.get $1
local.get $2
i32.const 0
call $~lib/array/Array<~lib/string/String>#__get
local.tee $2
local.tee $1
i32.const 120
call $~lib/string/String.__eq
local.set $0
local.get $2
local.get $1
call $~lib/rt/pure/__release
else
i32.const 0
@ -7162,12 +7168,13 @@
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.const 2320
i32.const 2352
call $~lib/string/String#split
call $~lib/rt/pure/__skippedRelease
local.tee $1
local.set $1
local.get $2
call $~lib/rt/pure/__release
local.get $1
i32.load offset=12
i32.const 1
i32.eq
@ -7195,11 +7202,13 @@
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.const 2320
i32.const 920
call $~lib/string/String#split
call $~lib/rt/pure/__skippedRelease
local.set $0
local.get $1
call $~lib/rt/pure/__release
local.get $0
local.tee $1
i32.load offset=12
i32.const 3
@ -7262,7 +7271,7 @@
call $~lib/rt/pure/__release
i32.const 0
call $~lib/util/number/itoa32
local.tee $0
local.tee $1
i32.const 1040
call $~lib/string/String.__eq
i32.eqz
@ -7276,7 +7285,7 @@
end
i32.const 1
call $~lib/util/number/itoa32
local.tee $1
local.tee $0
i32.const 1064
call $~lib/string/String.__eq
i32.eqz
@ -8536,6 +8545,8 @@
end
global.get $std/string/str
call $~lib/rt/pure/__release
local.get $5
call $~lib/rt/pure/__release
local.get $6
call $~lib/rt/pure/__release
local.get $7
@ -8578,13 +8589,11 @@
call $~lib/rt/pure/__release
local.get $26
call $~lib/rt/pure/__release
local.get $27
call $~lib/rt/pure/__release
local.get $28
call $~lib/rt/pure/__release
local.get $29
call $~lib/rt/pure/__release
local.get $5
local.get $27
call $~lib/rt/pure/__release
local.get $4
call $~lib/rt/pure/__release
@ -8612,10 +8621,10 @@
call $~lib/rt/pure/__release
local.get $40
call $~lib/rt/pure/__release
local.get $0
call $~lib/rt/pure/__release
local.get $1
call $~lib/rt/pure/__release
local.get $0
call $~lib/rt/pure/__release
local.get $2
call $~lib/rt/pure/__release
local.get $41
@ -8795,11 +8804,11 @@
local.get $128
call $~lib/rt/pure/__release
)
(func $std/string/getString (; 74 ;) (type $FUNCSIG$i) (result i32)
(func $std/string/getString (; 72 ;) (type $FUNCSIG$i) (result i32)
global.get $std/string/str
call $~lib/rt/pure/__retain
)
(func $std/string/main (; 75 ;) (type $FUNCSIG$v)
(func $std/string/main (; 73 ;) (type $FUNCSIG$v)
global.get $~lib/started
i32.eqz
if
@ -8808,7 +8817,7 @@
global.set $~lib/started
end
)
(func $~lib/rt/pure/markGray (; 76 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/markGray (; 74 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -8832,7 +8841,7 @@
call $~lib/rt/__visit_members
end
)
(func $~lib/rt/pure/scanBlack (; 77 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scanBlack (; 75 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
local.get $0
i32.load offset=4
@ -8845,7 +8854,7 @@
i32.const 4
call $~lib/rt/__visit_members
)
(func $~lib/rt/pure/scan (; 78 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scan (; 76 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -8879,7 +8888,7 @@
end
end
)
(func $~lib/rt/pure/collectWhite (; 79 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/collectWhite (; 77 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -8907,7 +8916,7 @@
local.get $0
call $~lib/rt/tlsf/freeBlock
)
(func $~lib/rt/pure/__visit (; 80 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/pure/__visit (; 78 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0
i32.const 6564
i32.lt_u
@ -9017,7 +9026,7 @@
unreachable
end
)
(func $~lib/array/Array<~lib/string/String>#__visit_impl (; 81 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/Array<~lib/string/String>#__visit_impl (; 79 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -9048,7 +9057,7 @@
end
end
)
(func $~lib/rt/__visit_members (; 82 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/__visit_members (; 80 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
block $block$4$break
block $switch$1$default
block $switch$1$case$5
@ -9077,7 +9086,7 @@
call $~lib/rt/pure/__visit
end
)
(func $null (; 83 ;) (type $FUNCSIG$v)
(func $null (; 81 ;) (type $FUNCSIG$v)
nop
)
)