File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00037b80
    00037b80runtime.(*scavengerState).park: ; void runtime.(*scavengerState).park(runtime.scavengerState * s)
    00037b80ldr x16, [x28+16]
    00037b84subs xzr, sp, x16
    00037b88b.ls 0x37bec
    00037b8cstr x30, [sp-48]!
    00037b90stur x29, [sp-8]
    00037b94sub x29, sp, 8
    00037b98str x0, [sp+56]
    00037b9cldrsb x27, [x0]
    00037ba0bl runtime.lock
    00037ba4ldr x0, [sp+56]
    00037ba8ldr x1, [x0+8]
    00037bacsubs xzr, x28, x1
    00037bb0b.ne 0x37bd8
    00037bb4orr x4, xzr, 1
    00037bb8strb w4, [x0+28]
    00037bbcmovz x1, 13
    00037bc0movz x2, 10
    00037bc4orr x3, xzr, 2
    00037bc8bl runtime.goparkunlock
    00037bccldur x29, [sp-8]
    00037bd0ldr x30, [sp], 48
    00037bd4ret x30
    00037bd8
    00037bd8loc_37bd8:
    00037bd8adrp x0, 0x690000
    00037bdcadd x0, x0, 939
    00037be0movz x1, 46
    00037be4bl runtime.throw
    00037be8hint
    00037bec
    00037becloc_37bec:
    00037becstr x0, [sp+8]
    00037bf0mov x3, x30
    00037bf4bl runtime.morestack_noctxt.abi0
    00037bf8ldr x0, [sp+8]
    00037bfcb 0x37b80
    00037b80
    00037c00
    00037c00runtime.(*scavengerState).ready: ; void runtime.(*scavengerState).ready(runtime.scavengerState * s)
    00037c00ldr x16, [x28+16]
    00037c04subs xzr, sp, x16
    00037c08b.ls 0x37c34
    00037c0cstr x30, [sp-32]!
    00037c10stur x29, [sp-8]
    00037c14sub x29, sp, 8
    00037c18ldrsb x27, [x0]
    00037c1cadd x0, x0, 24
    00037c20orr x1, xzr, 1
    00037c24bl internal/runtime/atomic.(*Uint32).Store
    00037c28ldur x29, [sp-8]
    00037c2cldr x30, [sp], 32
    00037c30ret x30
    00037c34
    00037c34loc_37c34:
    00037c34str x0, [sp+8]
    00037c38mov x3, x30
    00037c3cbl runtime.morestack_noctxt.abi0
    00037c40ldr x0, [sp+8]
    00037c44b 0x37c00
    00037c48udf 0
    00037c4cudf 0
    00037c00
    00037c50
    00037c50runtime.(*scavengerState).wake: ; void runtime.(*scavengerState).wake(runtime.scavengerState * s)
    00037c50ldr x16, [x28+16]
    00037c54subs xzr, sp, x16
    00037c58b.ls 0x37cc0
    00037c5cstr x30, [sp-48]!
    00037c60stur x29, [sp-8]
    00037c64sub x29, sp, 8
    00037c68str x0, [sp+56]
    00037c6cldrsb x27, [x0]
    00037c70bl runtime.lock
    00037c74ldr x0, [sp+56]
    00037c78ldrb w1, [x0+28]
    00037c7ctbz w1, 0, 0x37cb0
    00037c80add x0, x0, 24
    00037c84mov x1, xzr
    00037c88bl internal/runtime/atomic.(*Uint32).Store
    00037c8cldr x2, [sp+56]
    00037c90strb wzr, [x2+28]
    00037c94str xzr, [sp+32]
    00037c98ldr x1, [x2+8]
    00037c9cadd x0, sp, 32
    00037ca0bl runtime.(*gList).push
    00037ca4add x0, sp, 32
    00037ca8bl runtime.injectglist
    00037cacldr x0, [sp+56]
    00037cb0
    00037cb0loc_37cb0:
    00037cb0bl runtime.unlock
    00037cb4ldur x29, [sp-8]
    00037cb8ldr x30, [sp], 48
    00037cbcret x30
    00037cc0
    00037cc0loc_37cc0:
    00037cc0str x0, [sp+8]
    00037cc4mov x3, x30
    00037cc8bl runtime.morestack_noctxt.abi0
    00037cccldr x0, [sp+8]
    00037cd0b 0x37c50
    00037cd4udf 0
    00037cd8udf 0
    00037cdcudf 0
    00037c50
    00037ce0
    00037ce0runtime.(*scavengerState).sleep: ; void runtime.(*scavengerState).sleep(runtime.scavengerState * s, float64 worked)
    00037ce0ldr x16, [x28+16]
    00037ce4subs xzr, sp, x16
    00037ce8b.ls 0x37ebc
    00037cecstr x30, [sp-96]!
    00037cf0stur x29, [sp-8]
    00037cf4sub x29, sp, 8
    00037cf8str x0, [sp+104]
    00037cfcstr d0, [sp+112]
    00037d00ldrsb x27, [x0]
    00037d04bl runtime.lock
    00037d08ldr x0, [sp+104]
    00037d0cldr x1, [x0+8]
    00037d10subs xzr, x28, x1
    00037d14b.ne 0x37ea8
    00037d18ldr d0, [sp+112]
    00037d1cadrp x27, 0x6d9000
    00037d20ldr d1, [x27+3240]
    00037d24fcmp d0, d1
    00037d28b.pl 0x37d34
    00037d2cadrp x27, 0x6d9000
    00037d30ldr d0, [x27+3240]
    00037d34
    00037d34loc_37d34:
    00037d34str d0, [sp+80]
    00037d38ldr d1, [x0+40]
    00037d3cfdiv d1, d0, d1
    00037d40fcvtzs x1, d1
    00037d44str x1, [sp+56]
    00037d48ldr x2, [x0+112]
    00037d4ccbz x2, 0x37d6c
    00037d50bl runtime.unlock
    00037d54ldr x1, [sp+104]
    00037d58ldr x26, [x1+112]
    00037d5cldr x1, [x26]
    00037d60ldr x0, [sp+56]
    00037d64blr x1
    00037d68b 0x37de8
    00037d6c
    00037d6cloc_37d6c:
    00037d6cbl runtime.nanotime
    00037d70str x0, [sp+48]
    00037d74ldr x1, [sp+104]
    00037d78ldr x1, [x1+16]
    00037d7cldr x2, [sp+56]
    00037d80add x0, x2, x0
    00037d84mov x2, xzr
    00037d88mov x3, x0
    00037d8cmov x0, x1
    00037d90mov x1, x3
    00037d94bl runtime.(*timer).reset
    00037d98orr x0, xzr, 1
    00037d9cldr x1, [sp+104]
    00037da0strb w0, [x1+28]
    00037da4mov x0, x1
    00037da8movz x1, 19
    00037dacorr x2, xzr, 14
    00037db0orr x3, xzr, 2
    00037db4bl runtime.goparkunlock
    00037db8bl runtime.nanotime
    00037dbcstr x0, [sp+72]
    00037dc0ldr x0, [sp+104]
    00037dc4bl runtime.lock
    00037dc8ldr x0, [sp+104]
    00037dccldr x0, [x0+16]
    00037dd0bl runtime.(*timer).stop
    00037dd4ldr x0, [sp+104]
    00037dd8bl runtime.unlock
    00037ddcldr x0, [sp+72]
    00037de0ldr x1, [sp+48]
    00037de4sub x0, x0, x1
    00037de8
    00037de8loc_37de8:
    00037de8ldr x1, [sp+104]
    00037decldr x2, [x1+104]
    00037df0subs xzr, x2, 0
    00037df4b.le 0x37e28
    00037df8ldr d0, [sp+80]
    00037dfcfcvtzs x3, d0
    00037e00add x0, x0, x3
    00037e04subs xzr, x2, x0
    00037e08b.ge 0x37e14
    00037e0cstr xzr, [x1+104]
    00037e10b 0x37e1c
    00037e14
    00037e14loc_37e14:
    00037e14sub x0, x2, x0
    00037e18str x0, [x1+104]
    00037e1c
    00037e1cloc_37e1c:
    00037e1cldur x29, [sp-8]
    00037e20ldr x30, [sp], 96
    00037e24ret x30
    00037e28
    00037e28loc_37e28:
    00037e28scvtf d0, x0
    00037e2cldr d1, [sp+80]
    00037e30fadd d0, d1, d0
    00037e34str d0, [sp+64]
    00037e38ldr x26, [x1+136]
    00037e3cldr x0, [x26]
    00037e40blr x0
    00037e44scvtf d0, w0
    00037e48ldr d2, [sp+64]
    00037e4cfmul d0, d2, d0
    00037e50ldr d1, [sp+80]
    00037e54fdiv d0, d1, d0
    00037e58ldr x0, [sp+104]
    00037e5cadd x0, x0, 48
    00037e60adrp x27, 0x6d9000
    00037e64ldr d1, [x27+3168]
    00037e68bl runtime.(*piController).next
    00037e6cldr x1, [sp+104]
    00037e70str d0, [x1+40]
    00037e74tbnz w0, 0, 0x37e9c
    00037e78adrp x27, 0x6d9000
    00037e7cldr d0, [x27+3160]
    00037e80str d0, [x1+40]
    00037e84movz x2, 61952
    00037e88movk x2, 0x2a050000
    00037e8cmovk x2, 0x100000000
    00037e90str x2, [x1+104]
    00037e94mov x0, x1
    00037e98bl runtime.(*scavengerState).controllerFailed
    00037e9c
    00037e9cloc_37e9c:
    00037e9cldur x29, [sp-8]
    00037ea0ldr x30, [sp], 96
    00037ea4ret x30
    00037ea8
    00037ea8loc_37ea8:
    00037ea8adrp x0, 0x690000
    00037eacadd x0, x0, 3292
    00037eb0movz x1, 47
    00037eb4bl runtime.throw
    00037eb8hint
    00037ebc
    00037ebcloc_37ebc:
    00037ebcstr x0, [sp+8]
    00037ec0str d0, [sp+16]
    00037ec4mov x3, x30
    00037ec8bl runtime.morestack_noctxt.abi0
    00037eccldr x0, [sp+8]
    00037ed0ldr d0, [sp+16]
    00037ed4b 0x37ce0
    00037ed8udf 0
    00037edcudf 0
    00037ce0
    00037ee0
    00037ee0runtime.(*scavengerState).controllerFailed: ; void runtime.(*scavengerState).controllerFailed(runtime.scavengerState * s)
    00037ee0ldr x16, [x28+16]
    00037ee4subs xzr, sp, x16
    00037ee8b.ls 0x37f20
    00037eecstr x30, [sp-32]!
    00037ef0stur x29, [sp-8]
    00037ef4sub x29, sp, 8
    00037ef8str x0, [sp+40]
    00037efcldrsb x27, [x0]
    00037f00bl runtime.lock
    00037f04orr x1, xzr, 1
    00037f08ldr x0, [sp+40]
    00037f0cstrb w1, [x0+29]
    00037f10bl runtime.unlock
    00037f14ldur x29, [sp-8]
    00037f18ldr x30, [sp], 32
    00037f1cret x30
    00037f20
    00037f20loc_37f20:
    00037f20str x0, [sp+8]
    00037f24mov x3, x30
    00037f28bl runtime.morestack_noctxt.abi0
    00037f2cldr x0, [sp+8]
    00037f30b 0x37ee0
    00037f34udf 0
    00037f38udf 0
    00037f3cudf 0
    00037ee0
    00037f40
    00037f40runtime.(*scavengerState).run: ; void runtime.(*scavengerState).run(runtime.scavengerState * s)
    00037f40ldr x16, [x28+16]
    00037f44subs xzr, sp, x16
    00037f48b.ls 0x38090
    00037f4cstr x30, [sp-48]!
    00037f50stur x29, [sp-8]
    00037f54sub x29, sp, 8
    00037f58str x0, [sp+56]
    00037f5cldrsb x27, [x0]
    00037f60bl runtime.lock
    00037f64ldr x0, [sp+56]
    00037f68ldr x1, [x0+8]
    00037f6csubs xzr, x28, x1
    00037f70b.ne 0x3807c
    00037f74bl runtime.unlock
    00037f78fmov d0, xzr
    00037f7cmov x0, xzr
    00037f80b 0x37f8c
    00037f84
    00037f84loc_37f84:
    00037f84fmov d0, d1
    00037f88mov x0, x2
    00037f8c
    00037f8cloc_37f8c:
    00037f8cadrp x27, 0x6d9000
    00037f90ldr d1, [x27+3240]
    00037f94fcmp d0, d1
    00037f98b.pl 0x38038
    00037f9cstr d0, [sp+32]
    00037fa0str x0, [sp+24]
    00037fa4ldr x0, [sp+56]
    00037fa8ldr x26, [x0+128]
    00037facldr x0, [x26]
    00037fb0blr x0
    00037fb4tbnz w0, 0, 0x3802c
    00037fb8ldr x1, [sp+56]
    00037fbcldr x26, [x1+120]
    00037fc0ldr x1, [x26]
    00037fc4orr x0, xzr, 0x10000
    00037fc8blr x1
    00037fcccbnz x1, 0x37ff8
    00037fd0adrp x27, 0xa14000
    00037fd4ldr x2, [x27+1760]
    00037fd8cbz x2, 0x38078
    00037fdcudiv x2, x0, x2
    00037fe0ucvtf d1, x2
    00037fe4ldr d2, [sp+32]
    00037fe8adrp x27, 0x6d9000
    00037fecldr d3, [x27+3216]
    00037ff0fmadd d1, d1, d3, d2
    00037ff4b 0x3800c
    00037ff8
    00037ff8loc_37ff8:
    00037ff8scvtf d2, x1
    00037ffcldr d3, [sp+32]
    00038000fadd d1, d2, d3
    00038004adrp x27, 0x6d8000
    00038008ldr d3, [x27+3216]
    0003800c
    0003800cloc_3800c:
    0003800cldr x2, [sp+24]
    00038010add x2, x2, x0
    00038014subs xzr, x0, 0x10000
    00038018b.lo 0x38040
    0003801cadrp x27, 0xa13000
    00038020ldr x3, [x27+2080]
    00038024cbz x3, 0x37f84
    00038028b 0x38040
    0003802c
    0003802cloc_3802c:
    0003802cldr x2, [sp+24]
    00038030ldr d1, [sp+32]
    00038034b 0x38040
    00038038
    00038038loc_38038:
    00038038mov x2, x0
    0003803cfmov d1, d0
    00038040
    00038040loc_38040:
    00038040cbz x2, 0x38054
    00038044adrp x27, 0xa13000
    00038048ldr x3, [x27+1760]
    0003804csubs xzr, x2, x3
    00038050b.lo 0x38068
    00038054
    00038054loc_38054:
    00038054mov x0, x2
    00038058fmov d0, d1
    0003805cldur x29, [sp-8]
    00038060ldr x30, [sp], 48
    00038064ret x30
    00038068
    00038068loc_38068:
    00038068adrp x0, 0x68f000
    0003806cadd x0, x0, 985
    00038070movz x1, 46
    00038074bl runtime.throw
    00038078
    00038078loc_38078:
    00038078bl runtime.panicdivide
    0003807c
    0003807cloc_3807c:
    0003807cadrp x0, 0x68e000
    00038080add x0, x0, 3141
    00038084movz x1, 45
    00038088bl runtime.throw
    0003808chint
    00038090
    00038090loc_38090:
    00038090str x0, [sp+8]
    00038094mov x3, x30
    00038098bl runtime.morestack_noctxt.abi0
    0003809cldr x0, [sp+8]
    000380a0b 0x37f40
    000380a4udf 0
    000380a8udf 0
    000380acudf 0
    00037f40
    000380b0
    000380b0runtime.bgscavenge: ; void runtime.bgscavenge(chan int c)
    000380b0ldr x16, [x28+16]
    000380b4subs xzr, sp, x16
    000380b8b.ls 0x3813c
    000380bcstr x30, [sp-48]!
    000380c0stur x29, [sp-8]
    000380c4sub x29, sp, 8
    000380c8str x0, [sp+56]
    000380ccadrp x0, 0x9ec000
    000380d0add x0, x0, 544
    000380d4bl runtime.(*scavengerState).init
    000380d8ldr x0, [sp+56]
    000380dcadrp x1, 0x6d7000
    000380e0add x1, x1, 152
    000380e4bl runtime.chansend1
    000380e8adrp x0, 0x9ec000
    000380ecadd x0, x0, 544
    000380f0bl runtime.(*scavengerState).park
    000380f4
    000380f4loc_380f4:
    000380f4adrp x0, 0x9ec000
    000380f8add x0, x0, 544
    000380fcbl runtime.(*scavengerState).run
    00038100cbnz x0, 0x38114
    00038104adrp x0, 0x9ec000
    00038108add x0, x0, 544
    0003810cbl runtime.(*scavengerState).park
    00038110b 0x380f4
    00038114
    00038114loc_38114:
    00038114str d0, [sp+32]
    00038118mov x1, x0
    0003811cadrp x0, 0xa0a000
    00038120add x0, x0, 2384
    00038124bl internal/runtime/atomic.(*Uintptr).Add
    00038128adrp x0, 0x9ec000
    0003812cadd x0, x0, 544
    00038130ldr d0, [sp+32]
    00038134bl runtime.(*scavengerState).sleep
    00038138b 0x380f4
    0003813c
    0003813cloc_3813c:
    0003813cstr x0, [sp+8]
    00038140mov x3, x30
    00038144bl runtime.morestack_noctxt.abi0
    00038148ldr x0, [sp+8]
    0003814cb 0x380b0
    000380b0
    00038150
    00038150runtime.(*pageAlloc).scavenge: ; void runtime.(*pageAlloc).scavenge(runtime.pageAlloc * p, uintptr nbytes, func() bool shouldStop, bool force)
    00038150ldr x16, [x28+16]
    00038154subs xzr, sp, x16
    00038158b.ls 0x38228
    0003815cstr x30, [sp-96]!
    00038160stur x29, [sp-8]
    00038164sub x29, sp, 8
    00038168str x0, [sp+104]
    0003816cstr x1, [sp+112]
    00038170str x2, [sp+120]
    00038174strb w3, [sp+128]
    00038178str xzr, [sp+32]
    0003817cb 0x38190
    00038180
    00038180loc_38180:
    00038180ldr x0, [sp+104]
    00038184ldr x1, [sp+112]
    00038188ldr x2, [sp+120]
    0003818cldrb w3, [sp+128]
    00038190
    00038190loc_38190:
    00038190ldr x4, [sp+32]
    00038194subs xzr, x1, x4
    00038198b.ls 0x38218
    0003819cldrsb x27, [x0]
    000381a0movz x2, 184
    000381a4movk x2, 0x10000
    000381a8add x0, x0, x2
    000381acmov x1, x3
    000381b0bl runtime.(*scavengeIndex).find
    000381b4cbz x0, 0x38218
    000381b8adrp x2, 0
    000381bcadd x2, x2, 592
    000381c0str x2, [sp+40]
    000381c4add x2, sp, 32
    000381c8str x2, [sp+48]
    000381ccldr x2, [sp+104]
    000381d0str x2, [sp+56]
    000381d4str x0, [sp+64]
    000381d8str x1, [sp+72]
    000381dcldr x0, [sp+112]
    000381e0str x0, [sp+80]
    000381e4add x0, sp, 40
    000381e8str x0, [sp+8]
    000381ecbl runtime.systemstack.abi0
    000381f0ldr x0, [sp+120]
    000381f4cbnz x0, 0x38200
    000381f8mov x1, xzr
    000381fcb 0x38214
    00038200
    00038200loc_38200:
    00038200ldr x1, [x0]
    00038204mov x26, x0
    00038208blr x1
    0003820cmov x1, x0
    00038210ldr x0, [sp+120]
    00038214
    00038214loc_38214:
    00038214tbz w1, 0, 0x38180
    00038218
    00038218loc_38218:
    00038218ldr x0, [sp+32]
    0003821cldur x29, [sp-8]
    00038220ldr x30, [sp], 96
    00038224ret x30
    00038228
    00038228loc_38228:
    00038228stp x0, x1, [sp+8]
    0003822cstr x2, [sp+24]
    00038230strb w3, [sp+32]
    00038234mov x3, x30
    00038238bl runtime.morestack_noctxt.abi0
    0003823cldp x0, x1, [sp+8]
    00038240ldr x2, [sp+24]
    00038244ldrb w3, [sp+32]
    00038248b 0x38150
    0003824cudf 0
    00038150
    00038250
    00038250runtime.(*pageAlloc).scavenge.func1: ; void runtime.(*pageAlloc).scavenge.func1(void)
    00038250ldr x16, [x28+16]
    00038254subs xzr, sp, x16
    00038258b.ls 0x382a8
    0003825cstr x30, [sp-64]!
    00038260stur x29, [sp-8]
    00038264sub x29, sp, 8
    00038268ldr x0, [x26+16]
    0003826cldr x1, [x26+24]
    00038270ldr x2, [x26+32]
    00038274ldr x4, [x26+40]
    00038278ldr x5, [x26+8]
    0003827cstr x5, [sp+48]
    00038280ldr x5, [x5]
    00038284sub x3, x4, x5
    00038288bl runtime.(*pageAlloc).scavengeOne
    0003828cldr x4, [sp+48]
    00038290ldr x5, [x4]
    00038294add x5, x5, x0
    00038298str x5, [x4]
    0003829cldur x29, [sp-8]
    000382a0ldr x30, [sp], 64
    000382a4ret x30
    000382a8
    000382a8loc_382a8:
    000382a8mov x3, x30
    000382acbl runtime.morestack.abi0
    000382b0b 0x38250
    000382b4udf 0
    000382b8udf 0
    000382bcudf 0
    00038250
    000382c0
    000382c0runtime.printScavTrace: ; void runtime.printScavTrace(uintptr releasedBg, uintptr releasedEager, bool forced)
    000382c0ldr x16, [x28+16]
    000382c4subs xzr, sp, x16
    000382c8b.ls 0x38428
    000382ccstr x30, [sp-64]!
    000382d0stur x29, [sp-8]
    000382d4sub x29, sp, 8
    000382d8str x0, [sp+72]
    000382dcstr x1, [sp+80]
    000382e0strb w2, [sp+88]
    000382e4adrp x0, 0x9ec000
    000382e8add x0, x0, 544
    000382ecbl runtime.assertLockHeld
    000382f0bl runtime.printlock
    000382f4adrp x0, 0xa14000
    000382f8add x0, x0, 2776
    000382fcbl runtime.(*sysMemStat).load
    00038300str x0, [sp+48]
    00038304adrp x0, 0xa14000
    00038308add x0, x0, 2768
    0003830cbl runtime.(*sysMemStat).load
    00038310movz x1, 100
    00038314madd x1, x0, x1, xzr
    00038318str x1, [sp+40]
    0003831cbl runtime.heapRetained
    00038320cbz x0, 0x38420
    00038324str x0, [sp+32]
    00038328bl runtime.printlock
    0003832cadrp x0, 0x678000
    00038330add x0, x0, 1662
    00038334movz x1, 5
    00038338bl runtime.printstring
    0003833cldr x0, [sp+72]
    00038340ubfm x0, x0, 10, 63
    00038344bl runtime.printuint
    00038348adrp x0, 0x67c000
    0003834cadd x0, x0, 2260
    00038350orr x1, xzr, 16
    00038354bl runtime.printstring
    00038358ldr x0, [sp+80]
    0003835cubfm x0, x0, 10, 63
    00038360bl runtime.printuint
    00038364adrp x0, 0x67e000
    00038368add x0, x0, 54
    0003836cmovz x1, 19
    00038370bl runtime.printstring
    00038374ldr x0, [sp+48]
    00038378ubfm x0, x0, 10, 63
    0003837cbl runtime.printuint
    00038380adrp x0, 0x67a000
    00038384add x0, x0, 234
    00038388movz x1, 10
    0003838cbl runtime.printstring
    00038390ldr x0, [sp+40]
    00038394ldr x1, [sp+32]
    00038398udiv x0, x0, x1
    0003839cbl runtime.printuint
    000383a0adrp x0, 0x678000
    000383a4add x0, x0, 2425
    000383a8orr x1, xzr, 6
    000383acbl runtime.printstring
    000383b0bl runtime.printunlock
    000383b4ldrb w0, [sp+88]
    000383b8tbnz w0, 0, 0x383ec
    000383bcadrp x27, 0x9ec000
    000383c0ldrb w0, [x27+573]
    000383c4tbz w0, 0, 0x38404
    000383c8bl runtime.printlock
    000383ccadrp x0, 0x67e000
    000383d0add x0, x0, 73
    000383d4movz x1, 19
    000383d8bl runtime.printstring
    000383dcbl runtime.printunlock
    000383e0adrp x27, 0x9ec000
    000383e4strb wzr, [x27+573]
    000383e8b 0x38404
    000383ec
    000383ecloc_383ec:
    000383ecbl runtime.printlock
    000383f0adrp x0, 0x679000
    000383f4add x0, x0, 2803
    000383f8movz x1, 9
    000383fcbl runtime.printstring
    00038400bl runtime.printunlock
    00038404
    00038404loc_38404:
    00038404bl runtime.printlock
    00038408bl runtime.printnl
    0003840cbl runtime.printunlock
    00038410bl runtime.printunlock
    00038414ldur x29, [sp-8]
    00038418ldr x30, [sp], 64
    0003841cret x30
    00038420
    00038420loc_38420:
    00038420bl runtime.panicdivide
    00038424hint
    00038428
    00038428loc_38428:
    00038428stp x0, x1, [sp+8]
    0003842cstrb w2, [sp+24]
    00038430mov x3, x30
    00038434bl runtime.morestack_noctxt.abi0
    00038438ldp x0, x1, [sp+8]
    0003843cldrb w2, [sp+24]
    00038440b 0x382c0
    00038444udf 0
    00038448udf 0
    0003844cudf 0
    000382c0
    00038450
    00038450runtime.(*pageAlloc).scavengeOne: ; void runtime.(*pageAlloc).scavengeOne(runtime.pageAlloc * p, runtime.chunkIdx ci, uint searchIdx, uintptr max)
    00038450ldr x16, [x28+24]
    00038454subs xzr, sp, x16
    00038458b.ls 0x38748
    0003845cstr x30, [sp-112]!
    00038460stur x29, [sp-8]
    00038464sub x29, sp, 8
    00038468str x0, [sp+120]
    0003846cstr x1, [sp+128]
    00038470str x2, [sp+136]
    00038474ldrsb x27, [x0]
    00038478ubfm x1, x3, 13, 63
    0003847cstr x1, [sp+56]
    00038480and x1, x3, 8191
    00038484str x1, [sp+96]
    00038488adrp x27, 0xa13000
    0003848cldr x1, [x27+1760]
    00038490ubfm x1, x1, 13, 63
    00038494str x1, [sp+48]
    00038498add x27, x0, 0x10000
    0003849cldr x0, [x27+280]
    000384a0bl runtime.lock
    000384a4ldr x1, [sp+120]
    000384a8ldr x2, [x1+104]
    000384acldr x3, [sp+96]
    000384b0subs xzr, x3, 0
    000384b4ldr x3, [sp+56]
    000384b8cinc x3, x3, ne
    000384bcldr x4, [sp+48]
    000384c0subs xzr, x4, 0
    000384c4orr x5, xzr, 1
    000384c8csel x4, x5, x4, eq
    000384ccldr x0, [sp+128]
    000384d0subs xzr, x0, x2
    000384d4b.hs 0x3873c
    000384d8str x3, [sp+56]
    000384dcstr x4, [sp+48]
    000384e0ldr x1, [x1+96]
    000384e4ldr x0, [x1+3*x0]
    000384e8bl runtime.pallocSum.max
    000384ecldr x1, [sp+48]
    000384f0subs xzr, x0, x1
    000384f4b.lo 0x38518
    000384f8ldr x0, [sp+120]
    000384fcldr x1, [sp+128]
    00038500bl runtime.(*pageAlloc).chunkOf
    00038504ldr x1, [sp+136]
    00038508ldr x2, [sp+48]
    0003850cldr x3, [sp+56]
    00038510bl runtime.(*pallocData).findScavengeCandidate
    00038514cbnz x1, 0x38550
    00038518
    00038518loc_38518:
    00038518ldr x2, [sp+120]
    0003851cmovz x3, 184
    00038520movk x3, 0x10000
    00038524add x0, x2, x3
    00038528ldr x1, [sp+128]
    0003852cbl runtime.(*scavengeIndex).setEmpty
    00038530ldr x2, [sp+120]
    00038534add x27, x2, 0x10000
    00038538ldr x0, [x27+280]
    0003853cbl runtime.unlock
    00038540mov x0, xzr
    00038544ldur x29, [sp-8]
    00038548ldr x30, [sp], 112
    0003854cret x30
    00038550
    00038550loc_38550:
    00038550str x0, [sp+64]
    00038554str x1, [sp+40]
    00038558ldr x0, [sp+128]
    0003855cbl runtime.chunkBase
    00038560str x0, [sp+96]
    00038564ldr x0, [sp+120]
    00038568ldr x1, [sp+128]
    0003856cbl runtime.(*pageAlloc).chunkOf
    00038570ldr x1, [sp+64]
    00038574ldr x2, [sp+40]
    00038578bl runtime.(*pallocData).allocRange
    0003857cldr x1, [sp+96]
    00038580ldr x2, [sp+64]
    00038584add x1, x1, x2, lsl #13
    00038588str x1, [sp+72]
    0003858cldr x0, [sp+120]
    00038590ldr x2, [sp+40]
    00038594orr x3, xzr, 1
    00038598mov x4, x3
    0003859cbl runtime.(*pageAlloc).update
    000385a0ldr x1, [sp+120]
    000385a4add x27, x1, 0x10000
    000385a8ldr x0, [x27+280]
    000385acbl runtime.unlock
    000385b0ldr x1, [sp+120]
    000385b4add x27, x1, 0x10000
    000385b8ldrb w2, [x27+305]
    000385bctbnz w2, 0, 0x3868c
    000385c0ldr x0, [sp+72]
    000385c4mov x2, x0
    000385c8ldr x3, [sp+40]
    000385ccubfm x1, x3, 51, 50
    000385d0mov x0, x2
    000385d4bl runtime.sysUnused
    000385d8ldr x2, [sp+40]
    000385dcubfm x1, x2, 51, 50
    000385e0str x1, [sp+88]
    000385e4adrp x0, 0xa14000
    000385e8add x0, x0, 2776
    000385ecbl runtime.(*sysMemStat).add
    000385f0ldr x2, [sp+40]
    000385f4sub x1, xzr, x2, lsl #13
    000385f8str x1, [sp+80]
    000385fcadrp x0, 0xa14000
    00038600add x0, x0, 2784
    00038604bl runtime.(*sysMemStat).add
    00038608adrp x0, 0xa18000
    0003860cadd x0, x0, 1056
    00038610bl runtime.(*consistentHeapStats).acquire
    00038614ldrsb x27, [x0]
    00038618adrp x27, 0xa13000
    0003861cldrb w2, [x27+1516]
    00038620tbz w2, 0, 0x38634
    00038624ldr x1, [sp+80]
    00038628ldaddal x1, x2, [x0]
    0003862cadd x2, x2, x1
    00038630b 0x38648
    00038634
    00038634loc_38634:
    00038634ldr x1, [sp+80]
    00038638
    00038638loc_38638:
    00038638ldaxr x2, [x0]
    0003863cadd x2, x2, x1
    00038640stlxr w27, x2, [x0]
    00038644cbnz x27, 0x38638
    00038648
    00038648loc_38648:
    00038648add x1, x0, 8
    0003864cadrp x27, 0xa13000
    00038650ldrb w2, [x27+1516]
    00038654tbz w2, 0, 0x38668
    00038658ldr x2, [sp+88]
    0003865cldaddal x2, x3, [x1]
    00038660add x3, x3, x2
    00038664b 0x3867c
    00038668
    00038668loc_38668:
    00038668ldr x2, [sp+88]
    0003866c
    0003866cloc_3866c:
    0003866cldaxr x3, [x1]
    00038670add x3, x3, x2
    00038674stlxr w27, x3, [x1]
    00038678cbnz x27, 0x3866c
    0003867c
    0003867cloc_3867c:
    0003867cadrp x0, 0xa18000
    00038680add x0, x0, 1056
    00038684bl runtime.(*consistentHeapStats).release
    00038688ldr x1, [sp+120]
    0003868c
    0003868cloc_3868c:
    0003868cadd x27, x1, 0x10000
    00038690ldr x0, [x27+280]
    00038694bl runtime.lock
    00038698ldr x1, [sp+120]
    0003869cadd x27, x1, 0x10000
    000386a0ldr x1, [x27+120]
    000386a4ldr x0, [sp+72]
    000386a8bl runtime.offAddr.lessThan
    000386actbz w0, 0, 0x386c4
    000386b0ldr x2, [sp+72]
    000386b4ldr x0, [sp+120]
    000386b8add x27, x0, 0x10000
    000386bcstr x2, [x27+120]
    000386c0b 0x386c8
    000386c4
    000386c4loc_386c4:
    000386c4ldr x0, [sp+120]
    000386c8
    000386c8loc_386c8:
    000386c8ldr x1, [sp+128]
    000386ccbl runtime.(*pageAlloc).chunkOf
    000386d0ldrsb x27, [x0]
    000386d4ldr x1, [sp+64]
    000386d8ldr x2, [sp+40]
    000386dcbl runtime.(*pallocBits).free
    000386e0ldr x0, [sp+120]
    000386e4ldr x1, [sp+72]
    000386e8ldr x2, [sp+40]
    000386ecorr x3, xzr, 1
    000386f0mov x4, xzr
    000386f4bl runtime.(*pageAlloc).update
    000386f8ldr x0, [sp+120]
    000386fcldr x1, [sp+128]
    00038700bl runtime.(*pageAlloc).chunkOf
    00038704ldrsb x27, [x0]
    00038708add x0, x0, 64
    0003870cldr x1, [sp+64]
    00038710ldr x2, [sp+40]
    00038714bl runtime.(*pageBits).setRange
    00038718ldr x2, [sp+120]
    0003871cadd x27, x2, 0x10000
    00038720ldr x0, [x27+280]
    00038724bl runtime.unlock
    00038728ldr x2, [sp+40]
    0003872cubfm x0, x2, 51, 50
    00038730ldur x29, [sp-8]
    00038734ldr x30, [sp], 112
    00038738ret x30
    0003873c
    0003873cloc_3873c:
    0003873cmov x1, x2
    00038740bl runtime.panicIndexU
    00038744hint
    00038748
    00038748loc_38748:
    00038748stp x0, x1, [sp+8]
    0003874cstp x2, x3, [sp+24]
    00038750mov x3, x30
    00038754bl runtime.morestackc.abi0
    00038758ldp x0, x1, [sp+8]
    0003875cldp x2, x3, [sp+24]
    00038760b 0x38450
    00038764udf 0
    00038768udf 0
    0003876cudf 0
    00038450
    00038770
    00038770runtime.fillAligned: ; void runtime.fillAligned(uint64 x, uint m)
    00038770ldr x16, [x28+16]
    00038774subs xzr, sp, x16
    00038778b.ls 0x388c4
    0003877cstr x30, [sp-32]!
    00038780stur x29, [sp-8]
    00038784sub x29, sp, 8
    00038788str x1, [sp+48]
    0003878csubs xzr, x1, 4
    00038790b.hi 0x387f0
    00038794subs xzr, x1, 1
    00038798b.eq 0x387e4
    0003879csubs xzr, x1, 2
    000387a0b.eq 0x387c8
    000387a4subs xzr, x1, 4
    000387a8b.ne 0x388b0
    000387acadrp x27, 0x6a0000
    000387b0ldr x2, [x27+1768]
    000387b4orr x1, xzr, 0x7777777777777777
    000387b8adrp x26, 0x6a0000
    000387bcadd x26, x26, 1768
    000387c0blr x2
    000387c4b 0x38884
    000387c8
    000387c8loc_387c8:
    000387c8adrp x27, 0x6a0000
    000387ccldr x2, [x27+1768]
    000387d0orr x1, xzr, 0x5555555555555555
    000387d4adrp x26, 0x6a0000
    000387d8add x26, x26, 1768
    000387dcblr x2
    000387e0b 0x38884
    000387e4
    000387e4loc_387e4:
    000387e4ldur x29, [sp-8]
    000387e8ldr x30, [sp], 32
    000387ecret x30
    000387f0
    000387f0loc_387f0:
    000387f0subs xzr, x1, 16
    000387f4b.hi 0x38840
    000387f8subs xzr, x1, 8
    000387fcb.eq 0x38824
    00038800subs xzr, x1, 16
    00038804b.ne 0x388b0
    00038808adrp x27, 0x6a0000
    0003880cldr x2, [x27+1768]
    00038810orr x1, xzr, 0x7fff7fff7fff7fff
    00038814adrp x26, 0x6a0000
    00038818add x26, x26, 1768
    0003881cblr x2
    00038820b 0x38884
    00038824
    00038824loc_38824:
    00038824adrp x27, 0x6a0000
    00038828ldr x2, [x27+1768]
    0003882corr x1, xzr, 0x7f7f7f7f7f7f7f7f
    00038830adrp x26, 0x6a0000
    00038834add x26, x26, 1768
    00038838blr x2
    0003883cb 0x38884
    00038840
    00038840loc_38840:
    00038840subs xzr, x1, 32
    00038844b.eq 0x3886c
    00038848subs xzr, x1, 64
    0003884cb.ne 0x388b0
    00038850adrp x27, 0x6a0000
    00038854ldr x2, [x27+1768]
    00038858movn x1, 0x8000000000000000
    0003885cadrp x26, 0x6a0000
    00038860add x26, x26, 1768
    00038864blr x2
    00038868b 0x38884
    0003886c
    0003886cloc_3886c:
    0003886cadrp x27, 0x6a0000
    00038870ldr x2, [x27+1768]
    00038874orr x1, xzr, 0x7fffffff7fffffff
    00038878adrp x26, 0x6a0000
    0003887cadd x26, x26, 1768
    00038880blr x2
    00038884
    00038884loc_38884:
    00038884ldr x1, [sp+48]
    00038888sub x1, x1, 1
    0003888clsrv x2, x0, x1
    00038890subs xzr, x1, 64
    00038894csel x1, x2, xzr, lo
    00038898sub x1, x0, x1
    0003889corr x1, x1, x0
    000388a0orn x0, xzr, x1
    000388a4ldur x29, [sp-8]
    000388a8ldr x30, [sp], 32
    000388acret x30
    000388b0
    000388b0loc_388b0:
    000388b0adrp x0, 0x67a000
    000388b4add x0, x0, 2032
    000388b8movz x1, 11
    000388bcbl runtime.throw
    000388c0hint
    000388c4
    000388c4loc_388c4:
    000388c4stp x0, x1, [sp+8]
    000388c8mov x3, x30
    000388ccbl runtime.morestack_noctxt.abi0
    000388d0ldp x0, x1, [sp+8]
    000388d4b 0x38770
    000388d8udf 0
    000388dcudf 0
    00038770
    000388e0
    000388e0runtime.(*pallocData).findScavengeCandidate: ; void runtime.(*pallocData).findScavengeCandidate(runtime.pallocData * m, uint searchIdx, uintptr minimum, uintptr max)
    000388e0ldr x16, [x28+16]
    000388e4sub x17, sp, 32
    000388e8subs xzr, x17, x16
    000388ecb.ls 0x38c24
    000388f0str x30, [sp-160]!
    000388f4stur x29, [sp-8]
    000388f8sub x29, sp, 8
    000388fcstr x2, [sp+184]
    00038900sub x4, x2, 1
    00038904ands xzr, x2, x4
    00038908b.ne 0x38bec
    0003890ccbz x2, 0x38bec
    00038910subs xzr, x2, 64
    00038914b.hi 0x38bb8
    00038918str x0, [sp+168]
    0003891ccbnz x3, 0x38928
    00038920mov x3, x2
    00038924b 0x38948
    00038928
    00038928loc_38928:
    00038928str x1, [sp+176]
    0003892cmov x0, x3
    00038930mov x1, x2
    00038934bl runtime.alignUp
    00038938ldr x1, [sp+176]
    0003893cldr x3, [sp+184]
    00038940mov x2, x0
    00038944ldr x0, [sp+168]
    00038948
    00038948loc_38948:
    00038948str x2, [sp+136]
    0003894cubfm x4, x1, 6, 63
    00038950b 0x38968
    00038954
    00038954loc_38954:
    00038954ldr x5, [sp+88]
    00038958sub x4, x5, 1
    0003895cldr x0, [sp+168]
    00038960ldr x3, [sp+184]
    00038964ldr x2, [sp+136]
    00038968
    00038968loc_38968:
    00038968str x4, [sp+88]
    0003896ctbnz x4, 63, 0x389ac
    00038970subs xzr, x4, 8
    00038974b.hs 0x38bac
    00038978ldrsb x27, [x0]
    0003897cadd x2, x0, 64
    00038980ldr x2, [x2+3*x4]
    00038984ldr x4, [x0+3*x4]
    00038988orr x0, x4, x2
    0003898cmov x1, x3
    00038990bl runtime.fillAligned
    00038994adds xzr, x0, 1
    00038998b.eq 0x38954
    0003899cldr x0, [sp+168]
    000389a0ldr x2, [sp+136]
    000389a4ldr x3, [sp+184]
    000389a8ldr x4, [sp+88]
    000389ac
    000389acloc_389ac:
    000389actbnz x4, 63, 0x38a2c
    000389b0subs xzr, x4, 8
    000389b4b.hs 0x38ba0
    000389b8ldrsb x27, [x0]
    000389bcadd x2, x0, 64
    000389c0str x2, [sp+144]
    000389c4ldr x2, [x2+3*x4]
    000389c8ldr x4, [x0+3*x4]
    000389ccorr x0, x4, x2
    000389d0mov x1, x3
    000389d4bl runtime.fillAligned
    000389d8str x0, [sp+40]
    000389dcorn x0, xzr, x0
    000389e0bl internal/runtime/sys.LeadingZeros64
    000389e4str x0, [sp+128]
    000389e8ldr x2, [sp+88]
    000389ecubfm x3, x2, 58, 57
    000389f0str x3, [sp+120]
    000389f4ldr x4, [sp+40]
    000389f8lslv x4, x4, x0
    000389fcsub x5, x3, x0
    00038a00str x5, [sp+112]
    00038a04subs xzr, x0, 64
    00038a08csel x4, x4, xzr, lo
    00038a0ccbnz x4, 0x38a20
    00038a10orr x4, xzr, 64
    00038a14sub x4, x4, x0
    00038a18sub x2, x2, 1
    00038a1cb 0x38b48
    00038a20
    00038a20loc_38a20:
    00038a20mov x0, x4
    00038a24bl internal/runtime/sys.LeadingZeros64
    00038a28b 0x38a40
    00038a2c
    00038a2cloc_38a2c:
    00038a2cmov x0, xzr
    00038a30mov x1, x0
    00038a34ldur x29, [sp-8]
    00038a38ldr x30, [sp], 160
    00038a3cret x30
    00038a40
    00038a40loc_38a40:
    00038a40adrp x27, 0xa13000
    00038a44ldr x2, [x27+1768]
    00038a48ldr x3, [sp+136]
    00038a4csubs xzr, x3, x0
    00038a50csel x3, x3, x0, lo
    00038a54ldr x4, [sp+128]
    00038a58add x5, x3, x4
    00038a5cldr x6, [sp+120]
    00038a60sub x7, x6, x5
    00038a64add x7, x7, 64
    00038a68subs xzr, x2, 8192
    00038a6cb.ls 0x38b18
    00038a70adrp x27, 0xa13000
    00038a74ldr x8, [x27+1760]
    00038a78subs xzr, x8, x2
    00038a7cb.hs 0x38b18
    00038a80str x5, [sp+104]
    00038a84str x0, [sp+64]
    00038a88str x3, [sp+56]
    00038a8cstr x7, [sp+48]
    00038a90ldr x3, [sp+112]
    00038a94add x3, x3, 64
    00038a98str x3, [sp+96]
    00038a9cubfm x1, x2, 13, 63
    00038aa0str x1, [sp+72]
    00038aa4mov x0, x7
    00038aa8bl runtime.alignUp
    00038aacldr x2, [sp+96]
    00038ab0subs xzr, x0, x2
    00038ab4b.ls 0x38ac4
    00038ab8ldr x3, [sp+56]
    00038abcldr x0, [sp+48]
    00038ac0b 0x38b14
    00038ac4
    00038ac4loc_38ac4:
    00038ac4ldr x0, [sp+48]
    00038ac8ldr x1, [sp+72]
    00038accbl runtime.alignDown
    00038ad0ldr x2, [sp+64]
    00038ad4ldr x3, [sp+128]
    00038ad8add x2, x2, x3
    00038adcldr x3, [sp+120]
    00038ae0sub x2, x3, x2
    00038ae4add x2, x2, 64
    00038ae8subs xzr, x0, x2
    00038aecb.lo 0x38b0c
    00038af0ldr x2, [sp+104]
    00038af4add x2, x2, x0
    00038af8sub x2, x3, x2
    00038afcldr x4, [sp+56]
    00038b00add x2, x4, x2
    00038b04add x3, x2, 64
    00038b08b 0x38b14
    00038b0c
    00038b0cloc_38b0c:
    00038b0cldr x3, [sp+56]
    00038b10ldr x0, [sp+48]
    00038b14
    00038b14loc_38b14:
    00038b14mov x7, x0
    00038b18
    00038b18loc_38b18:
    00038b18mov x0, x7
    00038b1cmov x1, x3
    00038b20ldur x29, [sp-8]
    00038b24ldr x30, [sp], 160
    00038b28ret x30
    00038b2c
    00038b2cloc_38b2c:
    00038b2cldr x6, [sp+80]
    00038b30sub x6, x6, 1
    00038b34ldr x0, [sp+128]
    00038b38ldr x3, [sp+120]
    00038b3cldr x5, [sp+112]
    00038b40mov x4, x2
    00038b44mov x2, x6
    00038b48
    00038b48loc_38b48:
    00038b48tbnz x2, 63, 0x38b98
    00038b4cstr x2, [sp+80]
    00038b50str x4, [sp+64]
    00038b54ldr x3, [sp+144]
    00038b58ldr x3, [x3+3*x2]
    00038b5cldr x4, [sp+168]
    00038b60ldr x2, [x4+3*x2]
    00038b64orr x0, x2, x3
    00038b68ldr x1, [sp+184]
    00038b6cbl runtime.fillAligned
    00038b70str x0, [sp+32]
    00038b74bl internal/runtime/sys.LeadingZeros64
    00038b78ldr x2, [sp+64]
    00038b7cadd x2, x2, x0
    00038b80ldr x0, [sp+32]
    00038b84cbz x0, 0x38b2c
    00038b88ldr x0, [sp+128]
    00038b8cldr x3, [sp+120]
    00038b90ldr x5, [sp+112]
    00038b94mov x4, x2
    00038b98
    00038b98loc_38b98:
    00038b98mov x0, x4
    00038b9cb 0x38a40
    00038ba0
    00038ba0loc_38ba0:
    00038ba0mov x0, x4
    00038ba4orr x1, xzr, 8
    00038ba8bl runtime.panicIndex
    00038bac
    00038bacloc_38bac:
    00038bacmov x0, x4
    00038bb0orr x1, xzr, 8
    00038bb4bl runtime.panicIndex
    00038bb8
    00038bb8loc_38bb8:
    00038bb8bl runtime.printlock
    00038bbcadrp x0, 0x67c000
    00038bc0add x0, x0, 582
    00038bc4orr x1, xzr, 15
    00038bc8bl runtime.printstring
    00038bccldr x0, [sp+184]
    00038bd0bl runtime.printuint
    00038bd4bl runtime.printnl
    00038bd8bl runtime.printunlock
    00038bdcadrp x0, 0x67b000
    00038be0add x0, x0, 1563
    00038be4movz x1, 13
    00038be8bl runtime.throw
    00038bec
    00038becloc_38bec:
    00038becbl runtime.printlock
    00038bf0adrp x0, 0x67c000
    00038bf4add x0, x0, 582
    00038bf8orr x1, xzr, 15
    00038bfcbl runtime.printstring
    00038c00ldr x0, [sp+184]
    00038c04bl runtime.printuint
    00038c08bl runtime.printnl
    00038c0cbl runtime.printunlock
    00038c10adrp x0, 0x687000
    00038c14add x0, x0, 639
    00038c18movz x1, 33
    00038c1cbl runtime.throw
    00038c20hint
    00038c24
    00038c24loc_38c24:
    00038c24stp x0, x1, [sp+8]
    00038c28stp x2, x3, [sp+24]
    00038c2cmov x3, x30
    00038c30bl runtime.morestack_noctxt.abi0
    00038c34ldp x0, x1, [sp+8]
    00038c38ldp x2, x3, [sp+24]
    00038c3cb 0x388e0
    000388e0
    00038c40
    00038c40runtime.(*scavengeIndex).init: ; void runtime.(*scavengeIndex).init(runtime.scavengeIndex * s, bool test, runtime.sysMemStat * sysStat)
    00038c40ldr x16, [x28+16]
    00038c44subs xzr, sp, x16
    00038c48b.ls 0x38ca8
    00038c4cstr x30, [sp-48]!
    00038c50stur x29, [sp-8]
    00038c54sub x29, sp, 8
    00038c58str x0, [sp+56]
    00038c5cstrb w1, [sp+64]
    00038c60str x2, [sp+72]
    00038c64ldrsb x27, [x0]
    00038c68add x0, x0, 48
    00038c6cbl runtime.(*atomicOffAddr).Clear
    00038c70ldr x1, [sp+56]
    00038c74add x0, x1, 56
    00038c78bl runtime.(*atomicOffAddr).Clear
    00038c7cadrp x27, 0xa13000
    00038c80ldr x1, [x27+1864]
    00038c84ldr x0, [sp+56]
    00038c88str x1, [x0+64]
    00038c8cldrb w1, [sp+64]
    00038c90strb w1, [x0+76]
    00038c94ldr x2, [sp+72]
    00038c98bl runtime.(*scavengeIndex).sysInit
    00038c9cldur x29, [sp-8]
    00038ca0ldr x30, [sp], 48
    00038ca4ret x30
    00038ca8
    00038ca8loc_38ca8:
    00038ca8str x0, [sp+8]
    00038cacstrb w1, [sp+16]
    00038cb0str x2, [sp+24]
    00038cb4mov x3, x30
    00038cb8bl runtime.morestack_noctxt.abi0
    00038cbcldr x0, [sp+8]
    00038cc0ldrb w1, [sp+16]
    00038cc4ldr x2, [sp+24]
    00038cc8b 0x38c40
    00038cccudf 0
    00038c40
    00038cd0
    00038cd0runtime.(*scavengeIndex).grow: ; void runtime.(*scavengeIndex).grow(runtime.scavengeIndex * s, uintptr base, uintptr limit, runtime.sysMemStat * sysStat)
    00038cd0ldr x16, [x28+16]
    00038cd4subs xzr, sp, x16
    00038cd8b.ls 0x38d50
    00038cdcstr x30, [sp-64]!
    00038ce0stur x29, [sp-8]
    00038ce4sub x29, sp, 8
    00038ce8str x0, [sp+72]
    00038cecstr x1, [sp+80]
    00038cf0str x2, [sp+88]
    00038cf4str x3, [sp+96]
    00038cf8ldrsb x27, [x0]
    00038cfcadd x0, x0, 40
    00038d00str x0, [sp+48]
    00038d04bl internal/runtime/atomic.(*Uintptr).Load
    00038d08str x0, [sp+40]
    00038d0cldr x0, [sp+80]
    00038d10bl runtime.chunkIndex
    00038d14ldr x1, [sp+40]
    00038d18cbz x1, 0x38d24
    00038d1csubs xzr, x0, x1
    00038d20b.hs 0x38d30
    00038d24
    00038d24loc_38d24:
    00038d24mov x1, x0
    00038d28ldr x0, [sp+48]
    00038d2cbl internal/runtime/atomic.(*Uintptr).Store
    00038d30
    00038d30loc_38d30:
    00038d30ldr x0, [sp+72]
    00038d34ldr x1, [sp+80]
    00038d38ldr x2, [sp+88]
    00038d3cldr x3, [sp+96]
    00038d40bl runtime.(*scavengeIndex).sysGrow
    00038d44ldur x29, [sp-8]
    00038d48ldr x30, [sp], 64
    00038d4cret x30
    00038d50
    00038d50loc_38d50:
    00038d50stp x0, x1, [sp+8]
    00038d54stp x2, x3, [sp+24]
    00038d58mov x3, x30
    00038d5cbl runtime.morestack_noctxt.abi0
    00038d60ldp x0, x1, [sp+8]
    00038d64ldp x2, x3, [sp+24]
    00038d68b 0x38cd0
    00038d6cudf 0
    00038cd0
    00038d70
    00038d70runtime.(*scavengeIndex).find: ; void runtime.(*scavengeIndex).find(runtime.scavengeIndex * s, bool force)
    00038d70ldr x16, [x28+16]
    00038d74subs xzr, sp, x16
    00038d78b.ls 0x38ef0
    00038d7cstr x30, [sp-96]!
    00038d80stur x29, [sp-8]
    00038d84sub x29, sp, 8
    00038d88str x0, [sp+104]
    00038d8cstrb w1, [sp+112]
    00038d90ldrsb x27, [x0]
    00038d94add x2, x0, 48
    00038d98tbz w1, 0, 0x38da0
    00038d9cadd x2, x0, 56
    00038da0
    00038da0loc_38da0:
    00038da0str x2, [sp+80]
    00038da4mov x0, x2
    00038da8bl runtime.(*atomicOffAddr).Load
    00038dacstr x0, [sp+56]
    00038db0strb w1, [sp+43]
    00038db4adrp x27, 0xa13000
    00038db8ldr x0, [x27+1864]
    00038dbcbl runtime.offAddr.addr
    00038dc0ldr x1, [sp+56]
    00038dc4subs xzr, x0, x1
    00038dc8b.eq 0x38e00
    00038dccldr x1, [sp+104]
    00038dd0add x0, x1, 40
    00038dd4ldr w1, [x1+72]
    00038dd8str w1, [sp+44]
    00038ddcbl internal/runtime/atomic.(*Uintptr).Load
    00038de0str x0, [sp+72]
    00038de4ldr x0, [sp+56]
    00038de8bl runtime.chunkIndex
    00038decstr x0, [sp+48]
    00038df0ldr x1, [sp+72]
    00038df4ldr x2, [sp+104]
    00038df8mov x3, x0
    00038dfcb 0x38e28
    00038e00
    00038e00loc_38e00:
    00038e00mov x0, xzr
    00038e04mov x1, xzr
    00038e08ldur x29, [sp-8]
    00038e0cldr x30, [sp], 96
    00038e10ret x30
    00038e14
    00038e14loc_38e14:
    00038e14ldr x4, [sp+64]
    00038e18sub x0, x4, 1
    00038e1cldr x1, [sp+72]
    00038e20ldr x2, [sp+104]
    00038e24ldr x3, [sp+48]
    00038e28
    00038e28loc_38e28:
    00038e28subs xzr, x1, x0
    00038e2cb.hi 0x38ec8
    00038e30ldr x4, [x2+8]
    00038e34subs xzr, x0, x4
    00038e38b.hs 0x38ee4
    00038e3cstr x0, [sp+64]
    00038e40ldr x1, [x2]
    00038e44add x0, x1, x0, lsl #3
    00038e48bl runtime.(*atomicScavChunkData).load
    00038e4cldr w4, [sp+44]
    00038e50ldrb w5, [sp+112]
    00038e54bl runtime.scavChunkData.shouldScavenge
    00038e58tbz w0, 0, 0x38e14
    00038e5cldr x1, [sp+48]
    00038e60ldr x0, [sp+64]
    00038e64subs xzr, x1, x0
    00038e68b.eq 0x38eac
    00038e6cbl runtime.chunkBase
    00038e70add x1, x0, 0x3fe000
    00038e74ldrb w0, [sp+43]
    00038e78tbz w0, 0, 0x38e90
    00038e7cldr x0, [sp+80]
    00038e80mov x2, x1
    00038e84ldr x1, [sp+56]
    00038e88bl runtime.(*atomicOffAddr).StoreUnmark
    00038e8cb 0x38e98
    00038e90
    00038e90loc_38e90:
    00038e90ldr x0, [sp+80]
    00038e94bl runtime.(*atomicOffAddr).StoreMin
    00038e98
    00038e98loc_38e98:
    00038e98ldr x0, [sp+64]
    00038e9corr x1, xzr, 511
    00038ea0ldur x29, [sp-8]
    00038ea4ldr x30, [sp], 96
    00038ea8ret x30
    00038eac
    00038eacloc_38eac:
    00038eacldr x0, [sp+56]
    00038eb0bl runtime.chunkPageIndex
    00038eb4mov x1, x0
    00038eb8ldr x0, [sp+64]
    00038ebcldur x29, [sp-8]
    00038ec0ldr x30, [sp], 96
    00038ec4ret x30
    00038ec8
    00038ec8loc_38ec8:
    00038ec8ldr x0, [sp+80]
    00038eccbl runtime.(*atomicOffAddr).Clear
    00038ed0mov x0, xzr
    00038ed4mov x1, xzr
    00038ed8ldur x29, [sp-8]
    00038edcldr x30, [sp], 96
    00038ee0ret x30
    00038ee4
    00038ee4loc_38ee4:
    00038ee4mov x1, x4
    00038ee8bl runtime.panicIndexU
    00038eechint
    00038ef0
    00038ef0loc_38ef0:
    00038ef0str x0, [sp+8]
    00038ef4strb w1, [sp+16]
    00038ef8mov x3, x30
    00038efcbl runtime.morestack_noctxt.abi0
    00038f00ldr x0, [sp+8]
    00038f04ldrb w1, [sp+16]
    00038f08b 0x38d70
    00038f0cudf 0
    00038d70
    00038f10
    00038f10runtime.(*scavengeIndex).alloc: ; void runtime.(*scavengeIndex).alloc(runtime.scavengeIndex * s, runtime.chunkIdx ci, uint npages)
    00038f10ldr x16, [x28+16]
    00038f14subs xzr, sp, x16
    00038f18b.ls 0x38fc4
    00038f1cstr x30, [sp-64]!
    00038f20stur x29, [sp-8]
    00038f24sub x29, sp, 8
    00038f28ldr x3, [x0+8]
    00038f2csubs xzr, x1, x3
    00038f30b.hs 0x38fb4
    00038f34str x0, [sp+72]
    00038f38str x1, [sp+80]
    00038f3cstr x2, [sp+88]
    00038f40ldr x2, [x0]
    00038f44add x0, x2, x1, lsl #3
    00038f48bl runtime.(*atomicScavChunkData).load
    00038f4cstrh w0, [sp+44]
    00038f50strh w1, [sp+46]
    00038f54str w2, [sp+48]
    00038f58strb w3, [sp+52]
    00038f5cldr x1, [sp+72]
    00038f60ldr w2, [x1+72]
    00038f64add x0, sp, 44
    00038f68ldr x1, [sp+88]
    00038f6cbl runtime.(*scavChunkData).alloc
    00038f70ldr x1, [sp+72]
    00038f74ldr x2, [x1+8]
    00038f78ldr x0, [sp+80]
    00038f7csubs xzr, x0, x2
    00038f80b.hs 0x38fac
    00038f84ldr x5, [x1]
    00038f88add x0, x5, x0, lsl #3
    00038f8cldrh w1, [sp+44]
    00038f90ldrh w2, [sp+46]
    00038f94ldr w3, [sp+48]
    00038f98ldrb w4, [sp+52]
    00038f9cbl runtime.(*atomicScavChunkData).store
    00038fa0ldur x29, [sp-8]
    00038fa4ldr x30, [sp], 64
    00038fa8ret x30
    00038fac
    00038facloc_38fac:
    00038facmov x1, x2
    00038fb0bl runtime.panicIndexU
    00038fb4
    00038fb4loc_38fb4:
    00038fb4mov x0, x1
    00038fb8mov x1, x3
    00038fbcbl runtime.panicIndexU
    00038fc0hint
    00038fc4
    00038fc4loc_38fc4:
    00038fc4stp x0, x1, [sp+8]
    00038fc8str x2, [sp+24]
    00038fccmov x3, x30
    00038fd0bl runtime.morestack_noctxt.abi0
    00038fd4ldp x0, x1, [sp+8]
    00038fd8ldr x2, [sp+24]
    00038fdcb 0x38f10
    00038f10
    00038fe0
    00038fe0runtime.(*scavengeIndex).free: ; void runtime.(*scavengeIndex).free(runtime.scavengeIndex * s, runtime.chunkIdx ci, uint page, uint npages)
    00038fe0ldr x16, [x28+16]
    00038fe4subs xzr, sp, x16
    00038fe8b.ls 0x39100
    00038fecstr x30, [sp-80]!
    00038ff0stur x29, [sp-8]
    00038ff4sub x29, sp, 8
    00038ff8ldr x4, [x0+8]
    00038ffcsubs xzr, x1, x4
    00039000b.hs 0x390f0
    00039004str x0, [sp+88]
    00039008str x1, [sp+96]
    0003900cstr x2, [sp+104]
    00039010str x3, [sp+112]
    00039014ldr x2, [x0]
    00039018add x0, x2, x1, lsl #3
    0003901cbl runtime.(*atomicScavChunkData).load
    00039020strh w0, [sp+44]
    00039024strh w1, [sp+46]
    00039028str w2, [sp+48]
    0003902cstrb w3, [sp+52]
    00039030ldr x1, [sp+88]
    00039034ldr w2, [x1+72]
    00039038add x0, sp, 44
    0003903cldr x1, [sp+112]
    00039040bl runtime.(*scavChunkData).free
    00039044ldr x1, [sp+88]
    00039048ldr x2, [x1+8]
    0003904cldr x0, [sp+96]
    00039050subs xzr, x0, x2
    00039054b.hs 0x390e8
    00039058ldr x5, [x1]
    0003905cadd x0, x5, x0, lsl #3
    00039060ldrh w1, [sp+44]
    00039064ldrh w2, [sp+46]
    00039068ldr w3, [sp+48]
    0003906cldrb w4, [sp+52]
    00039070bl runtime.(*atomicScavChunkData).store
    00039074ldr x0, [sp+96]
    00039078bl runtime.chunkBase
    0003907cldr x5, [sp+112]
    00039080ldr x6, [sp+104]
    00039084add x5, x5, x6
    00039088sub x5, x5, 1
    0003908cadd x1, x0, x5, lsl #13
    00039090str x1, [sp+56]
    00039094ldr x5, [sp+88]
    00039098ldr x0, [x5+64]
    0003909cbl runtime.offAddr.lessThan
    000390a0tbz w0, 0, 0x390b4
    000390a4ldr x1, [sp+56]
    000390a8ldr x2, [sp+88]
    000390acstr x1, [x2+64]
    000390b0b 0x390b8
    000390b4
    000390b4loc_390b4:
    000390b4ldr x2, [sp+88]
    000390b8
    000390b8loc_390b8:
    000390b8add x0, x2, 56
    000390bcstr x0, [sp+64]
    000390c0bl runtime.(*atomicOffAddr).Load
    000390c4ldr x1, [sp+56]
    000390c8bl runtime.offAddr.lessThan
    000390cctbz w0, 0, 0x390dc
    000390d0ldr x0, [sp+64]
    000390d4ldr x1, [sp+56]
    000390d8bl runtime.(*atomicOffAddr).StoreMarked
    000390dc
    000390dcloc_390dc:
    000390dcldur x29, [sp-8]
    000390e0ldr x30, [sp], 80
    000390e4ret x30
    000390e8
    000390e8loc_390e8:
    000390e8mov x1, x2
    000390ecbl runtime.panicIndexU
    000390f0
    000390f0loc_390f0:
    000390f0mov x0, x1
    000390f4mov x1, x4
    000390f8bl runtime.panicIndexU
    000390fchint
    00039100
    00039100loc_39100:
    00039100stp x0, x1, [sp+8]
    00039104stp x2, x3, [sp+24]
    00039108mov x3, x30
    0003910cbl runtime.morestack_noctxt.abi0
    00039110ldp x0, x1, [sp+8]
    00039114ldp x2, x3, [sp+24]
    00039118b 0x38fe0
    0003911cudf 0
    00038fe0
    00039120
    00039120runtime.(*scavengeIndex).nextGen: ; void runtime.(*scavengeIndex).nextGen(runtime.scavengeIndex * s)
    00039120ldr x16, [x28+16]
    00039124subs xzr, sp, x16
    00039128b.ls 0x39198
    0003912cstr x30, [sp-48]!
    00039130stur x29, [sp-8]
    00039134sub x29, sp, 8
    00039138str x0, [sp+56]
    0003913cldr w1, [x0+72]
    00039140add x1, x1, 1
    00039144str w1, [x0+72]
    00039148add x0, x0, 48
    0003914cstr x0, [sp+32]
    00039150bl runtime.(*atomicOffAddr).Load
    00039154ldr x1, [sp+56]
    00039158ldr x1, [x1+64]
    0003915cbl runtime.offAddr.lessThan
    00039160tbz w0, 0, 0x3917c
    00039164ldr x1, [sp+56]
    00039168ldr x0, [x1+64]
    0003916cbl runtime.offAddr.addr
    00039170mov x1, x0
    00039174ldr x0, [sp+32]
    00039178bl runtime.(*atomicOffAddr).StoreMarked
    0003917c
    0003917cloc_3917c:
    0003917cadrp x27, 0xa12000
    00039180ldr x0, [x27+1864]
    00039184ldr x1, [sp+56]
    00039188str x0, [x1+64]
    0003918cldur x29, [sp-8]
    00039190ldr x30, [sp], 48
    00039194ret x30
    00039198
    00039198loc_39198:
    00039198str x0, [sp+8]
    0003919cmov x3, x30
    000391a0bl runtime.morestack_noctxt.abi0
    000391a4ldr x0, [sp+8]
    000391a8b 0x39120
    000391acudf 0
    00039120
    000391b0
    000391b0runtime.(*scavengeIndex).setEmpty: ; void runtime.(*scavengeIndex).setEmpty(runtime.scavengeIndex * s, runtime.chunkIdx ci)
    000391b0ldr x16, [x28+16]
    000391b4subs xzr, sp, x16
    000391b8b.ls 0x39254
    000391bcstr x30, [sp-64]!
    000391c0stur x29, [sp-8]
    000391c4sub x29, sp, 8
    000391c8ldr x2, [x0+8]
    000391ccsubs xzr, x1, x2
    000391d0b.hs 0x39244
    000391d4str x0, [sp+72]
    000391d8str x1, [sp+80]
    000391dcldr x2, [x0]
    000391e0add x0, x2, x1, lsl #3
    000391e4bl runtime.(*atomicScavChunkData).load
    000391e8strh w0, [sp+44]
    000391ecstrh w1, [sp+46]
    000391f0str w2, [sp+48]
    000391f4strb w3, [sp+52]
    000391f8add x0, sp, 52
    000391fcbl runtime.(*scavChunkFlags).setEmpty
    00039200ldr x1, [sp+72]
    00039204ldr x2, [x1+8]
    00039208ldr x0, [sp+80]
    0003920csubs xzr, x0, x2
    00039210b.hs 0x3923c
    00039214ldr x5, [x1]
    00039218add x0, x5, x0, lsl #3
    0003921cldrh w1, [sp+44]
    00039220ldrh w2, [sp+46]
    00039224ldr w3, [sp+48]
    00039228ldrb w4, [sp+52]
    0003922cbl runtime.(*atomicScavChunkData).store
    00039230ldur x29, [sp-8]
    00039234ldr x30, [sp], 64
    00039238ret x30
    0003923c
    0003923cloc_3923c:
    0003923cmov x1, x2
    00039240bl runtime.panicIndexU
    00039244
    00039244loc_39244:
    00039244mov x0, x1
    00039248mov x1, x2
    0003924cbl runtime.panicIndexU
    00039250hint
    00039254
    00039254loc_39254:
    00039254stp x0, x1, [sp+8]
    00039258mov x3, x30
    0003925cbl runtime.morestack_noctxt.abi0
    00039260ldp x0, x1, [sp+8]
    00039264b 0x391b0
    00039268udf 0
    0003926cudf 0
    000391b0
    00039270
    00039270runtime.(*atomicScavChunkData).load: ; void runtime.(*atomicScavChunkData).load(runtime.atomicScavChunkData * sc)
    00039270ldr x16, [x28+16]
    00039274subs xzr, sp, x16
    00039278b.ls 0x392a0
    0003927cstr x30, [sp-32]!
    00039280stur x29, [sp-8]
    00039284sub x29, sp, 8
    00039288ldrsb x27, [x0]
    0003928cbl internal/runtime/atomic.(*Uint64).Load
    00039290bl runtime.unpackScavChunkData
    00039294ldur x29, [sp-8]
    00039298ldr x30, [sp], 32
    0003929cret x30
    000392a0
    000392a0loc_392a0:
    000392a0str x0, [sp+8]
    000392a4mov x3, x30
    000392a8bl runtime.morestack_noctxt.abi0
    000392acldr x0, [sp+8]
    000392b0b 0x39270
    000392b4udf 0
    000392b8udf 0
    000392bcudf 0
    00039270
    000392c0
    000392c0runtime.(*atomicScavChunkData).store: ; void runtime.(*atomicScavChunkData).store(runtime.atomicScavChunkData * sc, runtime.scavChunkData ssc)
    000392c0ldr x16, [x28+16]
    000392c4subs xzr, sp, x16
    000392c8b.ls 0x39310
    000392ccstr x30, [sp-32]!
    000392d0stur x29, [sp-8]
    000392d4sub x29, sp, 8
    000392d8str x0, [sp+40]
    000392dcmov x0, x1
    000392e0mov x1, x2
    000392e4mov x2, x3
    000392e8mov x3, x4
    000392ecbl runtime.scavChunkData.pack
    000392f0ldr x4, [sp+40]
    000392f4ldrsb x27, [x4]
    000392f8mov x1, x0
    000392fcmov x0, x4
    00039300bl internal/runtime/atomic.(*Uint64).Store
    00039304ldur x29, [sp-8]
    00039308ldr x30, [sp], 32
    0003930cret x30
    00039310
    00039310loc_39310:
    00039310str x0, [sp+8]
    00039314strh w1, [sp+16]
    00039318strh w2, [sp+18]
    0003931cstr w3, [sp+20]
    00039320strb w4, [sp+24]
    00039324mov x3, x30
    00039328bl runtime.morestack_noctxt.abi0
    0003932cldr x0, [sp+8]
    00039330ldrh w1, [sp+16]
    00039334ldrh w2, [sp+18]
    00039338ldr w3, [sp+20]
    0003933cldrb w4, [sp+24]
    00039340b 0x392c0
    00039344udf 0
    00039348udf 0
    0003934cudf 0
    000392c0
    00039350
    00039350runtime.unpackScavChunkData: ; void runtime.unpackScavChunkData(uint64 sc)
    00039350ubfm x1, x0, 16, 25
    00039354ubfm x2, x0, 32, 63
    00039358ubfm x3, x0, 26, 31
    0003935cret x30
    00039350
    00039360
    00039360runtime.scavChunkData.pack: ; void runtime.scavChunkData.pack(runtime.scavChunkData sc)
    00039360ubfm x4, x0, 0, 15
    00039364ubfm x1, x1, 0, 15
    00039368orr x1, x4, x1, lsl #16
    0003936cubfm x3, x3, 0, 7
    00039370orr x1, x1, x3, lsl #26
    00039374mov w2, w2
    00039378orr x0, x1, x2, lsl #32
    0003937cret x30
    00039360
    00039380
    00039380runtime.(*scavChunkFlags).isEmpty: ; void runtime.(*scavChunkFlags).isEmpty(runtime.scavChunkFlags * sc)
    00039380ldrb w1, [x0]
    00039384ands wzr, w1, 1
    00039388cset x0, eq
    0003938cret x30
    00039380
    00039390
    00039390runtime.(*scavChunkFlags).setEmpty: ; void runtime.(*scavChunkFlags).setEmpty(runtime.scavChunkFlags * sc)
    00039390ldrb w1, [x0]
    00039394and x1, x1, -2
    00039398strb w1, [x0]
    0003939cret x30
    00039390
    000393a0
    000393a0runtime.(*scavChunkFlags).setNonEmpty: ; void runtime.(*scavChunkFlags).setNonEmpty(runtime.scavChunkFlags * sc)
    000393a0ldrb w1, [x0]
    000393a4orr x1, x1, 1
    000393a8strb w1, [x0]
    000393acret x30
    000393a0
    000393b0
    000393b0runtime.scavChunkData.shouldScavenge: ; void runtime.scavChunkData.shouldScavenge(runtime.scavChunkData sc, uint32 currGen, bool force)
    000393b0ldr x16, [x28+16]
    000393b4subs xzr, sp, x16
    000393b8b.ls 0x3946c
    000393bcstr x30, [sp-32]!
    000393c0stur x29, [sp-8]
    000393c4sub x29, sp, 8
    000393c8str w4, [sp+52]
    000393ccstrb w5, [sp+56]
    000393d0strh w0, [sp+40]
    000393d4strh w1, [sp+42]
    000393d8str w2, [sp+44]
    000393dcstrb w3, [sp+48]
    000393e0add x0, sp, 48
    000393e4bl runtime.(*scavChunkFlags).isEmpty
    000393e8tbnz w0, 0, 0x3945c
    000393ecldrb w0, [sp+56]
    000393f0tbnz w0, 0, 0x3944c
    000393f4ldr w1, [sp+44]
    000393f8ldr w2, [sp+52]
    000393fcsubs wzr, w2, w1
    00039400b.ne 0x39434
    00039404ldrh w1, [sp+40]
    00039408subs wzr, w1, 496
    0003940cb.hs 0x39420
    00039410ldrh w1, [sp+42]
    00039414subs wzr, w1, 496
    00039418cset x1, lo
    0003941cb 0x39424
    00039420
    00039420loc_39420:
    00039420mov x1, xzr
    00039424
    00039424loc_39424:
    00039424mov x0, x1
    00039428ldur x29, [sp-8]
    0003942cldr x30, [sp], 32
    00039430ret x30
    00039434
    00039434loc_39434:
    00039434ldrh w1, [sp+40]
    00039438subs wzr, w1, 496
    0003943ccset x0, lo
    00039440ldur x29, [sp-8]
    00039444ldr x30, [sp], 32
    00039448ret x30
    0003944c
    0003944cloc_3944c:
    0003944corr x0, xzr, 1
    00039450ldur x29, [sp-8]
    00039454ldr x30, [sp], 32
    00039458ret x30
    0003945c
    0003945cloc_3945c:
    0003945cmov x0, xzr
    00039460ldur x29, [sp-8]
    00039464ldr x30, [sp], 32
    00039468ret x30
    0003946c
    0003946cloc_3946c:
    0003946cstrh w0, [sp+8]
    00039470strh w1, [sp+10]
    00039474str w2, [sp+12]
    00039478strb w3, [sp+16]
    0003947cstr w4, [sp+20]
    00039480strb w5, [sp+24]
    00039484mov x3, x30
    00039488bl runtime.morestack_noctxt.abi0
    0003948cldrh w0, [sp+8]
    00039490ldrh w1, [sp+10]
    00039494ldr w2, [sp+12]
    00039498ldrb w3, [sp+16]
    0003949cldr w4, [sp+20]
    000394a0ldrb w5, [sp+24]
    000394a4b 0x393b0
    000394a8udf 0
    000394acudf 0
    000393b0
    000394b0
    000394b0runtime.(*scavChunkData).alloc: ; void runtime.(*scavChunkData).alloc(runtime.scavChunkData * sc, uint npages, uint32 newGen)
    000394b0ldr x16, [x28+16]
    000394b4subs xzr, sp, x16
    000394b8b.ls 0x39574
    000394bcstr x30, [sp-48]!
    000394c0stur x29, [sp-8]
    000394c4sub x29, sp, 8
    000394c8ldrh w3, [x0]
    000394ccmov x4, x3
    000394d0add x4, x4, x1
    000394d4subs xzr, x4, 512
    000394d8b.hi 0x3951c
    000394dcldr w4, [x0+4]
    000394e0subs wzr, w2, w4
    000394e4b.eq 0x394f0
    000394e8strh w3, [x0+2]
    000394ecstr w2, [x0+4]
    000394f0
    000394f0loc_394f0:
    000394f0ldrh w2, [x0]
    000394f4add x1, x2, x1
    000394f8strh w1, [x0]
    000394fcubfm x1, x1, 0, 15
    00039500subs wzr, w1, 512
    00039504b.ne 0x39510
    00039508add x0, x0, 8
    0003950cbl runtime.(*scavChunkFlags).setEmpty
    00039510
    00039510loc_39510:
    00039510ldur x29, [sp-8]
    00039514ldr x30, [sp], 48
    00039518ret x30
    0003951c
    0003951cloc_3951c:
    0003951cstr x1, [sp+64]
    00039520strh w3, [sp+38]
    00039524bl runtime.printlock
    00039528adrp x0, 0x67b000
    0003952cadd x0, x0, 597
    00039530orr x1, xzr, 15
    00039534bl runtime.printstring
    00039538ldrh w0, [sp+38]
    0003953cbl runtime.printuint
    00039540adrp x0, 0x678000
    00039544add x0, x0, 660
    00039548orr x1, xzr, 8
    0003954cbl runtime.printstring
    00039550ldr x0, [sp+64]
    00039554bl runtime.printuint
    00039558bl runtime.printnl
    0003955cbl runtime.printunlock
    00039560adrp x0, 0x686000
    00039564add x0, x0, 3649
    00039568movz x1, 34
    0003956cbl runtime.throw
    00039570hint
    00039574
    00039574loc_39574:
    00039574stp x0, x1, [sp+8]
    00039578str w2, [sp+24]
    0003957cmov x3, x30
    00039580bl runtime.morestack_noctxt.abi0
    00039584ldp x0, x1, [sp+8]
    00039588ldr w2, [sp+24]
    0003958cb 0x394b0
    000394b0
    00039590
    00039590runtime.(*scavChunkData).free: ; void runtime.(*scavChunkData).free(runtime.scavChunkData * sc, uint npages, uint32 newGen)
    00039590ldr x16, [x28+16]
    00039594subs xzr, sp, x16
    00039598b.ls 0x39644
    0003959cstr x30, [sp-48]!
    000395a0stur x29, [sp-8]
    000395a4sub x29, sp, 8
    000395a8ldrh w3, [x0]
    000395acmov x4, x3
    000395b0subs xzr, x1, x4
    000395b4b.hi 0x395ec
    000395b8ldr w4, [x0+4]
    000395bcsubs wzr, w2, w4
    000395c0b.eq 0x395cc
    000395c4strh w3, [x0+2]
    000395c8str w2, [x0+4]
    000395cc
    000395ccloc_395cc:
    000395ccldrh w2, [x0]
    000395d0sub x1, x2, x1
    000395d4strh w1, [x0]
    000395d8add x0, x0, 8
    000395dcbl runtime.(*scavChunkFlags).setNonEmpty
    000395e0ldur x29, [sp-8]
    000395e4ldr x30, [sp], 48
    000395e8ret x30
    000395ec
    000395ecloc_395ec:
    000395ecstr x1, [sp+64]
    000395f0strh w3, [sp+38]
    000395f4bl runtime.printlock
    000395f8adrp x0, 0x67b000
    000395fcadd x0, x0, 597
    00039600orr x1, xzr, 15
    00039604bl runtime.printstring
    00039608ldrh w0, [sp+38]
    0003960cbl runtime.printuint
    00039610adrp x0, 0x678000
    00039614add x0, x0, 660
    00039618orr x1, xzr, 8
    0003961cbl runtime.printstring
    00039620ldr x0, [sp+64]
    00039624bl runtime.printuint
    00039628bl runtime.printnl
    0003962cbl runtime.printunlock
    00039630adrp x0, 0x681000
    00039634add x0, x0, 3389
    00039638movz x1, 27
    0003963cbl runtime.throw
    00039640hint
    00039644
    00039644loc_39644:
    00039644stp x0, x1, [sp+8]
    00039648str w2, [sp+24]
    0003964cmov x3, x30
    00039650bl runtime.morestack_noctxt.abi0
    00039654ldp x0, x1, [sp+8]
    00039658ldr w2, [sp+24]
    0003965cb 0x39590
    00039590
    00039660
    00039660runtime.(*piController).next: ; void runtime.(*piController).next(runtime.piController * c, float64 input, float64 setpoint, float64 period)
    00039660ldr x16, [x28+16]
    00039664subs xzr, sp, x16
    00039668b.ls 0x3979c
    0003966cstr x30, [sp-48]!
    00039670stur x29, [sp-8]
    00039674sub x29, sp, 8
    00039678str x0, [sp+56]
    0003967cstr d2, [sp+80]
    00039680ldr d2, [x0]
    00039684fsub d1, d1, d0
    00039688str d1, [sp+32]
    0003968cldr d3, [x0+40]
    00039690fmadd d0, d1, d2, d3
    00039694str d0, [sp+16]
    00039698bl runtime.isInf
    0003969ctbnz w0, 0, 0x396ac
    000396a0ldr d0, [sp+16]
    000396a4bl runtime.isNaN
    000396a8tbz w0, 0, 0x396d4
    000396ac
    000396acloc_396ac:
    000396acldr x0, [sp+56]
    000396b0bl runtime.(*piController).reset
    000396b4orr x1, xzr, 1
    000396b8ldr x2, [sp+56]
    000396bcstrb w1, [x2+49]
    000396c0ldr d0, [x2+24]
    000396c4mov x0, xzr
    000396c8ldur x29, [sp-8]
    000396ccldr x30, [sp], 48
    000396d0ret x30
    000396d4
    000396d4loc_396d4:
    000396d4ldr x1, [sp+56]
    000396d8ldr d1, [x1+24]
    000396dcldr d2, [sp+16]
    000396e0fcmp d2, d1
    000396e4b.mi 0x396f8
    000396e8ldr d1, [x1+32]
    000396ecfcmp d1, d2
    000396f0b.mi 0x396f8
    000396f4fmov d1, d2
    000396f8
    000396f8loc_396f8:
    000396f8ldr d3, [x1+8]
    000396fcfcmp d3
    00039700b.eq 0x39788
    00039704ldr d4, [x1+16]
    00039708fcmp d4
    0003970cb.eq 0x39788
    00039710str d1, [sp+24]
    00039714ldr d5, [x1+40]
    00039718ldr d6, [x1]
    0003971cldr d7, [sp+80]
    00039720fmul d6, d6, d7
    00039724fdiv d3, d6, d3
    00039728ldr d6, [sp+32]
    0003972cfmul d3, d3, d6
    00039730fdiv d4, d7, d4
    00039734fsub d1, d1, d2
    00039738fmadd d1, d4, d1, d3
    0003973cfadd d0, d1, d5
    00039740str d0, [x1+40]
    00039744bl runtime.isInf
    00039748tbnz w0, 0, 0x3975c
    0003974cldr x0, [sp+56]
    00039750ldr d0, [x0+40]
    00039754bl runtime.isNaN
    00039758tbz w0, 0, 0x39784
    0003975c
    0003975cloc_3975c:
    0003975cldr x0, [sp+56]
    00039760bl runtime.(*piController).reset
    00039764orr x1, xzr, 1
    00039768ldr x2, [sp+56]
    0003976cstrb w1, [x2+48]
    00039770ldr d0, [x2+24]
    00039774mov x0, xzr
    00039778ldur x29, [sp-8]
    0003977cldr x30, [sp], 48
    00039780ret x30
    00039784
    00039784loc_39784:
    00039784ldr d1, [sp+24]
    00039788
    00039788loc_39788:
    00039788fmov d0, d1
    0003978corr x0, xzr, 1
    00039790ldur x29, [sp-8]
    00039794ldr x30, [sp], 48
    00039798ret x30
    0003979c
    0003979cloc_3979c:
    0003979cstr x0, [sp+8]
    000397a0stp d0, d1, [sp+16]
    000397a4str d2, [sp+32]
    000397a8mov x3, x30
    000397acbl runtime.morestack_noctxt.abi0
    000397b0ldr x0, [sp+8]
    000397b4ldp d0, d1, [sp+16]
    000397b8ldr d2, [sp+32]
    000397bcb 0x39660
    00039660
    000397c0
    000397c0runtime.(*piController).reset: ; void runtime.(*piController).reset(runtime.piController * c)
    000397c0fmov d0, xzr
    000397c4str d0, [x0+40]
    000397c8ret x30
    000397ccudf 0
    000397c0
    000397d0
    000397d0runtime.(*stackObject).setRecord: ; void runtime.(*stackObject).setRecord(runtime.stackObject * obj, runtime.stackObjectRecord * r)
    000397d0str x1, [x0+8]
    000397d4ret x30
    000397d8udf 0
    000397dcudf 0
    000397d0
    000397e0
    000397e0runtime.(*stackScanState).putPtr: ; void runtime.(*stackScanState).putPtr(runtime.stackScanState * s, uintptr p, bool conservative)
    000397e0ldr x16, [x28+16]
    000397e4subs xzr, sp, x16
    000397e8b.ls 0x398cc
    000397ecstr x30, [sp-48]!
    000397f0stur x29, [sp-8]
    000397f4sub x29, sp, 8
    000397f8ldr x3, [x0]
    000397fcsubs xzr, x1, x3
    00039800b.lo 0x398b8
    00039804ldr x3, [x0+8]
    00039808subs xzr, x1, x3
    0003980cb.hs 0x398b8
    00039810add x3, x0, 24
    00039814tbz w2, 0, 0x3981c
    00039818add x3, x0, 40
    0003981c
    0003981cloc_3981c:
    0003981cstr x1, [sp+64]
    00039820str x3, [sp+32]
    00039824ldr x2, [x3]
    00039828cbz x2, 0x3986c
    0003982cldr x4, [x2+16]
    00039830subs xzr, x4, 252
    00039834b.ne 0x39884
    00039838ldr x2, [x0+32]
    0003983ccbz x2, 0x39848
    00039840str xzr, [x0+32]
    00039844b 0x39858
    00039848
    00039848loc_39848:
    00039848bl runtime.getempty
    0003984cldr x1, [sp+64]
    00039850ldr x3, [sp+32]
    00039854mov x2, x0
    00039858
    00039858loc_39858:
    00039858str xzr, [x2+16]
    0003985cldr x4, [x3]
    00039860str x4, [x2+24]
    00039864str x2, [x3]
    00039868b 0x39884
    0003986c
    0003986cloc_3986c:
    0003986cbl runtime.getempty
    00039870stp xzr, xzr, [x0+16]
    00039874ldr x1, [sp+32]
    00039878str x0, [x1]
    0003987cldr x1, [sp+64]
    00039880mov x2, x0
    00039884
    00039884loc_39884:
    00039884ldr x0, [x2+16]
    00039888subs xzr, x0, 252
    0003988cb.hs 0x398b0
    00039890add x3, x2, 32
    00039894str x1, [x3+3*x0]
    00039898ldr x0, [x2+16]
    0003989cadd x0, x0, 1
    000398a0str x0, [x2+16]
    000398a4ldur x29, [sp-8]
    000398a8ldr x30, [sp], 48
    000398acret x30
    000398b0
    000398b0loc_398b0:
    000398b0orr x1, xzr, 252
    000398b4bl runtime.panicIndex
    000398b8
    000398b8loc_398b8:
    000398b8adrp x0, 0x681000
    000398bcadd x0, x0, 3416
    000398c0movz x1, 27
    000398c4bl runtime.throw
    000398c8hint
    000398cc
    000398ccloc_398cc:
    000398ccstp x0, x1, [sp+8]
    000398d0strb w2, [sp+24]
    000398d4mov x3, x30
    000398d8bl runtime.morestack_noctxt.abi0
    000398dcldp x0, x1, [sp+8]
    000398e0ldrb w2, [sp+24]
    000398e4b 0x397e0
    000398e8udf 0
    000398ecudf 0
    000397e0
    000398f0
    000398f0runtime.(*stackScanState).getPtr: ; void runtime.(*stackScanState).getPtr(runtime.stackScanState * s)
    000398f0ldr x16, [x28+16]
    000398f4subs xzr, sp, x16
    000398f8b.ls 0x39a00
    000398fcstr x30, [sp-80]!
    00039900stur x29, [sp-8]
    00039904sub x29, sp, 8
    00039908str x0, [sp+88]
    0003990cstp xzr, xzr, [sp+48]
    00039910ldrsb x27, [x0]
    00039914add x2, x0, 24
    00039918str x2, [sp+48]
    0003991cadd x2, x0, 40
    00039920str x2, [sp+64]
    00039924str x2, [sp+56]
    00039928mov x1, xzr
    0003992cb 0x39934
    00039930
    00039930loc_39930:
    00039930add x1, x1, 1
    00039934
    00039934loc_39934:
    00039934subs xzr, x1, 2
    00039938b.ge 0x399c8
    0003993cadd x3, sp, 48
    00039940ldr x4, [x3+3*x1]
    00039944ldr x5, [x4]
    00039948cbz x5, 0x39930
    0003994cldr x6, [x5+16]
    00039950cbnz x6, 0x39998
    00039954ldr x6, [x0+32]
    00039958cbz x6, 0x39988
    0003995cstr x1, [sp+32]
    00039960str x4, [sp+40]
    00039964str x5, [sp+24]
    00039968mov x0, x6
    0003996cbl runtime.putempty
    00039970ldr x0, [sp+88]
    00039974ldr x1, [sp+32]
    00039978ldr x2, [sp+64]
    0003997cadd x3, sp, 48
    00039980ldr x4, [sp+40]
    00039984ldr x5, [sp+24]
    00039988
    00039988loc_39988:
    00039988str x5, [x0+32]
    0003998cldr x5, [x5+24]
    00039990str x5, [x4]
    00039994cbz x5, 0x39930
    00039998
    00039998loc_39998:
    00039998ldr x3, [x5+16]
    0003999csub x0, x3, 1
    000399a0str x0, [x5+16]
    000399a4subs xzr, x0, 252
    000399a8b.hs 0x399f4
    000399acadd x3, x5, 32
    000399b0ldr x0, [x3+3*x0]
    000399b4subs xzr, x4, x2
    000399b8cset x1, eq
    000399bcldur x29, [sp-8]
    000399c0ldr x30, [sp], 80
    000399c4ret x30
    000399c8
    000399c8loc_399c8:
    000399c8ldr x2, [x0+32]
    000399cccbz x2, 0x399e0
    000399d0mov x0, x2
    000399d4bl runtime.putempty
    000399d8ldr x1, [sp+88]
    000399dcstr xzr, [x1+32]
    000399e0
    000399e0loc_399e0:
    000399e0mov x0, xzr
    000399e4mov x1, xzr
    000399e8ldur x29, [sp-8]
    000399ecldr x30, [sp], 80
    000399f0ret x30
    000399f4
    000399f4loc_399f4:
    000399f4orr x1, xzr, 252
    000399f8bl runtime.panicIndex
    000399fchint
    00039a00
    00039a00loc_39a00:
    00039a00str x0, [sp+8]
    00039a04mov x3, x30
    00039a08bl runtime.morestack_noctxt.abi0
    00039a0cldr x0, [sp+8]
    00039a10b 0x398f0
    00039a14udf 0
    00039a18udf 0
    00039a1cudf 0
    000398f0
    00039a20
    00039a20runtime.(*stackScanState).addObject: ; void runtime.(*stackScanState).addObject(runtime.stackScanState * s, uintptr addr, runtime.stackObjectRecord * r)
    00039a20ldr x16, [x28+16]
    00039a24subs xzr, sp, x16
    00039a28b.ls 0x39b6c
    00039a2cstr x30, [sp-48]!
    00039a30stur x29, [sp-8]
    00039a34sub x29, sp, 8
    00039a38str x0, [sp+56]
    00039a3cstr x1, [sp+64]
    00039a40str x2, [sp+72]
    00039a44ldr x3, [x0+56]
    00039a48cbnz x3, 0x39a70
    00039a4cbl runtime.getempty
    00039a50str xzr, [x0+24]
    00039a54ldr x1, [sp+56]
    00039a58str x0, [x1+48]
    00039a5cstr x0, [x1+56]
    00039a60ldr x1, [sp+64]
    00039a64ldr x2, [sp+72]
    00039a68mov x3, x0
    00039a6cldr x0, [sp+56]
    00039a70
    00039a70loc_39a70:
    00039a70ldr x4, [x3+16]
    00039a74subs xzr, x4, 0
    00039a78b.le 0x39ae4
    00039a7cldr x5, [x0]
    00039a80sub x6, x4, 1
    00039a84sub x5, x1, x5
    00039a88subs xzr, x6, 63
    00039a8cb.hs 0x39b5c
    00039a90add x7, x3, 32
    00039a94add x8, x7, x6, lsl #5
    00039a98ubfm x6, x6, 59, 58
    00039a9cldr w6, [x7+x6]
    00039aa0ldr w7, [x8+4]
    00039aa4add x6, x6, x7
    00039aa8subs wzr, w5, w6
    00039aacb.lo 0x39b4c
    00039ab0subs xzr, x4, 63
    00039ab4b.ne 0x39ae4
    00039ab8str x3, [sp+32]
    00039abcbl runtime.getempty
    00039ac0str xzr, [x0+24]
    00039ac4ldr x1, [sp+32]
    00039ac8str x0, [x1+24]
    00039accldr x1, [sp+56]
    00039ad0str x0, [x1+56]
    00039ad4ldr x1, [sp+64]
    00039ad8ldr x2, [sp+72]
    00039adcmov x3, x0
    00039ae0ldr x0, [sp+56]
    00039ae4
    00039ae4loc_39ae4:
    00039ae4ldr x4, [x3+16]
    00039ae8subs xzr, x4, 63
    00039aecb.hs 0x39b40
    00039af0add x5, x3, 32
    00039af4add x6, x5, x4, lsl #5
    00039af8ubfm x7, x4, 59, 58
    00039afcadd x4, x4, 1
    00039b00str x4, [x3+16]
    00039b04ldr x3, [x0]
    00039b08sub x3, x1, x3
    00039b0cstr w3, [x5+x7]
    00039b10ldrsw x3, [x2+4]
    00039b14str w3, [x6+4]
    00039b18mov x0, x6
    00039b1cmov x1, x2
    00039b20bl runtime.(*stackObject).setRecord
    00039b24ldr x2, [sp+56]
    00039b28ldr x3, [x2+64]
    00039b2cadd x3, x3, 1
    00039b30str x3, [x2+64]
    00039b34ldur x29, [sp-8]
    00039b38ldr x30, [sp], 48
    00039b3cret x30
    00039b40
    00039b40loc_39b40:
    00039b40mov x0, x4
    00039b44orr x1, xzr, 63
    00039b48bl runtime.panicIndex
    00039b4c
    00039b4cloc_39b4c:
    00039b4cadrp x0, 0x68b000
    00039b50add x0, x0, 2905
    00039b54movz x1, 41
    00039b58bl runtime.throw
    00039b5c
    00039b5cloc_39b5c:
    00039b5cmov x0, x6
    00039b60orr x1, xzr, 63
    00039b64bl runtime.panicIndex
    00039b68hint
    00039b6c
    00039b6cloc_39b6c:
    00039b6cstp x0, x1, [sp+8]
    00039b70str x2, [sp+24]
    00039b74mov x3, x30
    00039b78bl runtime.morestack_noctxt.abi0
    00039b7cldp x0, x1, [sp+8]
    00039b80ldr x2, [sp+24]
    00039b84b 0x39a20
    00039b88udf 0
    00039b8cudf 0
    00039a20
    00039b90
    00039b90runtime.(*stackScanState).buildIndex: ; void runtime.(*stackScanState).buildIndex(runtime.stackScanState * s)
    00039b90ldr x16, [x28+16]
    00039b94subs xzr, sp, x16
    00039b98b.ls 0x39bd4
    00039b9cstr x30, [sp-48]!
    00039ba0stur x29, [sp-8]
    00039ba4sub x29, sp, 8
    00039ba8str x0, [sp+56]
    00039bacldr x3, [x0+48]
    00039bb0ldr x2, [x0+64]
    00039bb4mov x0, x3
    00039bb8mov x1, xzr
    00039bbcbl runtime.binarySearchTree
    00039bc0ldr x3, [sp+56]
    00039bc4str x0, [x3+72]
    00039bc8ldur x29, [sp-8]
    00039bccldr x30, [sp], 48
    00039bd0ret x30
    00039bd4
    00039bd4loc_39bd4:
    00039bd4str x0, [sp+8]
    00039bd8mov x3, x30
    00039bdcbl runtime.morestack_noctxt.abi0
    00039be0ldr x0, [sp+8]
    00039be4b 0x39b90
    00039be8udf 0
    00039becudf 0
    00039b90