reduce tlsf footprint

This commit is contained in:
dcode
2019-04-11 02:29:25 +02:00
parent bb659bbdcd
commit 8b5c629cde
9 changed files with 1329 additions and 4325 deletions

View File

@ -95,7 +95,7 @@
if
i32.const 0
i32.const 24
i32.const 159
i32.const 165
i32.const 4
call $~lib/builtins/abort
unreachable
@ -109,24 +109,19 @@
i32.store offset=4
)
(func $~lib/allocator/tlsf/Root#setHead (; 4 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1
i32.const 22
i32.ge_u
if
i32.const 0
i32.const 24
i32.const 184
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 32
i32.ge_u
i32.lt_u
i32.const 0
local.get $1
i32.const 22
i32.lt_u
select
i32.eqz
if
i32.const 0
i32.const 24
i32.const 185
i32.const 189
i32.const 4
call $~lib/builtins/abort
unreachable
@ -152,7 +147,7 @@
if
i32.const 0
i32.const 24
i32.const 104
i32.const 110
i32.const 4
call $~lib/builtins/abort
unreachable
@ -170,7 +165,7 @@
if
i32.const 0
i32.const 24
i32.const 105
i32.const 111
i32.const 11
call $~lib/builtins/abort
unreachable
@ -183,7 +178,7 @@
if
i32.const 0
i32.const 24
i32.const 447
i32.const 452
i32.const 2
call $~lib/builtins/abort
unreachable
@ -194,24 +189,19 @@
i32.sub
)
(func $~lib/allocator/tlsf/Root#getHead (; 7 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1
i32.const 22
i32.ge_u
if
i32.const 0
i32.const 24
i32.const 175
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 32
i32.ge_u
i32.lt_u
i32.const 0
local.get $1
i32.const 22
i32.lt_u
select
i32.eqz
if
i32.const 0
i32.const 24
i32.const 176
i32.const 181
i32.const 4
call $~lib/builtins/abort
unreachable
@ -234,7 +224,7 @@
if
i32.const 0
i32.const 24
i32.const 153
i32.const 159
i32.const 4
call $~lib/builtins/abort
unreachable
@ -260,7 +250,7 @@
if
i32.const 0
i32.const 24
i32.const 277
i32.const 276
i32.const 4
call $~lib/builtins/abort
unreachable
@ -282,7 +272,7 @@
if
i32.const 0
i32.const 24
i32.const 279
i32.const 278
i32.const 4
call $~lib/builtins/abort
unreachable
@ -383,7 +373,7 @@
if
i32.const 0
i32.const 24
i32.const 96
i32.const 102
i32.const 4
call $~lib/builtins/abort
unreachable
@ -397,7 +387,7 @@
if
i32.const 0
i32.const 24
i32.const 97
i32.const 103
i32.const 11
call $~lib/builtins/abort
unreachable
@ -409,36 +399,29 @@
i32.load
i32.const 1
i32.and
if (result i32)
local.get $0
call $~lib/allocator/tlsf/Block#get:right
local.get $1
i32.eq
else
i32.const 0
end
if (result i32)
local.get $1
i32.load
i32.const 2
i32.and
i32.const 0
i32.ne
else
i32.const 0
end
i32.eqz
if
i32.const 0
i32.const 24
i32.const 353
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $0
call $~lib/allocator/tlsf/Block#get:right
local.get $1
i32.ne
if
i32.const 0
i32.const 24
i32.const 354
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.load
i32.const 2
i32.and
i32.eqz
if
i32.const 0
i32.const 24
i32.const 355
i32.const 352
i32.const 4
call $~lib/builtins/abort
unreachable
@ -459,7 +442,7 @@
if
i32.const 0
i32.const 24
i32.const 208
i32.const 211
i32.const 4
call $~lib/builtins/abort
unreachable
@ -473,54 +456,21 @@
if
i32.const 0
i32.const 24
i32.const 210
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.load
i32.const -4
i32.and
local.tee $3
i32.const 16
i32.ge_u
if (result i32)
local.get $3
i32.const 1073741824
i32.lt_u
else
i32.const 0
end
i32.eqz
if
i32.const 0
i32.const 24
i32.const 212
i32.const 213
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
call $~lib/allocator/tlsf/Block#get:right
local.tee $3
i32.eqz
if
i32.const 0
i32.const 24
i32.const 216
i32.const 23
call $~lib/builtins/abort
unreachable
end
local.get $3
local.tee $5
i32.load
local.tee $4
i32.const 1
i32.and
if
local.get $0
local.get $3
local.get $5
call $~lib/allocator/tlsf/Root#remove
local.get $1
local.get $4
@ -534,7 +484,7 @@
i32.store
local.get $1
call $~lib/allocator/tlsf/Block#get:right
local.tee $3
local.tee $5
i32.load
local.set $4
end
@ -545,25 +495,15 @@
local.get $1
call $~lib/allocator/tlsf/Block#get:left
local.tee $1
i32.eqz
if
i32.const 0
i32.const 24
i32.const 230
i32.const 24
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.load
local.tee $5
local.tee $3
i32.const 1
i32.and
i32.eqz
if
i32.const 0
i32.const 24
i32.const 232
i32.const 231
i32.const 6
call $~lib/builtins/abort
unreachable
@ -577,27 +517,27 @@
i32.and
i32.const 8
i32.add
local.get $5
local.get $3
i32.add
local.tee $2
i32.store
end
local.get $3
local.get $5
local.get $4
i32.const 2
i32.or
i32.store
local.get $1
local.get $3
local.get $5
call $~lib/allocator/tlsf/Root#setJump
local.get $2
i32.const -4
i32.and
local.tee $2
local.tee $3
i32.const 16
i32.ge_u
if (result i32)
local.get $2
local.get $3
i32.const 1073741824
i32.lt_u
else
@ -607,72 +547,72 @@
if
i32.const 0
i32.const 24
i32.const 245
i32.const 244
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $0
local.get $2
local.get $3
i32.const 256
i32.lt_u
if (result i32)
local.get $2
local.get $3
i32.const 8
i32.div_u
local.set $2
local.set $3
i32.const 0
else
local.get $2
local.get $2
local.get $3
local.get $3
call $~lib/allocator/tlsf/fls<usize>
local.tee $3
local.tee $2
i32.const 5
i32.sub
i32.shr_u
i32.const 32
i32.xor
local.set $2
local.get $3
local.set $3
local.get $2
i32.const 7
i32.sub
end
local.tee $3
local.get $2
local.tee $4
local.get $3
call $~lib/allocator/tlsf/Root#getHead
local.set $4
local.set $2
local.get $1
i32.const 0
i32.store offset=4
local.get $1
local.get $4
local.get $2
i32.store offset=8
local.get $4
local.get $2
if
local.get $4
local.get $2
local.get $1
i32.store offset=4
end
local.get $0
local.get $4
local.get $3
local.get $2
local.get $1
call $~lib/allocator/tlsf/Root#setHead
local.get $0
local.get $0
i32.load
i32.const 1
local.get $3
local.get $4
i32.shl
i32.or
i32.store
local.get $0
local.get $3
local.get $4
local.get $0
local.get $3
local.get $4
call $~lib/allocator/tlsf/Root#getSLMap
i32.const 1
local.get $2
local.get $3
i32.shl
i32.or
call $~lib/allocator/tlsf/Root#setSLMap
@ -680,35 +620,26 @@
(func $~lib/allocator/tlsf/Root#addMemory (; 13 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
local.get $1
local.get $2
i32.gt_u
if
i32.const 0
i32.const 24
i32.const 396
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.const 7
i32.and
if
i32.const 0
i32.const 24
i32.const 397
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 7
i32.and
i32.eqz
i32.const 0
local.get $1
i32.const 7
i32.and
i32.eqz
i32.const 0
local.get $1
local.get $2
i32.le_u
select
select
i32.eqz
if
i32.const 0
i32.const 24
i32.const 398
i32.const 399
i32.const 4
call $~lib/builtins/abort
unreachable
@ -725,7 +656,7 @@
if
i32.const 0
i32.const 24
i32.const 403
i32.const 408
i32.const 6
call $~lib/builtins/abort
unreachable
@ -753,7 +684,7 @@
if
i32.const 0
i32.const 24
i32.const 412
i32.const 417
i32.const 6
call $~lib/builtins/abort
unreachable
@ -806,7 +737,7 @@
if
i32.const 0
i32.const 24
i32.const 441
i32.const 446
i32.const 2
call $~lib/builtins/abort
unreachable
@ -818,23 +749,6 @@
(local $2 i32)
(local $3 i32)
local.get $1
i32.const 1073741824
i32.lt_u
i32.const 0
local.get $1
i32.const 16
i32.ge_u
select
i32.eqz
if
i32.const 0
i32.const 24
i32.const 315
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.const 256
i32.lt_u
if (result i32)
@ -906,7 +820,7 @@
if
i32.const 0
i32.const 24
i32.const 342
i32.const 341
i32.const 16
call $~lib/builtins/abort
unreachable
@ -929,39 +843,19 @@
local.tee $3
i32.const 1
i32.and
if (result i32)
local.get $2
i32.const 7
i32.and
i32.eqz
else
i32.const 0
end
i32.eqz
if
i32.const 0
i32.const 24
i32.const 367
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 1073741824
i32.lt_u
i32.const 0
local.get $2
i32.const 16
i32.ge_u
select
i32.eqz
if
i32.const 0
i32.const 24
i32.const 368
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 7
i32.and
if
i32.const 0
i32.const 24
i32.const 369
i32.const 370
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1009,16 +903,6 @@
local.get $1
call $~lib/allocator/tlsf/Block#get:right
local.tee $0
i32.eqz
if
i32.const 0
i32.const 24
i32.const 387
i32.const 25
call $~lib/builtins/abort
unreachable
end
local.get $0
local.get $0
i32.load
i32.const -3
@ -1171,7 +1055,7 @@
if
i32.const 0
i32.const 24
i32.const 502
i32.const 507
i32.const 12
call $~lib/builtins/abort
unreachable
@ -1186,7 +1070,7 @@
if
i32.const 0
i32.const 24
i32.const 505
i32.const 510
i32.const 2
call $~lib/builtins/abort
unreachable
@ -1552,6 +1436,17 @@
(local $3 i32)
local.get $0
if
local.get $0
i32.const 7
i32.and
if
i32.const 0
i32.const 24
i32.const 519
i32.const 4
call $~lib/builtins/abort
unreachable
end
global.get $~lib/allocator/tlsf/ROOT
local.tee $1
if
@ -1566,7 +1461,7 @@
if
i32.const 0
i32.const 24
i32.const 518
i32.const 524
i32.const 6
call $~lib/builtins/abort
unreachable

File diff suppressed because it is too large Load Diff

View File

@ -966,7 +966,7 @@
if
i32.const 0
i32.const 72
i32.const 159
i32.const 165
i32.const 4
call $~lib/builtins/abort
unreachable
@ -980,24 +980,19 @@
i32.store offset=4
)
(func $~lib/allocator/tlsf/Root#setHead (; 40 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1
i32.const 22
i32.ge_u
if
i32.const 0
i32.const 72
i32.const 184
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 32
i32.ge_u
i32.lt_u
i32.const 0
local.get $1
i32.const 22
i32.lt_u
select
i32.eqz
if
i32.const 0
i32.const 72
i32.const 185
i32.const 189
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1023,7 +1018,7 @@
if
i32.const 0
i32.const 72
i32.const 104
i32.const 110
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1041,7 +1036,7 @@
if
i32.const 0
i32.const 72
i32.const 105
i32.const 111
i32.const 11
call $~lib/builtins/abort
unreachable
@ -1054,7 +1049,7 @@
if
i32.const 0
i32.const 72
i32.const 447
i32.const 452
i32.const 2
call $~lib/builtins/abort
unreachable
@ -1065,24 +1060,19 @@
i32.sub
)
(func $~lib/allocator/tlsf/Root#getHead (; 43 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1
i32.const 22
i32.ge_u
if
i32.const 0
i32.const 72
i32.const 175
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 32
i32.ge_u
i32.lt_u
i32.const 0
local.get $1
i32.const 22
i32.lt_u
select
i32.eqz
if
i32.const 0
i32.const 72
i32.const 176
i32.const 181
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1105,7 +1095,7 @@
if
i32.const 0
i32.const 72
i32.const 153
i32.const 159
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1131,7 +1121,7 @@
if
i32.const 0
i32.const 72
i32.const 277
i32.const 276
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1153,7 +1143,7 @@
if
i32.const 0
i32.const 72
i32.const 279
i32.const 278
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1254,7 +1244,7 @@
if
i32.const 0
i32.const 72
i32.const 96
i32.const 102
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1268,7 +1258,7 @@
if
i32.const 0
i32.const 72
i32.const 97
i32.const 103
i32.const 11
call $~lib/builtins/abort
unreachable
@ -1280,36 +1270,29 @@
i32.load
i32.const 1
i32.and
if (result i32)
local.get $0
call $~lib/allocator/tlsf/Block#get:right
local.get $1
i32.eq
else
i32.const 0
end
if (result i32)
local.get $1
i32.load
i32.const 2
i32.and
i32.const 0
i32.ne
else
i32.const 0
end
i32.eqz
if
i32.const 0
i32.const 72
i32.const 353
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $0
call $~lib/allocator/tlsf/Block#get:right
local.get $1
i32.ne
if
i32.const 0
i32.const 72
i32.const 354
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.load
i32.const 2
i32.and
i32.eqz
if
i32.const 0
i32.const 72
i32.const 355
i32.const 352
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1330,7 +1313,7 @@
if
i32.const 0
i32.const 72
i32.const 208
i32.const 211
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1344,54 +1327,21 @@
if
i32.const 0
i32.const 72
i32.const 210
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.load
i32.const -4
i32.and
local.tee $3
i32.const 16
i32.ge_u
if (result i32)
local.get $3
i32.const 1073741824
i32.lt_u
else
i32.const 0
end
i32.eqz
if
i32.const 0
i32.const 72
i32.const 212
i32.const 213
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
call $~lib/allocator/tlsf/Block#get:right
local.tee $3
i32.eqz
if
i32.const 0
i32.const 72
i32.const 216
i32.const 23
call $~lib/builtins/abort
unreachable
end
local.get $3
local.tee $5
i32.load
local.tee $4
i32.const 1
i32.and
if
local.get $0
local.get $3
local.get $5
call $~lib/allocator/tlsf/Root#remove
local.get $1
local.get $4
@ -1405,7 +1355,7 @@
i32.store
local.get $1
call $~lib/allocator/tlsf/Block#get:right
local.tee $3
local.tee $5
i32.load
local.set $4
end
@ -1416,25 +1366,15 @@
local.get $1
call $~lib/allocator/tlsf/Block#get:left
local.tee $1
i32.eqz
if
i32.const 0
i32.const 72
i32.const 230
i32.const 24
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.load
local.tee $5
local.tee $3
i32.const 1
i32.and
i32.eqz
if
i32.const 0
i32.const 72
i32.const 232
i32.const 231
i32.const 6
call $~lib/builtins/abort
unreachable
@ -1448,27 +1388,27 @@
i32.and
i32.const 8
i32.add
local.get $5
local.get $3
i32.add
local.tee $2
i32.store
end
local.get $3
local.get $5
local.get $4
i32.const 2
i32.or
i32.store
local.get $1
local.get $3
local.get $5
call $~lib/allocator/tlsf/Root#setJump
local.get $2
i32.const -4
i32.and
local.tee $2
local.tee $3
i32.const 16
i32.ge_u
if (result i32)
local.get $2
local.get $3
i32.const 1073741824
i32.lt_u
else
@ -1478,72 +1418,72 @@
if
i32.const 0
i32.const 72
i32.const 245
i32.const 244
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $0
local.get $2
local.get $3
i32.const 256
i32.lt_u
if (result i32)
local.get $2
local.get $3
i32.const 8
i32.div_u
local.set $2
local.set $3
i32.const 0
else
local.get $2
local.get $2
local.get $3
local.get $3
call $~lib/allocator/tlsf/fls<usize>
local.tee $3
local.tee $2
i32.const 5
i32.sub
i32.shr_u
i32.const 32
i32.xor
local.set $2
local.get $3
local.set $3
local.get $2
i32.const 7
i32.sub
end
local.tee $3
local.get $2
local.tee $4
local.get $3
call $~lib/allocator/tlsf/Root#getHead
local.set $4
local.set $2
local.get $1
i32.const 0
i32.store offset=4
local.get $1
local.get $4
local.get $2
i32.store offset=8
local.get $4
local.get $2
if
local.get $4
local.get $2
local.get $1
i32.store offset=4
end
local.get $0
local.get $4
local.get $3
local.get $2
local.get $1
call $~lib/allocator/tlsf/Root#setHead
local.get $0
local.get $0
i32.load
i32.const 1
local.get $3
local.get $4
i32.shl
i32.or
i32.store
local.get $0
local.get $3
local.get $4
local.get $0
local.get $3
local.get $4
call $~lib/allocator/tlsf/Root#getSLMap
i32.const 1
local.get $2
local.get $3
i32.shl
i32.or
call $~lib/allocator/tlsf/Root#setSLMap
@ -1551,35 +1491,26 @@
(func $~lib/allocator/tlsf/Root#addMemory (; 49 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
local.get $1
local.get $2
i32.gt_u
if
i32.const 0
i32.const 72
i32.const 396
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.const 7
i32.and
if
i32.const 0
i32.const 72
i32.const 397
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 7
i32.and
i32.eqz
i32.const 0
local.get $1
i32.const 7
i32.and
i32.eqz
i32.const 0
local.get $1
local.get $2
i32.le_u
select
select
i32.eqz
if
i32.const 0
i32.const 72
i32.const 398
i32.const 399
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1596,7 +1527,7 @@
if
i32.const 0
i32.const 72
i32.const 403
i32.const 408
i32.const 6
call $~lib/builtins/abort
unreachable
@ -1624,7 +1555,7 @@
if
i32.const 0
i32.const 72
i32.const 412
i32.const 417
i32.const 6
call $~lib/builtins/abort
unreachable
@ -1677,7 +1608,7 @@
if
i32.const 0
i32.const 72
i32.const 441
i32.const 446
i32.const 2
call $~lib/builtins/abort
unreachable
@ -1689,23 +1620,6 @@
(local $2 i32)
(local $3 i32)
local.get $1
i32.const 1073741824
i32.lt_u
i32.const 0
local.get $1
i32.const 16
i32.ge_u
select
i32.eqz
if
i32.const 0
i32.const 72
i32.const 315
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.const 256
i32.lt_u
if (result i32)
@ -1777,7 +1691,7 @@
if
i32.const 0
i32.const 72
i32.const 342
i32.const 341
i32.const 16
call $~lib/builtins/abort
unreachable
@ -1800,39 +1714,19 @@
local.tee $3
i32.const 1
i32.and
if (result i32)
local.get $2
i32.const 7
i32.and
i32.eqz
else
i32.const 0
end
i32.eqz
if
i32.const 0
i32.const 72
i32.const 367
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 1073741824
i32.lt_u
i32.const 0
local.get $2
i32.const 16
i32.ge_u
select
i32.eqz
if
i32.const 0
i32.const 72
i32.const 368
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 7
i32.and
if
i32.const 0
i32.const 72
i32.const 369
i32.const 370
i32.const 4
call $~lib/builtins/abort
unreachable
@ -1880,16 +1774,6 @@
local.get $1
call $~lib/allocator/tlsf/Block#get:right
local.tee $0
i32.eqz
if
i32.const 0
i32.const 72
i32.const 387
i32.const 25
call $~lib/builtins/abort
unreachable
end
local.get $0
local.get $0
i32.load
i32.const -3
@ -2042,7 +1926,7 @@
if
i32.const 0
i32.const 72
i32.const 502
i32.const 507
i32.const 12
call $~lib/builtins/abort
unreachable
@ -2057,7 +1941,7 @@
if
i32.const 0
i32.const 72
i32.const 505
i32.const 510
i32.const 2
call $~lib/builtins/abort
unreachable
@ -2423,6 +2307,17 @@
(local $3 i32)
local.get $0
if
local.get $0
i32.const 7
i32.and
if
i32.const 0
i32.const 72
i32.const 519
i32.const 4
call $~lib/builtins/abort
unreachable
end
global.get $~lib/allocator/tlsf/ROOT
local.tee $1
if
@ -2437,7 +2332,7 @@
if
i32.const 0
i32.const 72
i32.const 518
i32.const 524
i32.const 6
call $~lib/builtins/abort
unreachable

File diff suppressed because it is too large Load Diff

View File

@ -46,7 +46,7 @@
if
i32.const 0
i32.const 168
i32.const 159
i32.const 165
i32.const 4
call $~lib/builtins/abort
unreachable
@ -60,24 +60,19 @@
i32.store offset=4
)
(func $~lib/allocator/tlsf/Root#setHead (; 3 ;) (type $FUNCSIG$viiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
local.get $1
i32.const 22
i32.ge_u
if
i32.const 0
i32.const 168
i32.const 184
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 32
i32.ge_u
i32.lt_u
i32.const 0
local.get $1
i32.const 22
i32.lt_u
select
i32.eqz
if
i32.const 0
i32.const 168
i32.const 185
i32.const 189
i32.const 4
call $~lib/builtins/abort
unreachable
@ -103,7 +98,7 @@
if
i32.const 0
i32.const 168
i32.const 104
i32.const 110
i32.const 4
call $~lib/builtins/abort
unreachable
@ -121,7 +116,7 @@
if
i32.const 0
i32.const 168
i32.const 105
i32.const 111
i32.const 11
call $~lib/builtins/abort
unreachable
@ -134,7 +129,7 @@
if
i32.const 0
i32.const 168
i32.const 447
i32.const 452
i32.const 2
call $~lib/builtins/abort
unreachable
@ -145,24 +140,19 @@
i32.sub
)
(func $~lib/allocator/tlsf/Root#getHead (; 6 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
local.get $1
i32.const 22
i32.ge_u
if
i32.const 0
i32.const 168
i32.const 175
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 32
i32.ge_u
i32.lt_u
i32.const 0
local.get $1
i32.const 22
i32.lt_u
select
i32.eqz
if
i32.const 0
i32.const 168
i32.const 176
i32.const 181
i32.const 4
call $~lib/builtins/abort
unreachable
@ -185,7 +175,7 @@
if
i32.const 0
i32.const 168
i32.const 153
i32.const 159
i32.const 4
call $~lib/builtins/abort
unreachable
@ -211,7 +201,7 @@
if
i32.const 0
i32.const 168
i32.const 277
i32.const 276
i32.const 4
call $~lib/builtins/abort
unreachable
@ -233,7 +223,7 @@
if
i32.const 0
i32.const 168
i32.const 279
i32.const 278
i32.const 4
call $~lib/builtins/abort
unreachable
@ -334,7 +324,7 @@
if
i32.const 0
i32.const 168
i32.const 96
i32.const 102
i32.const 4
call $~lib/builtins/abort
unreachable
@ -348,7 +338,7 @@
if
i32.const 0
i32.const 168
i32.const 97
i32.const 103
i32.const 11
call $~lib/builtins/abort
unreachable
@ -360,36 +350,29 @@
i32.load
i32.const 1
i32.and
if (result i32)
local.get $0
call $~lib/allocator/tlsf/Block#get:right
local.get $1
i32.eq
else
i32.const 0
end
if (result i32)
local.get $1
i32.load
i32.const 2
i32.and
i32.const 0
i32.ne
else
i32.const 0
end
i32.eqz
if
i32.const 0
i32.const 168
i32.const 353
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $0
call $~lib/allocator/tlsf/Block#get:right
local.get $1
i32.ne
if
i32.const 0
i32.const 168
i32.const 354
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.load
i32.const 2
i32.and
i32.eqz
if
i32.const 0
i32.const 168
i32.const 355
i32.const 352
i32.const 4
call $~lib/builtins/abort
unreachable
@ -410,7 +393,7 @@
if
i32.const 0
i32.const 168
i32.const 208
i32.const 211
i32.const 4
call $~lib/builtins/abort
unreachable
@ -424,54 +407,21 @@
if
i32.const 0
i32.const 168
i32.const 210
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.load
i32.const -4
i32.and
local.tee $3
i32.const 16
i32.ge_u
if (result i32)
local.get $3
i32.const 1073741824
i32.lt_u
else
i32.const 0
end
i32.eqz
if
i32.const 0
i32.const 168
i32.const 212
i32.const 213
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
call $~lib/allocator/tlsf/Block#get:right
local.tee $3
i32.eqz
if
i32.const 0
i32.const 168
i32.const 216
i32.const 23
call $~lib/builtins/abort
unreachable
end
local.get $3
local.tee $5
i32.load
local.tee $4
i32.const 1
i32.and
if
local.get $0
local.get $3
local.get $5
call $~lib/allocator/tlsf/Root#remove
local.get $1
local.get $4
@ -485,7 +435,7 @@
i32.store
local.get $1
call $~lib/allocator/tlsf/Block#get:right
local.tee $3
local.tee $5
i32.load
local.set $4
end
@ -496,25 +446,15 @@
local.get $1
call $~lib/allocator/tlsf/Block#get:left
local.tee $1
i32.eqz
if
i32.const 0
i32.const 168
i32.const 230
i32.const 24
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.load
local.tee $5
local.tee $3
i32.const 1
i32.and
i32.eqz
if
i32.const 0
i32.const 168
i32.const 232
i32.const 231
i32.const 6
call $~lib/builtins/abort
unreachable
@ -528,27 +468,27 @@
i32.and
i32.const 8
i32.add
local.get $5
local.get $3
i32.add
local.tee $2
i32.store
end
local.get $3
local.get $5
local.get $4
i32.const 2
i32.or
i32.store
local.get $1
local.get $3
local.get $5
call $~lib/allocator/tlsf/Root#setJump
local.get $2
i32.const -4
i32.and
local.tee $2
local.tee $3
i32.const 16
i32.ge_u
if (result i32)
local.get $2
local.get $3
i32.const 1073741824
i32.lt_u
else
@ -558,72 +498,72 @@
if
i32.const 0
i32.const 168
i32.const 245
i32.const 244
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $0
local.get $2
local.get $3
i32.const 256
i32.lt_u
if (result i32)
local.get $2
local.get $3
i32.const 8
i32.div_u
local.set $2
local.set $3
i32.const 0
else
local.get $2
local.get $2
local.get $3
local.get $3
call $~lib/allocator/tlsf/fls<usize>
local.tee $3
local.tee $2
i32.const 5
i32.sub
i32.shr_u
i32.const 32
i32.xor
local.set $2
local.get $3
local.set $3
local.get $2
i32.const 7
i32.sub
end
local.tee $3
local.get $2
local.tee $4
local.get $3
call $~lib/allocator/tlsf/Root#getHead
local.set $4
local.set $2
local.get $1
i32.const 0
i32.store offset=4
local.get $1
local.get $4
local.get $2
i32.store offset=8
local.get $4
local.get $2
if
local.get $4
local.get $2
local.get $1
i32.store offset=4
end
local.get $0
local.get $4
local.get $3
local.get $2
local.get $1
call $~lib/allocator/tlsf/Root#setHead
local.get $0
local.get $0
i32.load
i32.const 1
local.get $3
local.get $4
i32.shl
i32.or
i32.store
local.get $0
local.get $3
local.get $4
local.get $0
local.get $3
local.get $4
call $~lib/allocator/tlsf/Root#getSLMap
i32.const 1
local.get $2
local.get $3
i32.shl
i32.or
call $~lib/allocator/tlsf/Root#setSLMap
@ -631,35 +571,26 @@
(func $~lib/allocator/tlsf/Root#addMemory (; 12 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32)
(local $3 i32)
(local $4 i32)
local.get $1
local.get $2
i32.gt_u
if
i32.const 0
i32.const 168
i32.const 396
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.const 7
i32.and
if
i32.const 0
i32.const 168
i32.const 397
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 7
i32.and
i32.eqz
i32.const 0
local.get $1
i32.const 7
i32.and
i32.eqz
i32.const 0
local.get $1
local.get $2
i32.le_u
select
select
i32.eqz
if
i32.const 0
i32.const 168
i32.const 398
i32.const 399
i32.const 4
call $~lib/builtins/abort
unreachable
@ -676,7 +607,7 @@
if
i32.const 0
i32.const 168
i32.const 403
i32.const 408
i32.const 6
call $~lib/builtins/abort
unreachable
@ -704,7 +635,7 @@
if
i32.const 0
i32.const 168
i32.const 412
i32.const 417
i32.const 6
call $~lib/builtins/abort
unreachable
@ -757,7 +688,7 @@
if
i32.const 0
i32.const 168
i32.const 441
i32.const 446
i32.const 2
call $~lib/builtins/abort
unreachable
@ -769,23 +700,6 @@
(local $2 i32)
(local $3 i32)
local.get $1
i32.const 1073741824
i32.lt_u
i32.const 0
local.get $1
i32.const 16
i32.ge_u
select
i32.eqz
if
i32.const 0
i32.const 168
i32.const 315
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $1
i32.const 256
i32.lt_u
if (result i32)
@ -857,7 +771,7 @@
if
i32.const 0
i32.const 168
i32.const 342
i32.const 341
i32.const 16
call $~lib/builtins/abort
unreachable
@ -880,39 +794,19 @@
local.tee $3
i32.const 1
i32.and
if (result i32)
local.get $2
i32.const 7
i32.and
i32.eqz
else
i32.const 0
end
i32.eqz
if
i32.const 0
i32.const 168
i32.const 367
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 1073741824
i32.lt_u
i32.const 0
local.get $2
i32.const 16
i32.ge_u
select
i32.eqz
if
i32.const 0
i32.const 168
i32.const 368
i32.const 4
call $~lib/builtins/abort
unreachable
end
local.get $2
i32.const 7
i32.and
if
i32.const 0
i32.const 168
i32.const 369
i32.const 370
i32.const 4
call $~lib/builtins/abort
unreachable
@ -960,16 +854,6 @@
local.get $1
call $~lib/allocator/tlsf/Block#get:right
local.tee $0
i32.eqz
if
i32.const 0
i32.const 168
i32.const 387
i32.const 25
call $~lib/builtins/abort
unreachable
end
local.get $0
local.get $0
i32.load
i32.const -3
@ -1122,7 +1006,7 @@
if
i32.const 0
i32.const 168
i32.const 502
i32.const 507
i32.const 12
call $~lib/builtins/abort
unreachable
@ -1137,7 +1021,7 @@
if
i32.const 0
i32.const 168
i32.const 505
i32.const 510
i32.const 2
call $~lib/builtins/abort
unreachable
@ -1562,6 +1446,17 @@
(local $3 i32)
local.get $0
if
local.get $0
i32.const 7
i32.and
if
i32.const 0
i32.const 168
i32.const 519
i32.const 4
call $~lib/builtins/abort
unreachable
end
global.get $~lib/allocator/tlsf/ROOT
local.tee $1
if
@ -1576,7 +1471,7 @@
if
i32.const 0
i32.const 168
i32.const 518
i32.const 524
i32.const 6
call $~lib/builtins/abort
unreachable

File diff suppressed because it is too large Load Diff