2776 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 $iiv (func (param i32 i32)))
(type $iiiv (func (param i32 i32 i32)))
(type $ii (func (param i32) (result 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/tlsf/AL_BITS" i32 (i32.const 3))
(global "$(lib)/allocator/tlsf/AL_SIZE" i32 (i32.const 8))
(global "$(lib)/allocator/tlsf/AL_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:177:30
(i32.store offset=2912
;;@ (lib)/allocator/tlsf.ts:177:43
2018-02-12 19:17:50 +01:00
(i32.const 0)
;;@ (lib)/allocator/tlsf.ts:177: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:140:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:140:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:140:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 140)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:141:4
2018-02-12 19:17:50 +01:00
(i32.store offset=4
;;@ (lib)/allocator/tlsf.ts:141:15
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:141:41
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:141:46
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
;;@ (lib)/allocator/tlsf.ts:141: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:163:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:163:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:163:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 163)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:164:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:164:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:164:16
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 164)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:165:4
2018-02-12 19:17:50 +01:00
(i32.store offset=96
;;@ (lib)/allocator/tlsf.ts:166:6
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:166:32
2018-02-12 19:17:50 +01:00
(i32.mul
(i32.add
;;@ (lib)/allocator/tlsf.ts:166:33
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:166:38
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
;;@ (lib)/allocator/tlsf.ts:166:48
2018-02-12 19:17:50 +01:00
(get_local $2)
)
;;@ (lib)/allocator/tlsf.ts:166:61
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
;;@ (lib)/allocator/tlsf.ts:167: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:176:58
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:176:32
(i32.load offset=2912
;;@ (lib)/allocator/tlsf.ts:176: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:85:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:85:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:85:23
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:85: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 85)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:90:4
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:86:11
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $1
;;@ (lib)/allocator/tlsf.ts:87:6
2018-02-12 19:17:50 +01:00
(i32.add
;;@ (lib)/allocator/tlsf.ts:88:8
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:88:34
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:88:47
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:88:48
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:88:60
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:88: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 86)
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:424:2
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:424:9
2018-02-12 19:17:50 +01:00
(i32.ne
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:424:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 424)
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:425:2
2018-02-12 19:17:50 +01:00
(nop)
;;@ (lib)/allocator/tlsf.ts:426:26
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:426:9
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 31)
;;@ (lib)/allocator/tlsf.ts:426:15
2018-02-12 19:17:50 +01:00
(i32.clz
;;@ (lib)/allocator/tlsf.ts:426: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:154:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:154:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:154:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 154)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:155:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:155:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:155:16
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 155)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:158:20
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:156:11
2018-02-12 19:17:50 +01:00
(i32.load offset=96
;;@ (lib)/allocator/tlsf.ts:157:6
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:157:32
2018-02-12 19:17:50 +01:00
(i32.mul
(i32.add
;;@ (lib)/allocator/tlsf.ts:157:33
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:157:38
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
;;@ (lib)/allocator/tlsf.ts:157:48
2018-02-12 19:17:50 +01:00
(get_local $2)
)
;;@ (lib)/allocator/tlsf.ts:157: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:134:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:134:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:134:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 134)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:135:68
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:135:11
2018-02-12 19:17:50 +01:00
(i32.load offset=4
;;@ (lib)/allocator/tlsf.ts:135:21
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:135:47
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:135: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)
(local $9 i32)
;;@ (lib)/allocator/tlsf.ts:253:4
2018-02-12 19:17:50 +01:00
(set_local $2
;;@ (lib)/allocator/tlsf.ts:253:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:254:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:254:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:254:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 254)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:255:4
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:255:15
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:255:27
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:255:28
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
;;@ (lib)/allocator/tlsf.ts:256:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:256: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:256:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:256:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:256: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 256)
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
(nop)
;;@ (lib)/allocator/tlsf.ts:260:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:260:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:260:15
(i32.const 256)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:260:24
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:261:6
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:261:11
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:262:6
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:262:11
2018-02-12 19:17:50 +01:00
(i32.div_u
;;@ (lib)/allocator/tlsf.ts:262:17
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:262:24
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:263:11
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:264:6
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:264:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/fls<usize>"
;;@ (lib)/allocator/tlsf.ts:264:22
2018-02-12 19:17:50 +01:00
(get_local $3)
)
)
;;@ (lib)/allocator/tlsf.ts:265:6
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:265:11
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:265:17
2018-02-12 19:17:50 +01:00
(i32.shr_u
;;@ (lib)/allocator/tlsf.ts:265:18
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:265:26
2018-02-12 19:17:50 +01:00
(i32.sub
;;@ (lib)/allocator/tlsf.ts:265:27
2018-02-12 19:17:50 +01:00
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:265:32
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
;;@ (lib)/allocator/tlsf.ts:265:44
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:265:45
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:265:50
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
)
;;@ (lib)/allocator/tlsf.ts:266:6
2018-02-12 19:17:50 +01:00
(set_local $5
(i32.sub
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:266:12
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:266:22
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:270:4
2018-02-12 19:17:50 +01:00
(set_local $7
;;@ (lib)/allocator/tlsf.ts:270:15
2018-02-12 19:17:50 +01:00
(i32.load offset=4
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:271:4
2018-02-12 19:17:50 +01:00
(set_local $8
;;@ (lib)/allocator/tlsf.ts:271:15
2018-02-12 19:17:50 +01:00
(i32.load offset=8
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:272:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:272:8
2018-02-12 19:17:50 +01:00
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:272:14
2018-02-12 19:17:50 +01:00
(i32.store offset=8
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:272:26
2018-02-12 19:17:50 +01:00
(get_local $8)
)
)
;;@ (lib)/allocator/tlsf.ts:273:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:273:8
2018-02-12 19:17:50 +01:00
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:273:14
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:273:26
2018-02-12 19:17:50 +01:00
(get_local $7)
)
)
;;@ (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
(i32.eq
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:276:22
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getHead"
;;@ (lib)/allocator/tlsf.ts:276:17
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:276:30
2018-02-12 19:17:50 +01:00
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:276:34
2018-02-12 19:17:50 +01:00
(get_local $6)
)
)
;;@ (lib)/allocator/tlsf.ts:276:39
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:277:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setHead"
;;@ (lib)/allocator/tlsf.ts:277:6
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:277:19
2018-02-12 19:17:50 +01:00
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:277:23
2018-02-12 19:17:50 +01:00
(get_local $6)
;;@ (lib)/allocator/tlsf.ts:277:27
2018-02-12 19:17:50 +01:00
(get_local $8)
)
;;@ (lib)/allocator/tlsf.ts:280:6
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:280:10
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:280:11
2018-02-12 19:17:50 +01:00
(get_local $8)
)
;;@ (lib)/allocator/tlsf.ts:280:17
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:281:8
2018-02-12 19:17:50 +01:00
(set_local $9
;;@ (lib)/allocator/tlsf.ts:281:25
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getSLMap"
;;@ (lib)/allocator/tlsf.ts:281:20
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:281:34
2018-02-12 19:17:50 +01:00
(get_local $5)
)
)
;;@ (lib)/allocator/tlsf.ts:282:13
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setSLMap"
;;@ (lib)/allocator/tlsf.ts:282:8
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:282:22
2018-02-12 19:17:50 +01:00
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:282:26
2018-02-12 19:17:50 +01:00
(tee_local $9
(i32.and
(get_local $9)
;;@ (lib)/allocator/tlsf.ts:282:35
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:282:36
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:282:37
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:282:42
2018-02-12 19:17:50 +01:00
(get_local $6)
)
(i32.const -1)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:285:8
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:285:12
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:285:13
2018-02-12 19:17:50 +01:00
(get_local $9)
)
;;@ (lib)/allocator/tlsf.ts:285: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:285:34
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:285:35
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:285:36
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:285: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:77:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:77:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:77:23
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 77)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:80:4
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:78:11
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $1
;;@ (lib)/allocator/tlsf.ts:79:6
2018-02-12 19:17:50 +01:00
(i32.load
;;@ (lib)/allocator/tlsf.ts:79:18
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:79:44
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 78)
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:330:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:330:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:330:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 330)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:331:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:331: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:331:25
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 331)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:332:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:332:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $2)
)
;;@ (lib)/allocator/tlsf.ts:332:24
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 332)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:333:4
2018-02-12 19:17:50 +01:00
(i32.store
;;@ (lib)/allocator/tlsf.ts:334:6
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:334:33
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
;;@ (lib)/allocator/tlsf.ts:335: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)
(local $11 i32)
;;@ (lib)/allocator/tlsf.ts:185:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:185:11
2018-02-12 19:17:50 +01:00
(get_local $1)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 185)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:186:4
2018-02-12 19:17:50 +01:00
(set_local $2
;;@ (lib)/allocator/tlsf.ts:186:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:187:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:187:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:187:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 187)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:188:4
2018-02-12 19:17:50 +01:00
(nop)
;;@ (lib)/allocator/tlsf.ts:189:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:190: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:190:14
(i32.and
(i32.load
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:190:27
(i32.xor
;;@ (lib)/allocator/tlsf.ts:190:28
(i32.const 3)
(i32.const -1)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:190:37
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:190:55
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:190: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 189)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:193:4
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:193:23
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $4
;;@ (lib)/allocator/tlsf.ts:193: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 193)
2018-02-12 19:17:50 +01:00
(i32.const 23)
)
(unreachable)
)
(get_local $4)
)
)
;;@ (lib)/allocator/tlsf.ts:194:4
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:194:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $5)
)
)
;;@ (lib)/allocator/tlsf.ts:197:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:197:8
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $6)
;;@ (lib)/allocator/tlsf.ts:197:20
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
;;@ (lib)/allocator/tlsf.ts:197:26
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:198:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#remove"
;;@ (lib)/allocator/tlsf.ts:198:6
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:198:18
2018-02-12 19:17:50 +01:00
(get_local $5)
)
;;@ (lib)/allocator/tlsf.ts:199:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:199:19
2018-02-12 19:17:50 +01:00
(tee_local $2
(i32.add
;;@ (lib)/allocator/tlsf.ts:199:20
2018-02-12 19:17:50 +01:00
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:199:33
2018-02-12 19:17:50 +01:00
(i32.add
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:199:46
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:199:47
2018-02-12 19:17:50 +01:00
(get_local $6)
;;@ (lib)/allocator/tlsf.ts:199:59
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:199:60
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:200:6
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:200:14
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Block#get:right"
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:201:6
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:201:18
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $5)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:206:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:206:8
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:206:20
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
;;@ (lib)/allocator/tlsf.ts:206:31
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:207:6
2018-02-12 19:17:50 +01:00
(set_local $7
;;@ (lib)/allocator/tlsf.ts:207:24
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $4
;;@ (lib)/allocator/tlsf.ts:207: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 207)
2018-02-12 19:17:50 +01:00
(i32.const 24)
)
(unreachable)
)
(get_local $4)
)
)
;;@ (lib)/allocator/tlsf.ts:208:6
2018-02-12 19:17:50 +01:00
(set_local $8
;;@ (lib)/allocator/tlsf.ts:208:21
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $7)
)
)
;;@ (lib)/allocator/tlsf.ts:209:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:209:13
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:209:24
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 209)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:210:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#remove"
;;@ (lib)/allocator/tlsf.ts:210:6
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:210:18
2018-02-12 19:17:50 +01:00
(get_local $7)
)
;;@ (lib)/allocator/tlsf.ts:211:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:211:18
2018-02-12 19:17:50 +01:00
(tee_local $8
(i32.add
;;@ (lib)/allocator/tlsf.ts:211:19
2018-02-12 19:17:50 +01:00
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:211:31
2018-02-12 19:17:50 +01:00
(i32.add
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:211:44
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:211:45
2018-02-12 19:17:50 +01:00
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:211:57
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:211:58
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:212:6
2018-02-12 19:17:50 +01:00
(set_local $1
;;@ (lib)/allocator/tlsf.ts:212:14
2018-02-12 19:17:50 +01:00
(get_local $7)
)
;;@ (lib)/allocator/tlsf.ts:213:6
2018-02-12 19:17:50 +01:00
(set_local $2
;;@ (lib)/allocator/tlsf.ts:213:18
2018-02-12 19:17:50 +01:00
(get_local $8)
)
)
)
;;@ (lib)/allocator/tlsf.ts:217:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:217:17
2018-02-12 19:17:50 +01:00
(i32.or
(get_local $6)
;;@ (lib)/allocator/tlsf.ts:217:29
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
;;@ (lib)/allocator/tlsf.ts:218:9
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setJump"
;;@ (lib)/allocator/tlsf.ts:218:4
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:218:17
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:218:24
2018-02-12 19:17:50 +01:00
(get_local $5)
)
;;@ (lib)/allocator/tlsf.ts:221:4
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:221:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:221:23
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:221:24
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
;;@ (lib)/allocator/tlsf.ts:222:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:222: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:222:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:222:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:222: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 222)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:225:4
2018-02-12 19:17:50 +01:00
(nop)
;;@ (lib)/allocator/tlsf.ts:226:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:226:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:226:15
(i32.const 256)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:226:24
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:227:6
2018-02-12 19:17:50 +01:00
(set_local $9
;;@ (lib)/allocator/tlsf.ts:227:11
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:228:6
2018-02-12 19:17:50 +01:00
(set_local $10
;;@ (lib)/allocator/tlsf.ts:228:11
2018-02-12 19:17:50 +01:00
(i32.div_u
;;@ (lib)/allocator/tlsf.ts:228:17
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:228:24
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:229:11
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:230:6
2018-02-12 19:17:50 +01:00
(set_local $9
;;@ (lib)/allocator/tlsf.ts:230:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/fls<usize>"
;;@ (lib)/allocator/tlsf.ts:230:22
2018-02-12 19:17:50 +01:00
(get_local $3)
)
)
;;@ (lib)/allocator/tlsf.ts:231:6
2018-02-12 19:17:50 +01:00
(set_local $10
;;@ (lib)/allocator/tlsf.ts:231:11
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:231:17
2018-02-12 19:17:50 +01:00
(i32.shr_u
;;@ (lib)/allocator/tlsf.ts:231:18
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:231:26
2018-02-12 19:17:50 +01:00
(i32.sub
;;@ (lib)/allocator/tlsf.ts:231:27
2018-02-12 19:17:50 +01:00
(get_local $9)
;;@ (lib)/allocator/tlsf.ts:231:32
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
;;@ (lib)/allocator/tlsf.ts:231:44
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:231:45
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:231:50
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
)
;;@ (lib)/allocator/tlsf.ts:232:6
2018-02-12 19:17:50 +01:00
(set_local $9
(i32.sub
(get_local $9)
;;@ (lib)/allocator/tlsf.ts:232:12
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:232:22
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:236:4
2018-02-12 19:17:50 +01:00
(set_local $11
;;@ (lib)/allocator/tlsf.ts:236:20
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getHead"
;;@ (lib)/allocator/tlsf.ts:236:15
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:236:28
2018-02-12 19:17:50 +01:00
(get_local $9)
;;@ (lib)/allocator/tlsf.ts:236:32
2018-02-12 19:17:50 +01:00
(get_local $10)
)
)
;;@ (lib)/allocator/tlsf.ts:237:4
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:237:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:238:4
2018-02-12 19:17:50 +01:00
(i32.store offset=8
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:238:17
2018-02-12 19:17:50 +01:00
(get_local $11)
)
;;@ (lib)/allocator/tlsf.ts:239:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:239:8
2018-02-12 19:17:50 +01:00
(get_local $11)
;;@ (lib)/allocator/tlsf.ts:239:14
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $11)
;;@ (lib)/allocator/tlsf.ts:239:26
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:240:9
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setHead"
;;@ (lib)/allocator/tlsf.ts:240:4
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:240:17
2018-02-12 19:17:50 +01:00
(get_local $9)
;;@ (lib)/allocator/tlsf.ts:240:21
2018-02-12 19:17:50 +01:00
(get_local $10)
;;@ (lib)/allocator/tlsf.ts:240:25
2018-02-12 19:17:50 +01:00
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:243: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:243:18
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:243:19
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:243:24
2018-02-12 19:17:50 +01:00
(get_local $9)
)
)
)
;;@ (lib)/allocator/tlsf.ts:244:9
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setSLMap"
;;@ (lib)/allocator/tlsf.ts:244:4
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:244:18
2018-02-12 19:17:50 +01:00
(get_local $9)
;;@ (lib)/allocator/tlsf.ts:244:22
2018-02-12 19:17:50 +01:00
(i32.or
;;@ (lib)/allocator/tlsf.ts:244:27
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getSLMap"
;;@ (lib)/allocator/tlsf.ts:244:22
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:244:36
2018-02-12 19:17:50 +01:00
(get_local $9)
)
;;@ (lib)/allocator/tlsf.ts:244:42
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:244:43
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:244:48
2018-02-12 19:17:50 +01:00
(get_local $10)
)
)
)
)
(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:373:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:373:11
2018-02-12 19:17:50 +01:00
(i32.le_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:373:20
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 373)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:374:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:374:11
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:374:12
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:374:13
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:374:21
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 374)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:375:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:375:11
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:375:12
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:375:13
2018-02-12 19:17:50 +01:00
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:375:19
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 375)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:377:4
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:377:18
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#get:tailRef"
(get_local $0)
)
)
;;@ (lib)/allocator/tlsf.ts:378:4
2018-02-12 19:17:50 +01:00
(set_local $4
;;@ (lib)/allocator/tlsf.ts:378:26
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:379:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:379:8
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:379:17
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:380:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:380:13
2018-02-12 19:17:50 +01:00
(i32.ge_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:380:22
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:380:32
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 380)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:383:6
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:383:10
2018-02-12 19:17:50 +01:00
(i32.eq
(i32.sub
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:383:18
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:383:32
2018-02-12 19:17:50 +01:00
(get_local $3)
)
;;@ (lib)/allocator/tlsf.ts:383:41
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:384:8
2018-02-12 19:17:50 +01:00
(set_local $1
(i32.sub
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:384:17
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:385:8
2018-02-12 19:17:50 +01:00
(set_local $4
;;@ (lib)/allocator/tlsf.ts:385:19
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $3)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:389:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:389:13
2018-02-12 19:17:50 +01:00
(i32.ge_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:389:22
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:389:48
(i32.const 2916)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 389)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
)
;;@ (lib)/allocator/tlsf.ts:393:4
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:393:15
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:393:21
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:394:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:394:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:394:15
2018-02-12 19:17:50 +01:00
(i32.add
(i32.add
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:394:28
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:394:45
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:395:13
2018-02-12 19:17:50 +01:00
(return
(i32.const 0)
)
)
;;@ (lib)/allocator/tlsf.ts:399:4
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:399:19
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:399:26
2018-02-12 19:17:50 +01:00
(i32.mul
(i32.const 2)
;;@ (lib)/allocator/tlsf.ts:399:30
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:400:4
2018-02-12 19:17:50 +01:00
(set_local $7
;;@ (lib)/allocator/tlsf.ts:400:15
2018-02-12 19:17:50 +01:00
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:401:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:401:16
2018-02-12 19:17:50 +01:00
(i32.or
(i32.or
(get_local $6)
;;@ (lib)/allocator/tlsf.ts:401:27
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
;;@ (lib)/allocator/tlsf.ts:401:34
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:401:35
2018-02-12 19:17:50 +01:00
(get_local $4)
;;@ (lib)/allocator/tlsf.ts:401:46
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
)
;;@ (lib)/allocator/tlsf.ts:402:4
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:402:16
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:403:4
2018-02-12 19:17:50 +01:00
(i32.store offset=8
(get_local $7)
;;@ (lib)/allocator/tlsf.ts:403:16
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:406:4
2018-02-12 19:17:50 +01:00
(set_local $8
;;@ (lib)/allocator/tlsf.ts:406:15
2018-02-12 19:17:50 +01:00
(i32.sub
;;@ (lib)/allocator/tlsf.ts:406:33
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:406:41
2018-02-12 19:17:50 +01:00
(get_local $5)
)
;;@ (lib)/allocator/tlsf.ts:406:48
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:407:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:407:16
2018-02-12 19:17:50 +01:00
(i32.or
(i32.const 0)
;;@ (lib)/allocator/tlsf.ts:407:20
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
;;@ (lib)/allocator/tlsf.ts:408:4
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#set:tailRef"
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:408:19
2018-02-12 19:17:50 +01:00
(get_local $8)
)
;;@ (lib)/allocator/tlsf.ts:410:9
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#insert"
;;@ (lib)/allocator/tlsf.ts:410:4
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:410:16
2018-02-12 19:17:50 +01:00
(get_local $7)
)
;;@ (lib)/allocator/tlsf.ts:412: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:418:2
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:418:9
2018-02-12 19:17:50 +01:00
(i32.ne
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:418:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 418)
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:419:20
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:419:9
2018-02-12 19:17:50 +01:00
(i32.ctz
;;@ (lib)/allocator/tlsf.ts:419: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:418:2
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:418:9
2018-02-12 19:17:50 +01:00
(i32.ne
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:418:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 418)
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:419:20
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:419:9
2018-02-12 19:17:50 +01:00
(i32.ctz
;;@ (lib)/allocator/tlsf.ts:419: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:292:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:292: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:292:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:292:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:292: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 292)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:295:4
2018-02-12 19:17:50 +01:00
(nop)
;;@ (lib)/allocator/tlsf.ts:296:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:296:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:296:15
(i32.const 256)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:296:24
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:297:6
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:297:11
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:298:6
2018-02-12 19:17:50 +01:00
(set_local $4
;;@ (lib)/allocator/tlsf.ts:298:11
2018-02-12 19:17:50 +01:00
(i32.div_u
;;@ (lib)/allocator/tlsf.ts:298:17
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:298:24
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
;;@ (lib)/allocator/tlsf.ts:299:11
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
(call "$(lib)/allocator/tlsf/fls<usize>"
;;@ (lib)/allocator/tlsf.ts:301:22
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
;;@ (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.xor
;;@ (lib)/allocator/tlsf.ts:302:17
2018-02-12 19:17:50 +01:00
(i32.shr_u
;;@ (lib)/allocator/tlsf.ts:302:18
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:302:26
2018-02-12 19:17:50 +01:00
(i32.sub
;;@ (lib)/allocator/tlsf.ts:302:27
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:302:32
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
;;@ (lib)/allocator/tlsf.ts:302:44
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:302:45
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:302:50
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
)
;;@ (lib)/allocator/tlsf.ts:303:6
2018-02-12 19:17:50 +01:00
(set_local $3
(i32.sub
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:303:12
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:303:22
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
;;@ (lib)/allocator/tlsf.ts:305:6
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:305:10
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $4)
;;@ (lib)/allocator/tlsf.ts:305:15
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 32)
;;@ (lib)/allocator/tlsf.ts:305:25
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
;;@ (lib)/allocator/tlsf.ts:305:28
2018-02-12 19:17:50 +01:00
(set_local $4
(i32.add
;;@ (lib)/allocator/tlsf.ts:305:30
2018-02-12 19:17:50 +01:00
(get_local $4)
(i32.const 1)
)
)
;;@ (lib)/allocator/tlsf.ts:306:11
2018-02-12 19:17:50 +01:00
(block
(set_local $3
(i32.add
;;@ (lib)/allocator/tlsf.ts:306:13
2018-02-12 19:17:50 +01:00
(get_local $3)
(i32.const 1)
)
)
;;@ (lib)/allocator/tlsf.ts:306:17
2018-02-12 19:17:50 +01:00
(set_local $4
;;@ (lib)/allocator/tlsf.ts:306:22
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:310:4
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:310:16
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:310:21
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getSLMap"
;;@ (lib)/allocator/tlsf.ts:310:16
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:310:30
2018-02-12 19:17:50 +01:00
(get_local $3)
)
;;@ (lib)/allocator/tlsf.ts:310:36
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:310:37
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:310:38
2018-02-12 19:17:50 +01:00
(i32.const 0)
(i32.const -1)
)
;;@ (lib)/allocator/tlsf.ts:310:43
2018-02-12 19:17:50 +01:00
(get_local $4)
)
)
)
;;@ (lib)/allocator/tlsf.ts:311:4
2018-02-12 19:17:50 +01:00
(nop)
;;@ (lib)/allocator/tlsf.ts:312:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:312:8
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:312:9
2018-02-12 19:17:50 +01:00
(get_local $5)
)
;;@ (lib)/allocator/tlsf.ts:312:16
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:314:6
2018-02-12 19:17:50 +01:00
(set_local $7
;;@ (lib)/allocator/tlsf.ts:314:18
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:314:31
2018-02-12 19:17:50 +01:00
(i32.shl
;;@ (lib)/allocator/tlsf.ts:314:32
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:314:33
2018-02-12 19:17:50 +01:00
(i32.const 0)
(i32.const -1)
)
;;@ (lib)/allocator/tlsf.ts:314:38
2018-02-12 19:17:50 +01:00
(i32.add
;;@ (lib)/allocator/tlsf.ts:314:39
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:314:44
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:315:6
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:315:10
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:315:11
2018-02-12 19:17:50 +01:00
(get_local $7)
)
;;@ (lib)/allocator/tlsf.ts:316:8
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:316:15
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:317:13
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:318:8
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:318:13
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/ffs<usize>"
;;@ (lib)/allocator/tlsf.ts:318:24
2018-02-12 19:17:50 +01:00
(get_local $7)
)
)
;;@ (lib)/allocator/tlsf.ts:319:8
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:319:16
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $2
;;@ (lib)/allocator/tlsf.ts:319:28
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getSLMap"
;;@ (lib)/allocator/tlsf.ts:319:23
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:319:37
2018-02-12 19:17:50 +01:00
(get_local $3)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 319)
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
(unreachable)
)
(get_local $2)
)
)
;;@ (lib)/allocator/tlsf.ts:320:8
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:320:20
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getHead"
;;@ (lib)/allocator/tlsf.ts:320:15
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:320:28
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:320:32
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/ffs<u32>"
;;@ (lib)/allocator/tlsf.ts:320:41
2018-02-12 19:17:50 +01:00
(get_local $5)
)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:323:6
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:323:18
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#getHead"
;;@ (lib)/allocator/tlsf.ts:323:13
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:323:26
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:323:30
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/ffs<u32>"
;;@ (lib)/allocator/tlsf.ts:323:39
2018-02-12 19:17:50 +01:00
(get_local $5)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:325: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)
(local $6 i32)
(local $7 i32)
;;@ (lib)/allocator/tlsf.ts:343:4
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:343:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $1)
)
)
;;@ (lib)/allocator/tlsf.ts:344:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:344:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:344:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 344)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:345:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:345: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:345:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:345:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:345: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 345)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:346:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:346:11
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:346:12
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:346:13
2018-02-12 19:17:50 +01:00
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:346:20
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 346)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:348:9
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#remove"
;;@ (lib)/allocator/tlsf.ts:348:4
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:348:16
2018-02-12 19:17:50 +01:00
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:351:4
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:351:20
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.and
;;@ (lib)/allocator/tlsf.ts:351:21
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:351:33
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:351:34
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
;;@ (lib)/allocator/tlsf.ts:351:42
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
;;@ (lib)/allocator/tlsf.ts:352:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:352:8
2018-02-12 19:17:50 +01:00
(i32.ge_u
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:352:21
2018-02-12 19:17:50 +01:00
(i32.add
(i32.const 8)
;;@ (lib)/allocator/tlsf.ts:352:34
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:352:50
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:353:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:353:19
2018-02-12 19:17:50 +01:00
(i32.or
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:353:26
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:353:27
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:353:39
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
)
;;@ (lib)/allocator/tlsf.ts:355:6
2018-02-12 19:17:50 +01:00
(set_local $6
;;@ (lib)/allocator/tlsf.ts:355:18
2018-02-12 19:17:50 +01:00
(i32.add
;;@ (lib)/allocator/tlsf.ts:356:8
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:356:35
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:356:48
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
;;@ (lib)/allocator/tlsf.ts:358:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $6)
;;@ (lib)/allocator/tlsf.ts:358:19
2018-02-12 19:17:50 +01:00
(i32.or
(i32.sub
;;@ (lib)/allocator/tlsf.ts:358:20
2018-02-12 19:17:50 +01:00
(get_local $5)
;;@ (lib)/allocator/tlsf.ts:358:32
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:358:46
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
;;@ (lib)/allocator/tlsf.ts:359:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#insert"
;;@ (lib)/allocator/tlsf.ts:359:6
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:359:18
2018-02-12 19:17:50 +01:00
(get_local $6)
)
)
;;@ (lib)/allocator/tlsf.ts:362:11
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:363:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:363:19
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:363:31
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:363:32
2018-02-12 19:17:50 +01:00
(i32.const 1)
(i32.const -1)
)
)
)
;;@ (lib)/allocator/tlsf.ts:364:6
2018-02-12 19:17:50 +01:00
(set_local $7
;;@ (lib)/allocator/tlsf.ts:364:25
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $4
;;@ (lib)/allocator/tlsf.ts:364: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 364)
2018-02-12 19:17:50 +01:00
(i32.const 25)
)
(unreachable)
)
(get_local $4)
)
)
;;@ (lib)/allocator/tlsf.ts:365:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $7)
(i32.and
(i32.load
(get_local $7)
)
;;@ (lib)/allocator/tlsf.ts:365:20
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:365:21
2018-02-12 19:17:50 +01:00
(i32.const 2)
(i32.const -1)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:368:44
2018-02-12 19:17:50 +01:00
(return
;;@ (lib)/allocator/tlsf.ts:368:11
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:368: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)
(local $9 i32)
(local $10 i32)
(local $11 i32)
2018-02-25 00:13:39 +01:00
(local $12 i32)
;;@ (lib)/allocator/tlsf.ts:439:2
2018-02-12 19:17:50 +01:00
(set_local $1
;;@ (lib)/allocator/tlsf.ts:439:13
2018-02-12 19:17:50 +01:00
(get_global "$(lib)/allocator/tlsf/ROOT")
)
;;@ (lib)/allocator/tlsf.ts:440:2
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:440:6
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:440:7
2018-02-12 19:17:50 +01:00
(get_local $1)
)
;;@ (lib)/allocator/tlsf.ts:440:13
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:441:4
2018-02-12 19:17:50 +01:00
(set_local $2
;;@ (lib)/allocator/tlsf.ts:441:21
2018-02-12 19:17:50 +01:00
(i32.and
(i32.add
;;@ (lib)/allocator/tlsf.ts:441:22
2018-02-12 19:17:50 +01:00
(get_global $HEAP_BASE)
;;@ (lib)/allocator/tlsf.ts:441:34
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:441:45
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:441:46
(i32.const 7)
2018-02-12 19:17:50 +01:00
(i32.const -1)
)
)
)
;;@ (lib)/allocator/tlsf.ts:442:4
2018-02-12 19:17:50 +01:00
(set_global "$(lib)/allocator/tlsf/ROOT"
;;@ (lib)/allocator/tlsf.ts:442:11
2018-02-12 19:17:50 +01:00
(tee_local $1
;;@ (lib)/allocator/tlsf.ts:442:18
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
;;@ (lib)/allocator/tlsf.ts:443:4
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#set:tailRef"
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:443:19
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:444:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:444:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:445:4
2018-02-12 19:17:50 +01:00
(block $break|0
;;@ (lib)/allocator/tlsf.ts:445:9
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:445:25
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
(loop $continue|0
(if
;;@ (lib)/allocator/tlsf.ts:445:28
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:445:33
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
(block
(block
;;@ (lib)/allocator/tlsf.ts:446:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#setSLMap"
;;@ (lib)/allocator/tlsf.ts:446:6
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:446:20
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:446:24
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:447:6
2018-02-12 19:17:50 +01:00
(block $break|1
;;@ (lib)/allocator/tlsf.ts:447:11
2018-02-12 19:17:50 +01:00
(set_local $4
;;@ (lib)/allocator/tlsf.ts:447:25
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
(loop $continue|1
(if
;;@ (lib)/allocator/tlsf.ts:447:28
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $4)
;;@ (lib)/allocator/tlsf.ts:447:33
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
(block
(block
;;@ (lib)/allocator/tlsf.ts:448:13
(call "$(lib)/allocator/tlsf/Root#setHead"
;;@ (lib)/allocator/tlsf.ts:448:8
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:448:21
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:448:25
(get_local $4)
;;@ (lib)/allocator/tlsf.ts:448:29
(i32.const 0)
)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:447:42
2018-02-12 19:17:50 +01:00
(set_local $4
(i32.add
;;@ (lib)/allocator/tlsf.ts:447:44
2018-02-12 19:17:50 +01:00
(get_local $4)
(i32.const 1)
)
)
(br $continue|1)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:445:42
2018-02-12 19:17:50 +01:00
(set_local $3
(i32.add
;;@ (lib)/allocator/tlsf.ts:445:44
2018-02-12 19:17:50 +01:00
(get_local $3)
(i32.const 1)
)
)
(br $continue|0)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:451:9
2018-02-12 19:17:50 +01:00
(drop
(call "$(lib)/allocator/tlsf/Root#addMemory"
;;@ (lib)/allocator/tlsf.ts:451:4
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:451:19
(i32.and
(i32.add
;;@ (lib)/allocator/tlsf.ts:451:20
(i32.add
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:451:33
(i32.const 2916)
)
;;@ (lib)/allocator/tlsf.ts:451:45
(i32.const 7)
)
;;@ (lib)/allocator/tlsf.ts:451:56
(i32.xor
;;@ (lib)/allocator/tlsf.ts:451:57
(i32.const 7)
(i32.const -1)
)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:451:66
2018-02-12 19:17:50 +01:00
(i32.shl
(current_memory)
;;@ (lib)/allocator/tlsf.ts:451:86
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:455:2
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:455:20
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:456:2
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:456:6
2018-02-12 19:17:50 +01:00
(if (result i32)
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:456:14
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:456:21
2018-02-12 19:17:50 +01:00
(i32.const 1073741824)
)
(get_local $0)
)
;;@ (lib)/allocator/tlsf.ts:456:37
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:457:4
2018-02-12 19:17:50 +01:00
(set_local $0
;;@ (lib)/allocator/tlsf.ts:457:11
2018-02-12 19:17:50 +01:00
(select
(tee_local $6
;;@ (lib)/allocator/tlsf.ts:457:22
2018-02-12 19:17:50 +01:00
(i32.and
(i32.add
;;@ (lib)/allocator/tlsf.ts:457:23
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:457:30
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:457:41
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:457:42
(i32.const 7)
2018-02-12 19:17:50 +01:00
(i32.const -1)
)
)
)
(tee_local $7
;;@ (lib)/allocator/tlsf.ts:457:51
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
(i32.gt_u
(get_local $6)
(get_local $7)
)
)
)
;;@ (lib)/allocator/tlsf.ts:459:4
2018-02-12 19:17:50 +01:00
(set_local $8
;;@ (lib)/allocator/tlsf.ts:459:21
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#search"
;;@ (lib)/allocator/tlsf.ts:459:16
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:459:28
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
;;@ (lib)/allocator/tlsf.ts:460:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:460:8
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:460:9
2018-02-12 19:17:50 +01:00
(get_local $8)
)
;;@ (lib)/allocator/tlsf.ts:460:16
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:463:6
2018-02-12 19:17:50 +01:00
(set_local $9
;;@ (lib)/allocator/tlsf.ts:463:24
2018-02-12 19:17:50 +01:00
(current_memory)
)
;;@ (lib)/allocator/tlsf.ts:464:6
2018-02-12 19:17:50 +01:00
(set_local $10
;;@ (lib)/allocator/tlsf.ts:464:24
2018-02-25 00:13:39 +01:00
(i32.shr_u
(i32.and
;;@ (lib)/allocator/tlsf.ts:464:25
2018-02-25 00:13:39 +01:00
(i32.add
;;@ (lib)/allocator/tlsf.ts:464:26
2018-02-25 00:13:39 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:464:33
2018-02-25 00:13:39 +01:00
(i32.const 65535)
)
;;@ (lib)/allocator/tlsf.ts:464:43
2018-02-25 00:13:39 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:464:44
2018-02-25 00:13:39 +01:00
(i32.const 65535)
(i32.const -1)
)
)
;;@ (lib)/allocator/tlsf.ts:464:56
2018-02-25 00:13:39 +01:00
(i32.const 16)
)
)
;;@ (lib)/allocator/tlsf.ts:465:6
2018-02-25 00:13:39 +01:00
(set_local $11
;;@ (lib)/allocator/tlsf.ts:465:24
2018-02-12 19:17:50 +01:00
(select
(tee_local $6
;;@ (lib)/allocator/tlsf.ts:465:28
2018-02-12 19:17:50 +01:00
(get_local $9)
)
(tee_local $7
;;@ (lib)/allocator/tlsf.ts:465:41
2018-02-25 00:13:39 +01:00
(get_local $10)
2018-02-12 19:17:50 +01:00
)
(i32.gt_s
(get_local $6)
(get_local $7)
)
)
)
;;@ (lib)/allocator/tlsf.ts:466:6
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:466:10
2018-02-12 19:17:50 +01:00
(i32.lt_s
(grow_memory
;;@ (lib)/allocator/tlsf.ts:466:22
2018-02-25 00:13:39 +01:00
(get_local $11)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:466:37
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:467:8
2018-02-25 00:13:39 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:467:12
2018-02-25 00:13:39 +01:00
(i32.lt_s
(grow_memory
;;@ (lib)/allocator/tlsf.ts:467:24
2018-02-25 00:13:39 +01:00
(get_local $10)
)
;;@ (lib)/allocator/tlsf.ts:467:39
2018-02-25 00:13:39 +01:00
(i32.const 0)
)
;;@ (lib)/allocator/tlsf.ts:468:10
2018-02-25 00:13:39 +01:00
(unreachable)
)
2018-02-12 19:17:50 +01:00
)
;;@ (lib)/allocator/tlsf.ts:471:6
2018-02-25 00:13:39 +01:00
(set_local $12
;;@ (lib)/allocator/tlsf.ts:471:23
2018-02-12 19:17:50 +01:00
(current_memory)
)
;;@ (lib)/allocator/tlsf.ts:472:11
2018-02-12 19:17:50 +01:00
(drop
(call "$(lib)/allocator/tlsf/Root#addMemory"
;;@ (lib)/allocator/tlsf.ts:472:6
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:472:21
2018-02-12 19:17:50 +01:00
(i32.shl
(get_local $9)
;;@ (lib)/allocator/tlsf.ts:472:43
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
;;@ (lib)/allocator/tlsf.ts:472:47
2018-02-12 19:17:50 +01:00
(i32.shl
2018-02-25 00:13:39 +01:00
(get_local $12)
;;@ (lib)/allocator/tlsf.ts:472:68
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
)
)
;;@ (lib)/allocator/tlsf.ts:473:6
2018-02-12 19:17:50 +01:00
(set_local $8
;;@ (lib)/allocator/tlsf.ts:473:14
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $6
;;@ (lib)/allocator/tlsf.ts:473:26
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#search"
;;@ (lib)/allocator/tlsf.ts:473:21
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:473:33
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 473)
2018-02-12 19:17:50 +01:00
(i32.const 14)
)
(unreachable)
)
(get_local $6)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:476:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:476:11
2018-02-12 19:17:50 +01:00
(i32.ge_u
(i32.and
;;@ (lib)/allocator/tlsf.ts:476:12
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $8)
)
;;@ (lib)/allocator/tlsf.ts:476:25
2018-02-12 19:17:50 +01:00
(i32.xor
;;@ (lib)/allocator/tlsf.ts:476:26
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
;;@ (lib)/allocator/tlsf.ts:476:35
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 476)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:477:4
2018-02-12 19:17:50 +01:00
(set_local $5
;;@ (lib)/allocator/tlsf.ts:477:16
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#use"
;;@ (lib)/allocator/tlsf.ts:477:11
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:477:20
2018-02-12 19:17:50 +01:00
(get_local $8)
;;@ (lib)/allocator/tlsf.ts:477:27
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
)
;;@ (lib)/allocator/tlsf.ts:480: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:486:2
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:486:6
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:486:12
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:487:4
2018-02-12 19:17:50 +01:00
(set_local $1
;;@ (lib)/allocator/tlsf.ts:487:15
2018-02-12 19:17:50 +01:00
(get_global "$(lib)/allocator/tlsf/ROOT")
)
;;@ (lib)/allocator/tlsf.ts:488:4
2018-02-12 19:17:50 +01:00
(if
;;@ (lib)/allocator/tlsf.ts:488:8
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (lib)/allocator/tlsf.ts:488:14
2018-02-12 19:17:50 +01:00
(block
;;@ (lib)/allocator/tlsf.ts:489:6
2018-02-12 19:17:50 +01:00
(set_local $2
;;@ (lib)/allocator/tlsf.ts:489:18
2018-02-12 19:17:50 +01:00
(i32.sub
;;@ (lib)/allocator/tlsf.ts:489:36
2018-02-12 19:17:50 +01:00
(get_local $0)
;;@ (lib)/allocator/tlsf.ts:489:43
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
;;@ (lib)/allocator/tlsf.ts:490:6
2018-02-12 19:17:50 +01:00
(set_local $3
;;@ (lib)/allocator/tlsf.ts:490:22
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $2)
)
)
;;@ (lib)/allocator/tlsf.ts:491:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:491:13
2018-02-12 19:17:50 +01:00
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:491:14
2018-02-12 19:17:50 +01:00
(i32.and
;;@ (lib)/allocator/tlsf.ts:491:15
2018-02-12 19:17:50 +01:00
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:491:27
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 491)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
;;@ (lib)/allocator/tlsf.ts:492:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $2)
;;@ (lib)/allocator/tlsf.ts:492:19
2018-02-12 19:17:50 +01:00
(i32.or
(get_local $3)
;;@ (lib)/allocator/tlsf.ts:492:31
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
;;@ (lib)/allocator/tlsf.ts:493:11
2018-02-12 19:17:50 +01:00
(call "$(lib)/allocator/tlsf/Root#insert"
;;@ (lib)/allocator/tlsf.ts:493:6
2018-02-12 19:17:50 +01:00
(get_local $1)
;;@ (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
)
)
)
)
)
)
)
2018-02-25 00:13:39 +01:00
(func $start (; 20 ;) (type $v)
;;@ (lib)/allocator/tlsf.ts:118:0
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
;;@ (lib)/allocator/tlsf.ts:118:7
2018-02-12 19:17:50 +01:00
(i32.le_s
(i32.shl
;;@ (lib)/allocator/tlsf.ts:118:8
2018-02-12 19:17:50 +01:00
(i32.const 1)
;;@ (lib)/allocator/tlsf.ts:118:13
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
;;@ (lib)/allocator/tlsf.ts:118:25
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
(i32.const 118)
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
(unreachable)
)
)
)
)