improve rtrace and move it to lib

This commit is contained in:
dcode
2019-05-23 16:41:26 +02:00
parent fbba76ef2c
commit a49ab7a706
35 changed files with 3435 additions and 3307 deletions

View File

@ -7,8 +7,9 @@
(type $FUNCSIG$v (func))
(type $FUNCSIG$viii (func (param i32 i32 i32)))
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
(import "rtrace" "release" (func $~lib/rt/pure/onDecrement (param i32)))
(import "rtrace" "free" (func $~lib/rt/tlsf/onFree (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)))
(memory $0 1)
(data (i32.const 12) "\01\00\00\00\01")
(data (i32.const 24) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s")
@ -25,7 +26,7 @@
(global $~lib/rt/pure/ROOTS (mut i32) (i32.const 0))
(export "memory" (memory $0))
(start $start)
(func $~lib/rt/tlsf/removeBlock (; 3 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/tlsf/removeBlock (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -39,7 +40,7 @@
if
i32.const 0
i32.const 88
i32.const 275
i32.const 276
i32.const 13
call $~lib/builtins/abort
unreachable
@ -61,7 +62,7 @@
if
i32.const 0
i32.const 88
i32.const 277
i32.const 278
i32.const 13
call $~lib/builtins/abort
unreachable
@ -106,7 +107,7 @@
if
i32.const 0
i32.const 88
i32.const 290
i32.const 291
i32.const 13
call $~lib/builtins/abort
unreachable
@ -191,7 +192,7 @@
end
end
)
(func $~lib/rt/tlsf/insertBlock (; 4 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/tlsf/insertBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
@ -203,7 +204,7 @@
if
i32.const 0
i32.const 88
i32.const 203
i32.const 204
i32.const 13
call $~lib/builtins/abort
unreachable
@ -217,7 +218,7 @@
if
i32.const 0
i32.const 88
i32.const 205
i32.const 206
i32.const 13
call $~lib/builtins/abort
unreachable
@ -290,7 +291,7 @@
if
i32.const 0
i32.const 88
i32.const 226
i32.const 227
i32.const 15
call $~lib/builtins/abort
unreachable
@ -347,7 +348,7 @@
if
i32.const 0
i32.const 88
i32.const 241
i32.const 242
i32.const 13
call $~lib/builtins/abort
unreachable
@ -362,7 +363,7 @@
if
i32.const 0
i32.const 88
i32.const 242
i32.const 243
i32.const 13
call $~lib/builtins/abort
unreachable
@ -412,7 +413,7 @@
if
i32.const 0
i32.const 88
i32.const 258
i32.const 259
i32.const 13
call $~lib/builtins/abort
unreachable
@ -476,7 +477,7 @@
i32.or
i32.store offset=4
)
(func $~lib/rt/tlsf/freeBlock (; 5 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/tlsf/freeBlock (; 6 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
local.get $1
i32.load
@ -486,7 +487,7 @@
if
i32.const 0
i32.const 88
i32.const 530
i32.const 531
i32.const 2
call $~lib/builtins/abort
unreachable
@ -500,9 +501,9 @@
local.get $1
call $~lib/rt/tlsf/insertBlock
local.get $1
call $~lib/rt/tlsf/onFree
call $~lib/rt/rtrace/onfree
)
(func $~lib/rt/__typeinfo (; 6 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/rt/__typeinfo (; 7 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 272
i32.load
@ -522,7 +523,7 @@
i32.add
i32.load
)
(func $~lib/rt/tlsf/addMemory (; 7 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/rt/tlsf/addMemory (; 8 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
local.get $2
@ -544,7 +545,7 @@
if
i32.const 0
i32.const 88
i32.const 384
i32.const 385
i32.const 4
call $~lib/builtins/abort
unreachable
@ -561,7 +562,7 @@
if
i32.const 0
i32.const 88
i32.const 394
i32.const 395
i32.const 15
call $~lib/builtins/abort
unreachable
@ -589,7 +590,7 @@
if
i32.const 0
i32.const 88
i32.const 406
i32.const 407
i32.const 4
call $~lib/builtins/abort
unreachable
@ -636,7 +637,7 @@
local.get $1
call $~lib/rt/tlsf/insertBlock
)
(func $~lib/rt/tlsf/initializeRoot (; 8 ;) (type $FUNCSIG$v)
(func $~lib/rt/tlsf/initializeRoot (; 9 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
i32.const 1
@ -719,14 +720,14 @@
i32.const 304
global.set $~lib/rt/tlsf/ROOT
)
(func $~lib/rt/tlsf/prepareSize (; 9 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/rt/tlsf/prepareSize (; 10 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
i32.const 1073741808
i32.ge_u
if
i32.const 232
i32.const 88
i32.const 446
i32.const 447
i32.const 29
call $~lib/builtins/abort
unreachable
@ -743,7 +744,7 @@
i32.gt_u
select
)
(func $~lib/rt/tlsf/searchBlock (; 10 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/rt/tlsf/searchBlock (; 11 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
local.get $1
i32.const 256
@ -801,7 +802,7 @@
if
i32.const 0
i32.const 88
i32.const 336
i32.const 337
i32.const 13
call $~lib/builtins/abort
unreachable
@ -853,7 +854,7 @@
if
i32.const 0
i32.const 88
i32.const 349
i32.const 350
i32.const 17
call $~lib/builtins/abort
unreachable
@ -874,7 +875,7 @@
end
end
)
(func $~lib/rt/tlsf/growMemory (; 11 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/tlsf/growMemory (; 12 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(local $2 i32)
memory.size
local.tee $2
@ -911,7 +912,7 @@
i32.shl
call $~lib/rt/tlsf/addMemory
)
(func $~lib/rt/tlsf/prepareBlock (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/rt/tlsf/prepareBlock (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
local.get $1
@ -923,7 +924,7 @@
if
i32.const 0
i32.const 88
i32.const 363
i32.const 364
i32.const 13
call $~lib/builtins/abort
unreachable
@ -987,7 +988,7 @@
i32.store
end
)
(func $~lib/rt/tlsf/allocateBlock (; 13 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $~lib/rt/tlsf/allocateBlock (; 14 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
local.get $0
@ -1009,7 +1010,7 @@
if
i32.const 0
i32.const 88
i32.const 476
i32.const 477
i32.const 15
call $~lib/builtins/abort
unreachable
@ -1024,7 +1025,7 @@
if
i32.const 0
i32.const 88
i32.const 478
i32.const 479
i32.const 13
call $~lib/builtins/abort
unreachable
@ -1043,8 +1044,10 @@
local.get $3
call $~lib/rt/tlsf/prepareBlock
local.get $2
call $~lib/rt/rtrace/onalloc
local.get $2
)
(func $~lib/rt/tlsf/__alloc (; 14 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/rt/tlsf/__alloc (; 15 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
global.get $~lib/rt/tlsf/ROOT
local.tee $1
@ -1064,7 +1067,7 @@
i32.const 16
i32.add
)
(func $~lib/memory/memory.copy (; 15 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(func $~lib/memory/memory.copy (; 16 ;) (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
@ -1237,7 +1240,7 @@
end
end
)
(func $~lib/rt/pure/growRoots (; 16 ;) (type $FUNCSIG$v)
(func $~lib/rt/pure/growRoots (; 17 ;) (type $FUNCSIG$v)
(local $0 i32)
(local $1 i32)
(local $2 i32)
@ -1272,7 +1275,7 @@
i32.add
global.set $~lib/rt/pure/END
)
(func $~lib/rt/pure/appendRoot (; 17 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/appendRoot (; 18 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
global.get $~lib/rt/pure/CUR
local.tee $1
@ -1291,7 +1294,7 @@
i32.add
global.set $~lib/rt/pure/CUR
)
(func $~lib/rt/pure/decrement (; 18 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/decrement (; 19 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
(local $2 i32)
local.get $0
@ -1301,7 +1304,7 @@
i32.and
local.set $1
local.get $0
call $~lib/rt/pure/onDecrement
call $~lib/rt/rtrace/ondecrement
local.get $0
i32.load
i32.const 1
@ -1309,7 +1312,7 @@
if
i32.const 0
i32.const 40
i32.const 114
i32.const 115
i32.const 13
call $~lib/builtins/abort
unreachable
@ -1342,7 +1345,7 @@
if
i32.const 0
i32.const 40
i32.const 123
i32.const 124
i32.const 15
call $~lib/builtins/abort
unreachable
@ -1381,7 +1384,7 @@
end
end
)
(func $~lib/rt/pure/__retainRelease (; 19 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(func $~lib/rt/pure/__retainRelease (; 20 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
local.get $0
if
local.get $0
@ -1396,7 +1399,7 @@
end
i32.const 0
)
(func $start (; 20 ;) (type $FUNCSIG$v)
(func $start (; 21 ;) (type $FUNCSIG$v)
i32.const 24
global.set $rc/global-init/a
i32.const 24
@ -1408,7 +1411,7 @@
call $~lib/rt/pure/__retainRelease
global.set $rc/global-init/b
)
(func $~lib/rt/pure/markGray (; 21 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/markGray (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -1432,7 +1435,7 @@
call $~lib/rt/__visit_members
end
)
(func $~lib/rt/pure/scanBlack (; 22 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scanBlack (; 23 ;) (type $FUNCSIG$vi) (param $0 i32)
local.get $0
local.get $0
i32.load offset=4
@ -1445,7 +1448,7 @@
i32.const 4
call $~lib/rt/__visit_members
)
(func $~lib/rt/pure/scan (; 23 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/scan (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -1479,7 +1482,7 @@
end
end
)
(func $~lib/rt/pure/collectWhite (; 24 ;) (type $FUNCSIG$vi) (param $0 i32)
(func $~lib/rt/pure/collectWhite (; 25 ;) (type $FUNCSIG$vi) (param $0 i32)
(local $1 i32)
local.get $0
i32.load offset=4
@ -1507,7 +1510,7 @@
local.get $0
call $~lib/rt/tlsf/freeBlock
)
(func $~lib/rt/pure/__visit (; 25 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/pure/__visit (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
local.get $0
i32.const 300
i32.lt_u
@ -1553,7 +1556,7 @@
if
i32.const 0
i32.const 40
i32.const 74
i32.const 75
i32.const 17
call $~lib/builtins/abort
unreachable
@ -1586,7 +1589,7 @@
if
i32.const 0
i32.const 40
i32.const 85
i32.const 86
i32.const 6
call $~lib/builtins/abort
unreachable
@ -1611,13 +1614,13 @@
end
i32.const 0
i32.const 40
i32.const 96
i32.const 97
i32.const 24
call $~lib/builtins/abort
unreachable
end
)
(func $~lib/rt/__visit_members (; 26 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
(func $~lib/rt/__visit_members (; 27 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32)
block $switch$1$default
block $switch$1$case$4
block $switch$1$case$2
@ -1641,7 +1644,7 @@
end
unreachable
)
(func $null (; 27 ;) (type $FUNCSIG$v)
(func $null (; 28 ;) (type $FUNCSIG$v)
nop
)
)