2769 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)))
2018-04-03 23:56:48 +02:00
(global $~lib/allocator/common/index/AL_BITS i32 (i32.const 3))
(global $~lib/allocator/common/index/AL_SIZE i32 (i32.const 8))
(global $~lib/allocator/common/index/AL_MASK i32 (i32.const 7))
(global $~lib/allocator/common/index/MAX_SIZE_32 i32 (i32.const 1073741824))
(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))
(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 52))
2018-02-12 19:17:50 +01:00
(memory $0 1)
2018-04-03 23:56:48 +02:00
(data (i32.const 4) "\16\00\00\00~\00l\00i\00b\00/\00a\00l\00l\00o\00c\00a\00t\00o\00r\00/\00t\00l\00s\00f\00.\00t\00s\00")
(export "allocate_memory" (func $~lib/allocator/tlsf/allocate_memory))
(export "free_memory" (func $~lib/allocator/tlsf/free_memory))
2018-02-12 19:17:50 +01:00
(export "memory" (memory $0))
(start $start)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Root#set:tailRef (; 1 ;) (type $iiv) (param $0 i32) (param $1 i32)
;;@ ~lib/allocator/tlsf.ts:184:30
(i32.store offset=2912
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:184:43
2018-02-12 19:17:50 +01:00
(i32.const 0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:184:46
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Root#setSLMap (; 2 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
;;@ ~lib/allocator/tlsf.ts:147:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:147:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:147:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 147)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:148:4
2018-02-12 19:17:50 +01:00
(i32.store offset=4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:148:15
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:148:41
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:148:46
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:148:49
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
2018-04-03 23:56:48 +02:00
(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:170:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:170:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:170:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 170)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:171:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:171:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:171:16
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 171)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:172:4
2018-02-12 19:17:50 +01:00
(i32.store offset=96
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:173:6
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:173:32
2018-02-12 19:17:50 +01:00
(i32.mul
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:173:33
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:173:38
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:173:48
2018-02-12 19:17:50 +01:00
(get_local $2)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:173:61
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:174:6
2018-02-12 19:17:50 +01:00
(get_local $3)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Root#get:tailRef (; 4 ;) (type $ii) (param $0 i32) (result i32)
;;@ ~lib/allocator/tlsf.ts:183:58
2018-02-12 19:17:50 +01:00
(return
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:183:32
(i32.load offset=2912
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:183:44
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Block#get:right (; 5 ;) (type $ii) (param $0 i32) (result i32)
2018-02-12 19:17:50 +01:00
(local $1 i32)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:92:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:92:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:92:23
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:92:24
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 92)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:97:4
2018-02-12 19:17:50 +01:00
(return
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:93:11
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $1
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:94:6
2018-02-12 19:17:50 +01:00
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:95:8
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:95:34
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:95:47
2018-02-12 19:17:50 +01:00
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:95:48
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:95:60
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:95:61
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 93)
2018-02-12 19:17:50 +01:00
(i32.const 11)
)
(unreachable)
)
(get_local $1)
)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/fls<usize> (; 6 ;) (type $ii) (param $0 i32) (result i32)
;;@ ~lib/allocator/tlsf.ts:431:2
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:431:9
2018-02-12 19:17:50 +01:00
(i32.ne
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:431:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 431)
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:432:2
2018-02-12 19:17:50 +01:00
(nop)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:433:26
2018-02-12 19:17:50 +01:00
(return
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:433:9
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 31)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:433:15
2018-02-12 19:17:50 +01:00
(i32.clz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:433:22
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Root#getHead (; 7 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
;;@ ~lib/allocator/tlsf.ts:161:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:161:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:161:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 161)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:162:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:162:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:162:16
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 162)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:165:20
2018-02-12 19:17:50 +01:00
(return
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:163:11
2018-02-12 19:17:50 +01:00
(i32.load offset=96
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:164:6
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:164:32
2018-02-12 19:17:50 +01:00
(i32.mul
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:164:33
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:164:38
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:164:48
2018-02-12 19:17:50 +01:00
(get_local $2)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:164:61
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Root#getSLMap (; 8 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
;;@ ~lib/allocator/tlsf.ts:141:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:141:11
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:141:16
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 141)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:142:68
2018-02-12 19:17:50 +01:00
(return
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:142:11
2018-02-12 19:17:50 +01:00
(i32.load offset=4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:142:21
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:142:47
2018-02-12 19:17:50 +01:00
(i32.mul
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:142:52
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Root#remove (; 9 ;) (type $iiv) (param $0 i32) (param $1 i32)
2018-02-12 19:17:50 +01:00
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:260:4
2018-02-12 19:17:50 +01:00
(set_local $2
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:260:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:261:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:261:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:261:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 261)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:262:4
2018-02-12 19:17:50 +01:00
(set_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:262:15
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:262:27
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:262:28
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:263:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:263:11
2018-02-12 19:17:50 +01:00
(i32.and
(if (result i32)
(tee_local $4
(i32.ge_u
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:263:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:263:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:263: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)
2018-04-03 23:56:48 +02:00
(i32.const 263)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:266:4
2018-02-12 19:17:50 +01:00
(nop)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:267:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:267:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:267:15
(i32.const 256)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:267:24
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:268:6
2018-02-12 19:17:50 +01:00
(set_local $5
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:268:11
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:269:6
2018-02-12 19:17:50 +01:00
(set_local $6
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:269:11
2018-02-12 19:17:50 +01:00
(i32.div_u
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:269:17
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:269:24
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:270:11
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:271:6
2018-02-12 19:17:50 +01:00
(set_local $5
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:271:11
(call $~lib/allocator/tlsf/fls<usize>
;;@ ~lib/allocator/tlsf.ts:271:22
2018-02-12 19:17:50 +01:00
(get_local $3)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:272:6
2018-02-12 19:17:50 +01:00
(set_local $6
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:272:11
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:272:17
2018-02-12 19:17:50 +01:00
(i32.shr_u
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:272:18
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:272:26
2018-02-12 19:17:50 +01:00
(i32.sub
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:272:27
2018-02-12 19:17:50 +01:00
(get_local $5)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:272:32
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:272:44
2018-02-12 19:17:50 +01:00
(i32.shl
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:272:45
2018-02-12 19:17:50 +01:00
(i32.const 1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:272:50
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:273:6
2018-02-12 19:17:50 +01:00
(set_local $5
(i32.sub
(get_local $5)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:273:12
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:273:22
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:277:4
2018-02-12 19:17:50 +01:00
(set_local $7
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:277:15
2018-02-12 19:17:50 +01:00
(i32.load offset=4
(get_local $1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:278:4
2018-02-12 19:17:50 +01:00
(set_local $8
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:278:15
2018-02-12 19:17:50 +01:00
(i32.load offset=8
(get_local $1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:279:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:279:8
2018-02-12 19:17:50 +01:00
(get_local $7)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:279:14
2018-02-12 19:17:50 +01:00
(i32.store offset=8
(get_local $7)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:279:26
2018-02-12 19:17:50 +01:00
(get_local $8)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:280:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:280:8
2018-02-12 19:17:50 +01:00
(get_local $8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:280:14
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:280:26
2018-02-12 19:17:50 +01:00
(get_local $7)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:283:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:283:8
2018-02-12 19:17:50 +01:00
(i32.eq
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:283:22
(call $~lib/allocator/tlsf/Root#getHead
;;@ ~lib/allocator/tlsf.ts:283:17
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:283:30
2018-02-12 19:17:50 +01:00
(get_local $5)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:283:34
2018-02-12 19:17:50 +01:00
(get_local $6)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:283:39
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:284:11
(call $~lib/allocator/tlsf/Root#setHead
;;@ ~lib/allocator/tlsf.ts:284:6
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:284:19
2018-02-12 19:17:50 +01:00
(get_local $5)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:284:23
2018-02-12 19:17:50 +01:00
(get_local $6)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:284:27
2018-02-12 19:17:50 +01:00
(get_local $8)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:287:6
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:287:10
2018-02-12 19:17:50 +01:00
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:287:11
2018-02-12 19:17:50 +01:00
(get_local $8)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:287:17
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:288:8
(set_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:288:25
(call $~lib/allocator/tlsf/Root#getSLMap
;;@ ~lib/allocator/tlsf.ts:288:20
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:288:34
2018-02-12 19:17:50 +01:00
(get_local $5)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:289:13
(call $~lib/allocator/tlsf/Root#setSLMap
;;@ ~lib/allocator/tlsf.ts:289:8
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:289:22
2018-02-12 19:17:50 +01:00
(get_local $5)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:289:26
(tee_local $4
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $4)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:289:35
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:289:36
2018-02-12 19:17:50 +01:00
(i32.shl
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:289:37
2018-02-12 19:17:50 +01:00
(i32.const 1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:289:42
2018-02-12 19:17:50 +01:00
(get_local $6)
)
(i32.const -1)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:292:8
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:292:12
2018-02-12 19:17:50 +01:00
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:292:13
(get_local $4)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:292:20
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $0)
(i32.and
(i32.load
(get_local $0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:292:34
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:292:35
2018-02-12 19:17:50 +01:00
(i32.shl
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:292:36
2018-02-12 19:17:50 +01:00
(i32.const 1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:292:41
2018-02-12 19:17:50 +01:00
(get_local $5)
)
(i32.const -1)
)
)
)
)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Block#get:left (; 10 ;) (type $ii) (param $0 i32) (result i32)
2018-02-12 19:17:50 +01:00
(local $1 i32)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:84:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:84:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:84:23
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 84)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:87:4
2018-02-12 19:17:50 +01:00
(return
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:85:11
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $1
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:86:6
2018-02-12 19:17:50 +01:00
(i32.load
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:86:18
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:86:44
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 85)
2018-02-12 19:17:50 +01:00
(i32.const 11)
)
(unreachable)
)
(get_local $1)
)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Root#setJump (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32)
;;@ ~lib/allocator/tlsf.ts:337:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:337:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $1)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:337:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 337)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:338:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:338:11
2018-02-12 19:17:50 +01:00
(i32.eq
2018-04-03 23:56:48 +02:00
(call $~lib/allocator/tlsf/Block#get:right
2018-02-12 19:17:50 +01:00
(get_local $1)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:338:25
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 338)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:339:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:339:11
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $2)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:339:24
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 339)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:340:4
2018-02-12 19:17:50 +01:00
(i32.store
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:341:6
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:341:33
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:342:6
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Root#insert (; 12 ;) (type $iiv) (param $0 i32) (param $1 i32)
2018-02-12 19:17:50 +01:00
(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)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:192:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:192:11
2018-02-12 19:17:50 +01:00
(get_local $1)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 192)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:193:4
2018-02-12 19:17:50 +01:00
(set_local $2
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:193:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:194:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:194:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:194:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 194)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:195:4
2018-02-12 19:17:50 +01:00
(nop)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:196:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:197:6
2018-02-12 19:17:50 +01:00
(i32.and
(if (result i32)
(tee_local $4
(i32.ge_u
(tee_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:197:14
(i32.and
(i32.load
(get_local $1)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:197:27
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:197:28
(i32.const 3)
(i32.const -1)
2018-02-12 19:17:50 +01:00
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:197:37
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:197:55
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:197: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)
2018-04-03 23:56:48 +02:00
(i32.const 196)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:200:4
2018-02-12 19:17:50 +01:00
(set_local $5
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:200:23
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:200:30
(call $~lib/allocator/tlsf/Block#get:right
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 200)
2018-02-12 19:17:50 +01:00
(i32.const 23)
)
(unreachable)
)
(get_local $4)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:201:4
2018-02-12 19:17:50 +01:00
(set_local $6
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:201:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $5)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:204:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:204:8
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $6)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:204:20
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:204:26
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:205:11
(call $~lib/allocator/tlsf/Root#remove
;;@ ~lib/allocator/tlsf.ts:205:6
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:205:18
2018-02-12 19:17:50 +01:00
(get_local $5)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:206:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:206:19
2018-02-12 19:17:50 +01:00
(tee_local $2
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:206:20
2018-02-12 19:17:50 +01:00
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:206:33
2018-02-12 19:17:50 +01:00
(i32.add
(i32.const 8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:206:46
2018-02-12 19:17:50 +01:00
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:206:47
2018-02-12 19:17:50 +01:00
(get_local $6)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:206:59
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:206:60
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:207:6
2018-02-12 19:17:50 +01:00
(set_local $5
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:207:14
(call $~lib/allocator/tlsf/Block#get:right
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:208:6
2018-02-12 19:17:50 +01:00
(set_local $6
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:208:18
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $5)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:213:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:213:8
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:213:20
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:213:31
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:214:6
(set_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:214:24
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:214:31
(call $~lib/allocator/tlsf/Block#get:left
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 214)
2018-02-12 19:17:50 +01:00
(i32.const 24)
)
(unreachable)
)
(get_local $4)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:215:6
(set_local $7
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:215:21
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $4)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:216:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:216:13
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $7)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:216:24
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 216)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:217:11
(call $~lib/allocator/tlsf/Root#remove
;;@ ~lib/allocator/tlsf.ts:217:6
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:217:18
(get_local $4)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:218:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $4)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:218:18
(tee_local $7
2018-02-12 19:17:50 +01:00
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:218:19
(get_local $7)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:218:31
2018-02-12 19:17:50 +01:00
(i32.add
(i32.const 8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:218:44
2018-02-12 19:17:50 +01:00
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:218:45
2018-02-12 19:17:50 +01:00
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:218:57
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:218:58
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:219:6
2018-02-12 19:17:50 +01:00
(set_local $1
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:219:14
(get_local $4)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:220:6
2018-02-12 19:17:50 +01:00
(set_local $2
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:220:18
(get_local $7)
2018-02-12 19:17:50 +01:00
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:224:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $5)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:224:17
2018-02-12 19:17:50 +01:00
(i32.or
(get_local $6)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:224:29
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:225:9
(call $~lib/allocator/tlsf/Root#setJump
;;@ ~lib/allocator/tlsf.ts:225:4
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:225:17
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:225:24
2018-02-12 19:17:50 +01:00
(get_local $5)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:228:4
2018-02-12 19:17:50 +01:00
(set_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:228:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:228:23
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:228:24
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:229:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:229:11
2018-02-12 19:17:50 +01:00
(i32.and
(if (result i32)
(tee_local $7
(i32.ge_u
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:229:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:229:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:229: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)
2018-04-03 23:56:48 +02:00
(i32.const 229)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:232:4
2018-02-12 19:17:50 +01:00
(nop)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:233:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:233:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:233:15
(i32.const 256)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:233:24
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:234:6
(set_local $8
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:234:11
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:235:6
(set_local $9
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:235:11
2018-02-12 19:17:50 +01:00
(i32.div_u
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:235:17
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:235:24
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:236:11
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:237:6
(set_local $8
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:237:11
(call $~lib/allocator/tlsf/fls<usize>
;;@ ~lib/allocator/tlsf.ts:237:22
2018-02-12 19:17:50 +01:00
(get_local $3)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:238:6
(set_local $9
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:238:11
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:238:17
2018-02-12 19:17:50 +01:00
(i32.shr_u
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:238:18
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:238:26
2018-02-12 19:17:50 +01:00
(i32.sub
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:238:27
(get_local $8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:238:32
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:238:44
2018-02-12 19:17:50 +01:00
(i32.shl
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:238:45
2018-02-12 19:17:50 +01:00
(i32.const 1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:238:50
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:239:6
(set_local $8
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:239:12
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:239:22
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:243:4
(set_local $10
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:243:20
(call $~lib/allocator/tlsf/Root#getHead
;;@ ~lib/allocator/tlsf.ts:243:15
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:243:28
(get_local $8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:243:32
(get_local $9)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:244:4
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:244:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:245:4
2018-02-12 19:17:50 +01:00
(i32.store offset=8
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:245:17
(get_local $10)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:246:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:246:8
(get_local $10)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:246:14
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $10)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:246:26
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:247:9
(call $~lib/allocator/tlsf/Root#setHead
;;@ ~lib/allocator/tlsf.ts:247:4
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:247:17
(get_local $8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:247:21
(get_local $9)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:247:25
2018-02-12 19:17:50 +01:00
(get_local $1)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:250:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $0)
(i32.or
(i32.load
(get_local $0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:250:18
2018-02-12 19:17:50 +01:00
(i32.shl
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:250:19
2018-02-12 19:17:50 +01:00
(i32.const 1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:250:24
(get_local $8)
2018-02-12 19:17:50 +01:00
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:251:9
(call $~lib/allocator/tlsf/Root#setSLMap
;;@ ~lib/allocator/tlsf.ts:251:4
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:251:18
(get_local $8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:251:22
2018-02-12 19:17:50 +01:00
(i32.or
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:251:27
(call $~lib/allocator/tlsf/Root#getSLMap
;;@ ~lib/allocator/tlsf.ts:251:22
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:251:36
(get_local $8)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:251:42
2018-02-12 19:17:50 +01:00
(i32.shl
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:251:43
2018-02-12 19:17:50 +01:00
(i32.const 1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:251:48
(get_local $9)
2018-02-12 19:17:50 +01:00
)
)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Root#addMemory (; 13 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
2018-02-12 19:17:50 +01:00
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:380:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:380:11
2018-02-12 19:17:50 +01:00
(i32.le_u
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:380:20
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 380)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:381:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:381:11
2018-02-12 19:17:50 +01:00
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:381:12
2018-02-12 19:17:50 +01:00
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:381:13
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:381:21
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 381)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:382:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:382:11
2018-02-12 19:17:50 +01:00
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:382:12
2018-02-12 19:17:50 +01:00
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:382:13
2018-02-12 19:17:50 +01:00
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:382:19
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 382)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:384:4
2018-02-12 19:17:50 +01:00
(set_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:384:18
(call $~lib/allocator/tlsf/Root#get:tailRef
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:385:4
2018-02-12 19:17:50 +01:00
(set_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:385:26
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:386:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:386:8
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:386:17
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:387:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:387:13
2018-02-12 19:17:50 +01:00
(i32.ge_u
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:387:22
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:387:32
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 387)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:390:6
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:390:10
2018-02-12 19:17:50 +01:00
(i32.eq
(i32.sub
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:390:18
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:390:32
2018-02-12 19:17:50 +01:00
(get_local $3)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:390:41
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:391:8
2018-02-12 19:17:50 +01:00
(set_local $1
(i32.sub
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:391:17
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:392:8
2018-02-12 19:17:50 +01:00
(set_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:392:19
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $3)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:396:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:396:13
2018-02-12 19:17:50 +01:00
(i32.ge_u
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:396:22
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:396:48
(i32.const 2916)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 396)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:400:4
2018-02-12 19:17:50 +01:00
(set_local $5
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:400:15
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:400:21
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:401:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:401:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $5)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:401:15
2018-02-12 19:17:50 +01:00
(i32.add
(i32.add
(i32.const 8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:401:28
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:401:45
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:402:13
2018-02-12 19:17:50 +01:00
(return
(i32.const 0)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:406:4
2018-02-12 19:17:50 +01:00
(set_local $6
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:406:19
2018-02-12 19:17:50 +01:00
(i32.sub
(get_local $5)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:406:26
2018-02-12 19:17:50 +01:00
(i32.mul
(i32.const 2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:406:30
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:407:4
2018-02-12 19:17:50 +01:00
(set_local $7
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:407:15
2018-02-12 19:17:50 +01:00
(get_local $1)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:408:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $7)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:408:16
2018-02-12 19:17:50 +01:00
(i32.or
(i32.or
(get_local $6)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:408:27
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:408:34
2018-02-12 19:17:50 +01:00
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:408:35
2018-02-12 19:17:50 +01:00
(get_local $4)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:408:46
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:409:4
2018-02-12 19:17:50 +01:00
(i32.store offset=4
(get_local $7)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:409:16
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:410:4
2018-02-12 19:17:50 +01:00
(i32.store offset=8
(get_local $7)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:410:16
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:413:4
2018-02-12 19:17:50 +01:00
(set_local $8
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:413:15
2018-02-12 19:17:50 +01:00
(i32.sub
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:413:33
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:413:41
2018-02-12 19:17:50 +01:00
(get_local $5)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:413:48
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:414:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:414:16
2018-02-12 19:17:50 +01:00
(i32.or
(i32.const 0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:414:20
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:415:4
(call $~lib/allocator/tlsf/Root#set:tailRef
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:415:19
2018-02-12 19:17:50 +01:00
(get_local $8)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:417:9
(call $~lib/allocator/tlsf/Root#insert
;;@ ~lib/allocator/tlsf.ts:417:4
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:417:16
2018-02-12 19:17:50 +01:00
(get_local $7)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:419:11
2018-02-12 19:17:50 +01:00
(return
(i32.const 1)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/ffs<usize> (; 14 ;) (type $ii) (param $0 i32) (result i32)
;;@ ~lib/allocator/tlsf.ts:425:2
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:425:9
2018-02-12 19:17:50 +01:00
(i32.ne
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:425:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 425)
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:426:20
2018-02-12 19:17:50 +01:00
(return
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:426:9
2018-02-12 19:17:50 +01:00
(i32.ctz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:426:16
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/ffs<u32> (; 15 ;) (type $ii) (param $0 i32) (result i32)
;;@ ~lib/allocator/tlsf.ts:425:2
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:425:9
2018-02-12 19:17:50 +01:00
(i32.ne
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:425:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 425)
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:426:20
2018-02-12 19:17:50 +01:00
(return
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:426:9
2018-02-12 19:17:50 +01:00
(i32.ctz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:426:16
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Root#search (; 16 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
2018-02-12 19:17:50 +01:00
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:299:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:299:11
2018-02-12 19:17:50 +01:00
(i32.and
(if (result i32)
(tee_local $2
(i32.ge_u
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:299:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:299:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:299: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)
2018-04-03 23:56:48 +02:00
(i32.const 299)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:302:4
2018-02-12 19:17:50 +01:00
(nop)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:303:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:303:8
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:303:15
(i32.const 256)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:303:24
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:304:6
2018-02-12 19:17:50 +01:00
(set_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:304:11
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:305:6
2018-02-12 19:17:50 +01:00
(set_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:305:11
2018-02-12 19:17:50 +01:00
(i32.div_u
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:305:17
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:305:24
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:306:11
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:308:6
2018-02-12 19:17:50 +01:00
(set_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:308:11
(call $~lib/allocator/tlsf/fls<usize>
;;@ ~lib/allocator/tlsf.ts:308:22
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:309:6
2018-02-12 19:17:50 +01:00
(set_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:309:11
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:309:17
2018-02-12 19:17:50 +01:00
(i32.shr_u
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:309:18
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:309:26
2018-02-12 19:17:50 +01:00
(i32.sub
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:309:27
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:309:32
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:309:44
2018-02-12 19:17:50 +01:00
(i32.shl
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:309:45
2018-02-12 19:17:50 +01:00
(i32.const 1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:309:50
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:310:6
2018-02-12 19:17:50 +01:00
(set_local $3
(i32.sub
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:310:12
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:310:22
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:312:6
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:312:10
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $4)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:312:15
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.const 32)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:312:25
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:312:28
2018-02-12 19:17:50 +01:00
(set_local $4
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:312:30
2018-02-12 19:17:50 +01:00
(get_local $4)
(i32.const 1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:313:11
2018-02-12 19:17:50 +01:00
(block
(set_local $3
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:313:13
2018-02-12 19:17:50 +01:00
(get_local $3)
(i32.const 1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:313:17
2018-02-12 19:17:50 +01:00
(set_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:313:22
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:317:4
2018-02-12 19:17:50 +01:00
(set_local $5
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:317:16
2018-02-12 19:17:50 +01:00
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:317:21
(call $~lib/allocator/tlsf/Root#getSLMap
;;@ ~lib/allocator/tlsf.ts:317:16
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:317:30
2018-02-12 19:17:50 +01:00
(get_local $3)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:317:36
2018-02-12 19:17:50 +01:00
(i32.shl
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:317:37
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:317:38
2018-02-12 19:17:50 +01:00
(i32.const 0)
(i32.const -1)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:317:43
2018-02-12 19:17:50 +01:00
(get_local $4)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:318:4
2018-02-12 19:17:50 +01:00
(nop)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:319:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:319:8
2018-02-12 19:17:50 +01:00
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:319:9
2018-02-12 19:17:50 +01:00
(get_local $5)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:319:16
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:321:6
(set_local $2
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:321:18
2018-02-12 19:17:50 +01:00
(i32.and
(i32.load
(get_local $0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:321:31
2018-02-12 19:17:50 +01:00
(i32.shl
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:321:32
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:321:33
2018-02-12 19:17:50 +01:00
(i32.const 0)
(i32.const -1)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:321:38
2018-02-12 19:17:50 +01:00
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:321:39
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:321:44
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:322:6
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:322:10
2018-02-12 19:17:50 +01:00
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:322:11
(get_local $2)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:323:8
2018-02-12 19:17:50 +01:00
(set_local $6
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:323:15
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:324:13
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:325:8
2018-02-12 19:17:50 +01:00
(set_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:325:13
(call $~lib/allocator/tlsf/ffs<usize>
;;@ ~lib/allocator/tlsf.ts:325:24
(get_local $2)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:326:8
2018-02-12 19:17:50 +01:00
(set_local $5
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:326:16
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $7
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:326:28
(call $~lib/allocator/tlsf/Root#getSLMap
;;@ ~lib/allocator/tlsf.ts:326:23
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:326:37
2018-02-12 19:17:50 +01:00
(get_local $3)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 326)
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
(unreachable)
)
(get_local $7)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:327:8
2018-02-12 19:17:50 +01:00
(set_local $6
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:327:20
(call $~lib/allocator/tlsf/Root#getHead
;;@ ~lib/allocator/tlsf.ts:327:15
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:327:28
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:327:32
(call $~lib/allocator/tlsf/ffs<u32>
;;@ ~lib/allocator/tlsf.ts:327:41
2018-02-12 19:17:50 +01:00
(get_local $5)
)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:330:6
2018-02-12 19:17:50 +01:00
(set_local $6
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:330:18
(call $~lib/allocator/tlsf/Root#getHead
;;@ ~lib/allocator/tlsf.ts:330:13
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:330:26
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:330:30
(call $~lib/allocator/tlsf/ffs<u32>
;;@ ~lib/allocator/tlsf.ts:330:39
2018-02-12 19:17:50 +01:00
(get_local $5)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:332:11
2018-02-12 19:17:50 +01:00
(return
(get_local $6)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/Root#use (; 17 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
2018-02-12 19:17:50 +01:00
(local $3 i32)
(local $4 i32)
(local $5 i32)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:350:4
2018-02-12 19:17:50 +01:00
(set_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:350:20
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:351:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:351:11
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:351:23
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 351)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:352:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:352:11
2018-02-12 19:17:50 +01:00
(i32.and
(if (result i32)
(tee_local $4
(i32.ge_u
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:352:19
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:352:37
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:352: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)
2018-04-03 23:56:48 +02:00
(i32.const 352)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:353:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:353:11
2018-02-12 19:17:50 +01:00
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:353:12
2018-02-12 19:17:50 +01:00
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:353:13
2018-02-12 19:17:50 +01:00
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:353:20
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 353)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:355:9
(call $~lib/allocator/tlsf/Root#remove
;;@ ~lib/allocator/tlsf.ts:355:4
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:355:16
2018-02-12 19:17:50 +01:00
(get_local $1)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:358:4
2018-02-12 19:17:50 +01:00
(set_local $5
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:358:20
2018-02-12 19:17:50 +01:00
(i32.sub
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:358:21
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:358:33
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:358:34
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:358:42
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:359:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:359:8
2018-02-12 19:17:50 +01:00
(i32.ge_u
(get_local $5)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:359:21
2018-02-12 19:17:50 +01:00
(i32.add
(i32.const 8)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:359:34
(i32.const 16)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:359:50
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:360:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:360:19
2018-02-12 19:17:50 +01:00
(i32.or
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:360:26
2018-02-12 19:17:50 +01:00
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:360:27
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:360:39
2018-02-12 19:17:50 +01:00
(i32.const 2)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:362:6
(set_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:362:18
2018-02-12 19:17:50 +01:00
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:363:8
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:363:35
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:363:48
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:365:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $4)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:365:19
2018-02-12 19:17:50 +01:00
(i32.or
(i32.sub
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:365:20
2018-02-12 19:17:50 +01:00
(get_local $5)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:365:32
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:365:46
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:366:11
(call $~lib/allocator/tlsf/Root#insert
;;@ ~lib/allocator/tlsf.ts:366:6
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:366:18
(get_local $4)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:369:11
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:370:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:370:19
2018-02-12 19:17:50 +01:00
(i32.and
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:370:31
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:370:32
2018-02-12 19:17:50 +01:00
(i32.const 1)
(i32.const -1)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:371:6
(set_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:371:25
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:371:32
(call $~lib/allocator/tlsf/Block#get:right
2018-02-12 19:17:50 +01:00
(get_local $1)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 371)
2018-02-12 19:17:50 +01:00
(i32.const 25)
)
(unreachable)
)
(get_local $4)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:372: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
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:372:20
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:372:21
2018-02-12 19:17:50 +01:00
(i32.const 2)
(i32.const -1)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:375:44
2018-02-12 19:17:50 +01:00
(return
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:375:11
2018-02-12 19:17:50 +01:00
(i32.add
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:375:38
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/allocate_memory (; 18 ;) (type $ii) (param $0 i32) (result i32)
2018-02-12 19:17:50 +01:00
(local $1 i32)
(local $2 i32)
(local $3 i32)
(local $4 i32)
(local $5 i32)
(local $6 i32)
(local $7 i32)
(local $8 i32)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:446:2
2018-02-12 19:17:50 +01:00
(set_local $1
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:446:13
(get_global $~lib/allocator/tlsf/ROOT)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:447:2
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:447:6
2018-02-12 19:17:50 +01:00
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:447:7
2018-02-12 19:17:50 +01:00
(get_local $1)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:447:13
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:448:4
2018-02-12 19:17:50 +01:00
(set_local $2
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:448:21
2018-02-12 19:17:50 +01:00
(i32.and
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:448:22
2018-02-12 19:17:50 +01:00
(get_global $HEAP_BASE)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:448:34
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:448:45
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:448:46
(i32.const 7)
2018-02-12 19:17:50 +01:00
(i32.const -1)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:449:4
(set_global $~lib/allocator/tlsf/ROOT
;;@ ~lib/allocator/tlsf.ts:449:11
2018-02-12 19:17:50 +01:00
(tee_local $1
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:449:18
2018-02-12 19:17:50 +01:00
(get_local $2)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:450:4
(call $~lib/allocator/tlsf/Root#set:tailRef
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:450:19
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:451:4
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:451:17
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:452:4
2018-02-12 19:17:50 +01:00
(block $break|0
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:452:9
2018-02-12 19:17:50 +01:00
(set_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:452:25
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
(loop $continue|0
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:452:28
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:452:33
(i32.const 22)
2018-02-12 19:17:50 +01:00
)
(block
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:453:11
(call $~lib/allocator/tlsf/Root#setSLMap
;;@ ~lib/allocator/tlsf.ts:453:6
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:453:20
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:453:24
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:454:6
2018-02-12 19:17:50 +01:00
(block $break|1
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:454:11
2018-02-12 19:17:50 +01:00
(set_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:454:25
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
(loop $continue|1
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:454:28
2018-02-12 19:17:50 +01:00
(i32.lt_u
(get_local $4)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:454:33
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
(block
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:455:13
(call $~lib/allocator/tlsf/Root#setHead
;;@ ~lib/allocator/tlsf.ts:455:8
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:455:21
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:455:25
(get_local $4)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:455:29
(i32.const 0)
)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:454:42
2018-02-12 19:17:50 +01:00
(set_local $4
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:454:44
2018-02-12 19:17:50 +01:00
(get_local $4)
(i32.const 1)
)
)
(br $continue|1)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:452:42
2018-02-12 19:17:50 +01:00
(set_local $3
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:452:44
2018-02-12 19:17:50 +01:00
(get_local $3)
(i32.const 1)
)
)
(br $continue|0)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:458:9
2018-02-12 19:17:50 +01:00
(drop
2018-04-03 23:56:48 +02:00
(call $~lib/allocator/tlsf/Root#addMemory
;;@ ~lib/allocator/tlsf.ts:458:4
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:458:19
(i32.and
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:458:20
(i32.add
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:458:33
(i32.const 2916)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:458:45
(i32.const 7)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:458:56
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:458:57
(i32.const 7)
(i32.const -1)
)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:458:66
2018-02-12 19:17:50 +01:00
(i32.shl
(current_memory)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:458:86
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:462:2
2018-02-12 19:17:50 +01:00
(set_local $5
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:462:20
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:463:2
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:463:6
2018-02-12 19:17:50 +01:00
(if (result i32)
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:463:14
(i32.le_u
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:463:22
2018-02-12 19:17:50 +01:00
(i32.const 1073741824)
)
(get_local $0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:463:38
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:465:4
2018-02-12 19:17:50 +01:00
(set_local $0
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:465:11
2018-02-12 19:17:50 +01:00
(select
(tee_local $2
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:465:22
2018-02-12 19:17:50 +01:00
(i32.and
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:465:23
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:465:30
(i32.const 7)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:465:41
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:465:42
(i32.const 7)
2018-02-12 19:17:50 +01:00
(i32.const -1)
)
)
)
(tee_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:465: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
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:467:4
(set_local $2
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:467:21
(call $~lib/allocator/tlsf/Root#search
;;@ ~lib/allocator/tlsf.ts:467:16
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:467:28
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:468:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:468:8
2018-02-12 19:17:50 +01:00
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:468:9
(get_local $2)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:468:16
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:471:6
(set_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:471:24
2018-02-12 19:17:50 +01:00
(current_memory)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:472:6
(set_local $4
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:472:24
2018-02-25 00:13:39 +01:00
(i32.shr_u
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:472:25
2018-02-25 00:13:39 +01:00
(i32.add
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:472:26
2018-02-25 00:13:39 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:472:33
2018-02-25 00:13:39 +01:00
(i32.const 65535)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:472:43
2018-02-25 00:13:39 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:472:44
2018-02-25 00:13:39 +01:00
(i32.const 65535)
(i32.const -1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:472:56
2018-02-25 00:13:39 +01:00
(i32.const 16)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:473:6
(set_local $6
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:473:24
2018-02-12 19:17:50 +01:00
(select
(tee_local $6
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:473:28
(get_local $3)
2018-02-12 19:17:50 +01:00
)
(tee_local $7
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:473: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
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:474:6
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:474:10
2018-02-12 19:17:50 +01:00
(i32.lt_s
(grow_memory
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:474:22
(get_local $6)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:474:37
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:475:8
2018-02-25 00:13:39 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:475:12
2018-02-25 00:13:39 +01:00
(i32.lt_s
(grow_memory
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:475:24
(get_local $4)
2018-02-25 00:13:39 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:475:39
2018-02-25 00:13:39 +01:00
(i32.const 0)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:476:10
2018-02-25 00:13:39 +01:00
(unreachable)
)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:479:6
(set_local $7
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:479:23
2018-02-12 19:17:50 +01:00
(current_memory)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:480:11
2018-02-12 19:17:50 +01:00
(drop
2018-04-03 23:56:48 +02:00
(call $~lib/allocator/tlsf/Root#addMemory
;;@ ~lib/allocator/tlsf.ts:480:6
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:480:21
2018-02-12 19:17:50 +01:00
(i32.shl
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:480:43
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:480:47
2018-02-12 19:17:50 +01:00
(i32.shl
(get_local $7)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:480:68
2018-02-12 19:17:50 +01:00
(i32.const 16)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:481:6
(set_local $2
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:481:14
2018-02-12 19:17:50 +01:00
(if (result i32)
(i32.eqz
(tee_local $8
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:481:26
(call $~lib/allocator/tlsf/Root#search
;;@ ~lib/allocator/tlsf.ts:481:21
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:481:33
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 481)
2018-02-12 19:17:50 +01:00
(i32.const 14)
)
(unreachable)
)
(get_local $8)
2018-02-12 19:17:50 +01:00
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:484:4
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:484:11
2018-02-12 19:17:50 +01:00
(i32.ge_u
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:484:12
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $2)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:484:25
2018-02-12 19:17:50 +01:00
(i32.xor
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:484:26
2018-02-12 19:17:50 +01:00
(i32.const 3)
(i32.const -1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:484:35
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 484)
2018-02-12 19:17:50 +01:00
(i32.const 4)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:485:4
2018-02-12 19:17:50 +01:00
(set_local $5
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:485:16
(call $~lib/allocator/tlsf/Root#use
;;@ ~lib/allocator/tlsf.ts:485:11
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:485:20
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:485:27
2018-02-12 19:17:50 +01:00
(get_local $0)
)
)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:488:9
2018-02-12 19:17:50 +01:00
(return
(get_local $5)
)
)
2018-04-03 23:56:48 +02:00
(func $~lib/allocator/tlsf/free_memory (; 19 ;) (type $iv) (param $0 i32)
2018-02-12 19:17:50 +01:00
(local $1 i32)
(local $2 i32)
(local $3 i32)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:494:2
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:494:6
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:494:12
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:495:4
2018-02-12 19:17:50 +01:00
(set_local $1
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:495:15
(get_global $~lib/allocator/tlsf/ROOT)
2018-02-12 19:17:50 +01:00
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:496:4
2018-02-12 19:17:50 +01:00
(if
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:496:8
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:496:14
2018-02-12 19:17:50 +01:00
(block
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:497:6
2018-02-12 19:17:50 +01:00
(set_local $2
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:497:18
2018-02-12 19:17:50 +01:00
(i32.sub
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:497:36
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:497:43
(i32.const 8)
2018-02-12 19:17:50 +01:00
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:498:6
2018-02-12 19:17:50 +01:00
(set_local $3
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:498:22
2018-02-12 19:17:50 +01:00
(i32.load
(get_local $2)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:499:6
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:499:13
2018-02-12 19:17:50 +01:00
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:499:14
2018-02-12 19:17:50 +01:00
(i32.and
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:499:15
2018-02-12 19:17:50 +01:00
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:499:27
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 499)
2018-02-12 19:17:50 +01:00
(i32.const 6)
)
(unreachable)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:500:6
2018-02-12 19:17:50 +01:00
(i32.store
(get_local $2)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:500:19
2018-02-12 19:17:50 +01:00
(i32.or
(get_local $3)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:500:31
2018-02-12 19:17:50 +01:00
(i32.const 1)
)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:501:11
(call $~lib/allocator/tlsf/Root#insert
;;@ ~lib/allocator/tlsf.ts:501:6
2018-02-12 19:17:50 +01:00
(get_local $1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:501:18
2018-02-12 19:17:50 +01:00
(i32.sub
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:501:36
2018-02-12 19:17:50 +01:00
(get_local $0)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:501: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)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:125:0
2018-02-12 19:17:50 +01:00
(if
(i32.eqz
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:125:7
2018-02-12 19:17:50 +01:00
(i32.le_s
(i32.shl
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:125:8
2018-02-12 19:17:50 +01:00
(i32.const 1)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:125:13
2018-02-12 19:17:50 +01:00
(i32.const 5)
)
2018-04-03 23:56:48 +02:00
;;@ ~lib/allocator/tlsf.ts:125:25
2018-02-12 19:17:50 +01:00
(i32.const 32)
)
)
(block
(call $abort
(i32.const 0)
(i32.const 4)
2018-04-03 23:56:48 +02:00
(i32.const 125)
2018-02-12 19:17:50 +01:00
(i32.const 0)
)
(unreachable)
)
)
)
)