File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
00039bf0
00039bf0runtime.binarySearchTree: ; void runtime.binarySearchTree(runtime.stackObjectBuf * x, int idx, int n)
00039bf0ldr x16, [x28+16]
00039bf4subs xzr, sp, x16
00039bf8b.ls 0x39cb4
00039bfcstr x30, [sp-64]!
00039c00stur x29, [sp-8]
00039c04sub x29, sp, 8
00039c08cbz x2, 0x39c8c
00039c0cstr x2, [sp+88]
00039c10add x3, x2, x2, lsr #63
00039c14str x3, [sp+48]
00039c18sbfm x2, x3, 1, 63
00039c1cbl runtime.binarySearchTree
00039c20subs xzr, x2, 63
00039c24b.hs 0x39ca4
00039c28str x0, [sp+32]
00039c2cldrsb x27, [x1]
00039c30add x3, x1, 32
00039c34add x3, x3, x2, lsl #5
00039c38str x3, [sp+40]
00039c3cadd x4, x2, 1
00039c40subs xzr, x2, 62
00039c44b.ne 0x39c50
00039c48ldr x1, [x1+24]
00039c4cmov x4, xzr
00039c50
00039c50loc_39c50:
00039c50ldr x3, [sp+88]
00039c54ldr x5, [sp+48]
00039c58sub x3, x3, x5, asr #1
00039c5csub x2, x3, 1
00039c60mov x0, x1
00039c64mov x1, x4
00039c68bl runtime.binarySearchTree
00039c6cldr x3, [sp+32]
00039c70ldr x4, [sp+40]
00039c74str x3, [x4+16]
00039c78str x0, [x4+24]
00039c7cmov x0, x4
00039c80ldur x29, [sp-8]
00039c84ldr x30, [sp], 64
00039c88ret x30
00039c8c
00039c8cloc_39c8c:
00039c8cmov x2, x1
00039c90mov x1, x0
00039c94mov x0, xzr
00039c98ldur x29, [sp-8]
00039c9cldr x30, [sp], 64
00039ca0ret x30
00039ca4
00039ca4loc_39ca4:
00039ca4mov x0, x2
00039ca8orr x1, xzr, 63
00039cacbl runtime.panicIndex
00039cb0hint
00039cb4
00039cb4loc_39cb4:
00039cb4stp x0, x1, [sp+8]
00039cb8str x2, [sp+24]
00039cbcmov x3, x30
00039cc0bl runtime.morestack_noctxt.abi0
00039cc4ldp x0, x1, [sp+8]
00039cc8ldr x2, [sp+24]
00039cccb 0x39bf0
00039bf0
00039bf0runtime.binarySearchTree: ; void runtime.binarySearchTree(runtime.stackObjectBuf * x, int idx, int n)
00039bf0ldr x16, [x28+16]
00039bf4subs xzr, sp, x16
00039bf8b.ls 0x39cb4
00039bfcstr x30, [sp-64]!
00039c00stur x29, [sp-8]
00039c04sub x29, sp, 8
00039c08cbz x2, 0x39c8c
00039c0cstr x2, [sp+88]
00039c10add x3, x2, x2, lsr #63
00039c14str x3, [sp+48]
00039c18sbfm x2, x3, 1, 63
00039c1cbl runtime.binarySearchTree
00039c20subs xzr, x2, 63
00039c24b.hs 0x39ca4
00039c28str x0, [sp+32]
00039c2cldrsb x27, [x1]
00039c30add x3, x1, 32
00039c34add x3, x3, x2, lsl #5
00039c38str x3, [sp+40]
00039c3cadd x4, x2, 1
00039c40subs xzr, x2, 62
00039c44b.ne 0x39c50
00039c48ldr x1, [x1+24]
00039c4cmov x4, xzr
00039c50
00039c50loc_39c50:
00039c50ldr x3, [sp+88]
00039c54ldr x5, [sp+48]
00039c58sub x3, x3, x5, asr #1
00039c5csub x2, x3, 1
00039c60mov x0, x1
00039c64mov x1, x4
00039c68bl runtime.binarySearchTree
00039c6cldr x3, [sp+32]
00039c70ldr x4, [sp+40]
00039c74str x3, [x4+16]
00039c78str x0, [x4+24]
00039c7cmov x0, x4
00039c80ldur x29, [sp-8]
00039c84ldr x30, [sp], 64
00039c88ret x30
00039c8c
00039c8cloc_39c8c:
00039c8cmov x2, x1
00039c90mov x1, x0
00039c94mov x0, xzr
00039c98ldur x29, [sp-8]
00039c9cldr x30, [sp], 64
00039ca0ret x30
00039ca4
00039ca4loc_39ca4:
00039ca4mov x0, x2
00039ca8orr x1, xzr, 63
00039cacbl runtime.panicIndex
00039cb0hint
00039cb4
00039cb4loc_39cb4:
00039cb4stp x0, x1, [sp+8]
00039cb8str x2, [sp+24]
00039cbcmov x3, x30
00039cc0bl runtime.morestack_noctxt.abi0
00039cc4ldp x0, x1, [sp+8]
00039cc8ldr x2, [sp+24]
00039cccb 0x39bf0
00039bf0
00039cd0
00039cd0runtime.(*stackScanState).findObject: ; void runtime.(*stackScanState).findObject(runtime.stackScanState * s, uintptr a)
00039cd0ldr x2, [x0]
00039cd4sub x1, x1, x2
00039cd8ldr x2, [x0+72]
00039cdc
00039cdcloc_39cdc:
00039cdccbz x2, 0x39d14
00039ce0ldr w3, [x2]
00039ce4subs wzr, w3, w1
00039ce8b.ls 0x39cf4
00039cecldr x2, [x2+16]
00039cf0b 0x39cdc
00039cf4
00039cf4loc_39cf4:
00039cf4ldr w4, [x2+4]
00039cf8add x3, x3, x4
00039cfcsubs wzr, w1, w3
00039d00b.lo 0x39d0c
00039d04ldr x2, [x2+24]
00039d08b 0x39cdc
00039d0c
00039d0cloc_39d0c:
00039d0cmov x0, x2
00039d10ret x30
00039d14
00039d14loc_39d14:
00039d14mov x0, xzr
00039d18ret x30
00039d1cudf 0
00039cd0
00039cd0runtime.(*stackScanState).findObject: ; void runtime.(*stackScanState).findObject(runtime.stackScanState * s, uintptr a)
00039cd0ldr x2, [x0]
00039cd4sub x1, x1, x2
00039cd8ldr x2, [x0+72]
00039cdc
00039cdcloc_39cdc:
00039cdccbz x2, 0x39d14
00039ce0ldr w3, [x2]
00039ce4subs wzr, w3, w1
00039ce8b.ls 0x39cf4
00039cecldr x2, [x2+16]
00039cf0b 0x39cdc
00039cf4
00039cf4loc_39cf4:
00039cf4ldr w4, [x2+4]
00039cf8add x3, x3, x4
00039cfcsubs wzr, w1, w3
00039d00b.lo 0x39d0c
00039d04ldr x2, [x2+24]
00039d08b 0x39cdc
00039d0c
00039d0cloc_39d0c:
00039d0cmov x0, x2
00039d10ret x30
00039d14
00039d14loc_39d14:
00039d14mov x0, xzr
00039d18ret x30
00039d1cudf 0
00039cd0
00039d20
00039d20runtime.(*sweepClass).load: ; void runtime.(*sweepClass).load(runtime.sweepClass * s)
00039d20ldar w0, [x0]
00039d24ret x30
00039d28udf 0
00039d2cudf 0
00039d20
00039d20runtime.(*sweepClass).load: ; void runtime.(*sweepClass).load(runtime.sweepClass * s)
00039d20ldar w0, [x0]
00039d24ret x30
00039d28udf 0
00039d2cudf 0
00039d20
00039d30
00039d30runtime.(*sweepClass).update: ; void runtime.(*sweepClass).update(runtime.sweepClass * s, runtime.sweepClass sNew)
00039d30ldr x16, [x28+16]
00039d34subs xzr, sp, x16
00039d38b.ls 0x39dc0
00039d3cstr x30, [sp-32]!
00039d40stur x29, [sp-8]
00039d44sub x29, sp, 8
00039d48str x0, [sp+40]
00039d4cstr w1, [sp+48]
00039d50bl runtime.(*sweepClass).load
00039d54ldr x1, [sp+40]
00039d58ldr w2, [sp+48]
00039d5cb 0x39d70
00039d60
00039d60loc_39d60:
00039d60mov x0, x1
00039d64bl runtime.(*sweepClass).load
00039d68ldr x1, [sp+40]
00039d6cldr w2, [sp+48]
00039d70
00039d70loc_39d70:
00039d70subs wzr, w2, w0
00039d74b.ls 0x39db4
00039d78adrp x27, 0xa12000
00039d7cldrb w3, [x27+1516]
00039d80tbz w3, 0, 0x39d98
00039d84sbfm x27, x0, 0, 31
00039d88casal w27, w2, [x1]
00039d8csubs wzr, w27, w0
00039d90cset x3, eq
00039d94b 0x39db0
00039d98
00039d98loc_39d98:
00039d98ldaxr w27, [x1]
00039d9csubs wzr, w27, w0
00039da0b.ne 0x39dac
00039da4stlxr w27, w2, [x1]
00039da8cbnz x27, 0x39d98
00039dac
00039dacloc_39dac:
00039daccset x3, eq
00039db0
00039db0loc_39db0:
00039db0tbz w3, 0, 0x39d60
00039db4
00039db4loc_39db4:
00039db4ldur x29, [sp-8]
00039db8ldr x30, [sp], 32
00039dbcret x30
00039dc0
00039dc0loc_39dc0:
00039dc0str x0, [sp+8]
00039dc4str w1, [sp+16]
00039dc8mov x3, x30
00039dccbl runtime.morestack_noctxt.abi0
00039dd0ldr x0, [sp+8]
00039dd4ldr w1, [sp+16]
00039dd8b 0x39d30
00039ddcudf 0
00039d30
00039d30runtime.(*sweepClass).update: ; void runtime.(*sweepClass).update(runtime.sweepClass * s, runtime.sweepClass sNew)
00039d30ldr x16, [x28+16]
00039d34subs xzr, sp, x16
00039d38b.ls 0x39dc0
00039d3cstr x30, [sp-32]!
00039d40stur x29, [sp-8]
00039d44sub x29, sp, 8
00039d48str x0, [sp+40]
00039d4cstr w1, [sp+48]
00039d50bl runtime.(*sweepClass).load
00039d54ldr x1, [sp+40]
00039d58ldr w2, [sp+48]
00039d5cb 0x39d70
00039d60
00039d60loc_39d60:
00039d60mov x0, x1
00039d64bl runtime.(*sweepClass).load
00039d68ldr x1, [sp+40]
00039d6cldr w2, [sp+48]
00039d70
00039d70loc_39d70:
00039d70subs wzr, w2, w0
00039d74b.ls 0x39db4
00039d78adrp x27, 0xa12000
00039d7cldrb w3, [x27+1516]
00039d80tbz w3, 0, 0x39d98
00039d84sbfm x27, x0, 0, 31
00039d88casal w27, w2, [x1]
00039d8csubs wzr, w27, w0
00039d90cset x3, eq
00039d94b 0x39db0
00039d98
00039d98loc_39d98:
00039d98ldaxr w27, [x1]
00039d9csubs wzr, w27, w0
00039da0b.ne 0x39dac
00039da4stlxr w27, w2, [x1]
00039da8cbnz x27, 0x39d98
00039dac
00039dacloc_39dac:
00039daccset x3, eq
00039db0
00039db0loc_39db0:
00039db0tbz w3, 0, 0x39d60
00039db4
00039db4loc_39db4:
00039db4ldur x29, [sp-8]
00039db8ldr x30, [sp], 32
00039dbcret x30
00039dc0
00039dc0loc_39dc0:
00039dc0str x0, [sp+8]
00039dc4str w1, [sp+16]
00039dc8mov x3, x30
00039dccbl runtime.morestack_noctxt.abi0
00039dd0ldr x0, [sp+8]
00039dd4ldr w1, [sp+16]
00039dd8b 0x39d30
00039ddcudf 0
00039d30
00039de0
00039de0runtime.(*sweepClass).clear: ; void runtime.(*sweepClass).clear(runtime.sweepClass * s)
00039de0mov x1, xzr
00039de4stlr w1, [x0]
00039de8ret x30
00039decudf 0
00039de0
00039de0runtime.(*sweepClass).clear: ; void runtime.(*sweepClass).clear(runtime.sweepClass * s)
00039de0mov x1, xzr
00039de4stlr w1, [x0]
00039de8ret x30
00039decudf 0
00039de0
00039df0
00039df0runtime.sweepClass.split: ; void runtime.sweepClass.split(runtime.sweepClass s)
00039df0ubfm x2, x0, 1, 31
00039df4ands wzr, w0, 1
00039df8cset x1, eq
00039dfcmov x0, x2
00039e00ret x30
00039e04udf 0
00039e08udf 0
00039e0cudf 0
00039df0
00039df0runtime.sweepClass.split: ; void runtime.sweepClass.split(runtime.sweepClass s)
00039df0ubfm x2, x0, 1, 31
00039df4ands wzr, w0, 1
00039df8cset x1, eq
00039dfcmov x0, x2
00039e00ret x30
00039e04udf 0
00039e08udf 0
00039e0cudf 0
00039df0
00039e10
00039e10runtime.(*mheap).nextSpanForSweep: ; void runtime.(*mheap).nextSpanForSweep(runtime.mheap * h)
00039e10ldr x16, [x28+16]
00039e14subs xzr, sp, x16
00039e18b.ls 0x39ef8
00039e1cstr x30, [sp-48]!
00039e20stur x29, [sp-8]
00039e24sub x29, sp, 8
00039e28str x0, [sp+56]
00039e2cldrsb x27, [x0]
00039e30add x27, x0, 0x10000
00039e34ldr w1, [x27+320]
00039e38str w1, [sp+24]
00039e3cadrp x0, 0x9ea000
00039e40add x0, x0, 952
00039e44bl runtime.(*sweepClass).load
00039e48b 0x39e54
00039e4c
00039e4cloc_39e4c:
00039e4cldr w2, [sp+28]
00039e50add x0, x2, 1
00039e54
00039e54loc_39e54:
00039e54subs wzr, w0, 272
00039e58b.hs 0x39ecc
00039e5cstr w0, [sp+28]
00039e60bl runtime.sweepClass.split
00039e64ubfm x0, x0, 0, 7
00039e68ldr x2, [sp+56]
00039e6cmovz x3, 712
00039e70movk x3, 0x10000
00039e74add x3, x2, x3
00039e78subs xzr, x0, 136
00039e7cb.hs 0x39eec
00039e80add x0, x3, x0, lsl #8
00039e84tbz w1, 0, 0x39e98
00039e88ldr w1, [sp+24]
00039e8cbl runtime.(*mcentral).fullUnswept
00039e90bl runtime.(*spanSet).pop
00039e94b 0x39ea4
00039e98
00039e98loc_39e98:
00039e98ldr w1, [sp+24]
00039e9cbl runtime.(*mcentral).partialUnswept
00039ea0bl runtime.(*spanSet).pop
00039ea4
00039ea4loc_39ea4:
00039ea4cbz x0, 0x39e4c
00039ea8str x0, [sp+32]
00039eacadrp x0, 0x9ea000
00039eb0add x0, x0, 952
00039eb4ldr w1, [sp+28]
00039eb8bl runtime.(*sweepClass).update
00039ebcldr x0, [sp+32]
00039ec0ldur x29, [sp-8]
00039ec4ldr x30, [sp], 48
00039ec8ret x30
00039ecc
00039eccloc_39ecc:
00039eccadrp x0, 0x9ea000
00039ed0add x0, x0, 952
00039ed4movn x1, 0
00039ed8bl runtime.(*sweepClass).update
00039edcmov x0, xzr
00039ee0ldur x29, [sp-8]
00039ee4ldr x30, [sp], 48
00039ee8ret x30
00039eec
00039eecloc_39eec:
00039eecmovz x1, 136
00039ef0bl runtime.panicIndex
00039ef4hint
00039ef8
00039ef8loc_39ef8:
00039ef8str x0, [sp+8]
00039efcmov x3, x30
00039f00bl runtime.morestack_noctxt.abi0
00039f04ldr x0, [sp+8]
00039f08b 0x39e10
00039f0cudf 0
00039e10
00039e10runtime.(*mheap).nextSpanForSweep: ; void runtime.(*mheap).nextSpanForSweep(runtime.mheap * h)
00039e10ldr x16, [x28+16]
00039e14subs xzr, sp, x16
00039e18b.ls 0x39ef8
00039e1cstr x30, [sp-48]!
00039e20stur x29, [sp-8]
00039e24sub x29, sp, 8
00039e28str x0, [sp+56]
00039e2cldrsb x27, [x0]
00039e30add x27, x0, 0x10000
00039e34ldr w1, [x27+320]
00039e38str w1, [sp+24]
00039e3cadrp x0, 0x9ea000
00039e40add x0, x0, 952
00039e44bl runtime.(*sweepClass).load
00039e48b 0x39e54
00039e4c
00039e4cloc_39e4c:
00039e4cldr w2, [sp+28]
00039e50add x0, x2, 1
00039e54
00039e54loc_39e54:
00039e54subs wzr, w0, 272
00039e58b.hs 0x39ecc
00039e5cstr w0, [sp+28]
00039e60bl runtime.sweepClass.split
00039e64ubfm x0, x0, 0, 7
00039e68ldr x2, [sp+56]
00039e6cmovz x3, 712
00039e70movk x3, 0x10000
00039e74add x3, x2, x3
00039e78subs xzr, x0, 136
00039e7cb.hs 0x39eec
00039e80add x0, x3, x0, lsl #8
00039e84tbz w1, 0, 0x39e98
00039e88ldr w1, [sp+24]
00039e8cbl runtime.(*mcentral).fullUnswept
00039e90bl runtime.(*spanSet).pop
00039e94b 0x39ea4
00039e98
00039e98loc_39e98:
00039e98ldr w1, [sp+24]
00039e9cbl runtime.(*mcentral).partialUnswept
00039ea0bl runtime.(*spanSet).pop
00039ea4
00039ea4loc_39ea4:
00039ea4cbz x0, 0x39e4c
00039ea8str x0, [sp+32]
00039eacadrp x0, 0x9ea000
00039eb0add x0, x0, 952
00039eb4ldr w1, [sp+28]
00039eb8bl runtime.(*sweepClass).update
00039ebcldr x0, [sp+32]
00039ec0ldur x29, [sp-8]
00039ec4ldr x30, [sp], 48
00039ec8ret x30
00039ecc
00039eccloc_39ecc:
00039eccadrp x0, 0x9ea000
00039ed0add x0, x0, 952
00039ed4movn x1, 0
00039ed8bl runtime.(*sweepClass).update
00039edcmov x0, xzr
00039ee0ldur x29, [sp-8]
00039ee4ldr x30, [sp], 48
00039ee8ret x30
00039eec
00039eecloc_39eec:
00039eecmovz x1, 136
00039ef0bl runtime.panicIndex
00039ef4hint
00039ef8
00039ef8loc_39ef8:
00039ef8str x0, [sp+8]
00039efcmov x3, x30
00039f00bl runtime.morestack_noctxt.abi0
00039f04ldr x0, [sp+8]
00039f08b 0x39e10
00039f0cudf 0
00039e10
00039f10
00039f10runtime.(*activeSweep).begin: ; void runtime.(*activeSweep).begin(runtime.activeSweep * a)
00039f10ldr x16, [x28+16]
00039f14subs xzr, sp, x16
00039f18b.ls 0x39f84
00039f1cstr x30, [sp-32]!
00039f20stur x29, [sp-8]
00039f24sub x29, sp, 8
00039f28str x0, [sp+40]
00039f2cb 0x39f34
00039f30
00039f30loc_39f30:
00039f30ldr x0, [sp+40]
00039f34
00039f34loc_39f34:
00039f34ldrsb x27, [x0]
00039f38bl internal/runtime/atomic.(*Uint32).Load
00039f3ctbnz w0, 31, 0x39f6c
00039f40add x2, x0, 1
00039f44mov x1, x0
00039f48ldr x0, [sp+40]
00039f4cbl internal/runtime/atomic.(*Uint32).CompareAndSwap
00039f50tbz w0, 0, 0x39f30
00039f54adrp x27, 0xa09000
00039f58ldr w0, [x27+2432]
00039f5corr x1, xzr, 1
00039f60ldur x29, [sp-8]
00039f64ldr x30, [sp], 32
00039f68ret x30
00039f6c
00039f6cloc_39f6c:
00039f6cadrp x27, 0xa09000
00039f70ldr w0, [x27+2432]
00039f74mov x1, xzr
00039f78ldur x29, [sp-8]
00039f7cldr x30, [sp], 32
00039f80ret x30
00039f84
00039f84loc_39f84:
00039f84str x0, [sp+8]
00039f88mov x3, x30
00039f8cbl runtime.morestack_noctxt.abi0
00039f90ldr x0, [sp+8]
00039f94b 0x39f10
00039f98udf 0
00039f9cudf 0
00039f10
00039f10runtime.(*activeSweep).begin: ; void runtime.(*activeSweep).begin(runtime.activeSweep * a)
00039f10ldr x16, [x28+16]
00039f14subs xzr, sp, x16
00039f18b.ls 0x39f84
00039f1cstr x30, [sp-32]!
00039f20stur x29, [sp-8]
00039f24sub x29, sp, 8
00039f28str x0, [sp+40]
00039f2cb 0x39f34
00039f30
00039f30loc_39f30:
00039f30ldr x0, [sp+40]
00039f34
00039f34loc_39f34:
00039f34ldrsb x27, [x0]
00039f38bl internal/runtime/atomic.(*Uint32).Load
00039f3ctbnz w0, 31, 0x39f6c
00039f40add x2, x0, 1
00039f44mov x1, x0
00039f48ldr x0, [sp+40]
00039f4cbl internal/runtime/atomic.(*Uint32).CompareAndSwap
00039f50tbz w0, 0, 0x39f30
00039f54adrp x27, 0xa09000
00039f58ldr w0, [x27+2432]
00039f5corr x1, xzr, 1
00039f60ldur x29, [sp-8]
00039f64ldr x30, [sp], 32
00039f68ret x30
00039f6c
00039f6cloc_39f6c:
00039f6cadrp x27, 0xa09000
00039f70ldr w0, [x27+2432]
00039f74mov x1, xzr
00039f78ldur x29, [sp-8]
00039f7cldr x30, [sp], 32
00039f80ret x30
00039f84
00039f84loc_39f84:
00039f84str x0, [sp+8]
00039f88mov x3, x30
00039f8cbl runtime.morestack_noctxt.abi0
00039f90ldr x0, [sp+8]
00039f94b 0x39f10
00039f98udf 0
00039f9cudf 0
00039f10
00039fa0
00039fa0runtime.(*activeSweep).end: ; void runtime.(*activeSweep).end(runtime.activeSweep * a, runtime.sweepLocker sl)
00039fa0ldr x16, [x28+16]
00039fa4subs xzr, sp, x16
00039fa8b.ls 0x3a128
00039facstr x30, [sp-80]!
00039fb0stur x29, [sp-8]
00039fb4sub x29, sp, 8
00039fb8adrp x27, 0xa09000
00039fbcldr w2, [x27+2432]
00039fc0subs wzr, w1, w2
00039fc4b.ne 0x3a114
00039fc8str x0, [sp+88]
00039fccb 0x39fd4
00039fd0
00039fd0loc_39fd0:
00039fd0ldr x0, [sp+88]
00039fd4
00039fd4loc_39fd4:
00039fd4ldrsb x27, [x0]
00039fd8bl internal/runtime/atomic.(*Uint32).Load
00039fdcand x1, x0, 0x7fffffff
00039fe0sub x1, x1, 1
00039fe4orr x2, xzr, 0xffffffff80000000
00039fe8subs wzr, w1, w2
00039fecb.hs 0x3a104
00039ff0str w0, [sp+28]
00039ff4sub x2, x0, 1
00039ff8mov x1, x0
00039ffcldr x0, [sp+88]
0003a000bl internal/runtime/atomic.(*Uint32).CompareAndSwap
0003a004tbz w0, 0, 0x39fd0
0003a008ldr w1, [sp+28]
0003a00corr x2, xzr, 0xffffffff80000000
0003a010subs wzr, w1, w2
0003a014b.ne 0x3a0f8
0003a018adrp x27, 0xa12000
0003a01cldrsw x1, [x27+248]
0003a020subs wzr, w1, 0
0003a024b.le 0x3a0ec
0003a028adrp x0, 0xa12000
0003a02cadd x0, x0, 2600
0003a030bl internal/runtime/atomic.(*Uint64).Load
0003a034str x0, [sp+32]
0003a038ubfm x1, x0, 20, 63
0003a03cstr x1, [sp+64]
0003a040adrp x0, 0xa08000
0003a044add x0, x0, 2472
0003a048bl internal/runtime/atomic.(*Uint64).Load
0003a04cstr x0, [sp+56]
0003a050adrp x27, 0xa08000
0003a054ldr x1, [x27+2488]
0003a058ldr x2, [sp+32]
0003a05csub x1, x2, x1
0003a060ubfm x1, x1, 20, 63
0003a064str x1, [sp+48]
0003a068adrp x27, 0xa08000
0003a06cldr d0, [x27+2496]
0003a070str d0, [sp+40]
0003a074bl runtime.printlock
0003a078adrp x0, 0x683000
0003a07cadd x0, x0, 2525
0003a080orr x1, xzr, 31
0003a084bl runtime.printstring
0003a088ldr x0, [sp+64]
0003a08cbl runtime.printuint
0003a090adrp x0, 0x679000
0003a094add x0, x0, 3234
0003a098orr x1, xzr, 14
0003a09cbl runtime.printstring
0003a0a0ldr x0, [sp+48]
0003a0a4bl runtime.printuint
0003a0a8adrp x0, 0x67e000
0003a0acadd x0, x0, 1145
0003a0b0movz x1, 23
0003a0b4bl runtime.printstring
0003a0b8ldr x0, [sp+56]
0003a0bcbl runtime.printuint
0003a0c0adrp x0, 0x678000
0003a0c4add x0, x0, 244
0003a0c8movz x1, 10
0003a0ccbl runtime.printstring
0003a0d0ldr d0, [sp+40]
0003a0d4bl runtime.printfloat
0003a0d8adrp x0, 0x678000
0003a0dcadd x0, x0, 3904
0003a0e0orr x1, xzr, 12
0003a0e4bl runtime.printstring
0003a0e8bl runtime.printunlock
0003a0ec
0003a0ecloc_3a0ec:
0003a0ecldur x29, [sp-8]
0003a0f0ldr x30, [sp], 80
0003a0f4ret x30
0003a0f8
0003a0f8loc_3a0f8:
0003a0f8ldur x29, [sp-8]
0003a0fcldr x30, [sp], 80
0003a100ret x30
0003a104
0003a104loc_3a104:
0003a104adrp x0, 0x686000
0003a108add x0, x0, 2176
0003a10cmovz x1, 35
0003a110bl runtime.throw
0003a114
0003a114loc_3a114:
0003a114adrp x0, 0x68e000
0003a118add x0, x0, 3386
0003a11cmovz x1, 49
0003a120bl runtime.throw
0003a124hint
0003a128
0003a128loc_3a128:
0003a128str x0, [sp+8]
0003a12cstr w1, [sp+16]
0003a130strb w2, [sp+20]
0003a134mov x3, x30
0003a138bl runtime.morestack_noctxt.abi0
0003a13cldr x0, [sp+8]
0003a140ldr w1, [sp+16]
0003a144ldrb w2, [sp+20]
0003a148b 0x39fa0
0003a14cudf 0
00039fa0
00039fa0runtime.(*activeSweep).end: ; void runtime.(*activeSweep).end(runtime.activeSweep * a, runtime.sweepLocker sl)
00039fa0ldr x16, [x28+16]
00039fa4subs xzr, sp, x16
00039fa8b.ls 0x3a128
00039facstr x30, [sp-80]!
00039fb0stur x29, [sp-8]
00039fb4sub x29, sp, 8
00039fb8adrp x27, 0xa09000
00039fbcldr w2, [x27+2432]
00039fc0subs wzr, w1, w2
00039fc4b.ne 0x3a114
00039fc8str x0, [sp+88]
00039fccb 0x39fd4
00039fd0
00039fd0loc_39fd0:
00039fd0ldr x0, [sp+88]
00039fd4
00039fd4loc_39fd4:
00039fd4ldrsb x27, [x0]
00039fd8bl internal/runtime/atomic.(*Uint32).Load
00039fdcand x1, x0, 0x7fffffff
00039fe0sub x1, x1, 1
00039fe4orr x2, xzr, 0xffffffff80000000
00039fe8subs wzr, w1, w2
00039fecb.hs 0x3a104
00039ff0str w0, [sp+28]
00039ff4sub x2, x0, 1
00039ff8mov x1, x0
00039ffcldr x0, [sp+88]
0003a000bl internal/runtime/atomic.(*Uint32).CompareAndSwap
0003a004tbz w0, 0, 0x39fd0
0003a008ldr w1, [sp+28]
0003a00corr x2, xzr, 0xffffffff80000000
0003a010subs wzr, w1, w2
0003a014b.ne 0x3a0f8
0003a018adrp x27, 0xa12000
0003a01cldrsw x1, [x27+248]
0003a020subs wzr, w1, 0
0003a024b.le 0x3a0ec
0003a028adrp x0, 0xa12000
0003a02cadd x0, x0, 2600
0003a030bl internal/runtime/atomic.(*Uint64).Load
0003a034str x0, [sp+32]
0003a038ubfm x1, x0, 20, 63
0003a03cstr x1, [sp+64]
0003a040adrp x0, 0xa08000
0003a044add x0, x0, 2472
0003a048bl internal/runtime/atomic.(*Uint64).Load
0003a04cstr x0, [sp+56]
0003a050adrp x27, 0xa08000
0003a054ldr x1, [x27+2488]
0003a058ldr x2, [sp+32]
0003a05csub x1, x2, x1
0003a060ubfm x1, x1, 20, 63
0003a064str x1, [sp+48]
0003a068adrp x27, 0xa08000
0003a06cldr d0, [x27+2496]
0003a070str d0, [sp+40]
0003a074bl runtime.printlock
0003a078adrp x0, 0x683000
0003a07cadd x0, x0, 2525
0003a080orr x1, xzr, 31
0003a084bl runtime.printstring
0003a088ldr x0, [sp+64]
0003a08cbl runtime.printuint
0003a090adrp x0, 0x679000
0003a094add x0, x0, 3234
0003a098orr x1, xzr, 14
0003a09cbl runtime.printstring
0003a0a0ldr x0, [sp+48]
0003a0a4bl runtime.printuint
0003a0a8adrp x0, 0x67e000
0003a0acadd x0, x0, 1145
0003a0b0movz x1, 23
0003a0b4bl runtime.printstring
0003a0b8ldr x0, [sp+56]
0003a0bcbl runtime.printuint
0003a0c0adrp x0, 0x678000
0003a0c4add x0, x0, 244
0003a0c8movz x1, 10
0003a0ccbl runtime.printstring
0003a0d0ldr d0, [sp+40]
0003a0d4bl runtime.printfloat
0003a0d8adrp x0, 0x678000
0003a0dcadd x0, x0, 3904
0003a0e0orr x1, xzr, 12
0003a0e4bl runtime.printstring
0003a0e8bl runtime.printunlock
0003a0ec
0003a0ecloc_3a0ec:
0003a0ecldur x29, [sp-8]
0003a0f0ldr x30, [sp], 80
0003a0f4ret x30
0003a0f8
0003a0f8loc_3a0f8:
0003a0f8ldur x29, [sp-8]
0003a0fcldr x30, [sp], 80
0003a100ret x30
0003a104
0003a104loc_3a104:
0003a104adrp x0, 0x686000
0003a108add x0, x0, 2176
0003a10cmovz x1, 35
0003a110bl runtime.throw
0003a114
0003a114loc_3a114:
0003a114adrp x0, 0x68e000
0003a118add x0, x0, 3386
0003a11cmovz x1, 49
0003a120bl runtime.throw
0003a124hint
0003a128
0003a128loc_3a128:
0003a128str x0, [sp+8]
0003a12cstr w1, [sp+16]
0003a130strb w2, [sp+20]
0003a134mov x3, x30
0003a138bl runtime.morestack_noctxt.abi0
0003a13cldr x0, [sp+8]
0003a140ldr w1, [sp+16]
0003a144ldrb w2, [sp+20]
0003a148b 0x39fa0
0003a14cudf 0
00039fa0
Loading..