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

@ -2,7 +2,7 @@
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$id (func (param f64) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$v (func))
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
(memory $0 1)
@ -82,10 +82,15 @@
unreachable
unreachable
)
(func $~lib/rt/stub/__retainRelease (; 5 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
(func $~lib/rt/stub/__retain (; 5 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
)
(func $start:instanceof (; 6 ;) (type $FUNCSIG$v)
(func $~lib/rt/stub/__release (; 6 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $start:instanceof (; 7 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
block (result i32)
global.get $instanceof/a
drop
@ -678,9 +683,21 @@
call $~lib/builtins/abort
unreachable
end
global.get $instanceof/an
i32.const 1
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 1
local.tee $0
global.get $instanceof/an
local.tee $1
i32.ne
if
local.get $0
call $~lib/rt/stub/__retain
drop
local.get $1
call $~lib/rt/stub/__release
end
local.get $0
end
global.set $instanceof/an
global.get $instanceof/an
i32.const 0
@ -709,9 +726,9 @@
unreachable
end
)
(func $start (; 7 ;) (type $FUNCSIG$v)
(func $start (; 8 ;) (type $FUNCSIG$v)
call $start:instanceof
)
(func $null (; 8 ;) (type $FUNCSIG$v)
(func $null (; 9 ;) (type $FUNCSIG$v)
)
)

View File

@ -1,7 +1,6 @@
(module
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$v (func))
(memory $0 0)
@ -166,10 +165,9 @@
local.get $0
call $~lib/rt/stub/__release
)
(func $~lib/rt/stub/__retainRelease (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $possibly-null/testWhile (; 12 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $possibly-null/testWhile (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
local.get $0
call $~lib/rt/stub/__retain
drop
@ -177,9 +175,21 @@
loop $continue|0
local.get $0
if
local.get $0
i32.const 0
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 0
local.tee $1
local.get $0
local.tee $2
i32.ne
if
local.get $1
call $~lib/rt/stub/__retain
drop
local.get $2
call $~lib/rt/stub/__release
end
local.get $1
end
local.set $0
br $continue|0
end
@ -188,7 +198,9 @@
local.get $0
call $~lib/rt/stub/__release
)
(func $possibly-null/testWhile2 (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $possibly-null/testWhile2 (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
call $~lib/rt/stub/__retain
drop
@ -199,9 +211,21 @@
loop $continue|0
local.get $0
if
local.get $0
local.get $1
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $1
local.tee $2
local.get $0
local.tee $3
i32.ne
if
local.get $2
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $2
end
local.set $0
br $continue|0
end
@ -212,7 +236,9 @@
local.get $1
call $~lib/rt/stub/__release
)
(func $possibly-null/testWhile3 (; 14 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $possibly-null/testWhile3 (; 13 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
call $~lib/rt/stub/__retain
drop
@ -225,9 +251,21 @@
if
local.get $1
if
local.get $0
local.get $1
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $1
local.tee $2
local.get $0
local.tee $3
i32.ne
if
local.get $2
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $2
end
local.set $0
end
br $continue|0
@ -239,13 +277,13 @@
local.get $1
call $~lib/rt/stub/__release
)
(func $possibly-null/requireNonNull (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $possibly-null/requireNonNull (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
call $~lib/rt/stub/__retain
drop
local.get $0
)
(func $possibly-null/testLogicalAnd (; 16 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $possibly-null/testLogicalAnd (; 15 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -267,7 +305,7 @@
local.get $0
call $~lib/rt/stub/__release
)
(func $possibly-null/testLogicalOr (; 17 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $possibly-null/testLogicalOr (; 16 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -292,7 +330,7 @@
local.get $0
call $~lib/rt/stub/__release
)
(func $possibly-null/testLogicalAndMulti (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $possibly-null/testLogicalAndMulti (; 17 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0
call $~lib/rt/stub/__retain
drop
@ -315,7 +353,7 @@
local.get $1
call $~lib/rt/stub/__release
)
(func $possibly-null/testLogicalOrMulti (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $possibly-null/testLogicalOrMulti (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0
call $~lib/rt/stub/__retain
drop
@ -340,23 +378,37 @@
local.get $1
call $~lib/rt/stub/__release
)
(func $possibly-null/testAssign (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $possibly-null/testAssign (; 19 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
call $~lib/rt/stub/__retain
drop
local.get $1
call $~lib/rt/stub/__retain
drop
local.get $0
local.get $1
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $1
local.tee $2
local.get $0
local.tee $3
i32.ne
if
local.get $2
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $2
end
local.set $0
local.get $0
call $~lib/rt/stub/__release
local.get $1
call $~lib/rt/stub/__release
)
(func $possibly-null/testNeverNull (; 21 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $possibly-null/testNeverNull (; 20 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
call $~lib/rt/stub/__retain
drop
@ -368,6 +420,6 @@
local.get $0
call $~lib/rt/stub/__release
)
(func $null (; 22 ;) (type $FUNCSIG$v)
(func $null (; 21 ;) (type $FUNCSIG$v)
)
)

View File

@ -2,11 +2,12 @@
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
(import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32)))
(import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32)))
(import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32)))
(import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32)))
@ -26,7 +27,60 @@
(global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0))
(export "memory" (memory $0))
(start $start)
(func $~lib/rt/tlsf/removeBlock (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/pure/increment (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
local.tee $1
i32.const -268435456
i32.and
local.get $1
i32.const 1
i32.add
i32.const -268435456
i32.and
i32.ne
if
i32.const 0
i32.const 40
i32.const 104
i32.const 2
call $~lib/builtins/abort
unreachable
end
local.get $0
local.get $1
i32.const 1
i32.add
i32.store offset=4
local.get $0
call $~lib/rt/rtrace/onincrement
local.get $0
i32.load
i32.const 1
i32.and
if
i32.const 0
i32.const 40
i32.const 107
i32.const 13
call $~lib/builtins/abort
unreachable
end
)
(func $~lib/rt/pure/__retain (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 300
i32.gt_u
if
local.get $0
i32.const 16
i32.sub
call $~lib/rt/pure/increment
end
local.get $0
)
(func $~lib/rt/tlsf/removeBlock (; 7 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -192,7 +246,7 @@
end
end
)
(func $~lib/rt/tlsf/insertBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/tlsf/insertBlock (; 8 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -477,7 +531,7 @@
i32.or
i32.store offset=4
)
(func $~lib/rt/tlsf/freeBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/tlsf/freeBlock (; 9 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
local.get $1
i32.load
@ -503,7 +557,7 @@
local.get $1
call $~lib/rt/rtrace/onfree
)
(func $~lib/rt/__typeinfo (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/rt/__typeinfo (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 272
i32.load
@ -523,7 +577,7 @@
i32.add
i32.load
)
(func $~lib/rt/tlsf/addMemory (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/rt/tlsf/addMemory (; 11 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
local.get $2
@ -637,7 +691,7 @@
local.get $1
call $~lib/rt/tlsf/insertBlock
)
(func $~lib/rt/tlsf/initializeRoot (; 9 ;) (type $FUNCSIG$v)
(func $~lib/rt/tlsf/initializeRoot (; 12 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
i32.const 1
@ -720,7 +774,7 @@
i32.const 304
global.set $~lib/rt/tlsf/ROOT
)
(func $~lib/rt/tlsf/prepareSize (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/rt/tlsf/prepareSize (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 1073741808
i32.ge_u
@ -744,7 +798,7 @@
i32.gt_u
select
)
(func $~lib/rt/tlsf/searchBlock (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/rt/tlsf/searchBlock (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $1
i32.const 256
@ -875,7 +929,7 @@
end
end
)
(func $~lib/rt/tlsf/growMemory (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/tlsf/growMemory (; 15 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
memory.size
local.tee $2
@ -912,7 +966,7 @@
i32.shl
call $~lib/rt/tlsf/addMemory
)
(func $~lib/rt/tlsf/prepareBlock (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/rt/tlsf/prepareBlock (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
local.get $1
@ -988,7 +1042,7 @@
i32.store
end
)
(func $~lib/rt/tlsf/allocateBlock (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/rt/tlsf/allocateBlock (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -1047,7 +1101,7 @@
call $~lib/rt/rtrace/onalloc
local.get $2
)
(func $~lib/rt/tlsf/__alloc (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/rt/tlsf/__alloc (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
global.get $~lib/rt/tlsf/ROOT
local.tee $1
@ -1067,7 +1121,7 @@
i32.const 16
i32.add
)
(func $~lib/memory/memory.copy (; 16 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
block $~lib/util/memory/memmove|inlined.0
@ -1240,7 +1294,7 @@
end
end
)
(func $~lib/rt/pure/growRoots (; 17 ;) (type $FUNCSIG$v)
(func $~lib/rt/pure/growRoots (; 20 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -1275,7 +1329,7 @@
i32.add
global.set $~lib/rt/pure/END
)
(func $~lib/rt/pure/appendRoot (; 18 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/appendRoot (; 21 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
global.get $~lib/rt/pure/CUR
local.tee $1
@ -1294,7 +1348,7 @@
i32.add
global.set $~lib/rt/pure/CUR
)
(func $~lib/rt/pure/decrement (; 19 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/decrement (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -1384,34 +1438,52 @@
end
end
)
(func $~lib/rt/pure/__retainRelease (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/rt/pure/__release (; 23 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
i32.const 300
i32.gt_u
if
local.get $0
i32.const 300
i32.gt_u
if
local.get $0
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
i32.const 0
)
(func $start (; 21 ;) (type $FUNCSIG$v)
(func $start:rc/global-init (; 24 ;) (type $FUNCSIG$v)
(local $0 i32)
i32.const 24
call $~lib/rt/pure/__retain
global.set $rc/global-init/a
i32.const 24
call $~lib/rt/pure/__retain
global.set $rc/global-init/b
global.get $rc/global-init/a
call $~lib/rt/pure/__retainRelease
local.tee $0
if
i32.const 0
call $~lib/rt/pure/__retain
drop
local.get $0
call $~lib/rt/pure/__release
end
i32.const 0
global.set $rc/global-init/a
global.get $rc/global-init/b
call $~lib/rt/pure/__retainRelease
local.tee $0
if
i32.const 0
call $~lib/rt/pure/__retain
drop
local.get $0
call $~lib/rt/pure/__release
end
i32.const 0
global.set $rc/global-init/b
)
(func $~lib/rt/pure/markGray (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $start (; 25 ;) (type $FUNCSIG$v)
call $start:rc/global-init
)
(func $~lib/rt/pure/markGray (; 26 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -1435,7 +1507,7 @@
call $~lib/rt/__visit_members
end
)
(func $~lib/rt/pure/scanBlack (; 23 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scanBlack (; 27 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
local.get $0
i32.load offset=4
@ -1448,7 +1520,7 @@
i32.const 4
call $~lib/rt/__visit_members
)
(func $~lib/rt/pure/scan (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scan (; 28 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -1482,7 +1554,7 @@
end
end
)
(func $~lib/rt/pure/collectWhite (; 25 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/collectWhite (; 29 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -1510,7 +1582,7 @@
local.get $0
call $~lib/rt/tlsf/freeBlock
)
(func $~lib/rt/pure/__visit (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/pure/__visit (; 30 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0
i32.const 300
i32.lt_u
@ -1620,7 +1692,7 @@
unreachable
end
)
(func $~lib/rt/__visit_members (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/__visit_members (; 31 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
block $switch$1$default
block $switch$1$case$4
block $switch$1$case$2
@ -1644,7 +1716,7 @@
end
unreachable
)
(func $null (; 28 ;) (type $FUNCSIG$v)
(func $null (; 32 ;) (type $FUNCSIG$v)
nop
)
)

View File

@ -3,9 +3,9 @@
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$vii (func (param i32 i32)))
(type $FUNCSIG$v (func))
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
@ -3087,47 +3087,55 @@
end
end
)
(func $~lib/rt/pure/__retainRelease (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $1
(func $~lib/rt/pure/__release (; 25 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
i32.ne
global.get $~lib/heap/HEAP_BASE
i32.gt_u
if
global.get $~lib/heap/HEAP_BASE
local.set $2
local.get $1
local.get $2
i32.gt_u
if
local.get $1
i32.const 16
i32.sub
call $~lib/rt/pure/increment
end
local.get $0
local.get $2
i32.gt_u
if
local.get $0
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
local.get $1
)
(func $start:rc/global-init (; 26 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
call $rc/global-init/getRef
global.set $rc/global-init/a
call $rc/global-init/getRef
global.set $rc/global-init/b
global.get $rc/global-init/a
i32.const 0
call $~lib/rt/pure/__retainRelease
block (result i32)
i32.const 0
local.tee $0
global.get $rc/global-init/a
local.tee $1
i32.ne
if
local.get $0
call $~lib/rt/pure/__retain
drop
local.get $1
call $~lib/rt/pure/__release
end
local.get $0
end
global.set $rc/global-init/a
global.get $rc/global-init/b
i32.const 0
call $~lib/rt/pure/__retainRelease
block (result i32)
i32.const 0
local.tee $1
global.get $rc/global-init/b
local.tee $0
i32.ne
if
local.get $1
call $~lib/rt/pure/__retain
drop
local.get $0
call $~lib/rt/pure/__release
end
local.get $1
end
global.set $rc/global-init/b
)
(func $start (; 27 ;) (type $FUNCSIG$v)

View File

@ -1447,34 +1447,20 @@
end
end
)
(func $~lib/rt/pure/__retainRelease (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/rt/pure/__release (; 23 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
local.get $1
i32.ne
i32.const 724
i32.gt_u
if
local.get $1
i32.const 724
i32.gt_u
if
local.get $1
i32.const 16
i32.sub
call $~lib/rt/pure/increment
end
local.get $0
i32.const 724
i32.gt_u
if
local.get $0
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
local.get $1
)
(func $~lib/arraybuffer/ArrayBufferView#constructor (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $1
i32.const 268435452
i32.gt_u
@ -1511,11 +1497,20 @@
local.get $0
i32.const 0
i32.store offset=8
local.get $0
local.get $1
local.get $0
i32.load
local.tee $3
i32.ne
if
local.get $1
call $~lib/rt/pure/__retain
drop
local.get $3
call $~lib/rt/pure/__release
end
local.get $0
local.get $1
call $~lib/rt/pure/__retainRelease
i32.store
local.get $0
local.get $1
@ -1974,7 +1969,7 @@
if
i32.const 424
i32.const 376
i32.const 250
i32.const 258
i32.const 20
call $~lib/builtins/abort
unreachable
@ -1994,20 +1989,10 @@
local.get $1
i32.store offset=12
)
(func $~lib/rt/pure/__release (; 31 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
i32.const 724
i32.gt_u
if
local.get $0
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
)
(func $~lib/array/Array<~lib/string/String>#push (; 32 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/array/Array<~lib/string/String>#push (; 31 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
i32.const 584
call $~lib/rt/pure/__retain
drop
@ -2026,18 +2011,25 @@
i32.shl
i32.add
local.tee $1
local.get $1
i32.load
local.tee $3
i32.const 584
call $~lib/rt/pure/__retainRelease
i32.store
i32.ne
if
local.get $1
i32.const 584
call $~lib/rt/pure/__retain
i32.store
local.get $3
call $~lib/rt/pure/__release
end
local.get $0
local.get $2
i32.store offset=12
i32.const 584
call $~lib/rt/pure/__release
)
(func $~lib/string/String#get:length (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String#get:length (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 16
i32.sub
@ -2045,7 +2037,7 @@
i32.const 1
i32.shr_u
)
(func $~lib/string/String#concat (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#concat (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -2057,7 +2049,15 @@
if
local.get $1
i32.const 648
call $~lib/rt/pure/__retainRelease
i32.ne
if
i32.const 648
call $~lib/rt/pure/__retain
drop
local.get $1
call $~lib/rt/pure/__release
end
i32.const 648
local.set $1
end
local.get $0
@ -2100,7 +2100,7 @@
call $~lib/rt/pure/__release
local.get $2
)
(func $~lib/string/String.__concat (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
call $~lib/rt/pure/__retain
@ -2121,7 +2121,7 @@
call $~lib/rt/pure/__release
local.get $2
)
(func $~lib/rt/pure/markGray (; 36 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/markGray (; 35 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -2145,7 +2145,7 @@
call $~lib/rt/__visit_members
end
)
(func $~lib/rt/pure/scanBlack (; 37 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scanBlack (; 36 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
local.get $0
i32.load offset=4
@ -2158,7 +2158,7 @@
i32.const 4
call $~lib/rt/__visit_members
)
(func $~lib/rt/pure/scan (; 38 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scan (; 37 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -2192,7 +2192,7 @@
end
end
)
(func $~lib/rt/pure/collectWhite (; 39 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/collectWhite (; 38 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -2220,7 +2220,7 @@
local.get $0
call $~lib/rt/tlsf/freeBlock
)
(func $~lib/rt/pure/__collect (; 40 ;) (type $FUNCSIG$v)
(func $~lib/rt/pure/__collect (; 39 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -2344,7 +2344,7 @@
local.get $5
global.set $~lib/rt/pure/CUR
)
(func $start:retain-release-sanity (; 41 ;) (type $FUNCSIG$v)
(func $start:retain-release-sanity (; 40 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -2432,7 +2432,7 @@
call $~lib/rt/pure/__release
call $~lib/rt/pure/__collect
)
(func $retain-release-sanity/main (; 42 ;) (type $FUNCSIG$v)
(func $retain-release-sanity/main (; 41 ;) (type $FUNCSIG$v)
global.get $~lib/started
i32.eqz
if
@ -2441,7 +2441,7 @@
global.set $~lib/started
end
)
(func $~lib/rt/pure/__visit (; 43 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/pure/__visit (; 42 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0
i32.const 724
i32.lt_u
@ -2551,7 +2551,7 @@
unreachable
end
)
(func $~lib/array/Array<~lib/string/String>#__visit_impl (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/Array<~lib/string/String>#__visit_impl (; 43 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -2582,7 +2582,7 @@
end
end
)
(func $~lib/rt/__visit_members (; 45 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/__visit_members (; 44 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
block $block$4$break
block $switch$1$default
block $switch$1$case$6
@ -2611,7 +2611,7 @@
call $~lib/rt/pure/__visit
end
)
(func $null (; 46 ;) (type $FUNCSIG$v)
(func $null (; 45 ;) (type $FUNCSIG$v)
nop
)
)

View File

@ -3090,38 +3090,21 @@
end
end
)
(func $~lib/rt/pure/__retainRelease (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $1
(func $~lib/rt/pure/__release (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
i32.ne
global.get $~lib/heap/HEAP_BASE
i32.gt_u
if
global.get $~lib/heap/HEAP_BASE
local.set $2
local.get $1
local.get $2
i32.gt_u
if
local.get $1
i32.const 16
i32.sub
call $~lib/rt/pure/increment
end
local.get $0
local.get $2
i32.gt_u
if
local.get $0
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
local.get $1
)
(func $~lib/arraybuffer/ArrayBufferView#constructor (; 25 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
local.get $1
i32.const 1073741808
local.get $2
@ -3164,10 +3147,22 @@
local.get $0
end
local.tee $4
local.get $4
i32.load
local.get $3
call $~lib/rt/pure/__retainRelease
block (result i32)
local.get $3
local.tee $5
local.get $4
i32.load
local.tee $4
i32.ne
if
local.get $5
call $~lib/rt/pure/__retain
drop
local.get $4
call $~lib/rt/pure/__release
end
local.get $5
end
i32.store
local.get $0
local.get $3
@ -3739,7 +3734,7 @@
if
i32.const 424
i32.const 376
i32.const 250
i32.const 258
i32.const 20
call $~lib/builtins/abort
unreachable
@ -3760,18 +3755,7 @@
i32.store offset=12
local.get $2
)
(func $~lib/rt/pure/__release (; 33 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
global.get $~lib/heap/HEAP_BASE
i32.gt_u
if
local.get $0
i32.const 16
i32.sub
call $~lib/rt/pure/decrement
end
)
(func $~lib/array/Array<~lib/string/String>#constructor (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<~lib/string/String>#constructor (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
if (result i32)
@ -3810,10 +3794,11 @@
i32.store offset=12
local.get $0
)
(func $~lib/array/Array<~lib/string/String>#push (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<~lib/string/String>#push (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
local.get $1
call $~lib/rt/pure/__retain
drop
@ -3836,21 +3821,29 @@
i32.add
local.set $4
local.get $4
local.get $4
i32.load
local.set $5
local.get $1
call $~lib/rt/pure/__retainRelease
i32.store
local.get $5
i32.ne
if
local.get $4
local.get $1
call $~lib/rt/pure/__retain
i32.store
local.get $5
call $~lib/rt/pure/__release
end
local.get $0
local.get $3
i32.store offset=12
local.get $3
local.set $4
local.set $5
local.get $1
call $~lib/rt/pure/__release
local.get $4
local.get $5
)
(func $~lib/string/String#get:length (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String#get:length (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 16
i32.sub
@ -3858,12 +3851,13 @@
i32.const 1
i32.shr_u
)
(func $~lib/string/String#concat (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#concat (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
local.get $1
call $~lib/rt/pure/__retain
drop
@ -3871,59 +3865,71 @@
i32.const 0
i32.eq
if
local.get $1
i32.const 648
call $~lib/rt/pure/__retainRelease
block (result i32)
i32.const 648
local.tee $2
local.get $1
local.tee $3
i32.ne
if
local.get $2
call $~lib/rt/pure/__retain
drop
local.get $3
call $~lib/rt/pure/__release
end
local.get $2
end
local.set $1
end
local.get $0
call $~lib/string/String#get:length
i32.const 1
i32.shl
local.set $2
local.set $4
local.get $1
call $~lib/string/String#get:length
i32.const 1
i32.shl
local.set $3
local.get $2
local.get $3
i32.add
local.set $4
local.set $5
local.get $4
local.get $5
i32.add
local.set $6
local.get $6
i32.const 0
i32.eq
if
i32.const 584
call $~lib/rt/pure/__retain
local.set $5
local.set $2
local.get $1
call $~lib/rt/pure/__release
local.get $5
local.get $2
return
end
local.get $4
local.get $6
i32.const 1
call $~lib/rt/tlsf/__alloc
call $~lib/rt/pure/__retain
local.set $6
local.get $6
local.set $7
local.get $7
local.get $0
local.get $2
local.get $4
call $~lib/memory/memory.copy
local.get $6
local.get $2
local.get $7
local.get $4
i32.add
local.get $1
local.get $3
local.get $5
call $~lib/memory/memory.copy
local.get $6
local.set $5
local.get $7
local.set $2
local.get $1
call $~lib/rt/pure/__release
local.get $5
local.get $2
)
(func $~lib/string/String.__concat (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
call $~lib/rt/pure/__retain
@ -3946,7 +3952,7 @@
call $~lib/rt/pure/__release
local.get $2
)
(func $~lib/rt/pure/markGray (; 39 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/markGray (; 38 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -3973,7 +3979,7 @@
call $~lib/rt/__visit_members
end
)
(func $~lib/rt/pure/scanBlack (; 40 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scanBlack (; 39 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
local.get $0
i32.load offset=4
@ -3990,7 +3996,7 @@
i32.const 4
call $~lib/rt/__visit_members
)
(func $~lib/rt/pure/scan (; 41 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scan (; 40 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -4027,7 +4033,7 @@
end
end
)
(func $~lib/rt/pure/collectWhite (; 42 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/collectWhite (; 41 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -4056,7 +4062,7 @@
local.get $0
call $~lib/rt/tlsf/freeBlock
)
(func $~lib/rt/pure/__collect (; 43 ;) (type $FUNCSIG$v)
(func $~lib/rt/pure/__collect (; 42 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -4204,7 +4210,7 @@
local.get $0
global.set $~lib/rt/pure/CUR
)
(func $start:retain-release-sanity (; 44 ;) (type $FUNCSIG$v)
(func $start:retain-release-sanity (; 43 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -4300,7 +4306,7 @@
end
call $~lib/rt/pure/__collect
)
(func $retain-release-sanity/main (; 45 ;) (type $FUNCSIG$v)
(func $retain-release-sanity/main (; 44 ;) (type $FUNCSIG$v)
global.get $~lib/started
i32.eqz
if
@ -4309,13 +4315,13 @@
global.set $~lib/started
end
)
(func $start (; 46 ;) (type $FUNCSIG$v)
(func $start (; 45 ;) (type $FUNCSIG$v)
call $start:retain-release-sanity
)
(func $~lib/array/Array<i32>#__visit_impl (; 47 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/Array<i32>#__visit_impl (; 46 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
nop
)
(func $~lib/rt/pure/__visit (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/pure/__visit (; 47 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -4469,7 +4475,7 @@
end
end
)
(func $~lib/array/Array<~lib/string/String>#__visit_impl (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/array/Array<~lib/string/String>#__visit_impl (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -4505,7 +4511,7 @@
end
end
)
(func $~lib/rt/__visit_members (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/__visit_members (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
block $block$4$break
block
@ -4601,6 +4607,6 @@
end
unreachable
)
(func $null (; 51 ;) (type $FUNCSIG$v)
(func $null (; 50 ;) (type $FUNCSIG$v)
)
)

View File

@ -32,7 +32,7 @@
(export "scopeBlock" (func $retain-release/receiveRef))
(export "scopeBlockToUninitialized" (func $retain-release/receiveRef))
(export "scopeBlockToInitialized" (func $retain-release/receiveRef))
(export "scopeBlockToConditional" (func $retain-release/takeRef))
(export "scopeBlockToConditional" (func $retain-release/scopeBlockToConditional))
(export "scopeTopLevelUninitialized" (func $retain-release/receiveRef))
(export "scopeTopLevelInitialized" (func $retain-release/receiveRef))
(export "scopeTopLevelConditional" (func $retain-release/takeRef))
@ -149,20 +149,31 @@
drop
)
(func $retain-release/assignGlobal (; 8 ;) (type $FUNCSIG$v)
(local $0 i32)
global.get $retain-release/REF
local.set $0
local.get $0
global.set $retain-release/glo
)
(func $retain-release/assignField (; 9 ;) (type $FUNCSIG$v)
(local $0 i32)
global.get $retain-release/TARGET
local.tee $0
i32.load
drop
local.get $0
(local $1 i32)
global.get $retain-release/REF
local.tee $0
global.get $retain-release/TARGET
local.tee $1
i32.load
i32.ne
drop
local.get $1
local.get $0
i32.store
)
(func $retain-release/scopeThrow (; 10 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeBlockToConditional (; 10 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
nop
)
(func $retain-release/scopeThrow (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
if
i32.const 24
@ -173,27 +184,27 @@
unreachable
end
)
(func $retain-release/scopeUnreachable (; 11 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeUnreachable (; 12 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
if
unreachable
end
)
(func $retain-release/provideRefIndirect (; 12 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/provideRefIndirect (; 13 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 1
global.set $~lib/argc
global.get $retain-release/REF
local.get $0
call_indirect (type $FUNCSIG$vi)
)
(func $retain-release/receiveRefIndirect (; 13 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/receiveRefIndirect (; 14 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 0
global.set $~lib/argc
local.get $0
call_indirect (type $FUNCSIG$i)
drop
)
(func $start (; 14 ;) (type $FUNCSIG$v)
(func $start (; 15 ;) (type $FUNCSIG$v)
(local $0 i32)
i32.const 96
global.set $~lib/rt/stub/startOffset

View File

@ -253,26 +253,50 @@
call $retain-release/Ref#constructor
call $~lib/rt/stub/__release
)
(func $~lib/rt/stub/__retainRelease (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $retain-release/assignGlobal (; 17 ;) (type $FUNCSIG$v)
global.get $retain-release/glo
global.get $retain-release/REF
call $~lib/rt/stub/__retainRelease
(func $retain-release/assignGlobal (; 16 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
block (result i32)
global.get $retain-release/REF
local.tee $0
global.get $retain-release/glo
local.tee $1
i32.ne
if
local.get $0
call $~lib/rt/stub/__retain
drop
local.get $1
call $~lib/rt/stub/__release
end
local.get $0
end
global.set $retain-release/glo
)
(func $retain-release/assignField (; 18 ;) (type $FUNCSIG$v)
(func $retain-release/assignField (; 17 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
global.get $retain-release/TARGET
local.tee $0
local.get $0
i32.load
global.get $retain-release/REF
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $retain-release/REF
local.tee $1
local.get $0
i32.load
local.tee $0
i32.ne
if
local.get $1
call $~lib/rt/stub/__retain
drop
local.get $0
call $~lib/rt/stub/__release
end
local.get $1
end
i32.store
)
(func $retain-release/scopeBlock (; 19 ;) (type $FUNCSIG$v)
(func $retain-release/scopeBlock (; 18 ;) (type $FUNCSIG$v)
(local $0 i32)
global.get $retain-release/REF
call $~lib/rt/stub/__retain
@ -280,73 +304,127 @@
local.get $0
call $~lib/rt/stub/__release
)
(func $retain-release/scopeBlockToUninitialized (; 20 ;) (type $FUNCSIG$v)
(func $retain-release/scopeBlockToUninitialized (; 19 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
i32.const 0
local.set $0
global.get $retain-release/REF
call $~lib/rt/stub/__retain
local.set $1
local.get $0
local.get $1
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $1
local.tee $2
local.get $0
local.tee $3
i32.ne
if
local.get $2
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $2
end
local.set $0
local.get $1
call $~lib/rt/stub/__release
local.get $0
call $~lib/rt/stub/__release
)
(func $retain-release/scopeBlockToInitialized (; 21 ;) (type $FUNCSIG$v)
(func $retain-release/scopeBlockToInitialized (; 20 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
global.get $retain-release/REF
call $~lib/rt/stub/__retain
local.set $0
global.get $retain-release/REF
call $~lib/rt/stub/__retain
local.set $1
local.get $0
local.get $1
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $1
local.tee $2
local.get $0
local.tee $3
i32.ne
if
local.get $2
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $2
end
local.set $0
local.get $1
call $~lib/rt/stub/__release
local.get $0
call $~lib/rt/stub/__release
)
(func $retain-release/scopeBlockToConditional (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeBlockToConditional (; 21 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
i32.const 0
local.set $1
local.get $0
if
local.get $1
global.get $retain-release/REF
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $retain-release/REF
local.tee $2
local.get $1
local.tee $3
i32.ne
if
local.get $2
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $2
end
local.set $1
end
global.get $retain-release/REF
call $~lib/rt/stub/__retain
local.set $2
local.get $1
local.get $2
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $2
local.tee $3
local.get $1
local.tee $4
i32.ne
if
local.get $3
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $3
end
local.set $1
local.get $2
call $~lib/rt/stub/__release
local.get $1
call $~lib/rt/stub/__release
)
(func $retain-release/scopeTopLevelUninitialized (; 23 ;) (type $FUNCSIG$v)
(func $retain-release/scopeTopLevelUninitialized (; 22 ;) (type $FUNCSIG$v)
(local $0 i32)
i32.const 0
local.set $0
local.get $0
call $~lib/rt/stub/__release
)
(func $retain-release/scopeTopLevelInitialized (; 24 ;) (type $FUNCSIG$v)
(func $retain-release/scopeTopLevelInitialized (; 23 ;) (type $FUNCSIG$v)
(local $0 i32)
global.get $retain-release/REF
call $~lib/rt/stub/__retain
@ -354,21 +432,35 @@
local.get $0
call $~lib/rt/stub/__release
)
(func $retain-release/scopeTopLevelConditional (; 25 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeTopLevelConditional (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
i32.const 0
local.set $1
local.get $0
if
local.get $1
global.get $retain-release/REF
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $retain-release/REF
local.tee $2
local.get $1
local.tee $3
i32.ne
if
local.get $2
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $2
end
local.set $1
end
local.get $1
call $~lib/rt/stub/__release
)
(func $retain-release/scopeIf (; 26 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeIf (; 25 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
if
@ -379,7 +471,7 @@
call $~lib/rt/stub/__release
end
)
(func $retain-release/scopeIfElse (; 27 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeIfElse (; 26 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
if
@ -396,7 +488,7 @@
call $~lib/rt/stub/__release
end
)
(func $retain-release/scopeWhile (; 28 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeWhile (; 27 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
loop $continue|0
local.get $0
@ -410,7 +502,7 @@
end
end
)
(func $retain-release/scopeDo (; 29 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeDo (; 28 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
loop $continue|0
block
@ -424,7 +516,7 @@
br_if $continue|0
end
)
(func $retain-release/scopeFor (; 30 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeFor (; 29 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
block $break|0
loop $repeat|0
@ -442,7 +534,7 @@
unreachable
end
)
(func $retain-release/scopeBreak (; 31 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeBreak (; 30 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
block $break|0
loop $continue|0
@ -458,7 +550,7 @@
end
end
)
(func $retain-release/scopeContinue (; 32 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeContinue (; 31 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
loop $continue|0
local.get $0
@ -472,7 +564,7 @@
end
end
)
(func $retain-release/scopeThrow (; 33 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeThrow (; 32 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
loop $continue|0
local.get $0
@ -495,7 +587,7 @@
end
end
)
(func $retain-release/scopeUnreachable (; 34 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/scopeUnreachable (; 33 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
loop $continue|0
local.get $0
@ -510,7 +602,7 @@
end
end
)
(func $retain-release/callInline (; 35 ;) (type $FUNCSIG$v)
(func $retain-release/callInline (; 34 ;) (type $FUNCSIG$v)
(local $0 i32)
global.get $retain-release/REF
call $~lib/rt/stub/__retain
@ -518,7 +610,7 @@
local.get $0
call $~lib/rt/stub/__release
)
(func $retain-release/provideRefInline (; 36 ;) (type $FUNCSIG$v)
(func $retain-release/provideRefInline (; 35 ;) (type $FUNCSIG$v)
(local $0 i32)
global.get $retain-release/REF
call $~lib/rt/stub/__retain
@ -526,7 +618,7 @@
local.get $0
call $~lib/rt/stub/__release
)
(func $retain-release/receiveRefInline (; 37 ;) (type $FUNCSIG$v)
(func $retain-release/receiveRefInline (; 36 ;) (type $FUNCSIG$v)
(local $0 i32)
block $retain-release/returnRefInline|inlined.0 (result i32)
global.get $retain-release/REF
@ -538,21 +630,21 @@
local.get $0
call $~lib/rt/stub/__release
)
(func $retain-release/receiveRefInlineDrop (; 38 ;) (type $FUNCSIG$v)
(func $retain-release/receiveRefInlineDrop (; 37 ;) (type $FUNCSIG$v)
block $retain-release/returnRefInline|inlined.1 (result i32)
global.get $retain-release/REF
call $~lib/rt/stub/__retain
end
call $~lib/rt/stub/__release
)
(func $retain-release/provideRefIndirect (; 39 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/provideRefIndirect (; 38 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 1
global.set $~lib/argc
global.get $retain-release/REF
local.get $0
call_indirect (type $FUNCSIG$vi)
)
(func $retain-release/receiveRefIndirect (; 40 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/receiveRefIndirect (; 39 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
block (result i32)
i32.const 0
@ -566,16 +658,16 @@
local.get $1
call $~lib/rt/stub/__release
)
(func $retain-release/receiveRefIndirectDrop (; 41 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $retain-release/receiveRefIndirectDrop (; 40 ;) (type $FUNCSIG$vi) (param $0 i32)
i32.const 0
global.set $~lib/argc
local.get $0
call_indirect (type $FUNCSIG$i)
call $~lib/rt/stub/__release
)
(func $start (; 42 ;) (type $FUNCSIG$v)
(func $start (; 41 ;) (type $FUNCSIG$v)
call $start:retain-release
)
(func $null (; 43 ;) (type $FUNCSIG$v)
(func $null (; 42 ;) (type $FUNCSIG$v)
)
)

View File

@ -183,10 +183,7 @@
call $~lib/rt/stub/__release
local.get $2
)
(func $~lib/rt/stub/__retainRelease (; 12 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $~lib/util/string/compareImpl (; 13 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(func $~lib/util/string/compareImpl (; 12 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
@ -250,7 +247,7 @@
call $~lib/rt/stub/__release
local.get $8
)
(func $~lib/string/String#startsWith (; 14 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/string/String#startsWith (; 13 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -276,29 +273,41 @@
i32.const 0
i32.eq
if
local.get $1
i32.const 304
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 304
local.tee $3
local.get $1
local.tee $4
i32.ne
if
local.get $3
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $3
end
local.set $1
end
local.get $2
local.set $3
local.set $5
local.get $0
call $~lib/string/String#get:length
local.set $4
local.get $3
local.tee $5
i32.const 0
local.tee $6
local.set $6
local.get $5
local.get $6
local.tee $3
i32.const 0
local.tee $4
local.get $3
local.get $4
i32.gt_s
select
local.tee $5
local.get $4
local.tee $6
local.get $5
local.tee $3
local.get $6
local.tee $4
local.get $3
local.get $4
i32.lt_s
select
local.set $7
@ -308,14 +317,14 @@
local.get $8
local.get $7
i32.add
local.get $4
local.get $6
i32.gt_s
if
i32.const 0
local.set $5
local.set $3
local.get $1
call $~lib/rt/stub/__release
local.get $5
local.get $3
return
end
local.get $0
@ -325,12 +334,12 @@
local.get $8
call $~lib/util/string/compareImpl
i32.eqz
local.set $5
local.set $3
local.get $1
call $~lib/rt/stub/__release
local.get $5
local.get $3
)
(func $std/array-access/stringArrayMethodCall (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/array-access/stringArrayMethodCall (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -350,7 +359,7 @@
call $~lib/rt/stub/__release
local.get $2
)
(func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__unchecked_get (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__unchecked_get (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $0
i32.load offset=4
local.get $1
@ -360,7 +369,7 @@
i32.load
call $~lib/rt/stub/__retain
)
(func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
local.get $0
i32.load offset=12
@ -391,7 +400,7 @@
local.get $1
call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__unchecked_get
)
(func $std/array-access/stringArrayArrayPropertyAccess (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/array-access/stringArrayArrayPropertyAccess (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -415,7 +424,7 @@
call $~lib/rt/stub/__release
local.get $3
)
(func $std/array-access/stringArrayArrayMethodCall (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/array-access/stringArrayArrayMethodCall (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -441,6 +450,6 @@
call $~lib/rt/stub/__release
local.get $3
)
(func $null (; 20 ;) (type $FUNCSIG$v)
(func $null (; 19 ;) (type $FUNCSIG$v)
)
)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1915,13 +1915,10 @@
local.get $7
call $~lib/rt/stub/__retain
)
(func $~lib/rt/stub/__skippedRelease (; 9 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $~lib/rt/stub/__release (; 10 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/stub/__release (; 9 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array<i32>> (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array<i32>> (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -2091,7 +2088,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $~lib/arraybuffer/ArrayBuffer.isView<usize> (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<usize> (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
if
block (result i32)
@ -2205,7 +2202,7 @@
end
i32.const 0
)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -2375,7 +2372,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -2545,7 +2542,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -2715,12 +2712,10 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $~lib/rt/stub/__retainRelease (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $~lib/arraybuffer/ArrayBufferView#constructor (; 17 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/arraybuffer/ArrayBufferView#constructor (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
local.get $1
i32.const 1073741808
local.get $2
@ -2763,10 +2758,22 @@
local.get $0
end
local.tee $4
local.get $4
i32.load
local.get $3
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $3
local.tee $5
local.get $4
i32.load
local.tee $4
i32.ne
if
local.get $5
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $5
end
i32.store
local.get $0
local.get $3
@ -2776,7 +2783,7 @@
i32.store offset=8
local.get $0
)
(func $~lib/typedarray/Uint8Array#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/typedarray/Uint8Array#constructor (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
if (result i32)
@ -2794,7 +2801,7 @@
local.set $0
local.get $0
)
(func $~lib/rt/__allocArray (; 19 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $~lib/rt/__allocArray (; 17 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
@ -2832,7 +2839,7 @@
end
local.get $4
)
(func $~lib/typedarray/Int32Array#constructor (; 20 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/typedarray/Int32Array#constructor (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
if (result i32)
@ -2850,9 +2857,10 @@
local.set $0
local.get $0
)
(func $~lib/dataview/DataView#constructor (; 21 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $~lib/dataview/DataView#constructor (; 19 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
local.get $1
call $~lib/rt/stub/__retain
drop
@ -2902,29 +2910,41 @@
local.get $0
end
local.tee $4
local.get $4
i32.load
local.get $1
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $1
local.tee $5
local.get $4
i32.load
local.tee $4
i32.ne
if
local.get $5
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $5
end
i32.store
local.get $1
local.get $2
i32.add
local.set $5
local.set $6
local.get $0
local.get $5
local.get $6
i32.store offset=4
local.get $0
local.get $3
i32.store offset=8
local.get $0
)
(func $~lib/typedarray/Uint8Array#get:buffer (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/typedarray/Uint8Array#get:buffer (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load
call $~lib/rt/stub/__retain
)
(func $~lib/dataview/DataView#constructor|trampoline (; 23 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $~lib/dataview/DataView#constructor|trampoline (; 21 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
block $2of2
block $1of2
block $0of2
@ -2949,7 +2969,7 @@
local.get $3
call $~lib/dataview/DataView#constructor
)
(func $start:std/arraybuffer (; 24 ;) (type $FUNCSIG$v)
(func $start:std/arraybuffer (; 22 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -3011,12 +3031,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const 1
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const 1
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3031,12 +3055,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const -1
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const -1
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3051,12 +3079,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const 1
i32.const 3
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const 1
i32.const 3
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3071,12 +3103,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const 1
i32.const -1
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const 1
i32.const -1
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3091,12 +3127,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const -3
i32.const -1
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const -3
i32.const -1
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3111,12 +3151,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const -4
i32.const 42
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const -4
i32.const 42
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3131,12 +3175,16 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/arraybuffer/sliced
global.get $std/arraybuffer/buffer
i32.const 42
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $std/arraybuffer/buffer
i32.const 42
i32.const 1073741808
call $~lib/arraybuffer/ArrayBuffer#slice
local.set $0
global.get $std/arraybuffer/sliced
call $~lib/rt/stub/__release
local.get $0
end
global.set $std/arraybuffer/sliced
global.get $std/arraybuffer/sliced
call $~lib/arraybuffer/ArrayBuffer#get:byteLength
@ -3301,9 +3349,9 @@
local.get $3
call $~lib/rt/stub/__release
)
(func $start (; 25 ;) (type $FUNCSIG$v)
(func $start (; 23 ;) (type $FUNCSIG$v)
call $start:std/arraybuffer
)
(func $null (; 26 ;) (type $FUNCSIG$v)
(func $null (; 24 ;) (type $FUNCSIG$v)
)
)

View File

@ -3,9 +3,9 @@
(type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32)))
(type $FUNCSIG$viiii (func (param i32 i32 i32 i32)))
(type $FUNCSIG$ii (func (param i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(type $FUNCSIG$iiiii (func (param i32 i32 i32 i32) (result i32)))
(type $FUNCSIG$vi (func (param i32)))
(type $FUNCSIG$fiii (func (param i32 i32 i32) (result f32)))
(type $FUNCSIG$diii (func (param i32 i32 i32) (result f64)))
(type $FUNCSIG$jj (func (param i64) (result i64)))
@ -127,12 +127,13 @@
(func $~lib/rt/stub/__retain (; 2 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
)
(func $~lib/rt/stub/__retainRelease (; 3 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
(func $~lib/rt/stub/__release (; 3 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/arraybuffer/ArrayBufferView#constructor (; 4 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
local.get $1
i32.const 1073741808
local.get $2
@ -175,10 +176,22 @@
local.get $0
end
local.tee $4
local.get $4
i32.load
local.get $3
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $3
local.tee $5
local.get $4
i32.load
local.tee $4
i32.ne
if
local.get $5
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $5
end
i32.store
local.get $0
local.get $3
@ -232,12 +245,10 @@
i32.sub
i32.load offset=12
)
(func $~lib/rt/stub/__release (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
nop
)
(func $~lib/dataview/DataView#constructor (; 9 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $~lib/dataview/DataView#constructor (; 8 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
local.get $1
call $~lib/rt/stub/__retain
drop
@ -287,40 +298,52 @@
local.get $0
end
local.tee $4
local.get $4
i32.load
local.get $1
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $1
local.tee $5
local.get $4
i32.load
local.tee $4
i32.ne
if
local.get $5
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $5
end
i32.store
local.get $1
local.get $2
i32.add
local.set $5
local.set $6
local.get $0
local.get $5
local.get $6
i32.store offset=4
local.get $0
local.get $3
i32.store offset=8
local.get $0
)
(func $~lib/typedarray/Uint8Array#get:buffer (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/typedarray/Uint8Array#get:buffer (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load
call $~lib/rt/stub/__retain
)
(func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load offset=4
local.get $0
i32.load
i32.sub
)
(func $~lib/arraybuffer/ArrayBufferView#get:byteLength (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/arraybuffer/ArrayBufferView#get:byteLength (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load offset=8
)
(func $~lib/polyfills/bswap<u32> (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/polyfills/bswap<u32> (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const -16711936
i32.and
@ -334,7 +357,7 @@
i32.or
return
)
(func $~lib/dataview/DataView#getFloat32 (; 14 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32)
(func $~lib/dataview/DataView#getFloat32 (; 13 ;) (type $FUNCSIG$fiii) (param $0 i32) (param $1 i32) (param $2 i32) (result f32)
local.get $1
i32.const 0
i32.lt_s
@ -370,7 +393,7 @@
f32.reinterpret_i32
end
)
(func $~lib/polyfills/bswap<u64> (; 15 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64)
(func $~lib/polyfills/bswap<u64> (; 14 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64)
(local $1 i64)
(local $2 i64)
(local $3 i64)
@ -409,7 +432,7 @@
i64.rotr
return
)
(func $~lib/dataview/DataView#getFloat64 (; 16 ;) (type $FUNCSIG$diii) (param $0 i32) (param $1 i32) (param $2 i32) (result f64)
(func $~lib/dataview/DataView#getFloat64 (; 15 ;) (type $FUNCSIG$diii) (param $0 i32) (param $1 i32) (param $2 i32) (result f64)
local.get $1
i32.const 0
i32.lt_s
@ -445,7 +468,7 @@
f64.reinterpret_i64
end
)
(func $~lib/dataview/DataView#getInt8 (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/dataview/DataView#getInt8 (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
local.get $0
i32.load offset=8
@ -464,7 +487,7 @@
i32.add
i32.load8_s
)
(func $~lib/polyfills/bswap<i16> (; 18 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/polyfills/bswap<i16> (; 17 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 8
i32.shl
@ -480,7 +503,7 @@
i32.or
return
)
(func $~lib/dataview/DataView#getInt16 (; 19 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/dataview/DataView#getInt16 (; 18 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
local.get $1
i32.const 0
@ -514,7 +537,7 @@
call $~lib/polyfills/bswap<i16>
end
)
(func $~lib/polyfills/bswap<i32> (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/polyfills/bswap<i32> (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const -16711936
i32.and
@ -528,7 +551,7 @@
i32.or
return
)
(func $~lib/dataview/DataView#getInt32 (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/dataview/DataView#getInt32 (; 20 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
local.get $1
i32.const 0
@ -562,7 +585,7 @@
call $~lib/polyfills/bswap<i32>
end
)
(func $~lib/polyfills/bswap<i64> (; 22 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64)
(func $~lib/polyfills/bswap<i64> (; 21 ;) (type $FUNCSIG$jj) (param $0 i64) (result i64)
(local $1 i64)
(local $2 i64)
(local $3 i64)
@ -601,7 +624,7 @@
i64.rotr
return
)
(func $~lib/dataview/DataView#getInt64 (; 23 ;) (type $FUNCSIG$jiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i64)
(func $~lib/dataview/DataView#getInt64 (; 22 ;) (type $FUNCSIG$jiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i64)
(local $3 i64)
local.get $1
i32.const 0
@ -635,7 +658,7 @@
call $~lib/polyfills/bswap<i64>
end
)
(func $~lib/dataview/DataView#getUint8 (; 24 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/dataview/DataView#getUint8 (; 23 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
local.get $0
i32.load offset=8
@ -654,7 +677,7 @@
i32.add
i32.load8_u
)
(func $~lib/polyfills/bswap<u16> (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/polyfills/bswap<u16> (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 8
i32.shl
@ -668,7 +691,7 @@
i32.or
return
)
(func $~lib/dataview/DataView#getUint16 (; 26 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/dataview/DataView#getUint16 (; 25 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
local.get $1
i32.const 0
@ -702,7 +725,7 @@
call $~lib/polyfills/bswap<u16>
end
)
(func $~lib/dataview/DataView#getUint32 (; 27 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/dataview/DataView#getUint32 (; 26 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
local.get $1
i32.const 0
@ -736,7 +759,7 @@
call $~lib/polyfills/bswap<u32>
end
)
(func $~lib/dataview/DataView#getUint64 (; 28 ;) (type $FUNCSIG$jiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i64)
(func $~lib/dataview/DataView#getUint64 (; 27 ;) (type $FUNCSIG$jiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i64)
(local $3 i64)
local.get $1
i32.const 0
@ -770,7 +793,7 @@
call $~lib/polyfills/bswap<u64>
end
)
(func $~lib/dataview/DataView#setFloat32 (; 29 ;) (type $FUNCSIG$viifi) (param $0 i32) (param $1 i32) (param $2 f32) (param $3 i32)
(func $~lib/dataview/DataView#setFloat32 (; 28 ;) (type $FUNCSIG$viifi) (param $0 i32) (param $1 i32) (param $2 f32) (param $3 i32)
local.get $1
i32.const 0
i32.lt_s
@ -808,7 +831,7 @@
i32.store
end
)
(func $~lib/dataview/DataView#setFloat64 (; 30 ;) (type $FUNCSIG$viidi) (param $0 i32) (param $1 i32) (param $2 f64) (param $3 i32)
(func $~lib/dataview/DataView#setFloat64 (; 29 ;) (type $FUNCSIG$viidi) (param $0 i32) (param $1 i32) (param $2 f64) (param $3 i32)
local.get $1
i32.const 0
i32.lt_s
@ -846,7 +869,7 @@
i64.store
end
)
(func $~lib/dataview/DataView#setInt8 (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/dataview/DataView#setInt8 (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $1
local.get $0
i32.load offset=8
@ -866,7 +889,7 @@
local.get $2
i32.store8
)
(func $~lib/dataview/DataView#setInt16 (; 32 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/dataview/DataView#setInt16 (; 31 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1
i32.const 0
i32.lt_s
@ -898,7 +921,7 @@
end
i32.store16
)
(func $~lib/dataview/DataView#setInt32 (; 33 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/dataview/DataView#setInt32 (; 32 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1
i32.const 0
i32.lt_s
@ -930,7 +953,7 @@
end
i32.store
)
(func $~lib/dataview/DataView#setInt64 (; 34 ;) (type $FUNCSIG$viiji) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32)
(func $~lib/dataview/DataView#setInt64 (; 33 ;) (type $FUNCSIG$viiji) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32)
local.get $1
i32.const 0
i32.lt_s
@ -962,7 +985,7 @@
end
i64.store
)
(func $~lib/dataview/DataView#setUint8 (; 35 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/dataview/DataView#setUint8 (; 34 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
local.get $1
local.get $0
i32.load offset=8
@ -982,7 +1005,7 @@
local.get $2
i32.store8
)
(func $~lib/dataview/DataView#setUint16 (; 36 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/dataview/DataView#setUint16 (; 35 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1
i32.const 0
i32.lt_s
@ -1014,7 +1037,7 @@
end
i32.store16
)
(func $~lib/dataview/DataView#setUint32 (; 37 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
(func $~lib/dataview/DataView#setUint32 (; 36 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1
i32.const 0
i32.lt_s
@ -1046,7 +1069,7 @@
end
i32.store
)
(func $~lib/dataview/DataView#setUint64 (; 38 ;) (type $FUNCSIG$viiji) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32)
(func $~lib/dataview/DataView#setUint64 (; 37 ;) (type $FUNCSIG$viiji) (param $0 i32) (param $1 i32) (param $2 i64) (param $3 i32)
local.get $1
i32.const 0
i32.lt_s
@ -1078,7 +1101,7 @@
end
i64.store
)
(func $~lib/dataview/DataView#constructor|trampoline (; 39 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
(func $~lib/dataview/DataView#constructor|trampoline (; 38 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32)
block $2of2
block $1of2
block $0of2
@ -1103,23 +1126,21 @@
local.get $3
call $~lib/dataview/DataView#constructor
)
(func $~lib/rt/stub/__skippedRelease (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $~lib/dataview/DataView#get:byteOffset (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/dataview/DataView#get:byteOffset (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load offset=4
local.get $0
i32.load
i32.sub
)
(func $~lib/dataview/DataView#get:byteLength (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/dataview/DataView#get:byteLength (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.load offset=8
)
(func $start:std/dataview (; 43 ;) (type $FUNCSIG$v)
(func $start:std/dataview (; 41 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
global.get $~lib/heap/HEAP_BASE
i32.const 15
i32.add
@ -2812,19 +2833,23 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/dataview/view
block (result i32)
i32.const 1
global.set $~lib/argc
i32.const 0
global.get $std/dataview/array
call $~lib/typedarray/Uint8Array#get:buffer
local.tee $1
i32.const 0
i32.const 0
call $~lib/dataview/DataView#constructor|trampoline
block (result i32)
i32.const 1
global.set $~lib/argc
i32.const 0
global.get $std/dataview/array
call $~lib/typedarray/Uint8Array#get:buffer
local.tee $1
i32.const 0
i32.const 0
call $~lib/dataview/DataView#constructor|trampoline
end
local.set $2
global.get $std/dataview/view
call $~lib/rt/stub/__release
local.get $2
end
call $~lib/rt/stub/__skippedRelease
global.set $std/dataview/view
global.get $std/dataview/view
call $~lib/dataview/DataView#get:byteOffset
@ -2857,9 +2882,9 @@
local.get $1
call $~lib/rt/stub/__release
)
(func $start (; 44 ;) (type $FUNCSIG$v)
(func $start (; 42 ;) (type $FUNCSIG$v)
call $start:std/dataview
)
(func $null (; 45 ;) (type $FUNCSIG$v)
(func $null (; 43 ;) (type $FUNCSIG$v)
)
)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1855,10 +1855,7 @@
call $~lib/rt/stub/__release
local.get $2
)
(func $~lib/rt/stub/__retainRelease (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $std/operator-overloading/Tester.pos (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.pos (; 25 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -1874,7 +1871,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $std/operator-overloading/Tester.neg (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.neg (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -1894,7 +1891,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $std/operator-overloading/Tester.not (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.not (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -1914,7 +1911,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $std/operator-overloading/Tester.excl (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester.excl (; 28 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -1934,7 +1931,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $std/operator-overloading/Tester#inc (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#inc (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
local.get $0
i32.load
@ -1950,7 +1947,7 @@
local.get $0
call $~lib/rt/stub/__retain
)
(func $std/operator-overloading/Tester#dec (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#dec (; 30 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
local.get $0
i32.load
@ -1966,10 +1963,7 @@
local.get $0
call $~lib/rt/stub/__retain
)
(func $~lib/rt/stub/__skippedRelease (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $std/operator-overloading/Tester#postInc (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#postInc (; 31 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1981,7 +1975,7 @@
i32.add
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/Tester#postDec (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/operator-overloading/Tester#postDec (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -1993,7 +1987,7 @@
i32.sub
call $std/operator-overloading/Tester#constructor
)
(func $std/operator-overloading/TesterInlineStatic#constructor (; 35 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/operator-overloading/TesterInlineStatic#constructor (; 33 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.eqz
if
@ -2011,7 +2005,7 @@
i32.store offset=4
local.get $0
)
(func $std/operator-overloading/TesterInlineStatic.postInc (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/operator-overloading/TesterInlineStatic.postInc (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -2031,7 +2025,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $std/operator-overloading/TesterInlineStatic.add (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/TesterInlineStatic.add (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -2058,7 +2052,7 @@
call $~lib/rt/stub/__release
local.get $2
)
(func $std/operator-overloading/TesterInlineInstance#constructor (; 38 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $std/operator-overloading/TesterInlineInstance#constructor (; 36 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $0
i32.eqz
if
@ -2076,7 +2070,7 @@
i32.store offset=4
local.get $0
)
(func $std/operator-overloading/TesterInlineInstance#postInc (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/operator-overloading/TesterInlineInstance#postInc (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
i32.const 0
local.get $0
i32.load
@ -2088,7 +2082,7 @@
i32.add
call $std/operator-overloading/TesterInlineInstance#constructor
)
(func $std/operator-overloading/TesterInlineInstance#add (; 40 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $std/operator-overloading/TesterInlineInstance#add (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $1
call $~lib/rt/stub/__retain
@ -2110,7 +2104,7 @@
call $~lib/rt/stub/__release
local.get $2
)
(func $start:std/operator-overloading (; 41 ;) (type $FUNCSIG$v)
(func $start:std/operator-overloading (; 39 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -2134,6 +2128,7 @@
(local $20 i32)
(local $21 i32)
(local $22 i32)
(local $23 i32)
global.get $~lib/heap/HEAP_BASE
i32.const 15
i32.add
@ -2734,12 +2729,24 @@
i32.const 2
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/shl
global.get $std/operator-overloading/sres
global.get $std/operator-overloading/shl
i32.const 3
call $std/operator-overloading/Tester.shl
local.tee $11
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $std/operator-overloading/shl
i32.const 3
call $std/operator-overloading/Tester.shl
local.tee $11
local.tee $12
global.get $std/operator-overloading/sres
local.tee $13
i32.ne
if
local.get $12
call $~lib/rt/stub/__retain
drop
local.get $13
call $~lib/rt/stub/__release
end
local.get $12
end
global.set $std/operator-overloading/sres
global.get $std/operator-overloading/sres
i32.load
@ -2915,11 +2922,23 @@
i32.const 1
call $std/operator-overloading/Tester#constructor
global.set $std/operator-overloading/incdec
global.get $std/operator-overloading/incdec
global.get $std/operator-overloading/incdec
call $std/operator-overloading/Tester#inc
local.tee $15
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $std/operator-overloading/incdec
call $std/operator-overloading/Tester#inc
local.tee $15
local.tee $16
global.get $std/operator-overloading/incdec
local.tee $17
i32.ne
if
local.get $16
call $~lib/rt/stub/__retain
drop
local.get $17
call $~lib/rt/stub/__release
end
local.get $16
end
global.set $std/operator-overloading/incdec
global.get $std/operator-overloading/incdec
i32.load
@ -2942,11 +2961,23 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/operator-overloading/incdec
global.get $std/operator-overloading/incdec
call $std/operator-overloading/Tester#dec
local.tee $16
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $std/operator-overloading/incdec
call $std/operator-overloading/Tester#dec
local.tee $16
local.tee $17
global.get $std/operator-overloading/incdec
local.tee $18
i32.ne
if
local.get $17
call $~lib/rt/stub/__retain
drop
local.get $18
call $~lib/rt/stub/__release
end
local.get $17
end
global.set $std/operator-overloading/incdec
global.get $std/operator-overloading/incdec
i32.load
@ -2969,22 +3000,38 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/operator-overloading/incdec
i32.const 0
i32.const 0
i32.const 1
call $std/operator-overloading/Tester#constructor
call $~lib/rt/stub/__skippedRelease
block (result i32)
i32.const 0
i32.const 0
i32.const 1
call $std/operator-overloading/Tester#constructor
local.set $18
global.get $std/operator-overloading/incdec
call $~lib/rt/stub/__release
local.get $18
end
global.set $std/operator-overloading/incdec
block (result i32)
global.get $std/operator-overloading/incdec
global.get $std/operator-overloading/incdec
local.tee $17
call $std/operator-overloading/Tester#postInc
local.tee $18
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $std/operator-overloading/incdec
local.tee $18
call $std/operator-overloading/Tester#postInc
local.tee $17
local.tee $19
global.get $std/operator-overloading/incdec
local.tee $20
i32.ne
if
local.get $19
call $~lib/rt/stub/__retain
drop
local.get $20
call $~lib/rt/stub/__release
end
local.get $19
end
global.set $std/operator-overloading/incdec
local.get $17
local.get $18
end
call $~lib/rt/stub/__retain
global.set $std/operator-overloading/tmp
@ -3030,18 +3077,42 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/operator-overloading/tmp
block (result i32)
global.get $std/operator-overloading/incdec
global.get $std/operator-overloading/incdec
local.tee $17
call $std/operator-overloading/Tester#postDec
local.tee $19
call $~lib/rt/stub/__retainRelease
global.set $std/operator-overloading/incdec
local.get $17
block (result i32)
block (result i32)
global.get $std/operator-overloading/incdec
local.tee $18
call $std/operator-overloading/Tester#postDec
local.tee $19
local.tee $20
global.get $std/operator-overloading/incdec
local.tee $21
i32.ne
if
local.get $20
call $~lib/rt/stub/__retain
drop
local.get $21
call $~lib/rt/stub/__release
end
local.get $20
end
global.set $std/operator-overloading/incdec
local.get $18
end
local.tee $21
global.get $std/operator-overloading/tmp
local.tee $18
i32.ne
if
local.get $21
call $~lib/rt/stub/__retain
drop
local.get $18
call $~lib/rt/stub/__release
end
local.get $21
end
call $~lib/rt/stub/__retainRelease
global.set $std/operator-overloading/tmp
global.get $std/operator-overloading/tmp
i32.load
@ -3090,11 +3161,23 @@
i32.const 2
call $std/operator-overloading/TesterInlineStatic#constructor
global.set $std/operator-overloading/ais1
global.get $std/operator-overloading/ais1
global.get $std/operator-overloading/ais1
call $std/operator-overloading/TesterInlineStatic.postInc
local.tee $17
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $std/operator-overloading/ais1
call $std/operator-overloading/TesterInlineStatic.postInc
local.tee $21
local.tee $20
global.get $std/operator-overloading/ais1
local.tee $18
i32.ne
if
local.get $20
call $~lib/rt/stub/__retain
drop
local.get $18
call $~lib/rt/stub/__release
end
local.get $20
end
global.set $std/operator-overloading/ais1
i32.const 0
i32.const 2
@ -3133,11 +3216,23 @@
i32.const 2
call $std/operator-overloading/TesterInlineInstance#constructor
global.set $std/operator-overloading/aii1
global.get $std/operator-overloading/aii1
global.get $std/operator-overloading/aii1
call $std/operator-overloading/TesterInlineInstance#postInc
local.tee $21
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $std/operator-overloading/aii1
call $std/operator-overloading/TesterInlineInstance#postInc
local.tee $18
local.tee $22
global.get $std/operator-overloading/aii1
local.tee $23
i32.ne
if
local.get $22
call $~lib/rt/stub/__retain
drop
local.get $23
call $~lib/rt/stub/__release
end
local.get $22
end
global.set $std/operator-overloading/aii1
i32.const 0
i32.const 2
@ -3218,9 +3313,9 @@
local.get $22
call $~lib/rt/stub/__release
)
(func $start (; 42 ;) (type $FUNCSIG$v)
(func $start (; 40 ;) (type $FUNCSIG$v)
call $start:std/operator-overloading
)
(func $null (; 43 ;) (type $FUNCSIG$v)
(func $null (; 41 ;) (type $FUNCSIG$v)
)
)

View File

@ -62,16 +62,13 @@
i32.add
call $~lib/rt/stub/__retain
)
(func $~lib/rt/stub/__retainRelease (; 6 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $std/pointer/Pointer<std/pointer/Entry>#dec (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $std/pointer/Pointer<std/pointer/Entry>#dec (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 8
i32.sub
call $~lib/rt/stub/__retain
)
(func $~lib/memory/memory.fill (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.fill (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -334,7 +331,7 @@
end
end
)
(func $~lib/util/memory/memcpy (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/util/memory/memcpy (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1525,7 +1522,7 @@
i32.store8
end
)
(func $~lib/memory/memory.copy (; 10 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 9 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1752,7 +1749,7 @@
end
end
)
(func $std/pointer/Pointer<std/pointer/Entry>#set:value (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $std/pointer/Pointer<std/pointer/Entry>#set:value (; 10 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $1
i32.const 0
i32.eq
@ -1768,7 +1765,7 @@
call $~lib/memory/memory.copy
end
)
(func $std/pointer/Pointer<f32>#set (; 12 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32)
(func $std/pointer/Pointer<f32>#set (; 11 ;) (type $FUNCSIG$viif) (param $0 i32) (param $1 i32) (param $2 f32)
local.get $0
local.get $1
i32.const 4
@ -1777,12 +1774,12 @@
local.get $2
f32.store
)
(func $std/pointer/Pointer<f32>#set:value (; 13 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
(func $std/pointer/Pointer<f32>#set:value (; 12 ;) (type $FUNCSIG$vif) (param $0 i32) (param $1 f32)
local.get $0
local.get $1
f32.store
)
(func $start:std/pointer (; 14 ;) (type $FUNCSIG$v)
(func $start:std/pointer (; 13 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -1961,11 +1958,23 @@
unreachable
end
block (result i32)
global.get $std/pointer/one
global.get $std/pointer/one
call $std/pointer/Pointer<std/pointer/Entry>#inc
local.tee $4
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $std/pointer/one
call $std/pointer/Pointer<std/pointer/Entry>#inc
local.tee $4
local.tee $5
global.get $std/pointer/one
local.tee $6
i32.ne
if
local.get $5
call $~lib/rt/stub/__retain
drop
local.get $6
call $~lib/rt/stub/__release
end
local.get $5
end
global.set $std/pointer/one
global.get $std/pointer/one
end
@ -2015,17 +2024,41 @@
call $~lib/builtins/abort
unreachable
end
global.get $std/pointer/two
global.get $std/pointer/two
call $std/pointer/Pointer<std/pointer/Entry>#dec
local.tee $5
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $std/pointer/two
call $std/pointer/Pointer<std/pointer/Entry>#dec
local.tee $5
local.tee $6
global.get $std/pointer/two
local.tee $7
i32.ne
if
local.get $6
call $~lib/rt/stub/__retain
drop
local.get $7
call $~lib/rt/stub/__release
end
local.get $6
end
global.set $std/pointer/two
global.get $std/pointer/two
global.get $std/pointer/two
call $std/pointer/Pointer<std/pointer/Entry>#dec
local.tee $6
call $~lib/rt/stub/__retainRelease
block (result i32)
global.get $std/pointer/two
call $std/pointer/Pointer<std/pointer/Entry>#dec
local.tee $6
local.tee $7
global.get $std/pointer/two
local.tee $8
i32.ne
if
local.get $7
call $~lib/rt/stub/__retain
drop
local.get $8
call $~lib/rt/stub/__release
end
local.get $7
end
global.set $std/pointer/two
block $std/pointer/Pointer<std/pointer/Entry>#get:offset|inlined.7 (result i32)
global.get $std/pointer/two
@ -2405,9 +2438,9 @@
local.get $7
call $~lib/rt/stub/__release
)
(func $start (; 15 ;) (type $FUNCSIG$v)
(func $start (; 14 ;) (type $FUNCSIG$v)
call $start:std/pointer
)
(func $null (; 16 ;) (type $FUNCSIG$v)
(func $null (; 15 ;) (type $FUNCSIG$v)
)
)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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

File diff suppressed because it is too large Load Diff

View File

@ -370,22 +370,27 @@
local.get $1
)
(func $~lib/map/Map<~lib/string/String,usize>#clear (; 5 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor
local.set $1
local.get $0
i32.load
drop
local.get $0
i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor
local.get $1
i32.store
local.get $0
i32.const 3
i32.store offset=4
i32.const 48
call $~lib/arraybuffer/ArrayBuffer#constructor
local.set $1
local.get $0
i32.load offset=8
drop
local.get $0
i32.const 48
call $~lib/arraybuffer/ArrayBuffer#constructor
local.get $1
i32.store offset=8
local.get $0
i32.const 4
@ -994,10 +999,13 @@
if
local.get $2
i32.load offset=4
drop
local.get $2
i32.const 24
i32.store offset=4
i32.ne
if
local.get $2
i32.const 24
i32.store offset=4
end
else
local.get $0
i32.load offset=16

View File

@ -467,19 +467,21 @@
local.get $2
call $~lib/rt/stub/__retain
)
(func $~lib/rt/stub/__skippedRelease (; 7 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $~lib/map/Map<~lib/string/String,usize>#clear (; 8 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/map/Map<~lib/string/String,usize>#clear (; 7 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
local.get $0
local.tee $1
local.get $1
i32.load
i32.const 0
i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor
call $~lib/rt/stub/__skippedRelease
block (result i32)
i32.const 0
i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor
local.set $2
local.get $1
i32.load
call $~lib/rt/stub/__release
local.get $2
end
i32.store
local.get $0
i32.const 4
@ -487,13 +489,17 @@
i32.sub
i32.store offset=4
local.get $0
local.tee $1
local.get $1
i32.load offset=8
i32.const 0
i32.const 48
call $~lib/arraybuffer/ArrayBuffer#constructor
call $~lib/rt/stub/__skippedRelease
local.tee $2
block (result i32)
i32.const 0
i32.const 48
call $~lib/arraybuffer/ArrayBuffer#constructor
local.set $1
local.get $2
i32.load offset=8
call $~lib/rt/stub/__release
local.get $1
end
i32.store offset=8
local.get $0
i32.const 4
@ -505,7 +511,7 @@
i32.const 0
i32.store offset=20
)
(func $~lib/map/Map<~lib/string/String,usize>#constructor (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/map/Map<~lib/string/String,usize>#constructor (; 8 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32)
local.get $0
i32.eqz
@ -539,16 +545,21 @@
call $~lib/map/Map<~lib/string/String,usize>#clear
local.get $0
)
(func $~lib/map/Map<usize,~lib/string/String>#clear (; 10 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/map/Map<usize,~lib/string/String>#clear (; 9 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
local.get $0
local.tee $1
local.get $1
i32.load
i32.const 0
i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor
call $~lib/rt/stub/__skippedRelease
block (result i32)
i32.const 0
i32.const 16
call $~lib/arraybuffer/ArrayBuffer#constructor
local.set $2
local.get $1
i32.load
call $~lib/rt/stub/__release
local.get $2
end
i32.store
local.get $0
i32.const 4
@ -556,13 +567,17 @@
i32.sub
i32.store offset=4
local.get $0
local.tee $1
local.get $1
i32.load offset=8
i32.const 0
i32.const 48
call $~lib/arraybuffer/ArrayBuffer#constructor
call $~lib/rt/stub/__skippedRelease
local.tee $2
block (result i32)
i32.const 0
i32.const 48
call $~lib/arraybuffer/ArrayBuffer#constructor
local.set $1
local.get $2
i32.load offset=8
call $~lib/rt/stub/__release
local.get $1
end
i32.store offset=8
local.get $0
i32.const 4
@ -574,7 +589,7 @@
i32.const 0
i32.store offset=20
)
(func $~lib/map/Map<usize,~lib/string/String>#constructor (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/map/Map<usize,~lib/string/String>#constructor (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
block (result i32)
local.get $0
i32.eqz
@ -608,7 +623,7 @@
call $~lib/map/Map<usize,~lib/string/String>#clear
local.get $0
)
(func $~lib/string/String#get:length (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/string/String#get:length (; 11 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 16
i32.sub
@ -616,7 +631,7 @@
i32.const 1
i32.shr_u
)
(func $~lib/util/hash/hashStr (; 13 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/util/hash/hashStr (; 12 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -670,7 +685,7 @@
call $~lib/rt/stub/__release
local.get $3
)
(func $~lib/util/string/compareImpl (; 14 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(func $~lib/util/string/compareImpl (; 13 ;) (type $FUNCSIG$iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
@ -734,7 +749,7 @@
call $~lib/rt/stub/__release
local.get $8
)
(func $~lib/string/String.__eq (; 15 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__eq (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -807,7 +822,7 @@
call $~lib/rt/stub/__release
local.get $2
)
(func $~lib/map/Map<~lib/string/String,usize>#find (; 16 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<~lib/string/String,usize>#find (; 15 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
local.get $1
@ -866,7 +881,7 @@
call $~lib/rt/stub/__release
local.get $4
)
(func $~lib/map/Map<~lib/string/String,usize>#has (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<~lib/string/String,usize>#has (; 16 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $1
@ -894,7 +909,7 @@
call $~lib/rt/stub/__release
local.get $2
)
(func $~lib/map/Map<~lib/string/String,usize>#get (; 18 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<~lib/string/String,usize>#get (; 17 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -929,10 +944,7 @@
call $~lib/rt/stub/__release
local.get $2
)
(func $~lib/rt/stub/__retainRelease (; 19 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
local.get $1
)
(func $~lib/map/Map<~lib/string/String,usize>#rehash (; 20 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<~lib/string/String,usize>#rehash (; 18 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1054,20 +1066,44 @@
end
local.get $0
local.tee $9
local.get $9
i32.load
local.get $3
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $3
local.tee $10
local.get $9
i32.load
local.tee $9
i32.ne
if
local.get $10
call $~lib/rt/stub/__retain
drop
local.get $9
call $~lib/rt/stub/__release
end
local.get $10
end
i32.store
local.get $0
local.get $1
i32.store offset=4
local.get $0
local.tee $9
local.get $9
i32.load offset=8
local.get $5
call $~lib/rt/stub/__retainRelease
local.tee $10
block (result i32)
local.get $5
local.tee $11
local.get $10
i32.load offset=8
local.tee $10
i32.ne
if
local.get $11
call $~lib/rt/stub/__retain
drop
local.get $10
call $~lib/rt/stub/__release
end
local.get $11
end
i32.store offset=8
local.get $0
local.get $4
@ -1081,7 +1117,7 @@
local.get $5
call $~lib/rt/stub/__release
)
(func $~lib/map/Map<~lib/string/String,usize>#set (; 21 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<~lib/string/String,usize>#set (; 19 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1199,7 +1235,7 @@
local.get $1
call $~lib/rt/stub/__release
)
(func $~lib/util/hash/hash32 (; 22 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/util/hash/hash32 (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
i32.const -2128831035
local.set $1
@ -1241,7 +1277,7 @@
local.set $1
local.get $1
)
(func $~lib/map/Map<usize,~lib/string/String>#find (; 23 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(func $~lib/map/Map<usize,~lib/string/String>#find (; 21 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
local.get $0
i32.load
@ -1288,7 +1324,7 @@
end
i32.const 0
)
(func $~lib/map/Map<usize,~lib/string/String>#rehash (; 24 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/map/Map<usize,~lib/string/String>#rehash (; 22 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1405,20 +1441,44 @@
end
local.get $0
local.tee $9
local.get $9
i32.load
local.get $3
call $~lib/rt/stub/__retainRelease
block (result i32)
local.get $3
local.tee $10
local.get $9
i32.load
local.tee $9
i32.ne
if
local.get $10
call $~lib/rt/stub/__retain
drop
local.get $9
call $~lib/rt/stub/__release
end
local.get $10
end
i32.store
local.get $0
local.get $1
i32.store offset=4
local.get $0
local.tee $9
local.get $9
i32.load offset=8
local.get $5
call $~lib/rt/stub/__retainRelease
local.tee $10
block (result i32)
local.get $5
local.tee $11
local.get $10
i32.load offset=8
local.tee $10
i32.ne
if
local.get $11
call $~lib/rt/stub/__retain
drop
local.get $10
call $~lib/rt/stub/__release
end
local.get $11
end
i32.store offset=8
local.get $0
local.get $4
@ -1432,7 +1492,7 @@
local.get $5
call $~lib/rt/stub/__release
)
(func $~lib/map/Map<usize,~lib/string/String>#set (; 25 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/map/Map<usize,~lib/string/String>#set (; 23 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -1455,12 +1515,20 @@
local.set $5
local.get $5
if
local.get $5
local.get $5
i32.load offset=4
local.set $3
local.get $2
call $~lib/rt/stub/__retainRelease
i32.store offset=4
local.get $3
i32.ne
if
local.get $5
local.get $2
call $~lib/rt/stub/__retain
i32.store offset=4
local.get $3
call $~lib/rt/stub/__release
end
else
local.get $0
i32.load offset=16
@ -1548,7 +1616,7 @@
local.get $2
call $~lib/rt/stub/__release
)
(func $~lib/symbol/_Symbol.for (; 26 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/symbol/_Symbol.for (; 24 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -1557,15 +1625,23 @@
global.get $~lib/symbol/stringToId
i32.eqz
if
global.get $~lib/symbol/stringToId
i32.const 0
call $~lib/map/Map<~lib/string/String,usize>#constructor
call $~lib/rt/stub/__skippedRelease
block (result i32)
i32.const 0
call $~lib/map/Map<~lib/string/String,usize>#constructor
local.set $1
global.get $~lib/symbol/stringToId
call $~lib/rt/stub/__release
local.get $1
end
global.set $~lib/symbol/stringToId
global.get $~lib/symbol/idToString
i32.const 0
call $~lib/map/Map<usize,~lib/string/String>#constructor
call $~lib/rt/stub/__skippedRelease
block (result i32)
i32.const 0
call $~lib/map/Map<usize,~lib/string/String>#constructor
local.set $1
global.get $~lib/symbol/idToString
call $~lib/rt/stub/__release
local.get $1
end
global.set $~lib/symbol/idToString
else
global.get $~lib/symbol/stringToId
@ -1610,7 +1686,7 @@
call $~lib/rt/stub/__release
local.get $1
)
(func $~lib/map/Map<usize,~lib/string/String>#has (; 27 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,~lib/string/String>#has (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
local.get $1
@ -1625,7 +1701,7 @@
i32.const 0
i32.ne
)
(func $~lib/map/Map<usize,~lib/string/String>#get (; 28 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/map/Map<usize,~lib/string/String>#get (; 26 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -1655,7 +1731,7 @@
end
call $~lib/rt/stub/__retain
)
(func $~lib/symbol/_Symbol.keyFor (; 29 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/symbol/_Symbol.keyFor (; 27 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
global.get $~lib/symbol/idToString
i32.const 0
i32.ne
@ -1675,7 +1751,7 @@
call $~lib/rt/stub/__retain
end
)
(func $~lib/util/memory/memcpy (; 30 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/util/memory/memcpy (; 28 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -2866,7 +2942,7 @@
i32.store8
end
)
(func $~lib/memory/memory.copy (; 31 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 29 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
@ -3093,12 +3169,13 @@
end
end
)
(func $~lib/string/String#concat (; 32 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String#concat (; 30 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
local.get $1
call $~lib/rt/stub/__retain
drop
@ -3106,59 +3183,71 @@
i32.const 0
i32.eq
if
local.get $1
i32.const 656
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 656
local.tee $2
local.get $1
local.tee $3
i32.ne
if
local.get $2
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $2
end
local.set $1
end
local.get $0
call $~lib/string/String#get:length
i32.const 1
i32.shl
local.set $2
local.set $4
local.get $1
call $~lib/string/String#get:length
i32.const 1
i32.shl
local.set $3
local.get $2
local.get $3
i32.add
local.set $4
local.set $5
local.get $4
local.get $5
i32.add
local.set $6
local.get $6
i32.const 0
i32.eq
if
i32.const 200
call $~lib/rt/stub/__retain
local.set $5
local.set $2
local.get $1
call $~lib/rt/stub/__release
local.get $5
local.get $2
return
end
local.get $4
local.get $6
i32.const 1
call $~lib/rt/stub/__alloc
call $~lib/rt/stub/__retain
local.set $6
local.get $6
local.set $7
local.get $7
local.get $0
local.get $2
local.get $4
call $~lib/memory/memory.copy
local.get $6
local.get $2
local.get $7
local.get $4
i32.add
local.get $1
local.get $3
local.get $5
call $~lib/memory/memory.copy
local.get $6
local.set $5
local.get $7
local.set $2
local.get $1
call $~lib/rt/stub/__release
local.get $5
local.get $2
)
(func $~lib/string/String.__concat (; 33 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/string/String.__concat (; 31 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $0
call $~lib/rt/stub/__retain
@ -3181,7 +3270,7 @@
call $~lib/rt/stub/__release
local.get $2
)
(func $~lib/symbol/_Symbol#toString (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/symbol/_Symbol#toString (; 32 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
@ -3254,9 +3343,21 @@
br $case11|0
end
block
local.get $2
i32.const 216
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 216
local.tee $3
local.get $2
local.tee $4
i32.ne
if
local.get $3
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $3
end
local.set $2
br $break|0
unreachable
@ -3264,9 +3365,21 @@
unreachable
end
block
local.get $2
i32.const 256
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 256
local.tee $4
local.get $2
local.tee $3
i32.ne
if
local.get $4
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $4
end
local.set $2
br $break|0
unreachable
@ -3274,9 +3387,21 @@
unreachable
end
block
local.get $2
i32.const 312
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 312
local.tee $3
local.get $2
local.tee $4
i32.ne
if
local.get $3
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $3
end
local.set $2
br $break|0
unreachable
@ -3284,9 +3409,21 @@
unreachable
end
block
local.get $2
i32.const 344
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 344
local.tee $4
local.get $2
local.tee $3
i32.ne
if
local.get $4
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $4
end
local.set $2
br $break|0
unreachable
@ -3294,9 +3431,21 @@
unreachable
end
block
local.get $2
i32.const 376
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 376
local.tee $3
local.get $2
local.tee $4
i32.ne
if
local.get $3
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $3
end
local.set $2
br $break|0
unreachable
@ -3304,9 +3453,21 @@
unreachable
end
block
local.get $2
i32.const 408
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 408
local.tee $4
local.get $2
local.tee $3
i32.ne
if
local.get $4
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $4
end
local.set $2
br $break|0
unreachable
@ -3314,9 +3475,21 @@
unreachable
end
block
local.get $2
i32.const 440
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 440
local.tee $3
local.get $2
local.tee $4
i32.ne
if
local.get $3
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $3
end
local.set $2
br $break|0
unreachable
@ -3324,9 +3497,21 @@
unreachable
end
block
local.get $2
i32.const 472
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 472
local.tee $4
local.get $2
local.tee $3
i32.ne
if
local.get $4
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $4
end
local.set $2
br $break|0
unreachable
@ -3334,9 +3519,21 @@
unreachable
end
block
local.get $2
i32.const 504
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 504
local.tee $3
local.get $2
local.tee $4
i32.ne
if
local.get $3
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $3
end
local.set $2
br $break|0
unreachable
@ -3344,9 +3541,21 @@
unreachable
end
block
local.get $2
i32.const 544
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 544
local.tee $4
local.get $2
local.tee $3
i32.ne
if
local.get $4
call $~lib/rt/stub/__retain
drop
local.get $3
call $~lib/rt/stub/__release
end
local.get $4
end
local.set $2
br $break|0
unreachable
@ -3354,9 +3563,21 @@
unreachable
end
block
local.get $2
i32.const 584
call $~lib/rt/stub/__retainRelease
block (result i32)
i32.const 584
local.tee $3
local.get $2
local.tee $4
i32.ne
if
local.get $3
call $~lib/rt/stub/__retain
drop
local.get $4
call $~lib/rt/stub/__release
end
local.get $3
end
local.set $2
br $break|0
unreachable
@ -3375,11 +3596,15 @@
i32.const 0
end
if
local.get $2
global.get $~lib/symbol/idToString
local.get $1
call $~lib/map/Map<usize,~lib/string/String>#get
call $~lib/rt/stub/__skippedRelease
block (result i32)
global.get $~lib/symbol/idToString
local.get $1
call $~lib/map/Map<usize,~lib/string/String>#get
local.set $4
local.get $2
call $~lib/rt/stub/__release
local.get $4
end
local.set $2
end
br $break|0
@ -3390,21 +3615,21 @@
i32.const 624
local.get $2
call $~lib/string/String.__concat
local.tee $3
local.tee $4
i32.const 680
call $~lib/string/String.__concat
local.tee $4
local.tee $3
call $~lib/rt/stub/__retain
local.set $5
local.get $3
call $~lib/rt/stub/__release
local.get $4
call $~lib/rt/stub/__release
local.get $3
call $~lib/rt/stub/__release
local.get $2
call $~lib/rt/stub/__release
local.get $5
)
(func $start:std/symbol (; 35 ;) (type $FUNCSIG$v)
(func $start:std/symbol (; 33 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -3599,9 +3824,9 @@
local.get $5
call $~lib/rt/stub/__release
)
(func $start (; 36 ;) (type $FUNCSIG$v)
(func $start (; 34 ;) (type $FUNCSIG$v)
call $start:std/symbol
)
(func $null (; 37 ;) (type $FUNCSIG$v)
(func $null (; 35 ;) (type $FUNCSIG$v)
)
)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff