2768 lines
60 KiB
Plaintext
Raw Normal View History

2018-02-12 19:17:50 +01:00
(module
(type $i (func (result i32)))
(type $iiiiv (func (param i32 i32 i32 i32)))
(type $ii (func (param i32) (result i32)))
2018-02-12 19:17:50 +01:00
(type $iiv (func (param i32 i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $iiii (func (param i32 i32 i32) (result i32)))
(type $iii (func (param i32 i32) (result i32)))
(type $iv (func (param i32)))
(type $v (func))
(import "env" "abort" (func $abort (param i32 i32 i32 i32)))
(global "$(lib)/allocator/common/alignment/BITS" i32 (i32.const 3))
(global "$(lib)/allocator/common/alignment/SIZE" i32 (i32.const 8))
(global "$(lib)/allocator/common/alignment/MASK" i32 (i32.const 7))
2018-02-12 19:17:50 +01:00
(global "$(lib)/allocator/tlsf/SL_BITS" i32 (i32.const 5))
(global "$(lib)/allocator/tlsf/SL_SIZE" i32 (i32.const 32))
(global "$(lib)/allocator/tlsf/SB_BITS" i32 (i32.const 8))
(global "$(lib)/allocator/tlsf/SB_SIZE" i32 (i32.const 256))
(global "$(lib)/allocator/tlsf/FL_BITS" i32 (i32.const 22))
2018-02-12 19:17:50 +01:00
(global "$(lib)/allocator/tlsf/FREE" i32 (i32.const 1))
(global "$(lib)/allocator/tlsf/LEFT_FREE" i32 (i32.const 2))
(global "$(lib)/allocator/tlsf/TAGS" i32 (i32.const 3))
(global "$(lib)/allocator/tlsf/ROOT" (mut i32) (i32.const 0))
(global $HEAP_BASE i32 (i32.const 56))
2018-02-12 19:17:50 +01:00
(memory $0 1)
(data (i32.const 4) "\17\00\00\00(\00l\00i\00b\00)\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00")
2018-02-12 19:17:50 +01:00
(export "allocate_memory" (func "$(lib)/allocator/tlsf/allocate_memory"))
(export "free_memory" (func "$(lib)/allocator/tlsf/free_memory"))
(export "memory" (memory $0))
(start $start)
(func "$(lib)/allocator/tlsf/Root#set:tailRef" (; 1 ;) (type $iiv) (param $0 i32) (param $1 i32)
;;@ (lib)/allocator/tlsf.ts:181:30
(i32.store offset=2912
;;@ (lib)/allocator/tlsf.ts:181:43
2018-02-12 19:17:50 +01:00
(i32.const 0)
;;@ (lib)/allocator/tlsf.ts:181:46
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
(func "$(lib)/allocator/tlsf/Root#setSLMap" (; 2 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
;;@ (lib)/allocator/tlsf.ts:144:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:144:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:144:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 144)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:145:4
2018-02-12 19:17:50 +01:00
(i32.store offset=4
;;@ (lib)/allocator/tlsf.ts:145:15
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:145:41
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:145:46
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
;;@ (lib)/allocator/tlsf.ts:145:49
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
(func "$(lib)/allocator/tlsf/Root#setHead" (; 3 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32)
;;@ (lib)/allocator/tlsf.ts:167:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:167:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:167:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 167)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:168:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:168:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:168:16
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 168)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:169:4
2018-02-12 19:17:50 +01:00
(i32.store offset=96
;;@ (lib)/allocator/tlsf.ts:170:6
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:170:32
2018-02-12 19:17:50 +01:00
(i32.mul
(i32.add
;;@ (lib)/allocator/tlsf.ts:170:33
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:170:38
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
;;@ (lib)/allocator/tlsf.ts:170:48
2018-02-12 19:17:50 +01:00
(get_local $2)
)
;;@ (lib)/allocator/tlsf.ts:170:61
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
;;@ (lib)/allocator/tlsf.ts:171:6
2018-02-12 19:17:50 +01:00
(get_local $3)
)
)
(func "$(lib)/allocator/tlsf/Root#get:tailRef" (; 4 ;) (type $ii) (param $0 i32) (result i32)
;;@ (lib)/allocator/tlsf.ts:180:58
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:180:32
(i32.load offset=2912
;;@ (lib)/allocator/tlsf.ts:180:44
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
)
(func "$(lib)/allocator/tlsf/Block#get:right" (; 5 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
;;@ (lib)/allocator/tlsf.ts:89:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:89:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:89:23
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:89:24
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 89)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:94:4
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:90:11
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $1
;;@ (lib)/allocator/tlsf.ts:91:6
2018-02-12 19:17:50 +01:00
(i32.add
;;@ (lib)/allocator/tlsf.ts:92:8
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:92:34
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:92:47
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:92:48
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:92:60
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:92:61
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 90)
2018-02-12 19:17:50 +01:00
(i32.const 11)
)
(unreachable)
)
(get_local $1)
)
)
)
(func "$(lib)/allocator/tlsf/fls<usize>" (; 6 ;) (type $ii) (param $0 i32) (result i32)
;;@ (lib)/allocator/tlsf.ts:428:2
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:428:9
2018-02-12 19:17:50 +01:00
(i32.ne
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:428:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 428)
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:429:2
2018-02-12 19:17:50 +01:00
(nop)
;;@ (lib)/allocator/tlsf.ts:430:26
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:430:9
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 31)
;;@ (lib)/allocator/tlsf.ts:430:15
2018-02-12 19:17:50 +01:00
(i32.clz
;;@ (lib)/allocator/tlsf.ts:430:22
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
)
(func "$(lib)/allocator/tlsf/Root#getHead" (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
;;@ (lib)/allocator/tlsf.ts:158:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:158:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:158:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 158)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:159:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:159:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:159:16
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 159)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:162:20
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:160:11
2018-02-12 19:17:50 +01:00
(i32.load offset=96
;;@ (lib)/allocator/tlsf.ts:161:6
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:161:32
2018-02-12 19:17:50 +01:00
(i32.mul
(i32.add
;;@ (lib)/allocator/tlsf.ts:161:33
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:161:38
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
;;@ (lib)/allocator/tlsf.ts:161:48
2018-02-12 19:17:50 +01:00
(get_local $2)
)
;;@ (lib)/allocator/tlsf.ts:161:61
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
)
)
)
(func "$(lib)/allocator/tlsf/Root#getSLMap" (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
;;@ (lib)/allocator/tlsf.ts:138:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:138:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:138:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 138)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:139:68
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:139:11
2018-02-12 19:17:50 +01:00
(i32.load offset=4
;;@ (lib)/allocator/tlsf.ts:139:21
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:139:47
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:139:52
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
)
)
)
(func "$(lib)/allocator/tlsf/Root#remove" (; 9 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
;;@ (lib)/allocator/tlsf.ts:257:4
2018-02-12 19:17:50 +01:00
(set_local $2
;;@ (lib)/allocator/tlsf.ts:257:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:258:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:258:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:258:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 258)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:259:4
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:259:15
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:259:27
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:259:28
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
;;@ (lib)/allocator/tlsf.ts:260:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:260:11
2018-02-12 19:17:50 +01:00
(i32.and
(if (result i32)
(tee_local $4
(i32.ge_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:260:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:260:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:260:44
2018-02-12 19:17:50 +01:00
(i32.const 1073741824)
)
(get_local $4)
)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 260)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:263:4
2018-02-12 19:17:50 +01:00
(nop)
;;@ (lib)/allocator/tlsf.ts:264:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:264:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:264:15
(i32.const 256)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:264:24
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:265:6
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:265:11
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:266:6
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:266:11
2018-02-12 19:17:50 +01:00
(i32.div_u
;;@ (lib)/allocator/tlsf.ts:266:17
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:266:24
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:267:11
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:268:6
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:268:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/fls<usize>"
;;@ (lib)/allocator/tlsf.ts:268:22
2018-02-12 19:17:50 +01:00
(get_local $3)
)
)
;;@ (lib)/allocator/tlsf.ts:269:6
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:269:11
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:269:17
2018-02-12 19:17:50 +01:00
(i32.shr_u
;;@ (lib)/allocator/tlsf.ts:269:18
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:269:26
2018-02-12 19:17:50 +01:00
(i32.sub
;;@ (lib)/allocator/tlsf.ts:269:27
2018-02-12 19:17:50 +01:00
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:269:32
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
;;@ (lib)/allocator/tlsf.ts:269:44
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:269:45
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:269:50
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
)
;;@ (lib)/allocator/tlsf.ts:270:6
2018-02-12 19:17:50 +01:00
(set_local $5
(i32.sub
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:270:12
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:270:22
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:274:4
2018-02-12 19:17:50 +01:00
(set_local $7
;;@ (lib)/allocator/tlsf.ts:274:15
2018-02-12 19:17:50 +01:00
(i32.load offset=4
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:275:4
2018-02-12 19:17:50 +01:00
(set_local $8
;;@ (lib)/allocator/tlsf.ts:275:15
2018-02-12 19:17:50 +01:00
(i32.load offset=8
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:276:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:276:8
2018-02-12 19:17:50 +01:00
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:276:14
2018-02-12 19:17:50 +01:00
(i32.store offset=8
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:276:26
2018-02-12 19:17:50 +01:00
(get_local $8)
)
)
;;@ (lib)/allocator/tlsf.ts:277:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:277:8
2018-02-12 19:17:50 +01:00
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:277:14
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:277:26
2018-02-12 19:17:50 +01:00
(get_local $7)
)
)
;;@ (lib)/allocator/tlsf.ts:280:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:280:8
2018-02-12 19:17:50 +01:00
(i32.eq
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:280:22
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getHead"
;;@ (lib)/allocator/tlsf.ts:280:17
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:280:30
2018-02-12 19:17:50 +01:00
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:280:34
2018-02-12 19:17:50 +01:00
(get_local $6)
)
)
;;@ (lib)/allocator/tlsf.ts:280:39
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:281:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setHead"
;;@ (lib)/allocator/tlsf.ts:281:6
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:281:19
2018-02-12 19:17:50 +01:00
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:281:23
2018-02-12 19:17:50 +01:00
(get_local $6)
;;@ (lib)/allocator/tlsf.ts:281:27
2018-02-12 19:17:50 +01:00
(get_local $8)
)
;;@ (lib)/allocator/tlsf.ts:284:6
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:284:10
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:284:11
2018-02-12 19:17:50 +01:00
(get_local $8)
)
;;@ (lib)/allocator/tlsf.ts:284:17
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:285:8
(set_local $4
;;@ (lib)/allocator/tlsf.ts:285:25
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getSLMap"
;;@ (lib)/allocator/tlsf.ts:285:20
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:285:34
2018-02-12 19:17:50 +01:00
(get_local $5)
)
)
;;@ (lib)/allocator/tlsf.ts:286:13
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setSLMap"
;;@ (lib)/allocator/tlsf.ts:286:8
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:286:22
2018-02-12 19:17:50 +01:00
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:286:26
(tee_local $4
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $4)
;;@ (lib)/allocator/tlsf.ts:286:35
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:286:36
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:286:37
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:286:42
2018-02-12 19:17:50 +01:00
(get_local $6)
)
(i32.const -1)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:289:8
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:289:12
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:289:13
(get_local $4)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:289:20
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $0)
(i32.and
(i32.load
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:289:34
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:289:35
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:289:36
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:289:41
2018-02-12 19:17:50 +01:00
(get_local $5)
)
(i32.const -1)
)
)
)
)
)
)
)
)
)
(func "$(lib)/allocator/tlsf/Block#get:left" (; 10 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
;;@ (lib)/allocator/tlsf.ts:81:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:81:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:81:23
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 81)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:84:4
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:82:11
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $1
;;@ (lib)/allocator/tlsf.ts:83:6
2018-02-12 19:17:50 +01:00
(i32.load
;;@ (lib)/allocator/tlsf.ts:83:18
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:83:44
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 82)
2018-02-12 19:17:50 +01:00
(i32.const 11)
)
(unreachable)
)
(get_local $1)
)
)
)
(func "$(lib)/allocator/tlsf/Root#setJump" (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
;;@ (lib)/allocator/tlsf.ts:334:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:334:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:334:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 334)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:335:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:335:11
2018-02-12 19:17:50 +01:00
(i32.eq
(call "$(lib)/allocator/tlsf/Block#get:right"
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:335:25
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 335)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:336:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:336:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $2)
)
;;@ (lib)/allocator/tlsf.ts:336:24
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 336)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:337:4
2018-02-12 19:17:50 +01:00
(i32.store
;;@ (lib)/allocator/tlsf.ts:338:6
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:338:33
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
;;@ (lib)/allocator/tlsf.ts:339:6
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
(func "$(lib)/allocator/tlsf/Root#insert" (; 12 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
(local $9 i32)
(local $10 i32)
;;@ (lib)/allocator/tlsf.ts:189:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:189:11
2018-02-12 19:17:50 +01:00
(get_local $1)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 189)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:190:4
2018-02-12 19:17:50 +01:00
(set_local $2
;;@ (lib)/allocator/tlsf.ts:190:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:191:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:191:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:191:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 191)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:192:4
2018-02-12 19:17:50 +01:00
(nop)
;;@ (lib)/allocator/tlsf.ts:193:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:194:6
2018-02-12 19:17:50 +01:00
(i32.and
(if (result i32)
(tee_local $4
(i32.ge_u
(tee_local $3
;;@ (lib)/allocator/tlsf.ts:194:14
(i32.and
(i32.load
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:194:27
(i32.xor
;;@ (lib)/allocator/tlsf.ts:194:28
(i32.const 3)
(i32.const -1)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:194:37
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:194:55
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:194:62
2018-02-12 19:17:50 +01:00
(i32.const 1073741824)
)
(get_local $4)
)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 193)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:197:4
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:197:23
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $4
;;@ (lib)/allocator/tlsf.ts:197:30
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Block#get:right"
(get_local $1)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 197)
2018-02-12 19:17:50 +01:00
(i32.const 23)
)
(unreachable)
)
(get_local $4)
)
)
;;@ (lib)/allocator/tlsf.ts:198:4
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:198:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $5)
)
)
;;@ (lib)/allocator/tlsf.ts:201:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:201:8
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $6)
;;@ (lib)/allocator/tlsf.ts:201:20
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
;;@ (lib)/allocator/tlsf.ts:201:26
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:202:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#remove"
;;@ (lib)/allocator/tlsf.ts:202:6
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:202:18
2018-02-12 19:17:50 +01:00
(get_local $5)
)
;;@ (lib)/allocator/tlsf.ts:203:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:203:19
2018-02-12 19:17:50 +01:00
(tee_local $2
(i32.add
;;@ (lib)/allocator/tlsf.ts:203:20
2018-02-12 19:17:50 +01:00
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:203:33
2018-02-12 19:17:50 +01:00
(i32.add
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:203:46
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:203:47
2018-02-12 19:17:50 +01:00
(get_local $6)
;;@ (lib)/allocator/tlsf.ts:203:59
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:203:60
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:204:6
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:204:14
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Block#get:right"
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:205:6
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:205:18
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $5)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:210:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:210:8
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:210:20
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
;;@ (lib)/allocator/tlsf.ts:210:31
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:211:6
(set_local $4
;;@ (lib)/allocator/tlsf.ts:211:24
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $4
;;@ (lib)/allocator/tlsf.ts:211:31
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Block#get:left"
(get_local $1)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 211)
2018-02-12 19:17:50 +01:00
(i32.const 24)
)
(unreachable)
)
(get_local $4)
)
)
;;@ (lib)/allocator/tlsf.ts:212:6
(set_local $7
;;@ (lib)/allocator/tlsf.ts:212:21
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $4)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:213:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:213:13
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:213:24
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 213)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:214:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#remove"
;;@ (lib)/allocator/tlsf.ts:214:6
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:214:18
(get_local $4)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:215:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $4)
;;@ (lib)/allocator/tlsf.ts:215:18
(tee_local $7
2018-02-12 19:17:50 +01:00
(i32.add
;;@ (lib)/allocator/tlsf.ts:215:19
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:215:31
2018-02-12 19:17:50 +01:00
(i32.add
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:215:44
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:215:45
2018-02-12 19:17:50 +01:00
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:215:57
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:215:58
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:216:6
2018-02-12 19:17:50 +01:00
(set_local $1
;;@ (lib)/allocator/tlsf.ts:216:14
(get_local $4)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:217:6
2018-02-12 19:17:50 +01:00
(set_local $2
;;@ (lib)/allocator/tlsf.ts:217:18
(get_local $7)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:221:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:221:17
2018-02-12 19:17:50 +01:00
(i32.or
(get_local $6)
;;@ (lib)/allocator/tlsf.ts:221:29
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
;;@ (lib)/allocator/tlsf.ts:222:9
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setJump"
;;@ (lib)/allocator/tlsf.ts:222:4
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:222:17
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:222:24
2018-02-12 19:17:50 +01:00
(get_local $5)
)
;;@ (lib)/allocator/tlsf.ts:225:4
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:225:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:225:23
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:225:24
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
;;@ (lib)/allocator/tlsf.ts:226:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:226:11
2018-02-12 19:17:50 +01:00
(i32.and
(if (result i32)
(tee_local $7
(i32.ge_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:226:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:226:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:226:44
2018-02-12 19:17:50 +01:00
(i32.const 1073741824)
)
(get_local $7)
2018-02-12 19:17:50 +01:00
)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 226)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:229:4
2018-02-12 19:17:50 +01:00
(nop)
;;@ (lib)/allocator/tlsf.ts:230:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:230:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:230:15
(i32.const 256)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:230:24
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:231:6
(set_local $8
;;@ (lib)/allocator/tlsf.ts:231:11
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:232:6
(set_local $9
;;@ (lib)/allocator/tlsf.ts:232:11
2018-02-12 19:17:50 +01:00
(i32.div_u
;;@ (lib)/allocator/tlsf.ts:232:17
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:232:24
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:233:11
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:234:6
(set_local $8
;;@ (lib)/allocator/tlsf.ts:234:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/fls<usize>"
;;@ (lib)/allocator/tlsf.ts:234:22
2018-02-12 19:17:50 +01:00
(get_local $3)
)
)
;;@ (lib)/allocator/tlsf.ts:235:6
(set_local $9
;;@ (lib)/allocator/tlsf.ts:235:11
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:235:17
2018-02-12 19:17:50 +01:00
(i32.shr_u
;;@ (lib)/allocator/tlsf.ts:235:18
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:235:26
2018-02-12 19:17:50 +01:00
(i32.sub
;;@ (lib)/allocator/tlsf.ts:235:27
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:235:32
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
;;@ (lib)/allocator/tlsf.ts:235:44
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:235:45
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:235:50
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
)
;;@ (lib)/allocator/tlsf.ts:236:6
(set_local $8
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:236:12
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:236:22
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:240:4
(set_local $10
;;@ (lib)/allocator/tlsf.ts:240:20
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getHead"
;;@ (lib)/allocator/tlsf.ts:240:15
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:240:28
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:240:32
(get_local $9)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:241:4
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:241:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:242:4
2018-02-12 19:17:50 +01:00
(i32.store offset=8
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:242:17
(get_local $10)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:243:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:243:8
(get_local $10)
;;@ (lib)/allocator/tlsf.ts:243:14
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $10)
;;@ (lib)/allocator/tlsf.ts:243:26
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:244:9
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setHead"
;;@ (lib)/allocator/tlsf.ts:244:4
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:244:17
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:244:21
(get_local $9)
;;@ (lib)/allocator/tlsf.ts:244:25
2018-02-12 19:17:50 +01:00
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:247:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $0)
(i32.or
(i32.load
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:247:18
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:247:19
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:247:24
(get_local $8)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:248:9
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setSLMap"
;;@ (lib)/allocator/tlsf.ts:248:4
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:248:18
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:248:22
2018-02-12 19:17:50 +01:00
(i32.or
;;@ (lib)/allocator/tlsf.ts:248:27
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getSLMap"
;;@ (lib)/allocator/tlsf.ts:248:22
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:248:36
(get_local $8)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:248:42
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:248:43
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:248:48
(get_local $9)
2018-02-12 19:17:50 +01:00
)
)
)
)
(func "$(lib)/allocator/tlsf/Root#addMemory" (; 13 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
;;@ (lib)/allocator/tlsf.ts:377:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:377:11
2018-02-12 19:17:50 +01:00
(i32.le_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:377:20
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 377)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:378:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:378:11
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:378:12
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:378:13
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:378:21
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 378)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:379:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:379:11
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:379:12
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:379:13
2018-02-12 19:17:50 +01:00
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:379:19
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 379)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:381:4
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:381:18
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#get:tailRef"
(get_local $0)
)
)
;;@ (lib)/allocator/tlsf.ts:382:4
2018-02-12 19:17:50 +01:00
(set_local $4
;;@ (lib)/allocator/tlsf.ts:382:26
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:383:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:383:8
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:383:17
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:384:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:384:13
2018-02-12 19:17:50 +01:00
(i32.ge_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:384:22
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:384:32
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 384)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:387:6
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:387:10
2018-02-12 19:17:50 +01:00
(i32.eq
(i32.sub
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:387:18
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:387:32
2018-02-12 19:17:50 +01:00
(get_local $3)
)
;;@ (lib)/allocator/tlsf.ts:387:41
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:388:8
2018-02-12 19:17:50 +01:00
(set_local $1
(i32.sub
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:388:17
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:389:8
2018-02-12 19:17:50 +01:00
(set_local $4
;;@ (lib)/allocator/tlsf.ts:389:19
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $3)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:393:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:393:13
2018-02-12 19:17:50 +01:00
(i32.ge_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:393:22
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:393:48
(i32.const 2916)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 393)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
)
;;@ (lib)/allocator/tlsf.ts:397:4
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:397:15
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:397:21
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:398:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:398:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:398:15
2018-02-12 19:17:50 +01:00
(i32.add
(i32.add
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:398:28
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:398:45
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:399:13
2018-02-12 19:17:50 +01:00
(return
(i32.const 0)
)
)
;;@ (lib)/allocator/tlsf.ts:403:4
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:403:19
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:403:26
2018-02-12 19:17:50 +01:00
(i32.mul
(i32.const 2)
;;@ (lib)/allocator/tlsf.ts:403:30
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:404:4
2018-02-12 19:17:50 +01:00
(set_local $7
;;@ (lib)/allocator/tlsf.ts:404:15
2018-02-12 19:17:50 +01:00
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:405:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:405:16
2018-02-12 19:17:50 +01:00
(i32.or
(i32.or
(get_local $6)
;;@ (lib)/allocator/tlsf.ts:405:27
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
;;@ (lib)/allocator/tlsf.ts:405:34
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:405:35
2018-02-12 19:17:50 +01:00
(get_local $4)
;;@ (lib)/allocator/tlsf.ts:405:46
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
)
;;@ (lib)/allocator/tlsf.ts:406:4
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:406:16
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:407:4
2018-02-12 19:17:50 +01:00
(i32.store offset=8
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:407:16
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:410:4
2018-02-12 19:17:50 +01:00
(set_local $8
;;@ (lib)/allocator/tlsf.ts:410:15
2018-02-12 19:17:50 +01:00
(i32.sub
;;@ (lib)/allocator/tlsf.ts:410:33
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:410:41
2018-02-12 19:17:50 +01:00
(get_local $5)
)
;;@ (lib)/allocator/tlsf.ts:410:48
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:411:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:411:16
2018-02-12 19:17:50 +01:00
(i32.or
(i32.const 0)
;;@ (lib)/allocator/tlsf.ts:411:20
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
;;@ (lib)/allocator/tlsf.ts:412:4
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#set:tailRef"
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:412:19
2018-02-12 19:17:50 +01:00
(get_local $8)
)
;;@ (lib)/allocator/tlsf.ts:414:9
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#insert"
;;@ (lib)/allocator/tlsf.ts:414:4
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:414:16
2018-02-12 19:17:50 +01:00
(get_local $7)
)
;;@ (lib)/allocator/tlsf.ts:416:11
2018-02-12 19:17:50 +01:00
(return
(i32.const 1)
)
)
(func "$(lib)/allocator/tlsf/ffs<usize>" (; 14 ;) (type $ii) (param $0 i32) (result i32)
;;@ (lib)/allocator/tlsf.ts:422:2
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:422:9
2018-02-12 19:17:50 +01:00
(i32.ne
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:422:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 422)
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:423:20
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:423:9
2018-02-12 19:17:50 +01:00
(i32.ctz
;;@ (lib)/allocator/tlsf.ts:423:16
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
(func "$(lib)/allocator/tlsf/ffs<u32>" (; 15 ;) (type $ii) (param $0 i32) (result i32)
;;@ (lib)/allocator/tlsf.ts:422:2
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:422:9
2018-02-12 19:17:50 +01:00
(i32.ne
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:422:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 422)
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:423:20
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:423:9
2018-02-12 19:17:50 +01:00
(i32.ctz
;;@ (lib)/allocator/tlsf.ts:423:16
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
(func "$(lib)/allocator/tlsf/Root#search" (; 16 ;) (type $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)
;;@ (lib)/allocator/tlsf.ts:296:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:296:11
2018-02-12 19:17:50 +01:00
(i32.and
(if (result i32)
(tee_local $2
(i32.ge_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:296:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:296:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:296:44
2018-02-12 19:17:50 +01:00
(i32.const 1073741824)
)
(get_local $2)
)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 296)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:299:4
2018-02-12 19:17:50 +01:00
(nop)
;;@ (lib)/allocator/tlsf.ts:300:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:300:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:300:15
(i32.const 256)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:300:24
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:301:6
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:301:11
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:302:6
2018-02-12 19:17:50 +01:00
(set_local $4
;;@ (lib)/allocator/tlsf.ts:302:11
2018-02-12 19:17:50 +01:00
(i32.div_u
;;@ (lib)/allocator/tlsf.ts:302:17
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:302:24
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:303:11
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:305:6
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:305:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/fls<usize>"
;;@ (lib)/allocator/tlsf.ts:305:22
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:306:6
2018-02-12 19:17:50 +01:00
(set_local $4
;;@ (lib)/allocator/tlsf.ts:306:11
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:306:17
2018-02-12 19:17:50 +01:00
(i32.shr_u
;;@ (lib)/allocator/tlsf.ts:306:18
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:306:26
2018-02-12 19:17:50 +01:00
(i32.sub
;;@ (lib)/allocator/tlsf.ts:306:27
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:306:32
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
;;@ (lib)/allocator/tlsf.ts:306:44
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:306:45
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:306:50
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
)
;;@ (lib)/allocator/tlsf.ts:307:6
2018-02-12 19:17:50 +01:00
(set_local $3
(i32.sub
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:307:12
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:307:22
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
;;@ (lib)/allocator/tlsf.ts:309:6
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:309:10
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $4)
;;@ (lib)/allocator/tlsf.ts:309:15
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 32)
;;@ (lib)/allocator/tlsf.ts:309:25
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
;;@ (lib)/allocator/tlsf.ts:309:28
2018-02-12 19:17:50 +01:00
(set_local $4
(i32.add
;;@ (lib)/allocator/tlsf.ts:309:30
2018-02-12 19:17:50 +01:00
(get_local $4)
(i32.const 1)
)
)
;;@ (lib)/allocator/tlsf.ts:310:11
2018-02-12 19:17:50 +01:00
(block
(set_local $3
(i32.add
;;@ (lib)/allocator/tlsf.ts:310:13
2018-02-12 19:17:50 +01:00
(get_local $3)
(i32.const 1)
)
)
;;@ (lib)/allocator/tlsf.ts:310:17
2018-02-12 19:17:50 +01:00
(set_local $4
;;@ (lib)/allocator/tlsf.ts:310:22
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:314:4
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:314:16
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:314:21
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getSLMap"
;;@ (lib)/allocator/tlsf.ts:314:16
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:314:30
2018-02-12 19:17:50 +01:00
(get_local $3)
)
;;@ (lib)/allocator/tlsf.ts:314:36
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:314:37
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:314:38
2018-02-12 19:17:50 +01:00
(i32.const 0)
(i32.const -1)
)
;;@ (lib)/allocator/tlsf.ts:314:43
2018-02-12 19:17:50 +01:00
(get_local $4)
)
)
)
;;@ (lib)/allocator/tlsf.ts:315:4
2018-02-12 19:17:50 +01:00
(nop)
;;@ (lib)/allocator/tlsf.ts:316:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:316:8
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:316:9
2018-02-12 19:17:50 +01:00
(get_local $5)
)
;;@ (lib)/allocator/tlsf.ts:316:16
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:318:6
(set_local $2
;;@ (lib)/allocator/tlsf.ts:318:18
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:318:31
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:318:32
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:318:33
2018-02-12 19:17:50 +01:00
(i32.const 0)
(i32.const -1)
)
;;@ (lib)/allocator/tlsf.ts:318:38
2018-02-12 19:17:50 +01:00
(i32.add
;;@ (lib)/allocator/tlsf.ts:318:39
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:318:44
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:319:6
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:319:10
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:319:11
(get_local $2)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:320:8
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:320:15
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:321:13
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:322:8
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:322:13
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/ffs<usize>"
;;@ (lib)/allocator/tlsf.ts:322:24
(get_local $2)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:323:8
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:323:16
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $7
;;@ (lib)/allocator/tlsf.ts:323:28
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getSLMap"
;;@ (lib)/allocator/tlsf.ts:323:23
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:323:37
2018-02-12 19:17:50 +01:00
(get_local $3)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 323)
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
(unreachable)
)
(get_local $7)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:324:8
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:324:20
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getHead"
;;@ (lib)/allocator/tlsf.ts:324:15
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:324:28
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:324:32
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/ffs<u32>"
;;@ (lib)/allocator/tlsf.ts:324:41
2018-02-12 19:17:50 +01:00
(get_local $5)
)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:327:6
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:327:18
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getHead"
;;@ (lib)/allocator/tlsf.ts:327:13
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:327:26
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:327:30
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/ffs<u32>"
;;@ (lib)/allocator/tlsf.ts:327:39
2018-02-12 19:17:50 +01:00
(get_local $5)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:329:11
2018-02-12 19:17:50 +01:00
(return
(get_local $6)
)
)
(func "$(lib)/allocator/tlsf/Root#use" (; 17 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
;;@ (lib)/allocator/tlsf.ts:347:4
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:347:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:348:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:348:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:348:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 348)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:349:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:349:11
2018-02-12 19:17:50 +01:00
(i32.and
(if (result i32)
(tee_local $4
(i32.ge_u
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:349:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:349:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:349:44
2018-02-12 19:17:50 +01:00
(i32.const 1073741824)
)
(get_local $4)
)
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 349)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:350:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:350:11
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:350:12
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:350:13
2018-02-12 19:17:50 +01:00
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:350:20
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 350)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:352:9
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#remove"
;;@ (lib)/allocator/tlsf.ts:352:4
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:352:16
2018-02-12 19:17:50 +01:00
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:355:4
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:355:20
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.and
;;@ (lib)/allocator/tlsf.ts:355:21
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:355:33
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:355:34
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
;;@ (lib)/allocator/tlsf.ts:355:42
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
;;@ (lib)/allocator/tlsf.ts:356:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:356:8
2018-02-12 19:17:50 +01:00
(i32.ge_u
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:356:21
2018-02-12 19:17:50 +01:00
(i32.add
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:356:34
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:356:50
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:357:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:357:19
2018-02-12 19:17:50 +01:00
(i32.or
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:357:26
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:357:27
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:357:39
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
)
;;@ (lib)/allocator/tlsf.ts:359:6
(set_local $4
;;@ (lib)/allocator/tlsf.ts:359:18
2018-02-12 19:17:50 +01:00
(i32.add
;;@ (lib)/allocator/tlsf.ts:360:8
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:360:35
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:360:48
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
;;@ (lib)/allocator/tlsf.ts:362:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $4)
;;@ (lib)/allocator/tlsf.ts:362:19
2018-02-12 19:17:50 +01:00
(i32.or
(i32.sub
;;@ (lib)/allocator/tlsf.ts:362:20
2018-02-12 19:17:50 +01:00
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:362:32
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:362:46
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
;;@ (lib)/allocator/tlsf.ts:363:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#insert"
;;@ (lib)/allocator/tlsf.ts:363:6
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:363:18
(get_local $4)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:366:11
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:367:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:367:19
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:367:31
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:367:32
2018-02-12 19:17:50 +01:00
(i32.const 1)
(i32.const -1)
)
)
)
;;@ (lib)/allocator/tlsf.ts:368:6
(set_local $4
;;@ (lib)/allocator/tlsf.ts:368:25
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $4
;;@ (lib)/allocator/tlsf.ts:368:32
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Block#get:right"
(get_local $1)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 368)
2018-02-12 19:17:50 +01:00
(i32.const 25)
)
(unreachable)
)
(get_local $4)
)
)
;;@ (lib)/allocator/tlsf.ts:369:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $4)
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $4)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:369:20
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:369:21
2018-02-12 19:17:50 +01:00
(i32.const 2)
(i32.const -1)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:372:44
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:372:11
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:372:38
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
(func "$(lib)/allocator/tlsf/allocate_memory" (; 18 ;) (type $ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
;;@ (lib)/allocator/tlsf.ts:443:2
2018-02-12 19:17:50 +01:00
(set_local $1
;;@ (lib)/allocator/tlsf.ts:443:13
2018-02-12 19:17:50 +01:00
(get_global "$(lib)/allocator/tlsf/ROOT")
)
;;@ (lib)/allocator/tlsf.ts:444:2
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:444:6
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:444:7
2018-02-12 19:17:50 +01:00
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:444:13
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:445:4
2018-02-12 19:17:50 +01:00
(set_local $2
;;@ (lib)/allocator/tlsf.ts:445:21
2018-02-12 19:17:50 +01:00
(i32.and
(i32.add
;;@ (lib)/allocator/tlsf.ts:445:22
2018-02-12 19:17:50 +01:00
(get_global $HEAP_BASE)
;;@ (lib)/allocator/tlsf.ts:445:34
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:445:45
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:445:46
(i32.const 7)
2018-02-12 19:17:50 +01:00
(i32.const -1)
)
)
)
;;@ (lib)/allocator/tlsf.ts:446:4
2018-02-12 19:17:50 +01:00
(set_global "$(lib)/allocator/tlsf/ROOT"
;;@ (lib)/allocator/tlsf.ts:446:11
2018-02-12 19:17:50 +01:00
(tee_local $1
;;@ (lib)/allocator/tlsf.ts:446:18
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
;;@ (lib)/allocator/tlsf.ts:447:4
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#set:tailRef"
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:447:19
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:448:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:448:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:449:4
2018-02-12 19:17:50 +01:00
(block $break|0
;;@ (lib)/allocator/tlsf.ts:449:9
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:449:25
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
(loop $continue|0
(if
;;@ (lib)/allocator/tlsf.ts:449:28
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:449:33
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
(block
(block
;;@ (lib)/allocator/tlsf.ts:450:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setSLMap"
;;@ (lib)/allocator/tlsf.ts:450:6
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:450:20
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:450:24
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:451:6
2018-02-12 19:17:50 +01:00
(block $break|1
;;@ (lib)/allocator/tlsf.ts:451:11
2018-02-12 19:17:50 +01:00
(set_local $4
;;@ (lib)/allocator/tlsf.ts:451:25
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
(loop $continue|1
(if
;;@ (lib)/allocator/tlsf.ts:451:28
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $4)
;;@ (lib)/allocator/tlsf.ts:451:33
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
(block
(block
;;@ (lib)/allocator/tlsf.ts:452:13
(call "$(lib)/allocator/tlsf/Root#setHead"
;;@ (lib)/allocator/tlsf.ts:452:8
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:452:21
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:452:25
(get_local $4)
;;@ (lib)/allocator/tlsf.ts:452:29
(i32.const 0)
)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:451:42
2018-02-12 19:17:50 +01:00
(set_local $4
(i32.add
;;@ (lib)/allocator/tlsf.ts:451:44
2018-02-12 19:17:50 +01:00
(get_local $4)
(i32.const 1)
)
)
(br $continue|1)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:449:42
2018-02-12 19:17:50 +01:00
(set_local $3
(i32.add
;;@ (lib)/allocator/tlsf.ts:449:44
2018-02-12 19:17:50 +01:00
(get_local $3)
(i32.const 1)
)
)
(br $continue|0)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:455:9
2018-02-12 19:17:50 +01:00
(drop
(call "$(lib)/allocator/tlsf/Root#addMemory"
;;@ (lib)/allocator/tlsf.ts:455:4
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:455:19
(i32.and
(i32.add
;;@ (lib)/allocator/tlsf.ts:455:20
(i32.add
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:455:33
(i32.const 2916)
)
;;@ (lib)/allocator/tlsf.ts:455:45
(i32.const 7)
)
;;@ (lib)/allocator/tlsf.ts:455:56
(i32.xor
;;@ (lib)/allocator/tlsf.ts:455:57
(i32.const 7)
(i32.const -1)
)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:455:66
2018-02-12 19:17:50 +01:00
(i32.shl
(current_memory)
;;@ (lib)/allocator/tlsf.ts:455:86
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:459:2
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:459:20
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:460:2
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:460:6
2018-02-12 19:17:50 +01:00
(if (result i32)
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:460:14
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:460:21
2018-02-12 19:17:50 +01:00
(i32.const 1073741824)
)
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:460:37
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:461:4
2018-02-12 19:17:50 +01:00
(set_local $0
;;@ (lib)/allocator/tlsf.ts:461:11
2018-02-12 19:17:50 +01:00
(select
(tee_local $2
;;@ (lib)/allocator/tlsf.ts:461:22
2018-02-12 19:17:50 +01:00
(i32.and
(i32.add
;;@ (lib)/allocator/tlsf.ts:461:23
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:461:30
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:461:41
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:461:42
(i32.const 7)
2018-02-12 19:17:50 +01:00
(i32.const -1)
)
)
)
(tee_local $3
;;@ (lib)/allocator/tlsf.ts:461:51
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
(i32.gt_u
(get_local $2)
(get_local $3)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:463:4
(set_local $2
;;@ (lib)/allocator/tlsf.ts:463:21
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#search"
;;@ (lib)/allocator/tlsf.ts:463:16
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:463:28
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
;;@ (lib)/allocator/tlsf.ts:464:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:464:8
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:464:9
(get_local $2)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:464:16
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:467:6
(set_local $3
;;@ (lib)/allocator/tlsf.ts:467:24
2018-02-12 19:17:50 +01:00
(current_memory)
)
;;@ (lib)/allocator/tlsf.ts:468:6
(set_local $4
;;@ (lib)/allocator/tlsf.ts:468:24
2018-02-25 00:13:39 +01:00
(i32.shr_u
(i32.and
;;@ (lib)/allocator/tlsf.ts:468:25
2018-02-25 00:13:39 +01:00
(i32.add
;;@ (lib)/allocator/tlsf.ts:468:26
2018-02-25 00:13:39 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:468:33
2018-02-25 00:13:39 +01:00
(i32.const 65535)
)
;;@ (lib)/allocator/tlsf.ts:468:43
2018-02-25 00:13:39 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:468:44
2018-02-25 00:13:39 +01:00
(i32.const 65535)
(i32.const -1)
)
)
;;@ (lib)/allocator/tlsf.ts:468:56
2018-02-25 00:13:39 +01:00
(i32.const 16)
)
)
;;@ (lib)/allocator/tlsf.ts:469:6
(set_local $6
;;@ (lib)/allocator/tlsf.ts:469:24
2018-02-12 19:17:50 +01:00
(select
(tee_local $6
;;@ (lib)/allocator/tlsf.ts:469:28
(get_local $3)
2018-02-12 19:17:50 +01:00
)
(tee_local $7
;;@ (lib)/allocator/tlsf.ts:469:41
(get_local $4)
2018-02-12 19:17:50 +01:00
)
(i32.gt_s
(get_local $6)
(get_local $7)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:470:6
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:470:10
2018-02-12 19:17:50 +01:00
(i32.lt_s
(grow_memory
;;@ (lib)/allocator/tlsf.ts:470:22
(get_local $6)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:470:37
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:471:8
2018-02-25 00:13:39 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:471:12
2018-02-25 00:13:39 +01:00
(i32.lt_s
(grow_memory
;;@ (lib)/allocator/tlsf.ts:471:24
(get_local $4)
2018-02-25 00:13:39 +01:00
)
;;@ (lib)/allocator/tlsf.ts:471:39
2018-02-25 00:13:39 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:472:10
2018-02-25 00:13:39 +01:00
(unreachable)
)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:475:6
(set_local $7
;;@ (lib)/allocator/tlsf.ts:475:23
2018-02-12 19:17:50 +01:00
(current_memory)
)
;;@ (lib)/allocator/tlsf.ts:476:11
2018-02-12 19:17:50 +01:00
(drop
(call "$(lib)/allocator/tlsf/Root#addMemory"
;;@ (lib)/allocator/tlsf.ts:476:6
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:476:21
2018-02-12 19:17:50 +01:00
(i32.shl
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:476:43
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
;;@ (lib)/allocator/tlsf.ts:476:47
2018-02-12 19:17:50 +01:00
(i32.shl
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:476:68
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
)
)
;;@ (lib)/allocator/tlsf.ts:477:6
(set_local $2
;;@ (lib)/allocator/tlsf.ts:477:14
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $8
;;@ (lib)/allocator/tlsf.ts:477:26
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#search"
;;@ (lib)/allocator/tlsf.ts:477:21
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:477:33
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 477)
2018-02-12 19:17:50 +01:00
(i32.const 14)
)
(unreachable)
)
(get_local $8)
2018-02-12 19:17:50 +01:00
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:480:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:480:11
2018-02-12 19:17:50 +01:00
(i32.ge_u
(i32.and
;;@ (lib)/allocator/tlsf.ts:480:12
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $2)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:480:25
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:480:26
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
;;@ (lib)/allocator/tlsf.ts:480:35
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 480)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:481:4
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:481:16
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#use"
;;@ (lib)/allocator/tlsf.ts:481:11
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:481:20
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:481:27
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:484:9
2018-02-12 19:17:50 +01:00
(return
(get_local $5)
)
)
(func "$(lib)/allocator/tlsf/free_memory" (; 19 ;) (type $iv) (param $0 i32)
(local $1 i32)
(local $2 i32)
(local $3 i32)
;;@ (lib)/allocator/tlsf.ts:490:2
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:490:6
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:490:12
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:491:4
2018-02-12 19:17:50 +01:00
(set_local $1
;;@ (lib)/allocator/tlsf.ts:491:15
2018-02-12 19:17:50 +01:00
(get_global "$(lib)/allocator/tlsf/ROOT")
)
;;@ (lib)/allocator/tlsf.ts:492:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:492:8
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:492:14
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:493:6
2018-02-12 19:17:50 +01:00
(set_local $2
;;@ (lib)/allocator/tlsf.ts:493:18
2018-02-12 19:17:50 +01:00
(i32.sub
;;@ (lib)/allocator/tlsf.ts:493:36
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:493:43
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:494:6
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:494:22
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $2)
)
)
;;@ (lib)/allocator/tlsf.ts:495:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:495:13
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:495:14
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:495:15
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:495:27
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 495)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:496:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:496:19
2018-02-12 19:17:50 +01:00
(i32.or
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:496:31
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
;;@ (lib)/allocator/tlsf.ts:497:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#insert"
;;@ (lib)/allocator/tlsf.ts:497:6
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:497:18
2018-02-12 19:17:50 +01:00
(i32.sub
;;@ (lib)/allocator/tlsf.ts:497:36
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:497:43
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
)
)
)
)
2018-02-25 00:13:39 +01:00
(func $start (; 20 ;) (type $v)
;;@ (lib)/allocator/tlsf.ts:122:0
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:122:7
2018-02-12 19:17:50 +01:00
(i32.le_s
(i32.shl
;;@ (lib)/allocator/tlsf.ts:122:8
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:122:13
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
;;@ (lib)/allocator/tlsf.ts:122:25
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 122)
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
(unreachable)
)
)
)
)