File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0002f7a0
    0002f7a0runtime.gcMarkDone: ; void runtime.gcMarkDone(void)
    0002f7a0ldr x16, [x28+16]
    0002f7a4subs xzr, sp, x16
    0002f7a8b.ls 0x2fa10
    0002f7acstr x30, [sp-128]!
    0002f7b0stur x29, [sp-8]
    0002f7b4sub x29, sp, 8
    0002f7b8adrp x0, 0x9f5000
    0002f7bcadd x0, x0, 3100
    0002f7c0bl runtime.semacquire
    0002f7c4b 0x2f7f8
    0002f7c8
    0002f7c8loc_2f7c8:
    0002f7c8str xzr, [x1+248]
    0002f7ccadrp x0, 0
    0002f7d0add x0, x0, 2592
    0002f7d4str x0, [sp+104]
    0002f7d8add x0, sp, 48
    0002f7dcstr x0, [sp+112]
    0002f7e0add x0, sp, 104
    0002f7e4str x0, [sp+8]
    0002f7e8bl runtime.systemstack.abi0
    0002f7ecadrp x0, 0x991000
    0002f7f0add x0, x0, 1416
    0002f7f4bl runtime.semrelease
    0002f7f8
    0002f7f8loc_2f7f8:
    0002f7f8adrp x27, 0xa1c000
    0002f7fcldr w1, [x27+1600]
    0002f800subs wzr, w1, 1
    0002f804b.ne 0x2f954
    0002f808adrp x27, 0x9f5000
    0002f80cldr w1, [x27+3008]
    0002f810adrp x27, 0x9f5000
    0002f814ldr w2, [x27+2992]
    0002f818subs wzr, w2, w1
    0002f81cb.ne 0x2f954
    0002f820mov x0, xzr
    0002f824bl runtime.gcMarkWorkAvailable
    0002f828tbnz w0, 0, 0x2f954
    0002f82cadrp x0, 0x991000
    0002f830add x0, x0, 1416
    0002f834bl runtime.semacquire
    0002f838orr x1, xzr, 1
    0002f83cadrp x27, 0x9f5000
    0002f840strb w1, [x27+3176]
    0002f844adrp x27, 0xa1c000
    0002f848str wzr, [x27+1608]
    0002f84corr x0, xzr, 31
    0002f850adrp x1, 0x6a9000
    0002f854add x1, x1, 1816
    0002f858bl runtime.forEachP
    0002f85cadrp x27, 0xa1c000
    0002f860ldr w1, [x27+1608]
    0002f864cbz w1, 0x2f96c
    0002f868adrp x0, 0x991000
    0002f86cadd x0, x0, 1416
    0002f870bl runtime.semrelease
    0002f874b 0x2f7f8
    0002f878
    0002f878loc_2f878:
    0002f878bl runtime.nanotime
    0002f87cstr x0, [sp+80]
    0002f880adrp x27, 0x9f5000
    0002f884str x0, [x27+3240]
    0002f888ldr x1, [x28+48]
    0002f88cmovz x2, 5
    0002f890str x2, [x1+256]
    0002f894adrp x27, 0xa1c000
    0002f898ldr w3, [x27+3056]
    0002f89ccbz w3, 0x2f8ac
    0002f8a0ldr x3, [x1+248]
    0002f8a4bl runtime.gcWriteBarrier1
    0002f8a8str x3, [x25]
    0002f8ac
    0002f8acloc_2f8ac:
    0002f8acadrp x0, 0x681000
    0002f8b0add x0, x0, 1637
    0002f8b4str x0, [x1+248]
    0002f8b8strb wzr, [sp+48]
    0002f8bcstp xzr, xzr, [sp+56]
    0002f8c0str xzr, [sp+72]
    0002f8c4adrp x0, 0
    0002f8c8add x0, x0, 2928
    0002f8ccstr x0, [sp+104]
    0002f8d0add x0, sp, 48
    0002f8d4str x0, [sp+112]
    0002f8d8add x0, sp, 104
    0002f8dcstr x0, [sp+8]
    0002f8e0bl runtime.systemstack.abi0
    0002f8e4ldr x1, [sp+72]
    0002f8e8adrp x0, 0x9f5000
    0002f8ecadd x0, x0, 3288
    0002f8f0orr x2, xzr, 1
    0002f8f4bl runtime.(*cpuStats).accumulateGCPauseTime
    0002f8f8strb wzr, [sp+47]
    0002f8fcadrp x0, 0
    0002f900add x0, x0, 2752
    0002f904str x0, [sp+88]
    0002f908add x0, sp, 47
    0002f90cstr x0, [sp+96]
    0002f910add x0, sp, 88
    0002f914str x0, [sp+8]
    0002f918bl runtime.systemstack.abi0
    0002f91cldrb w0, [sp+47]
    0002f920tbz w0, 0, 0x2f980
    0002f924orr x0, xzr, 1
    0002f928adrp x27, 0xa1c000
    0002f92cstrb w0, [x27+1587]
    0002f930ldr x1, [x28+48]
    0002f934str xzr, [x1+256]
    0002f938adrp x27, 0xa1c000
    0002f93cldr w2, [x27+3056]
    0002f940cbz w2, 0x2f7c8
    0002f944ldr x2, [x1+248]
    0002f948bl runtime.gcWriteBarrier1
    0002f94cstr x2, [x25]
    0002f950b 0x2f7c8
    0002f954
    0002f954loc_2f954:
    0002f954adrp x0, 0x9f5000
    0002f958add x0, x0, 3100
    0002f95cbl runtime.semrelease
    0002f960ldur x29, [sp-8]
    0002f964ldr x30, [sp], 128
    0002f968ret x30
    0002f96c
    0002f96cloc_2f96c:
    0002f96cadrp x0, 0xa1c000
    0002f970add x0, x0, 1586
    0002f974bl internal/runtime/atomic.(*Bool).Load
    0002f978tbnz w0, 0, 0x2f96c
    0002f97cb 0x2f878
    0002f980
    0002f980loc_2f980:
    0002f980bl runtime.gcComputeStartingStackSize
    0002f984mov x0, xzr
    0002f988adrp x1, 0xa1c000
    0002f98cadd x1, x1, 1604
    0002f990stlr w0, [x1]
    0002f994adrp x0, 0xa1c000
    0002f998add x0, x0, 4032
    0002f99cmov x1, xzr
    0002f9a0ldr x2, [sp+80]
    0002f9a4bl runtime.(*gcCPULimiterState).startGCTransition
    0002f9a8bl runtime.gcWakeAllAssists
    0002f9acadrp x27, 0x9f5000
    0002f9b0strb wzr, [x27+3176]
    0002f9b4bl runtime.gcWakeAllStrongFromWeak
    0002f9b8adrp x0, 0x9f5000
    0002f9bcadd x0, x0, 3100
    0002f9c0bl runtime.semrelease
    0002f9c4orr x0, xzr, 1
    0002f9c8bl runtime.schedEnableUser
    0002f9ccadrp x27, 0xa1c000
    0002f9d0ldrsw x0, [x27+1648]
    0002f9d4mov x2, x0
    0002f9d8adrp x27, 0x9f5000
    0002f9dcldrb w3, [x27+3120]
    0002f9e0adrp x0, 0xa1d000
    0002f9e4add x0, x0, 2496
    0002f9e8ldr x1, [sp+80]
    0002f9ecbl runtime.(*gcControllerState).endCycle
    0002f9f0ldrb w0, [sp+48]
    0002f9f4ldr x1, [sp+56]
    0002f9f8ldr x2, [sp+64]
    0002f9fcldr x3, [sp+72]
    0002fa00bl runtime.gcMarkTermination
    0002fa04ldur x29, [sp-8]
    0002fa08ldr x30, [sp], 128
    0002fa0cret x30
    0002fa10
    0002fa10loc_2fa10:
    0002fa10mov x3, x30
    0002fa14bl runtime.morestack_noctxt.abi0
    0002fa18b 0x2f7a0
    0002fa1cudf 0
    0002f7a0
    0002fa20
    0002fa20runtime.gcMarkDone.func4: ; void runtime.gcMarkDone.func4(void)
    0002fa20ldr x16, [x28+16]
    0002fa24subs xzr, sp, x16
    0002fa28b.ls 0x2faac
    0002fa2cstr x30, [sp-64]!
    0002fa30stur x29, [sp-8]
    0002fa34sub x29, sp, 8
    0002fa38ldr x0, [x26+8]
    0002fa3cstr x0, [sp+48]
    0002fa40bl runtime.nanotime
    0002fa44ldr x1, [sp+48]
    0002fa48ldr x1, [x1+16]
    0002fa4csub x1, x0, x1
    0002fa50adrp x27, 0x9f5000
    0002fa54ldrsw x2, [x27+3216]
    0002fa58adrp x0, 0x9f5000
    0002fa5cadd x0, x0, 3288
    0002fa60bl runtime.(*cpuStats).accumulateGCPauseTime
    0002fa64ldr x0, [sp+48]
    0002fa68ldrb w1, [x0]
    0002fa6cldr x2, [x0+8]
    0002fa70ldr x3, [x0+16]
    0002fa74ldr x4, [x0+24]
    0002fa78mov x0, xzr
    0002fa7cbl runtime.startTheWorldWithSema
    0002fa80adrp x27, 0x9f5000
    0002fa84ldr x1, [x27+3256]
    0002fa88ldr x2, [sp+48]
    0002fa8cldr x2, [x2+8]
    0002fa90sub x0, x0, x2
    0002fa94add x0, x1, x0
    0002fa98adrp x27, 0x9f5000
    0002fa9cstr x0, [x27+3256]
    0002faa0ldur x29, [sp-8]
    0002faa4ldr x30, [sp], 64
    0002faa8ret x30
    0002faac
    0002faacloc_2faac:
    0002faacmov x3, x30
    0002fab0bl runtime.morestack.abi0
    0002fab4b 0x2fa20
    0002fab8udf 0
    0002fabcudf 0
    0002fa20
    0002fac0
    0002fac0runtime.gcMarkDone.func3: ; void runtime.gcMarkDone.func3(void)
    0002fac0ldr x16, [x28+16]
    0002fac4subs xzr, sp, x16
    0002fac8b.ls 0x2fb5c
    0002faccstr x30, [sp-64]!
    0002fad0stur x29, [sp-8]
    0002fad4sub x29, sp, 8
    0002fad8ldr x1, [x26+8]
    0002fadcstr x1, [sp+48]
    0002fae0adrp x27, 0x9f3000
    0002fae4ldr x2, [x27+3040]
    0002fae8str x2, [sp+40]
    0002faecadrp x27, 0x9f3000
    0002faf0ldr x3, [x27+3048]
    0002faf4str x3, [sp+24]
    0002faf8mov x0, xzr
    0002fafcb 0x2fb14
    0002fb00
    0002fb00loc_2fb00:
    0002fb00ldr x4, [sp+16]
    0002fb04add x0, x4, 1
    0002fb08ldr x1, [sp+48]
    0002fb0cldr x2, [sp+40]
    0002fb10ldr x3, [sp+24]
    0002fb14
    0002fb14loc_2fb14:
    0002fb14subs xzr, x0, x3
    0002fb18b.ge 0x2fb50
    0002fb1cstr x0, [sp+16]
    0002fb20ldr x0, [x2+3*x0]
    0002fb24str x0, [sp+32]
    0002fb28bl runtime.wbBufFlush1
    0002fb2cldr x1, [sp+32]
    0002fb30ldrsb x27, [x1]
    0002fb34movz x2, 4680
    0002fb38add x0, x1, x2
    0002fb3cbl runtime.(*gcWork).empty
    0002fb40tbnz w0, 0, 0x2fb00
    0002fb44orr x0, xzr, 1
    0002fb48ldr x1, [sp+48]
    0002fb4cstrb w0, [x1]
    0002fb50
    0002fb50loc_2fb50:
    0002fb50ldur x29, [sp-8]
    0002fb54ldr x30, [sp], 64
    0002fb58ret x30
    0002fb5c
    0002fb5cloc_2fb5c:
    0002fb5cmov x3, x30
    0002fb60bl runtime.morestack.abi0
    0002fb64b 0x2fac0
    0002fb68udf 0
    0002fb6cudf 0
    0002fac0
    0002fb70
    0002fb70runtime.gcMarkDone.func2: ; void runtime.gcMarkDone.func2(void)
    0002fb70ldr x16, [x28+16]
    0002fb74subs xzr, sp, x16
    0002fb78b.ls 0x2fbb8
    0002fb7cstr x30, [sp-32]!
    0002fb80stur x29, [sp-8]
    0002fb84sub x29, sp, 8
    0002fb88ldr x1, [x26+8]
    0002fb8cstr x1, [sp+16]
    0002fb90orr x0, xzr, 1
    0002fb94bl runtime.stopTheWorldWithSema
    0002fb98ldr x4, [sp+16]
    0002fb9cstrb w0, [x4]
    0002fba0str x1, [x4+8]
    0002fba4str x2, [x4+16]
    0002fba8str x3, [x4+24]
    0002fbacldur x29, [sp-8]
    0002fbb0ldr x30, [sp], 32
    0002fbb4ret x30
    0002fbb8
    0002fbb8loc_2fbb8:
    0002fbb8mov x3, x30
    0002fbbcbl runtime.morestack.abi0
    0002fbc0b 0x2fb70
    0002fbc4udf 0
    0002fbc8udf 0
    0002fbccudf 0
    0002fb70
    0002fbd0
    0002fbd0runtime.gcMarkTermination: ; void runtime.gcMarkTermination(runtime.worldStop stw)
    0002fbd0ldr x16, [x28+16]
    0002fbd4sub x17, sp, 416
    0002fbd8subs xzr, x17, x16
    0002fbdcb.ls 0x305a4
    0002fbe0sub x20, sp, 544
    0002fbe4stp x29, x30, [x20-8]
    0002fbe8add sp, x20, 0
    0002fbecsub x29, sp, 8
    0002fbf0str x3, [sp+336]
    0002fbf4str x2, [sp+328]
    0002fbf8str x1, [sp+320]
    0002fbfcstrb w0, [sp+79]
    0002fc00orr x0, xzr, 2
    0002fc04bl runtime.setGCPhase
    0002fc08adrp x0, 0xa1d000
    0002fc0cadd x0, x0, 2600
    0002fc10bl internal/runtime/atomic.(*Uint64).Load
    0002fc14adrp x27, 0x9f5000
    0002fc18str x0, [x27+3272]
    0002fc1cbl runtime.nanotime
    0002fc20str x0, [sp+192]
    0002fc24bl runtime.acquirem
    0002fc28movz x1, 5
    0002fc2cstr x1, [x0+256]
    0002fc30adrp x27, 0xa1c000
    0002fc34ldr w2, [x27+3056]
    0002fc38cbz w2, 0x2fc48
    0002fc3cldr x3, [x0+248]
    0002fc40bl runtime.gcWriteBarrier1
    0002fc44str x3, [x25]
    0002fc48
    0002fc48loc_2fc48:
    0002fc48str x0, [sp+472]
    0002fc4cadrp x3, 0x681000
    0002fc50add x3, x3, 1637
    0002fc54str x3, [x0+248]
    0002fc58orr x3, xzr, 2
    0002fc5cstrb w3, [x0+290]
    0002fc60ldr x0, [x0+192]
    0002fc64str x0, [sp+488]
    0002fc68orr x1, xzr, 2
    0002fc6corr x2, xzr, 6
    0002fc70bl runtime.casGToWaitingForSuspendG
    0002fc74adrp x3, 4096
    0002fc78add x3, x3, 1760
    0002fc7cstr x3, [sp+456]
    0002fc80ldr x3, [sp+192]
    0002fc84str x3, [sp+464]
    0002fc88add x3, sp, 456
    0002fc8cstr x3, [sp+8]
    0002fc90bl runtime.systemstack.abi0
    0002fc94strb wzr, [sp+53]
    0002fc98adrp x3, 4096
    0002fc9cadd x3, x3, 1568
    0002fca0str x3, [sp+520]
    0002fca4add x3, sp, 53
    0002fca8str x3, [sp+528]
    0002fcacadd x3, sp, 520
    0002fcb0str x3, [sp+8]
    0002fcb4bl runtime.systemstack.abi0
    0002fcb8ldr x3, [sp+472]
    0002fcbcstrb wzr, [x3+290]
    0002fcc0ldr x0, [sp+488]
    0002fcc4orr x1, xzr, 4
    0002fcc8orr x2, xzr, 2
    0002fcccbl runtime.casgstatus
    0002fcd0bl runtime.traceAcquire
    0002fcd4str x0, [sp+512]
    0002fcd8str x1, [sp+312]
    0002fcdcbl runtime.traceLocker.ok
    0002fce0tbz w0, 0, 0x2fcfc
    0002fce4ldr x0, [sp+512]
    0002fce8ldr x1, [sp+312]
    0002fcecbl runtime.traceLocker.GCDone
    0002fcf0ldr x0, [sp+512]
    0002fcf4ldr x1, [sp+312]
    0002fcf8bl runtime.traceRelease
    0002fcfc
    0002fcfcloc_2fcfc:
    0002fcfcldr x2, [sp+472]
    0002fd00str xzr, [x2+256]
    0002fd04adrp x27, 0xa1c000
    0002fd08ldr w3, [x27+3056]
    0002fd0ccbz w3, 0x2fd1c
    0002fd10ldr x3, [x2+248]
    0002fd14bl runtime.gcWriteBarrier1
    0002fd18str x3, [x25]
    0002fd1c
    0002fd1cloc_2fd1c:
    0002fd1cstr xzr, [x2+248]
    0002fd20adrp x27, 0xa1c000
    0002fd24ldr w3, [x27+1600]
    0002fd28cbnz w3, 0x30590
    0002fd2cadrp x0, 0xa1d000
    0002fd30add x0, x0, 2768
    0002fd34bl runtime.(*sysMemStat).load
    0002fd38adrp x27, 0xa23000
    0002fd3cstr x0, [x27+592]
    0002fd40adrp x1, 0x6a9000
    0002fd44add x1, x1, 1808
    0002fd48str x1, [sp+8]
    0002fd4cbl runtime.systemstack.abi0
    0002fd50bl runtime.nanotime
    0002fd54str x0, [sp+216]
    0002fd58bl time.now
    0002fd5csbfm x1, x1, 0, 31
    0002fd60movz x2, 51712
    0002fd64movk x2, 0x3b9a0000
    0002fd68madd x1, x0, x2, x1
    0002fd6cadrp x27, 0x9f5000
    0002fd70ldr x2, [x27+3256]
    0002fd74ldr x3, [sp+216]
    0002fd78ldr x4, [sp+320]
    0002fd7csub x4, x3, x4
    0002fd80add x2, x4, x2
    0002fd84adrp x27, 0x9f5000
    0002fd88str x2, [x27+3256]
    0002fd8cadrp x27, 0x9f5000
    0002fd90str x3, [x27+3248]
    0002fd94adrp x2, 0xa22000
    0002fd98add x2, x2, 552
    0002fd9cstlr x1, [x2]
    0002fda0adrp x2, 0xa23000
    0002fda4add x2, x2, 584
    0002fda8stlr x3, [x2]
    0002fdacadrp x27, 0xa23000
    0002fdb0ldr w2, [x27+568]
    0002fdb4and x2, x2, 255
    0002fdb8adrp x27, 0x9f5000
    0002fdbcldr x4, [x27+3256]
    0002fdc0adrp x5, 0xa22000
    0002fdc4add x5, x5, 568
    0002fdc8str x4, [x5+3*x2]
    0002fdccadrp x27, 0xa23000
    0002fdd0ldr w2, [x27+568]
    0002fdd4and x2, x2, 255
    0002fdd8adrp x4, 0xa22000
    0002fddcadd x4, x4, 2616
    0002fde0str x1, [x4+3*x2]
    0002fde4adrp x27, 0xa22000
    0002fde8ldr x1, [x27+560]
    0002fdecadrp x27, 0x9f5000
    0002fdf0ldr x2, [x27+3256]
    0002fdf4add x1, x1, x2
    0002fdf8adrp x27, 0xa22000
    0002fdfcstr x1, [x27+560]
    0002fe00ldr x1, [sp+328]
    0002fe04sub x1, x3, x1
    0002fe08adrp x27, 0x9f5000
    0002fe0cldrsw x2, [x27+3216]
    0002fe10adrp x0, 0x9f5000
    0002fe14add x0, x0, 3288
    0002fe18bl runtime.(*cpuStats).accumulateGCPauseTime
    0002fe1cadrp x0, 0x9f5000
    0002fe20add x0, x0, 3288
    0002fe24ldr x1, [sp+216]
    0002fe28orr x2, xzr, 1
    0002fe2cbl runtime.(*cpuStats).accumulate
    0002fe30adrp x27, 0x9f5000
    0002fe34ldr x1, [x27+3320]
    0002fe38adrp x27, 0x9f5000
    0002fe3cldr x2, [x27+3304]
    0002fe40sub x1, x1, x2
    0002fe44scvtf d0, x1
    0002fe48adrp x27, 0x9f5000
    0002fe4cldr x1, [x27+3368]
    0002fe50scvtf d1, x1
    0002fe54fdiv d0, d0, d1
    0002fe58adrp x27, 0xa23000
    0002fe5cstr d0, [x27+576]
    0002fe60adrp x0, 0xa1c000
    0002fe64add x0, x0, 3504
    0002fe68mov x1, xzr
    0002fe6cbl internal/runtime/atomic.(*Int64).Store
    0002fe70adrp x0, 0xa1c000
    0002fe74add x0, x0, 3512
    0002fe78mov x1, xzr
    0002fe7cbl internal/runtime/atomic.(*Int64).Store
    0002fe80adrp x0, 0x9f8000
    0002fe84add x0, x0, 1744
    0002fe88mov x1, xzr
    0002fe8cbl internal/runtime/atomic.(*Int64).Store
    0002fe90adrp x27, 0x9f5000
    0002fe94ldrb w1, [x27+3120]
    0002fe98tbz w1, 0, 0x2feb0
    0002fe9cadrp x27, 0xa23000
    0002fea0ldr w1, [x27+572]
    0002fea4add x1, x1, 1
    0002fea8adrp x27, 0xa23000
    0002feacstr w1, [x27+572]
    0002feb0
    0002feb0loc_2feb0:
    0002feb0adrp x0, 0x9f5000
    0002feb4add x0, x0, 3160
    0002feb8bl runtime.lock
    0002febcadrp x27, 0xa23000
    0002fec0ldr w1, [x27+568]
    0002fec4add x1, x1, 1
    0002fec8adrp x27, 0xa23000
    0002feccstr w1, [x27+568]
    0002fed0adrp x0, 0x9f5000
    0002fed4add x0, x0, 3168
    0002fed8bl runtime.injectglist
    0002fedcadrp x0, 0x9f5000
    0002fee0add x0, x0, 3160
    0002fee4bl runtime.unlock
    0002fee8adrp x0, 0xa13000
    0002feecadd x0, x0, 2304
    0002fef0bl runtime.(*scavengeIndex).nextGen
    0002fef4adrp x0, 0xa1c000
    0002fef8add x0, x0, 4032
    0002fefcldr x1, [sp+216]
    0002ff00bl runtime.(*gcCPULimiterState).finishGCTransition
    0002ff04bl runtime.mProf_NextCycle
    0002ff08adrp x0, 0x9f4000
    0002ff0cadd x0, x0, 948
    0002ff10bl runtime.(*activeSweep).begin
    0002ff14str w0, [sp+180]
    0002ff18strb w1, [sp+78]
    0002ff1cldrb w2, [sp+53]
    0002ff20tbnz w2, 0, 0x2ff2c
    0002ff24tbz w1, 0, 0x30580
    0002ff28tbz w2, 0, 0x2ff30
    0002ff2c
    0002ff2cloc_2ff2c:
    0002ff2ctbnz w1, 0, 0x30570
    0002ff30
    0002ff30loc_2ff30:
    0002ff30stp xzr, xzr, [sp+408]
    0002ff34stp xzr, xzr, [sp+424]
    0002ff38stp xzr, xzr, [sp+440]
    0002ff3cadrp x0, 4096
    0002ff40add x0, x0, 1488
    0002ff44str x0, [sp+408]
    0002ff48ldr x0, [sp+216]
    0002ff4cstr x0, [sp+416]
    0002ff50ldrb w0, [sp+79]
    0002ff54strb w0, [sp+424]
    0002ff58ldr x0, [sp+320]
    0002ff5cstr x0, [sp+432]
    0002ff60ldr x0, [sp+328]
    0002ff64str x0, [sp+440]
    0002ff68ldr x0, [sp+336]
    0002ff6cstr x0, [sp+448]
    0002ff70add x0, sp, 408
    0002ff74str x0, [sp+8]
    0002ff78bl runtime.systemstack.abi0
    0002ff7cbl runtime.mProf_Flush
    0002ff80bl runtime.prepareFreeWorkbufs
    0002ff84adrp x0, 0x6a9000
    0002ff88add x0, x0, 1792
    0002ff8cstr x0, [sp+8]
    0002ff90bl runtime.systemstack.abi0
    0002ff94movz x0, 33
    0002ff98adrp x1, 0x6a9000
    0002ff9cadd x1, x1, 1832
    0002ffa0bl runtime.forEachP
    0002ffa4ldrb w0, [sp+78]
    0002ffa8tbz w0, 0, 0x2ffc0
    0002ffacldr w1, [sp+180]
    0002ffb0mov x2, x0
    0002ffb4adrp x0, 0x9f4000
    0002ffb8add x0, x0, 948
    0002ffbcbl runtime.(*activeSweep).end
    0002ffc0
    0002ffc0loc_2ffc0:
    0002ffc0adrp x27, 0xa1d000
    0002ffc4ldrsw x1, [x27+260]
    0002ffc8subs wzr, w1, 0
    0002ffccb.le 0x30488
    0002ffd0adrp x27, 0xa23000
    0002ffd4ldr d0, [x27+576]
    0002ffd8str d0, [sp+304]
    0002ffdcadd x27, sp, 54
    0002ffe0stp xzr, xzr, [x27]
    0002ffe4stur xzr, [sp+70]
    0002ffe8bl runtime.printlock
    0002ffecldr d0, [sp+304]
    0002fff0adrp x27, 0x6e1000
    0002fff4ldr d1, [x27+3208]
    0002fff8fmul d0, d0, d1
    0002fffcfcvtzs x0, d0
    00030000str x0, [sp+184]
    00030004adrp x27, 0x9f4000
    00030008ldr x0, [x27+3224]
    0003000cadrp x27, 0xa1b000
    00030010ldr x1, [x27+1944]
    00030014sub x0, x0, x1
    00030018movz x1, 27062
    0003001cmovk x1, 0xaf6c0000
    00030020movk x1, 0xbd0500000000
    00030024movk x1, 0x8637000000000000
    00030028umulh x0, x1, x0
    0003002cubfm x3, x0, 19, 63
    00030030add x0, sp, 54
    00030034orr x1, xzr, 24
    00030038mov x2, x1
    0003003corr x4, xzr, 3
    00030040bl runtime.itoaDiv
    00030044adrp x27, 0xa22000
    00030048ldr w2, [x27+568]
    0003004cstr w2, [sp+180]
    00030050mov x2, x1
    00030054mov x1, x0
    00030058add x0, sp, 144
    0003005cbl runtime.slicebytetostring
    00030060str x0, [sp+504]
    00030064str x1, [sp+296]
    00030068bl runtime.printlock
    0003006cadrp x0, 0x680000
    00030070add x0, x0, 321
    00030074orr x1, xzr, 3
    00030078bl runtime.printstring
    0003007cldr w0, [sp+180]
    00030080bl runtime.printuint
    00030084adrp x0, 0x67f000
    00030088add x0, x0, 4063
    0003008corr x1, xzr, 2
    00030090bl runtime.printstring
    00030094ldr x0, [sp+504]
    00030098ldr x1, [sp+296]
    0003009cbl runtime.printstring
    000300a0adrp x0, 0x67f000
    000300a4add x0, x0, 4065
    000300a8orr x1, xzr, 2
    000300acbl runtime.printstring
    000300b0ldr x0, [sp+184]
    000300b4bl runtime.printint
    000300b8adrp x0, 0x680000
    000300bcadd x0, x0, 324
    000300c0orr x1, xzr, 3
    000300c4bl runtime.printstring
    000300c8bl runtime.printunlock
    000300ccadrp x27, 0x9f4000
    000300d0ldr x0, [x27+3224]
    000300d4stp xzr, xzr, [sp+384]
    000300d8str xzr, [sp+400]
    000300dcadrp x27, 0x9f4000
    000300e0ldr x1, [x27+3232]
    000300e4str x1, [sp+384]
    000300e8adrp x27, 0x9f4000
    000300ecldr x1, [x27+3240]
    000300f0str x1, [sp+392]
    000300f4adrp x27, 0x9f4000
    000300f8ldr x1, [x27+3248]
    000300fcstr x1, [sp+400]
    00030100mov x1, xzr
    00030104b 0x30154
    00030108
    00030108loc_30108:
    00030108sub x3, x5, x0
    0003010cadd x0, sp, 54
    00030110orr x1, xzr, 24
    00030114mov x2, x1
    00030118bl runtime.fmtNSAsMS
    0003011cmov x2, x1
    00030120mov x1, x0
    00030124add x0, sp, 112
    00030128bl runtime.slicebytetostring
    0003012cstr x0, [sp+504]
    00030130str x1, [sp+296]
    00030134bl runtime.printlock
    00030138ldr x0, [sp+504]
    0003013cldr x1, [sp+296]
    00030140bl runtime.printstring
    00030144bl runtime.printunlock
    00030148ldr x4, [sp+232]
    0003014cadd x1, x4, 1
    00030150ldr x0, [sp+200]
    00030154
    00030154loc_30154:
    00030154subs xzr, x1, 3
    00030158b.ge 0x30198
    0003015cstr x1, [sp+232]
    00030160add x4, sp, 384
    00030164ldr x5, [x4+3*x1]
    00030168str x5, [sp+200]
    0003016ccbz x1, 0x30108
    00030170str x0, [sp+336]
    00030174bl runtime.printlock
    00030178adrp x0, 0x6df000
    0003017cadd x0, x0, 696
    00030180orr x1, xzr, 1
    00030184bl runtime.printstring
    00030188bl runtime.printunlock
    0003018cldr x0, [sp+336]
    00030190ldr x5, [sp+200]
    00030194b 0x30108
    00030198
    00030198loc_30198:
    00030198bl runtime.printlock
    0003019cadrp x0, 0x682000
    000301a0add x0, x0, 1966
    000301a4movz x1, 11
    000301a8bl runtime.printstring
    000301acbl runtime.printunlock
    000301b0adrp x0, 0xa1c000
    000301b4add x0, x0, 2688
    000301b8bl internal/runtime/atomic.(*Int64).Load
    000301bcstr x0, [sp+336]
    000301c0adrp x0, 0xa1c000
    000301c4add x0, x0, 2696
    000301c8bl internal/runtime/atomic.(*Int64).Load
    000301ccstr x0, [sp+328]
    000301d0adrp x0, 0xa1c000
    000301d4add x0, x0, 2704
    000301d8bl internal/runtime/atomic.(*Int64).Load
    000301dcldr x1, [sp+328]
    000301e0add x0, x1, x0
    000301e4str x0, [sp+328]
    000301e8adrp x0, 0xa1c000
    000301ecadd x0, x0, 2712
    000301f0bl internal/runtime/atomic.(*Int64).Load
    000301f4stp xzr, xzr, [sp+344]
    000301f8stp xzr, xzr, [sp+360]
    000301fcstr xzr, [sp+376]
    00030200adrp x27, 0x9f4000
    00030204ldrsw x1, [x27+3212]
    00030208adrp x27, 0x9f4000
    0003020cldr x2, [x27+3232]
    00030210adrp x27, 0x9f4000
    00030214ldr x3, [x27+3224]
    00030218sub x2, x2, x3
    0003021cmadd x1, x2, x1, xzr
    00030220str x1, [sp+344]
    00030224ldr x1, [sp+336]
    00030228str x1, [sp+352]
    0003022cldr x1, [sp+328]
    00030230str x1, [sp+360]
    00030234str x0, [sp+368]
    00030238adrp x27, 0x9f4000
    0003023cldrsw x0, [x27+3212]
    00030240adrp x27, 0x9f4000
    00030244ldr x1, [x27+3248]
    00030248adrp x27, 0x9f4000
    0003024cldr x2, [x27+3240]
    00030250sub x1, x1, x2
    00030254madd x0, x1, x0, xzr
    00030258str x0, [sp+376]
    0003025cmov x0, xzr
    00030260b 0x302a8
    00030264
    00030264loc_30264:
    00030264add x0, sp, 54
    00030268orr x1, xzr, 24
    0003026cmov x2, x1
    00030270bl runtime.fmtNSAsMS
    00030274mov x2, x1
    00030278mov x1, x0
    0003027cadd x0, sp, 80
    00030280bl runtime.slicebytetostring
    00030284str x0, [sp+504]
    00030288str x1, [sp+296]
    0003028cbl runtime.printlock
    00030290ldr x0, [sp+504]
    00030294ldr x1, [sp+296]
    00030298bl runtime.printstring
    0003029cbl runtime.printunlock
    000302a0ldr x4, [sp+224]
    000302a4add x0, x4, 1
    000302a8
    000302a8loc_302a8:
    000302a8subs xzr, x0, 5
    000302acb.ge 0x3031c
    000302b0str x0, [sp+224]
    000302b4add x4, sp, 344
    000302b8ldr x3, [x4+3*x0]
    000302bcstr x3, [sp+208]
    000302c0subs xzr, x0, 2
    000302c4b.eq 0x302d0
    000302c8subs xzr, x0, 3
    000302ccb.ne 0x302f0
    000302d0
    000302d0loc_302d0:
    000302d0bl runtime.printlock
    000302d4adrp x0, 0x67f000
    000302d8add x0, x0, 4032
    000302dcorr x1, xzr, 1
    000302e0bl runtime.printstring
    000302e4bl runtime.printunlock
    000302e8ldr x3, [sp+208]
    000302ecb 0x30264
    000302f0
    000302f0loc_302f0:
    000302f0cbz x0, 0x30264
    000302f4bl runtime.printlock
    000302f8adrp x0, 0x6df000
    000302fcadd x0, x0, 696
    00030300orr x1, xzr, 1
    00030304bl runtime.printstring
    00030308bl runtime.printunlock
    0003030cldr x0, [sp+224]
    00030310ldr x3, [sp+208]
    00030314add x4, sp, 344
    00030318b 0x30264
    0003031c
    0003031cloc_3031c:
    0003031cadrp x0, 0xa1c000
    00030320add x0, x0, 2624
    00030324bl internal/runtime/atomic.(*Uint64).Load
    00030328ubfm x1, x0, 20, 63
    0003032cstr x1, [sp+288]
    00030330adrp x0, 0xa1c000
    00030334add x0, x0, 2640
    00030338bl internal/runtime/atomic.(*Uint64).Load
    0003033cadrp x27, 0x9f4000
    00030340ldr x1, [x27+3264]
    00030344ubfm x1, x1, 20, 63
    00030348str x1, [sp+280]
    0003034cadrp x27, 0x9f4000
    00030350ldr x1, [x27+3272]
    00030354ubfm x1, x1, 20, 63
    00030358str x1, [sp+272]
    0003035cadrp x27, 0x9f4000
    00030360ldr x1, [x27+3280]
    00030364ubfm x1, x1, 20, 63
    00030368str x1, [sp+264]
    0003036cadrp x27, 0xa1c000
    00030370ldr x1, [x27+2592]
    00030374ubfm x1, x1, 20, 63
    00030378str x1, [sp+256]
    0003037cubfm x1, x0, 20, 63
    00030380str x1, [sp+248]
    00030384adrp x27, 0x9f4000
    00030388ldrsw x1, [x27+3216]
    0003038cstr w1, [sp+176]
    00030390bl runtime.printlock
    00030394adrp x0, 0x681000
    00030398add x0, x0, 2794
    0003039cmovz x1, 9
    000303a0bl runtime.printstring
    000303a4ldr x0, [sp+280]
    000303a8bl runtime.printuint
    000303acadrp x0, 0x67f000
    000303b0add x0, x0, 4067
    000303b4orr x1, xzr, 2
    000303b8bl runtime.printstring
    000303bcldr x0, [sp+272]
    000303c0bl runtime.printuint
    000303c4adrp x0, 0x67f000
    000303c8add x0, x0, 4067
    000303ccorr x1, xzr, 2
    000303d0bl runtime.printstring
    000303d4ldr x0, [sp+264]
    000303d8bl runtime.printuint
    000303dcadrp x0, 0x680000
    000303e0add x0, x0, 1642
    000303e4movz x1, 5
    000303e8bl runtime.printstring
    000303ecldr x0, [sp+256]
    000303f0bl runtime.printuint
    000303f4adrp x0, 0x682000
    000303f8add x0, x0, 184
    000303fcmovz x1, 10
    00030400bl runtime.printstring
    00030404ldr x0, [sp+288]
    00030408bl runtime.printuint
    0003040cadrp x0, 0x682000
    00030410add x0, x0, 3748
    00030414orr x1, xzr, 12
    00030418bl runtime.printstring
    0003041cldr x0, [sp+248]
    00030420bl runtime.printuint
    00030424adrp x0, 0x683000
    00030428add x0, x0, 1459
    0003042cmovz x1, 13
    00030430bl runtime.printstring
    00030434ldrsw x1, [sp+176]
    00030438mov x0, x1
    0003043cbl runtime.printint
    00030440adrp x0, 0x67f000
    00030444add x0, x0, 4069
    00030448orr x1, xzr, 2
    0003044cbl runtime.printstring
    00030450bl runtime.printunlock
    00030454adrp x27, 0x9f4000
    00030458ldrb w1, [x27+3120]
    0003045ctbz w1, 0, 0x30478
    00030460bl runtime.printlock
    00030464adrp x0, 0x681000
    00030468add x0, x0, 2803
    0003046cmovz x1, 9
    00030470bl runtime.printstring
    00030474bl runtime.printunlock
    00030478
    00030478loc_30478:
    00030478bl runtime.printlock
    0003047cbl runtime.printnl
    00030480bl runtime.printunlock
    00030484bl runtime.printunlock
    00030488
    00030488loc_30488:
    00030488adrp x0, 0x9f3000
    0003048cadd x0, x0, 3552
    00030490bl runtime.lock
    00030494adrp x27, 0x9f3000
    00030498ldr x1, [x27+3584]
    0003049cstr x1, [sp+480]
    000304a0adrp x27, 0x9f3000
    000304a4ldr x2, [x27+3592]
    000304a8str x2, [sp+240]
    000304acadrp x27, 0x9f3000
    000304b0add x27, x27, 3592
    000304b4stp xzr, xzr, [x27]
    000304b8adrp x27, 0xa1b000
    000304bcldr w3, [x27+3056]
    000304c0cbz w3, 0x304d4
    000304c4adrp x27, 0x9f3000
    000304c8ldr x3, [x27+3584]
    000304ccbl runtime.gcWriteBarrier1
    000304d0str x3, [x25]
    000304d4
    000304d4loc_304d4:
    000304d4adrp x27, 0x9f3000
    000304d8str xzr, [x27+3584]
    000304dcadrp x0, 0x9f3000
    000304e0add x0, x0, 3552
    000304e4bl runtime.unlock
    000304e8ldr x1, [sp+480]
    000304ecldr x0, [sp+240]
    000304f0b 0x30514
    000304f4
    000304f4loc_304f4:
    000304f4str x0, [sp+296]
    000304f8str x1, [sp+496]
    000304fcldr x0, [x1]
    00030500bl runtime.(*mspan).setUserArenaChunkToFault
    00030504ldr x1, [sp+496]
    00030508add x1, x1, 16
    0003050cldr x2, [sp+296]
    00030510sub x0, x2, 1
    00030514
    00030514loc_30514:
    00030514subs xzr, x0, 0
    00030518b.gt 0x304f4
    0003051cadrp x0, 0xa1c000
    00030520add x0, x0, 2496
    00030524bl runtime.(*gcControllerState).heapGoal
    00030528movz x1, 0x40000000
    0003052csubs xzr, x0, x1
    00030530b.ls 0x30544
    00030534adrp x0, 0x6a8000
    00030538add x0, x0, 1840
    0003053cstr x0, [sp+8]
    00030540bl runtime.systemstack.abi0
    00030544
    00030544loc_30544:
    00030544adrp x0, 0x990000
    00030548add x0, x0, 1416
    0003054cbl runtime.semrelease
    00030550adrp x0, 0x990000
    00030554add x0, x0, 1420
    00030558bl runtime.semrelease
    0003055cldr x0, [sp+472]
    00030560bl runtime.releasem
    00030564ldp x29, x30, [sp-8]
    00030568add sp, sp, 544
    0003056cret x30
    00030570
    00030570loc_30570:
    00030570adrp x0, 0x69a000
    00030574add x0, x0, 635
    00030578movz x1, 53
    0003057cbl runtime.throw
    00030580
    00030580loc_30580:
    00030580adrp x0, 0x68a000
    00030584add x0, x0, 3308
    00030588movz x1, 27
    0003058cbl runtime.throw
    00030590
    00030590loc_30590:
    00030590adrp x0, 0x68c000
    00030594add x0, x0, 772
    00030598movz x1, 29
    0003059cbl runtime.throw
    000305a0hint
    000305a4
    000305a4loc_305a4:
    000305a4strb w0, [sp+8]
    000305a8stp x1, x2, [sp+16]
    000305acstr x3, [sp+32]
    000305b0mov x3, x30
    000305b4bl runtime.morestack_noctxt.abi0
    000305b8ldrb w0, [sp+8]
    000305bcldp x1, x2, [sp+16]
    000305c0ldr x3, [sp+32]
    000305c4b 0x2fbd0
    000305c8udf 0
    000305ccudf 0
    0002fbd0
    000305d0
    000305d0runtime.gcMarkTermination.func3: ; void runtime.gcMarkTermination.func3(void)
    000305d0ldr x16, [x28+16]
    000305d4subs xzr, sp, x16
    000305d8b.ls 0x3060c
    000305dcstr x30, [sp-64]!
    000305e0stur x29, [sp-8]
    000305e4sub x29, sp, 8
    000305e8ldrb w1, [x26+16]
    000305ecldr x2, [x26+24]
    000305f0ldr x3, [x26+32]
    000305f4ldr x4, [x26+40]
    000305f8ldr x0, [x26+8]
    000305fcbl runtime.startTheWorldWithSema
    00030600ldur x29, [sp-8]
    00030604ldr x30, [sp], 64
    00030608ret x30
    0003060c
    0003060cloc_3060c:
    0003060cmov x3, x30
    00030610bl runtime.morestack.abi0
    00030614b 0x305d0
    00030618udf 0
    0003061cudf 0
    000305d0
    00030620
    00030620runtime.gcMarkTermination.func2: ; void runtime.gcMarkTermination.func2(void)
    00030620ldr x16, [x28+16]
    00030624subs xzr, sp, x16
    00030628b.ls 0x306d0
    0003062cstr x30, [sp-48]!
    00030630stur x29, [sp-8]
    00030634sub x29, sp, 8
    00030638adrp x27, 0x9f4000
    0003063cldr x1, [x27+2976]
    00030640ldr x2, [x26+8]
    00030644str x2, [sp+32]
    00030648adrp x27, 0x9f4000
    0003064cstr x1, [x27+3280]
    00030650adrp x27, 0xa1c000
    00030654ldrsw x1, [x27+244]
    00030658subs wzr, w1, 0
    0003065cb.le 0x306a8
    00030660bl runtime.startCheckmarks
    00030664bl runtime.gcResetMarkState
    00030668ldr x0, [x28+48]
    0003066cldr x0, [x0+208]
    00030670bl runtime.puintptr.ptr
    00030674ldrsb x27, [x0]
    00030678movz x1, 4680
    0003067cadd x0, x0, x1
    00030680str x0, [sp+24]
    00030684mov x1, xzr
    00030688bl runtime.gcDrain
    0003068cldr x0, [x28+48]
    00030690ldr x0, [x0+208]
    00030694bl runtime.puintptr.ptr
    00030698bl runtime.wbBufFlush1
    0003069cldr x0, [sp+24]
    000306a0bl runtime.(*gcWork).dispose
    000306a4bl runtime.endCheckmarks
    000306a8
    000306a8loc_306a8:
    000306a8mov x0, xzr
    000306acbl runtime.setGCPhase
    000306b0adrp x27, 0x9f4000
    000306b4ldr x0, [x27+3112]
    000306b8bl runtime.gcSweep
    000306bcldr x1, [sp+32]
    000306c0strb w0, [x1]
    000306c4ldur x29, [sp-8]
    000306c8ldr x30, [sp], 48
    000306ccret x30
    000306d0
    000306d0loc_306d0:
    000306d0mov x3, x30
    000306d4bl runtime.morestack.abi0
    000306d8b 0x30620
    000306dcudf 0
    00030620
    000306e0
    000306e0runtime.gcMarkTermination.func1: ; void runtime.gcMarkTermination.func1(void)
    000306e0ldr x16, [x28+16]
    000306e4subs xzr, sp, x16
    000306e8b.ls 0x3070c
    000306ecstr x30, [sp-32]!
    000306f0stur x29, [sp-8]
    000306f4sub x29, sp, 8
    000306f8ldr x0, [x26+8]
    000306fcbl runtime.gcMark
    00030700ldur x29, [sp-8]
    00030704ldr x30, [sp], 32
    00030708ret x30
    0003070c
    0003070cloc_3070c:
    0003070cmov x3, x30
    00030710bl runtime.morestack.abi0
    00030714b 0x306e0
    00030718udf 0
    0003071cudf 0
    000306e0
    00030720
    00030720runtime.gcBgMarkStartWorkers: ; void runtime.gcBgMarkStartWorkers(void)
    00030720ldr x16, [x28+16]
    00030724subs xzr, sp, x16
    00030728b.ls 0x3081c
    0003072cstr x30, [sp-64]!
    00030730stur x29, [sp-8]
    00030734sub x29, sp, 8
    00030738adrp x27, 0xa1b000
    0003073cldrsw x0, [x27+1648]
    00030740adrp x27, 0xa1b000
    00030744ldrsw x1, [x27+1660]
    00030748subs wzr, w0, w1
    0003074cb.le 0x30778
    00030750bl runtime.acquirem
    00030754str x0, [sp+48]
    00030758adrp x0, 0x5c6000
    0003075cadd x0, x0, 4032
    00030760orr x1, xzr, 1
    00030764bl runtime.makechan
    00030768str x0, [sp+32]
    0003076cldr x0, [sp+48]
    00030770bl runtime.releasem
    00030774b 0x307b4
    00030778
    00030778loc_30778:
    00030778ldur x29, [sp-8]
    0003077cldr x30, [sp], 64
    00030780ret x30
    00030784
    00030784loc_30784:
    00030784str x2, [x0+8]
    00030788bl runtime.newproc
    0003078cldr x0, [sp+40]
    00030790bl runtime.releasem
    00030794ldr x0, [sp+32]
    00030798mov x1, xzr
    0003079cbl runtime.chanrecv1
    000307a0adrp x27, 0xa1b000
    000307a4ldrsw x1, [x27+1660]
    000307a8add x1, x1, 1
    000307acadrp x27, 0xa1b000
    000307b0str w1, [x27+1660]
    000307b4
    000307b4loc_307b4:
    000307b4adrp x27, 0xa1b000
    000307b8ldrsw x0, [x27+1648]
    000307bcadrp x27, 0xa1b000
    000307c0ldrsw x1, [x27+1660]
    000307c4subs wzr, w0, w1
    000307c8b.le 0x30810
    000307ccbl runtime.acquirem
    000307d0str x0, [sp+40]
    000307d4adrp x0, 0x600000
    000307d8add x0, x0, 3008
    000307dcbl runtime.newobject
    000307e0adrp x1, 0
    000307e4add x1, x1, 2096
    000307e8str x1, [x0]
    000307ecadrp x27, 0xa1b000
    000307f0ldr w2, [x27+3056]
    000307f4cbnz w2, 0x30800
    000307f8ldr x2, [sp+32]
    000307fcb 0x30784
    00030800
    00030800loc_30800:
    00030800bl runtime.gcWriteBarrier1
    00030804ldr x2, [sp+32]
    00030808str x2, [x25]
    0003080cb 0x30784
    00030810
    00030810loc_30810:
    00030810ldur x29, [sp-8]
    00030814ldr x30, [sp], 64
    00030818ret x30
    0003081c
    0003081cloc_3081c:
    0003081cmov x3, x30
    00030820bl runtime.morestack_noctxt.abi0
    00030824b 0x30720
    00030828udf 0
    0003082cudf 0
    00030720
    00030830
    00030830runtime.gcBgMarkStartWorkers.gowrap1: ; void runtime.gcBgMarkStartWorkers.gowrap1(void)
    00030830ldr x16, [x28+16]
    00030834subs xzr, sp, x16
    00030838b.ls 0x30864
    0003083cstr x30, [sp-32]!
    00030840stur x29, [sp-8]
    00030844sub x29, sp, 8
    00030848ldr x16, [x28+32]
    0003084ccbnz x16, 0x30870
    00030850
    00030850loc_30850:
    00030850ldr x0, [x26+8]
    00030854bl runtime.gcBgMarkWorker
    00030858ldur x29, [sp-8]
    0003085cldr x30, [sp], 32
    00030860ret x30
    00030864
    00030864loc_30864:
    00030864mov x3, x30
    00030868bl runtime.morestack.abi0
    0003086cb 0x30830
    00030870
    00030870loc_30870:
    00030870ldr x17, [x16]
    00030874add x20, sp, 40
    00030878subs xzr, x20, x17
    0003087cb.ne 0x30850
    00030880add x20, sp, 8
    00030884str x20, [x16]
    00030888b 0x30850
    0003088cudf 0
    00030830
    00030890
    00030890runtime.gcBgMarkPrepare: ; void runtime.gcBgMarkPrepare(void)
    00030890movn x0, 0
    00030894adrp x27, 0x9f4000
    00030898str w0, [x27+2992]
    0003089cadrp x27, 0x9f4000
    000308a0str w0, [x27+3008]
    000308a4ret x30
    000308a8udf 0
    000308acudf 0
    00030890
    000308b0
    000308b0runtime.gcBgMarkWorker: ; void runtime.gcBgMarkWorker(chan struct {} ready)
    000308b0ldr x16, [x28+16]
    000308b4sub x17, sp, 48
    000308b8subs xzr, x17, x16
    000308bcb.ls 0x30cd8
    000308c0str x30, [sp-176]!
    000308c4stur x29, [sp-8]
    000308c8sub x29, sp, 8
    000308ccstr x0, [sp+184]
    000308d0str x28, [sp+128]
    000308d4ldr x1, [x28+48]
    000308d8orr x2, xzr, 14
    000308dcstr x2, [x1+256]
    000308e0adrp x27, 0xa1b000
    000308e4ldr w2, [x27+3056]
    000308e8cbz w2, 0x308f8
    000308ecldr x2, [x1+248]
    000308f0bl runtime.gcWriteBarrier1
    000308f4str x2, [x25]
    000308f8
    000308f8loc_308f8:
    000308f8adrp x2, 0x683000
    000308fcadd x2, x2, 3192
    00030900str x2, [x1+248]
    00030904adrp x0, 0x61f000
    00030908add x0, x0, 3200
    0003090cbl runtime.newobject
    00030910ldr x1, [sp+128]
    00030914ldr x2, [x1+48]
    00030918str xzr, [x2+256]
    0003091cadrp x27, 0xa1b000
    00030920ldr w3, [x27+3056]
    00030924cbz w3, 0x30934
    00030928ldr x3, [x2+248]
    0003092cbl runtime.gcWriteBarrier1
    00030930str x3, [x25]
    00030934
    00030934loc_30934:
    00030934str x0, [sp+120]
    00030938str xzr, [x2+248]
    0003093cadd x0, x0, 16
    00030940bl runtime.(*guintptr).set
    00030944bl runtime.acquirem
    00030948ldr x2, [sp+120]
    0003094cadd x2, x2, 24
    00030950str x2, [sp+136]
    00030954mov x1, x0
    00030958mov x0, x2
    0003095cbl runtime.(*muintptr).set
    00030960ldr x0, [sp+184]
    00030964add x1, sp, 56
    00030968bl runtime.chansend1
    0003096c
    0003096cloc_3096c:
    0003096cadrp x0, 0x6a8000
    00030970add x0, x0, 1800
    00030974ldr x1, [sp+120]
    00030978movz x2, 27
    0003097cmovz x3, 10
    00030980mov x4, xzr
    00030984bl runtime.gopark
    00030988bl runtime.acquirem
    0003098cmov x1, x0
    00030990ldr x0, [sp+136]
    00030994bl runtime.(*muintptr).set
    00030998ldr x5, [sp+128]
    0003099cldr x5, [x5+48]
    000309a0ldr x0, [x5+208]
    000309a4bl runtime.puintptr.ptr
    000309a8adrp x27, 0xa1b000
    000309acldr w5, [x27+1604]
    000309b0cbz w5, 0x30c94
    000309b4ldrsb x27, [x0]
    000309b8ldr x2, [x0+4664]
    000309bccbz x2, 0x30c84
    000309c0str x0, [sp+112]
    000309c4bl runtime.nanotime
    000309c8str x0, [sp+64]
    000309ccldr x1, [sp+112]
    000309d0str x0, [x1+4672]
    000309d4ldr x2, [x1+4664]
    000309d8subs xzr, x2, 3
    000309dcb.eq 0x309e8
    000309e0mov x2, xzr
    000309e4b 0x30a0c
    000309e8
    000309e8loc_309e8:
    000309e8movz x3, 4656
    000309ecadd x3, x3, x1
    000309f0orr x1, xzr, 1
    000309f4mov x2, x0
    000309f8mov x0, x3
    000309fcbl runtime.(*limiterEvent).start
    00030a00ldr x1, [sp+112]
    00030a04mov x2, x0
    00030a08ldr x0, [sp+64]
    00030a0c
    00030a0cloc_30a0c:
    00030a0cadrp x27, 0xa1b000
    00030a10ldrb w3, [x27+1516]
    00030a14tbz w3, 0, 0x30a30
    00030a18movn x3, 0
    00030a1cadrp x4, 0x9f4000
    00030a20add x4, x4, 3008
    00030a24ldaddal w3, w5, [x4]
    00030a28add x5, x5, x3
    00030a2cb 0x30a4c
    00030a30
    00030a30loc_30a30:
    00030a30movn x3, 0
    00030a34adrp x4, 0x9f4000
    00030a38add x4, x4, 3008
    00030a3c
    00030a3cloc_30a3c:
    00030a3cldaxr w5, [x4]
    00030a40add x5, x5, x3
    00030a44stlxr w27, w5, [x4]
    00030a48cbnz x27, 0x30a3c
    00030a4c
    00030a4cloc_30a4c:
    00030a4cadrp x27, 0x9f4000
    00030a50ldr w6, [x27+2992]
    00030a54subs wzr, w5, w6
    00030a58b.eq 0x30c30
    00030a5cstrb w2, [sp+55]
    00030a60adrp x0, 0
    00030a64add x0, x0, 3312
    00030a68str x0, [sp+144]
    00030a6cldr x0, [sp+128]
    00030a70str x0, [sp+152]
    00030a74str x1, [sp+160]
    00030a78add x0, sp, 144
    00030a7cstr x0, [sp+8]
    00030a80bl runtime.systemstack.abi0
    00030a84bl runtime.nanotime
    00030a88str x0, [sp+72]
    00030a8cldr x1, [sp+64]
    00030a90sub x2, x0, x1
    00030a94str x2, [sp+80]
    00030a98ldr x0, [sp+112]
    00030a9cldr x1, [x0+4664]
    00030aa0adrp x0, 0xa1c000
    00030aa4add x0, x0, 2496
    00030aa8bl runtime.(*gcControllerState).markWorkerStop
    00030aacldrb w0, [sp+55]
    00030ab0tbz w0, 0, 0x30acc
    00030ab4movz x3, 4656
    00030ab8ldr x4, [sp+112]
    00030abcadd x0, x3, x4
    00030ac0orr x1, xzr, 1
    00030ac4ldr x2, [sp+72]
    00030ac8bl runtime.(*limiterEvent).stop
    00030acc
    00030accloc_30acc:
    00030accldr x5, [sp+112]
    00030ad0ldr x6, [x5+4664]
    00030ad4subs xzr, x6, 2
    00030ad8b.ne 0x30b14
    00030adcmovz x6, 4648
    00030ae0add x6, x5, x6
    00030ae4adrp x27, 0xa1b000
    00030ae8ldrb w7, [x27+1516]
    00030aectbz w7, 0, 0x30b00
    00030af0ldr x7, [sp+80]
    00030af4ldaddal x7, x8, [x6]
    00030af8add x8, x8, x7
    00030afcb 0x30b14
    00030b00
    00030b00loc_30b00:
    00030b00ldr x7, [sp+80]
    00030b04
    00030b04loc_30b04:
    00030b04ldaxr x8, [x6]
    00030b08add x8, x8, x7
    00030b0cstlxr w27, x8, [x6]
    00030b10cbnz x27, 0x30b04
    00030b14
    00030b14loc_30b14:
    00030b14adrp x27, 0xa1b000
    00030b18ldrb w6, [x27+1516]
    00030b1ctbz w6, 0, 0x30b38
    00030b20orr x6, xzr, 1
    00030b24adrp x7, 0x9f4000
    00030b28add x7, x7, 3008
    00030b2cldaddal w6, w8, [x7]
    00030b30add x8, x8, x6
    00030b34b 0x30b54
    00030b38
    00030b38loc_30b38:
    00030b38orr x6, xzr, 1
    00030b3cadrp x7, 0x9f4000
    00030b40add x7, x7, 3008
    00030b44
    00030b44loc_30b44:
    00030b44ldaxr w8, [x7]
    00030b48add x8, x8, x6
    00030b4cstlxr w27, w8, [x7]
    00030b50cbnz x27, 0x30b44
    00030b54
    00030b54loc_30b54:
    00030b54adrp x27, 0x9f4000
    00030b58ldr w7, [x27+2992]
    00030b5csubs wzr, w8, w7
    00030b60b.hi 0x30bb4
    00030b64str xzr, [x5+4664]
    00030b68adrp x27, 0x9f4000
    00030b6cldr w5, [x27+2992]
    00030b70subs wzr, w8, w5
    00030b74b.ne 0x3096c
    00030b78mov x0, xzr
    00030b7cbl runtime.gcMarkWorkAvailable
    00030b80tbz w0, 0, 0x30b8c
    00030b84orr x6, xzr, 1
    00030b88b 0x3096c
    00030b8c
    00030b8cloc_30b8c:
    00030b8cldr x1, [sp+120]
    00030b90ldr x0, [x1+24]
    00030b94bl runtime.muintptr.ptr
    00030b98bl runtime.releasem
    00030b9cldr x0, [sp+136]
    00030ba0mov x1, xzr
    00030ba4bl runtime.(*muintptr).set
    00030ba8bl runtime.gcMarkDone
    00030bacorr x6, xzr, 1
    00030bb0b 0x3096c
    00030bb4
    00030bb4loc_30bb4:
    00030bb4mov w0, w8
    00030bb8str x0, [sp+104]
    00030bbcmov x0, x7
    00030bc0str x0, [sp+96]
    00030bc4ldr x0, [x5+4664]
    00030bc8str x0, [sp+88]
    00030bccbl runtime.printlock
    00030bd0adrp x0, 0x68c000
    00030bd4add x0, x0, 801
    00030bd8movz x1, 29
    00030bdcbl runtime.printstring
    00030be0ldr x0, [sp+88]
    00030be4bl runtime.printint
    00030be8adrp x0, 0x683000
    00030becadd x0, x0, 1485
    00030bf0movz x1, 13
    00030bf4bl runtime.printstring
    00030bf8ldr x0, [sp+104]
    00030bfcbl runtime.printuint
    00030c00adrp x0, 0x683000
    00030c04add x0, x0, 1472
    00030c08movz x1, 13
    00030c0cbl runtime.printstring
    00030c10ldr x0, [sp+96]
    00030c14bl runtime.printuint
    00030c18bl runtime.printnl
    00030c1cbl runtime.printunlock
    00030c20adrp x0, 0x688000
    00030c24add x0, x0, 1076
    00030c28movz x1, 23
    00030c2cbl runtime.throw
    00030c30
    00030c30loc_30c30:
    00030c30str w5, [sp+56]
    00030c34str w6, [sp+60]
    00030c38bl runtime.printlock
    00030c3cadrp x0, 0x687000
    00030c40add x0, x0, 459
    00030c44movz x1, 21
    00030c48bl runtime.printstring
    00030c4cldr w0, [sp+56]
    00030c50bl runtime.printuint
    00030c54adrp x0, 0x683000
    00030c58add x0, x0, 1472
    00030c5cmovz x1, 13
    00030c60bl runtime.printstring
    00030c64ldr w0, [sp+60]
    00030c68bl runtime.printuint
    00030c6cbl runtime.printnl
    00030c70bl runtime.printunlock
    00030c74adrp x0, 0x68a000
    00030c78add x0, x0, 3335
    00030c7cmovz x1, 27
    00030c80bl runtime.throw
    00030c84
    00030c84loc_30c84:
    00030c84adrp x0, 0x68b000
    00030c88add x0, x0, 2060
    00030c8corr x1, xzr, 28
    00030c90bl runtime.throw
    00030c94
    00030c94loc_30c94:
    00030c94ldrsb x27, [x0]
    00030c98ldr x0, [x0+4664]
    00030c9cstr x0, [sp+88]
    00030ca0bl runtime.printlock
    00030ca4adrp x0, 0x682000
    00030ca8add x0, x0, 3760
    00030cacorr x1, xzr, 12
    00030cb0bl runtime.printstring
    00030cb4ldr x0, [sp+88]
    00030cb8bl runtime.printint
    00030cbcbl runtime.printnl
    00030cc0bl runtime.printunlock
    00030cc4adrp x0, 0x692000
    00030cc8add x0, x0, 2582
    00030cccmovz x1, 38
    00030cd0bl runtime.throw
    00030cd4hint
    00030cd8
    00030cd8loc_30cd8:
    00030cd8str x0, [sp+8]
    00030cdcmov x3, x30
    00030ce0bl runtime.morestack_noctxt.abi0
    00030ce4ldr x0, [sp+8]
    00030ce8b 0x308b0
    00030cecudf 0
    000308b0
    00030cf0
    00030cf0runtime.gcBgMarkWorker.func2: ; void runtime.gcBgMarkWorker.func2(void)
    00030cf0ldr x16, [x28+16]
    00030cf4subs xzr, sp, x16
    00030cf8b.ls 0x30e00
    00030cfcstr x30, [sp-80]!
    00030d00stur x29, [sp-8]
    00030d04sub x29, sp, 8
    00030d08ldr x3, [x26+16]
    00030d0cstr x3, [sp+48]
    00030d10ldr x0, [x26+8]
    00030d14str x0, [sp+56]
    00030d18orr x1, xzr, 2
    00030d1corr x2, xzr, 28
    00030d20bl runtime.casGToWaitingForSuspendG
    00030d24ldr x3, [sp+48]
    00030d28ldrsb x27, [x3]
    00030d2cldr x4, [x3+4664]
    00030d30subs xzr, x4, 1
    00030d34b.eq 0x30d68
    00030d38subs xzr, x4, 2
    00030d3cb.eq 0x30d58
    00030d40subs xzr, x4, 3
    00030d44b.ne 0x30dec
    00030d48movz x1, 4680
    00030d4cadd x0, x3, x1
    00030d50bl runtime.gcDrainMarkWorkerIdle
    00030d54b 0x30dd0
    00030d58
    00030d58loc_30d58:
    00030d58movz x1, 4680
    00030d5cadd x0, x3, x1
    00030d60bl runtime.gcDrainMarkWorkerFractional
    00030d64b 0x30dd0
    00030d68
    00030d68loc_30d68:
    00030d68movz x2, 4680
    00030d6cadd x0, x3, x2
    00030d70str x0, [sp+64]
    00030d74orr x1, xzr, 1
    00030d78bl runtime.gcDrainMarkWorkerDedicated
    00030d7cldr x2, [sp+56]
    00030d80ldrb w3, [x2+185]
    00030d84tbz w3, 0, 0x30dc4
    00030d88ldr x0, [sp+48]
    00030d8cbl runtime.runqdrain
    00030d90str x0, [sp+32]
    00030d94str x1, [sp+40]
    00030d98cbz w2, 0x30dc4
    00030d9cstr w2, [sp+28]
    00030da0adrp x0, 0x9f7000
    00030da4add x0, x0, 152
    00030da8bl runtime.lock
    00030dacadd x0, sp, 32
    00030db0ldr w1, [sp+28]
    00030db4bl runtime.globrunqputbatch
    00030db8adrp x0, 0x9f7000
    00030dbcadd x0, x0, 152
    00030dc0bl runtime.unlock
    00030dc4
    00030dc4loc_30dc4:
    00030dc4ldr x0, [sp+64]
    00030dc8mov x1, xzr
    00030dccbl runtime.gcDrainMarkWorkerDedicated
    00030dd0
    00030dd0loc_30dd0:
    00030dd0ldr x0, [sp+56]
    00030dd4orr x1, xzr, 4
    00030dd8orr x2, xzr, 2
    00030ddcbl runtime.casgstatus
    00030de0ldur x29, [sp-8]
    00030de4ldr x30, [sp], 80
    00030de8ret x30
    00030dec
    00030decloc_30dec:
    00030decadrp x0, 0x695000
    00030df0add x0, x0, 3053
    00030df4movz x1, 43
    00030df8bl runtime.throw
    00030dfchint
    00030e00
    00030e00loc_30e00:
    00030e00mov x3, x30
    00030e04bl runtime.morestack.abi0
    00030e08b 0x30cf0
    00030e0cudf 0
    00030cf0
    00030e10
    00030e10runtime.gcMarkWorkAvailable: ; void runtime.gcMarkWorkAvailable(runtime.p * p)
    00030e10ldr x16, [x28+16]
    00030e14subs xzr, sp, x16
    00030e18b.ls 0x30ea4
    00030e1cstr x30, [sp-32]!
    00030e20stur x29, [sp-8]
    00030e24sub x29, sp, 8
    00030e28cbz x0, 0x30e3c
    00030e2cmovz x1, 4680
    00030e30add x0, x0, x1
    00030e34bl runtime.(*gcWork).empty
    00030e38tbz w0, 0, 0x30e94
    00030e3c
    00030e3cloc_30e3c:
    00030e3cadrp x0, 0x9f4000
    00030e40add x0, x0, 2656
    00030e44bl runtime.(*lfstack).empty
    00030e48tbz w0, 0, 0x30e84
    00030e4cadrp x27, 0x9f4000
    00030e50ldr w1, [x27+2984]
    00030e54adrp x27, 0x9f4000
    00030e58ldr w2, [x27+2988]
    00030e5csubs wzr, w2, w1
    00030e60b.ls 0x30e74
    00030e64orr x0, xzr, 1
    00030e68ldur x29, [sp-8]
    00030e6cldr x30, [sp], 32
    00030e70ret x30
    00030e74
    00030e74loc_30e74:
    00030e74mov x0, xzr
    00030e78ldur x29, [sp-8]
    00030e7cldr x30, [sp], 32
    00030e80ret x30
    00030e84
    00030e84loc_30e84:
    00030e84orr x0, xzr, 1
    00030e88ldur x29, [sp-8]
    00030e8cldr x30, [sp], 32
    00030e90ret x30
    00030e94
    00030e94loc_30e94:
    00030e94orr x0, xzr, 1
    00030e98ldur x29, [sp-8]
    00030e9cldr x30, [sp], 32
    00030ea0ret x30
    00030ea4
    00030ea4loc_30ea4:
    00030ea4str x0, [sp+8]
    00030ea8mov x3, x30
    00030eacbl runtime.morestack_noctxt.abi0
    00030eb0ldr x0, [sp+8]
    00030eb4b 0x30e10
    00030eb8udf 0
    00030ebcudf 0
    00030e10
    00030ec0
    00030ec0runtime.gcMark: ; void runtime.gcMark(int64 startTime)
    00030ec0ldr x16, [x28+16]
    00030ec4subs xzr, sp, x16
    00030ec8b.ls 0x31280
    00030eccstr x30, [sp-128]!
    00030ed0stur x29, [sp-8]
    00030ed4sub x29, sp, 8
    00030ed8adrp x27, 0xa1b000
    00030edcldr w2, [x27+1600]
    00030ee0subs wzr, w2, 2
    00030ee4b.ne 0x3126c
    00030ee8adrp x27, 0x9f4000
    00030eecstr x0, [x27+3000]
    00030ef0adrp x27, 0x9f4000
    00030ef4ldr x2, [x27+2656]
    00030ef8str x2, [sp+88]
    00030efccbnz x2, 0x3115c
    00030f00adrp x27, 0x9f4000
    00030f04ldr w3, [x27+2984]
    00030f08adrp x27, 0x9f4000
    00030f0cldr w4, [x27+2988]
    00030f10subs wzr, w4, w3
    00030f14b.hi 0x3115c
    00030f18adrp x27, 0xa1c000
    00030f1cldrsw x2, [x27+244]
    00030f20subs wzr, w2, 0
    00030f24b.le 0x30f2c
    00030f28bl runtime.gcMarkRootCheck
    00030f2c
    00030f2cloc_30f2c:
    00030f2cadrp x27, 0x9f4000
    00030f30add x27, x27, 3080
    00030f34stp xzr, xzr, [x27]
    00030f38adrp x27, 0xa1b000
    00030f3cldr w2, [x27+3056]
    00030f40cbz w2, 0x30f54
    00030f44adrp x27, 0x9f4000
    00030f48ldr x2, [x27+3072]
    00030f4cbl runtime.gcWriteBarrier1
    00030f50str x2, [x25]
    00030f54
    00030f54loc_30f54:
    00030f54adrp x27, 0x9f4000
    00030f58str xzr, [x27+3072]
    00030f5cadrp x27, 0x9f2000
    00030f60ldr x2, [x27+3040]
    00030f64str x2, [sp+112]
    00030f68adrp x27, 0x9f2000
    00030f6cldr x3, [x27+3048]
    00030f70str x3, [sp+80]
    00030f74mov x0, xzr
    00030f78b 0x30f94
    00030f7c
    00030f7cloc_30f7c:
    00030f7cldr x0, [sp+104]
    00030f80bl runtime.(*gcWork).dispose
    00030f84ldr x1, [sp+72]
    00030f88add x0, x1, 1
    00030f8cldr x2, [sp+112]
    00030f90ldr x3, [sp+80]
    00030f94
    00030f94loc_30f94:
    00030f94subs xzr, x0, x3
    00030f98b.ge 0x30ff4
    00030f9cstr x0, [sp+72]
    00030fa0adrp x27, 0xa1c000
    00030fa4ldrsw x1, [x27+244]
    00030fa8ldr x4, [x2+3*x0]
    00030facstr x4, [sp+96]
    00030fb0subs wzr, w1, 0
    00030fb4b.le 0x30fc4
    00030fb8mov x0, x4
    00030fbcbl runtime.wbBufFlush1
    00030fc0b 0x30fd4
    00030fc4
    00030fc4loc_30fc4:
    00030fc4ldrsb x27, [x4]
    00030fc8movz x1, 4720
    00030fccadd x0, x4, x1
    00030fd0bl runtime.(*wbBuf).reset
    00030fd4
    00030fd4loc_30fd4:
    00030fd4ldr x1, [sp+96]
    00030fd8ldrsb x27, [x1]
    00030fdcmovz x2, 4680
    00030fe0add x0, x1, x2
    00030fe4str x0, [sp+104]
    00030fe8bl runtime.(*gcWork).empty
    00030fectbnz w0, 0, 0x30f7c
    00030ff0b 0x3104c
    00030ff4
    00030ff4loc_30ff4:
    00030ff4adrp x27, 0x9f2000
    00030ff8ldr x2, [x27+3040]
    00030ffcadrp x27, 0x9f2000
    00031000ldr x3, [x27+3048]
    00031004mov x0, xzr
    00031008b 0x31010
    0003100c
    0003100cloc_3100c:
    0003100cadd x0, x0, 1
    00031010
    00031010loc_31010:
    00031010subs xzr, x0, x3
    00031014b.ge 0x3102c
    00031018ldr x4, [x2+3*x0]
    0003101cldr x4, [x4+56]
    00031020cbz x4, 0x3100c
    00031024str xzr, [x4+16]
    00031028b 0x3100c
    0003102c
    0003102cloc_3102c:
    0003102cadrp x27, 0x9f3000
    00031030ldr x1, [x27+2976]
    00031034adrp x0, 0xa1b000
    00031038add x0, x0, 2496
    0003103cbl runtime.(*gcControllerState).resetLive
    00031040ldur x29, [sp-8]
    00031044ldr x30, [sp], 128
    00031048ret x30
    0003104c
    0003104cloc_3104c:
    0003104cbl runtime.printlock
    00031050ldr x0, [sp+96]
    00031054ldrsw x1, [x0]
    00031058str x1, [sp+64]
    0003105cadd x27, x0, 4096
    00031060ldrb w0, [x27+616]
    00031064strb w0, [sp+31]
    00031068bl runtime.printlock
    0003106cadrp x0, 0x681000
    00031070add x0, x0, 1988
    00031074movz x1, 11
    00031078bl runtime.printstring
    0003107cldr x0, [sp+64]
    00031080bl runtime.printint
    00031084adrp x0, 0x682000
    00031088add x0, x0, 1511
    0003108cmovz x1, 13
    00031090bl runtime.printstring
    00031094ldrb w0, [sp+31]
    00031098bl runtime.printbool
    0003109cbl runtime.printunlock
    000310a0ldr x0, [sp+96]
    000310a4ldr x1, [x0+4680]
    000310a8cbz x1, 0x31140
    000310acldr x0, [x1+16]
    000310b0str x0, [sp+80]
    000310b4bl runtime.printlock
    000310b8adrp x0, 0x680000
    000310bcadd x0, x0, 2812
    000310c0movz x1, 9
    000310c4bl runtime.printstring
    000310c8ldr x0, [sp+80]
    000310ccbl runtime.printint
    000310d0bl runtime.printunlock
    000310d4
    000310d4loc_310d4:
    000310d4ldr x0, [sp+96]
    000310d8ldr x0, [x0+4688]
    000310dccbz x0, 0x31124
    000310e0ldr x0, [x0+16]
    000310e4str x0, [sp+80]
    000310e8bl runtime.printlock
    000310ecadrp x0, 0x680000
    000310f0add x0, x0, 2821
    000310f4movz x1, 9
    000310f8bl runtime.printstring
    000310fcldr x0, [sp+80]
    00031100bl runtime.printint
    00031104bl runtime.printunlock
    00031108
    00031108loc_31108:
    00031108bl runtime.printlock
    0003110cbl runtime.printnl
    00031110bl runtime.printunlock
    00031114adrp x0, 0x696000
    00031118add x0, x0, 3151
    0003111cmovz x1, 47
    00031120bl runtime.throw
    00031124
    00031124loc_31124:
    00031124bl runtime.printlock
    00031128adrp x0, 0x681000
    0003112cadd x0, x0, 3808
    00031130orr x1, xzr, 12
    00031134bl runtime.printstring
    00031138bl runtime.printunlock
    0003113cb 0x31108
    00031140
    00031140loc_31140:
    00031140bl runtime.printlock
    00031144adrp x0, 0x681000
    00031148add x0, x0, 3796
    0003114corr x1, xzr, 12
    00031150bl runtime.printstring
    00031154bl runtime.printunlock
    00031158b 0x310d4
    0003115c
    0003115cloc_3115c:
    0003115cadrp x27, 0x9f3000
    00031160ldr w0, [x27+2984]
    00031164str x0, [sp+56]
    00031168adrp x27, 0x9f3000
    0003116cldr w0, [x27+2988]
    00031170str x0, [sp+48]
    00031174adrp x27, 0x9f3000
    00031178ldr x0, [x27+3016]
    0003117cstr x0, [sp+80]
    00031180adrp x27, 0x9f3000
    00031184ldr x0, [x27+3024]
    00031188str x0, [sp+72]
    0003118cadrp x27, 0x9f3000
    00031190ldr x0, [x27+3032]
    00031194str x0, [sp+40]
    00031198adrp x27, 0x9f3000
    0003119cldr x0, [x27+3040]
    000311a0str x0, [sp+32]
    000311a4bl runtime.printlock
    000311a8adrp x0, 0x682000
    000311acadd x0, x0, 3206
    000311b0orr x1, xzr, 14
    000311b4bl runtime.printstring
    000311b8ldr x0, [sp+88]
    000311bcbl runtime.printhex
    000311c0adrp x0, 0x67f000
    000311c4add x0, x0, 2395
    000311c8orr x1, xzr, 6
    000311ccbl runtime.printstring
    000311d0ldr x0, [sp+56]
    000311d4bl runtime.printuint
    000311d8adrp x0, 0x67f000
    000311dcadd x0, x0, 2401
    000311e0orr x1, xzr, 6
    000311e4bl runtime.printstring
    000311e8ldr x0, [sp+48]
    000311ecbl runtime.printuint
    000311f0adrp x0, 0x681000
    000311f4add x0, x0, 3772
    000311f8orr x1, xzr, 12
    000311fcbl runtime.printstring
    00031200ldr x0, [sp+80]
    00031204bl runtime.printint
    00031208adrp x0, 0x681000
    0003120cadd x0, x0, 1977
    00031210movz x1, 11
    00031214bl runtime.printstring
    00031218ldr x0, [sp+72]
    0003121cbl runtime.printint
    00031220adrp x0, 0x681000
    00031224add x0, x0, 3784
    00031228orr x1, xzr, 12
    0003122cbl runtime.printstring
    00031230ldr x0, [sp+40]
    00031234bl runtime.printint
    00031238adrp x0, 0x682000
    0003123cadd x0, x0, 1498
    00031240movz x1, 13
    00031244bl runtime.printstring
    00031248ldr x0, [sp+32]
    0003124cbl runtime.printint
    00031250bl runtime.printnl
    00031254bl runtime.printunlock
    00031258adrp x0, 0x5c4000
    0003125cadd x0, x0, 2944
    00031260adrp x1, 0x6e0000
    00031264add x1, x1, 352
    00031268bl runtime.gopanic
    0003126c
    0003126cloc_3126c:
    0003126cadrp x0, 0x69a000
    00031270add x0, x0, 1354
    00031274orr x1, xzr, 56
    00031278bl runtime.throw
    0003127chint
    00031280
    00031280loc_31280:
    00031280str x0, [sp+8]
    00031284mov x3, x30
    00031288bl runtime.morestack_noctxt.abi0
    0003128cldr x0, [sp+8]
    00031290b 0x30ec0
    00031294udf 0
    00031298udf 0
    0003129cudf 0
    00030ec0
    000312a0
    000312a0runtime.gcSweep: ; void runtime.gcSweep(runtime.gcMode mode)
    000312a0ldr x16, [x28+24]
    000312a4subs xzr, sp, x16
    000312a8b.ls 0x314a0
    000312acstr x30, [sp-64]!
    000312b0stur x29, [sp-8]
    000312b4sub x29, sp, 8
    000312b8str x0, [sp+72]
    000312bcbl runtime.assertWorldStopped
    000312c0adrp x27, 0xa1a000
    000312c4ldr w0, [x27+1600]
    000312c8cbnz w0, 0x3148c
    000312ccadrp x0, 0xa01000
    000312d0add x0, x0, 2112
    000312d4bl runtime.lock
    000312d8adrp x27, 0xa11000
    000312dcldr w1, [x27+2432]
    000312e0add x1, x1, 2
    000312e4adrp x27, 0xa11000
    000312e8str w1, [x27+2432]
    000312ecadrp x0, 0x9f2000
    000312f0add x0, x0, 948
    000312f4bl runtime.(*activeSweep).reset
    000312f8adrp x0, 0xa11000
    000312fcadd x0, x0, 2472
    00031300mov x1, xzr
    00031304bl internal/runtime/atomic.(*Uint64).Store
    00031308adrp x27, 0xa11000
    0003130cldr x1, [x27+2744]
    00031310adrp x27, 0xa11000
    00031314ldr x2, [x27+2752]
    00031318adrp x27, 0xa11000
    0003131cldr x3, [x27+2736]
    00031320adrp x27, 0xa11000
    00031324str x1, [x27+2768]
    00031328adrp x27, 0xa11000
    0003132cstr x2, [x27+2776]
    00031330adrp x27, 0xa1a000
    00031334ldr w1, [x27+3056]
    00031338cbz w1, 0x31350
    0003133cbl runtime.gcWriteBarrier2
    00031340str x3, [x25]
    00031344adrp x27, 0xa11000
    00031348ldr x2, [x27+2760]
    0003134cstr x2, [x25+8]
    00031350
    00031350loc_31350:
    00031350adrp x27, 0xa11000
    00031354str x3, [x27+2760]
    00031358adrp x0, 0xa11000
    0003135cadd x0, x0, 2504
    00031360mov x1, xzr
    00031364bl internal/runtime/atomic.(*Uint64).Store
    00031368adrp x0, 0xa11000
    0003136cadd x0, x0, 2512
    00031370mov x1, xzr
    00031374bl internal/runtime/atomic.(*Uintptr).Store
    00031378adrp x0, 0xa01000
    0003137cadd x0, x0, 2112
    00031380bl runtime.unlock
    00031384adrp x0, 0x9f2000
    00031388add x0, x0, 952
    0003138cbl runtime.(*sweepClass).clear
    00031390ldr x2, [sp+72]
    00031394subs xzr, x2, 2
    00031398b.ne 0x313e0
    0003139cadrp x0, 0xa01000
    000313a0add x0, x0, 2112
    000313a4bl runtime.lock
    000313a8fmov d0, xzr
    000313acadrp x27, 0xa11000
    000313b0str d0, [x27+2496]
    000313b4adrp x0, 0xa01000
    000313b8add x0, x0, 2112
    000313bcbl runtime.unlock
    000313c0adrp x27, 0x9f1000
    000313c4ldr x1, [x27+3040]
    000313c8str x1, [sp+48]
    000313ccadrp x27, 0x9f1000
    000313d0ldr x2, [x27+3048]
    000313d4str x2, [sp+40]
    000313d8mov x0, xzr
    000313dcb 0x31450
    000313e0
    000313e0loc_313e0:
    000313e0adrp x0, 0x9f2000
    000313e4add x0, x0, 928
    000313e8bl runtime.lock
    000313ecadrp x27, 0x9f2000
    000313f0ldrb w1, [x27+944]
    000313f4tbz w1, 0, 0x31414
    000313f8adrp x27, 0x9f2000
    000313fcstrb wzr, [x27+944]
    00031400adrp x27, 0x9f2000
    00031404ldr x0, [x27+936]
    00031408mov x1, xzr
    0003140corr x2, xzr, 1
    00031410bl runtime.ready
    00031414
    00031414loc_31414:
    00031414adrp x0, 0x9f2000
    00031418add x0, x0, 928
    0003141cbl runtime.unlock
    00031420mov x0, xzr
    00031424ldur x29, [sp-8]
    00031428ldr x30, [sp], 64
    0003142cret x30
    00031430
    00031430loc_31430:
    00031430str x0, [sp+32]
    00031434ldr x1, [x1+3*x0]
    00031438ldr x0, [x1+56]
    0003143cbl runtime.(*mcache).prepareForSweep
    00031440ldr x1, [sp+32]
    00031444add x0, x1, 1
    00031448ldr x1, [sp+48]
    0003144cldr x2, [sp+40]
    00031450
    00031450loc_31450:
    00031450subs xzr, x0, x2
    00031454b.lt 0x31430
    00031458
    00031458loc_31458:
    00031458bl runtime.sweepone
    0003145cadds xzr, x0, 1
    00031460b.ne 0x31458
    00031464bl runtime.prepareFreeWorkbufs
    00031468
    00031468loc_31468:
    00031468mov x0, xzr
    0003146cbl runtime.freeSomeWbufs
    00031470tbnz w0, 0, 0x31468
    00031474bl runtime.mProf_NextCycle
    00031478bl runtime.mProf_Flush
    0003147corr x0, xzr, 1
    00031480ldur x29, [sp-8]
    00031484ldr x30, [sp], 64
    00031488ret x30
    0003148c
    0003148cloc_3148c:
    0003148cadrp x0, 0x693000
    00031490add x0, x0, 2864
    00031494movz x1, 41
    00031498bl runtime.throw
    0003149chint
    000314a0
    000314a0loc_314a0:
    000314a0str x0, [sp+8]
    000314a4mov x3, x30
    000314a8bl runtime.morestackc.abi0
    000314acldr x0, [sp+8]
    000314b0b 0x312a0
    000314b4udf 0
    000314b8udf 0
    000314bcudf 0
    000312a0
    000314c0
    000314c0runtime.gcResetMarkState: ; void runtime.gcResetMarkState(void)
    000314c0ldr x16, [x28+24]
    000314c4subs xzr, sp, x16
    000314c8b.ls 0x315dc
    000314ccstr x30, [sp-80]!
    000314d0stur x29, [sp-8]
    000314d4sub x29, sp, 8
    000314d8adrp x0, 0x6a7000
    000314dcadd x0, x0, 1856
    000314e0bl runtime.forEachG
    000314e4adrp x0, 0xa01000
    000314e8add x0, x0, 2112
    000314ecbl runtime.lock
    000314f0adrp x27, 0xa11000
    000314f4ldr x1, [x27+2736]
    000314f8str x1, [sp+64]
    000314fcadrp x27, 0xa11000
    00031500ldr x1, [x27+2744]
    00031504str x1, [sp+32]
    00031508adrp x0, 0xa01000
    0003150cadd x0, x0, 2112
    00031510bl runtime.unlock
    00031514mov x0, xzr
    00031518b 0x31558
    0003151c
    0003151cloc_3151c:
    0003151cadrp x27, 0xa11000
    00031520ldr x1, [x27+2648]
    00031524ldrsb x27, [x1]
    00031528ldr x1, [x1+3*x0]
    0003152cldrsb x27, [x1]
    00031530movz x2, 1024
    00031534movk x2, 0x10000
    00031538add x20, x1, x2
    0003153cadr x27, 16
    00031540stp x29, x27, [sp-24]
    00031544sub x29, sp, 24
    00031548bl runtime.duffzero
    0003154csub x29, sp, 8
    00031550ldr x1, [sp+56]
    00031554add x0, x1, 1
    00031558
    00031558loc_31558:
    00031558ldr x1, [sp+32]
    0003155csubs xzr, x0, x1
    00031560b.ge 0x3159c
    00031564str x0, [sp+56]
    00031568ldr x1, [sp+64]
    0003156cldr x0, [x1+3*x0]
    00031570str x0, [sp+40]
    00031574bl runtime.arenaIdx.l1
    00031578str x0, [sp+48]
    0003157cldr x0, [sp+40]
    00031580bl runtime.arenaIdx.l2
    00031584ldr x1, [sp+48]
    00031588subs xzr, x1, 1
    0003158cb.hs 0x315cc
    00031590subs xzr, x0, 0x400000
    00031594b.lo 0x3151c
    00031598b 0x315c4
    0003159c
    0003159cloc_3159c:
    0003159cadrp x27, 0x9f3000
    000315a0str xzr, [x27+2976]
    000315a4adrp x0, 0xa1b000
    000315a8add x0, x0, 2600
    000315acbl internal/runtime/atomic.(*Uint64).Load
    000315b0adrp x27, 0x9f3000
    000315b4str x0, [x27+3128]
    000315b8ldur x29, [sp-8]
    000315bcldr x30, [sp], 80
    000315c0ret x30
    000315c4
    000315c4loc_315c4:
    000315c4orr x1, xzr, 0x400000
    000315c8bl runtime.panicIndexU
    000315cc
    000315ccloc_315cc:
    000315ccmov x0, x1
    000315d0orr x1, xzr, 1
    000315d4bl runtime.panicIndexU
    000315d8hint
    000315dc
    000315dcloc_315dc:
    000315dcmov x3, x30
    000315e0bl runtime.morestackc.abi0
    000315e4b 0x314c0
    000315e8udf 0
    000315ecudf 0
    000314c0
    000315f0
    000315f0runtime.unique_runtime_registerUniqueMapCleanup.gowrap1: ; void runtime.unique_runtime_registerUniqueMapCleanup.gowrap1(void)
    000315f0ldr x16, [x28+16]
    000315f4subs xzr, sp, x16
    000315f8b.ls 0x3162c
    000315fcstr x30, [sp-32]!
    00031600stur x29, [sp-8]
    00031604sub x29, sp, 8
    00031608ldr x16, [x28+32]
    0003160ccbnz x16, 0x31638
    00031610
    00031610loc_31610:
    00031610ldr x0, [x26+16]
    00031614ldr x26, [x26+8]
    00031618ldr x1, [x26]
    0003161cblr x1
    00031620ldur x29, [sp-8]
    00031624ldr x30, [sp], 32
    00031628ret x30
    0003162c
    0003162cloc_3162c:
    0003162cmov x3, x30
    00031630bl runtime.morestack.abi0
    00031634b 0x315f0
    00031638
    00031638loc_31638:
    00031638ldr x17, [x16]
    0003163cadd x20, sp, 40
    00031640subs xzr, x20, x17
    00031644b.ne 0x31610
    00031648add x20, sp, 8
    0003164cstr x20, [x16]
    00031650b 0x31610
    00031654udf 0
    00031658udf 0
    0003165cudf 0
    000315f0
    00031660
    00031660runtime.clearpools: ; void runtime.clearpools(void)
    00031660ldr x16, [x28+16]
    00031664subs xzr, sp, x16
    00031668b.ls 0x317dc
    0003166cstr x30, [sp-64]!
    00031670stur x29, [sp-8]
    00031674sub x29, sp, 8
    00031678adrp x27, 0x9ef000
    0003167cldr x26, [x27+2960]
    00031680cbz x26, 0x3168c
    00031684ldr x0, [x26]
    00031688blr x0
    0003168c
    0003168cloc_3168c:
    0003168cadrp x27, 0x9f1000
    00031690ldr x2, [x27+2816]
    00031694str x2, [sp+48]
    00031698adrp x27, 0x9f1000
    0003169cldr x3, [x27+2824]
    000316a0str x3, [sp+40]
    000316a4mov x0, xzr
    000316a8b 0x316cc
    000316ac
    000316acloc_316ac:
    000316acstr x0, [sp+32]
    000316b0ldr x0, [x2+3*x0]
    000316b4mov x1, xzr
    000316b8bl runtime.atomicstorep
    000316bcldr x2, [sp+32]
    000316c0add x0, x2, 1
    000316c4ldr x2, [sp+48]
    000316c8ldr x3, [sp+40]
    000316cc
    000316ccloc_316cc:
    000316ccsubs xzr, x0, x3
    000316d0b.lt 0x316ac
    000316d4adrp x27, 0x9ef000
    000316d8ldr x0, [x27+2968]
    000316dccbz x0, 0x316e8
    000316e0add x1, sp, 32
    000316e4bl runtime.selectnbsend
    000316e8
    000316e8loc_316e8:
    000316e8adrp x0, 0x9f6000
    000316ecadd x0, x0, 320
    000316f0bl runtime.lock
    000316f4adrp x27, 0x9f6000
    000316f8ldr x1, [x27+328]
    000316fcb 0x31708
    00031700
    00031700loc_31700:
    00031700str xzr, [x1+8]
    00031704mov x1, x2
    00031708
    00031708loc_31708:
    00031708cbz x1, 0x3172c
    0003170cldr x2, [x1+8]
    00031710adrp x27, 0xa1a000
    00031714ldr w3, [x27+3056]
    00031718cbz w3, 0x31700
    0003171cldr x3, [x1+8]
    00031720bl runtime.gcWriteBarrier1
    00031724str x3, [x25]
    00031728b 0x31700
    0003172c
    0003172cloc_3172c:
    0003172cadrp x27, 0xa1a000
    00031730ldr w1, [x27+3056]
    00031734cbz w1, 0x31748
    00031738adrp x27, 0x9f6000
    0003173cldr x1, [x27+328]
    00031740bl runtime.gcWriteBarrier1
    00031744str x1, [x25]
    00031748
    00031748loc_31748:
    00031748adrp x27, 0x9f6000
    0003174cstr xzr, [x27+328]
    00031750adrp x0, 0x9f6000
    00031754add x0, x0, 320
    00031758bl runtime.unlock
    0003175cadrp x0, 0x9f6000
    00031760add x0, x0, 336
    00031764bl runtime.lock
    00031768adrp x27, 0x9f6000
    0003176cldr x1, [x27+344]
    00031770b 0x3177c
    00031774
    00031774loc_31774:
    00031774str xzr, [x1+32]
    00031778mov x1, x2
    0003177c
    0003177cloc_3177c:
    0003177ccbz x1, 0x317a0
    00031780ldr x2, [x1+32]
    00031784adrp x27, 0xa1a000
    00031788ldr w3, [x27+3056]
    0003178ccbz w3, 0x31774
    00031790ldr x3, [x1+32]
    00031794bl runtime.gcWriteBarrier1
    00031798str x3, [x25]
    0003179cb 0x31774
    000317a0
    000317a0loc_317a0:
    000317a0adrp x27, 0xa1a000
    000317a4ldr w1, [x27+3056]
    000317a8cbz w1, 0x317bc
    000317acadrp x27, 0x9f6000
    000317b0ldr x1, [x27+344]
    000317b4bl runtime.gcWriteBarrier1
    000317b8str x1, [x25]
    000317bc
    000317bcloc_317bc:
    000317bcadrp x27, 0x9f6000
    000317c0str xzr, [x27+344]
    000317c4adrp x0, 0x9f6000
    000317c8add x0, x0, 336
    000317ccbl runtime.unlock
    000317d0ldur x29, [sp-8]
    000317d4ldr x30, [sp], 64
    000317d8ret x30
    000317dc
    000317dcloc_317dc:
    000317dcmov x3, x30
    000317e0bl runtime.morestack_noctxt.abi0
    000317e4b 0x31660
    000317e8udf 0
    000317ecudf 0
    00031660
    000317f0
    000317f0runtime.itoaDiv: ; void runtime.itoaDiv(struct []uint8 buf, uint64 val, int dec)
    000317f0ldr x16, [x28+16]
    000317f4subs xzr, sp, x16
    000317f8b.ls 0x318dc
    000317fcstr x30, [sp-32]!
    00031800stur x29, [sp-8]
    00031804sub x29, sp, 8
    00031808str x0, [sp+40]
    0003180csub x4, x1, x4
    00031810sub x5, x1, 1
    00031814sub x4, x4, 1
    00031818b 0x31824
    0003181c
    0003181cloc_3181c:
    0003181cmov x5, x3
    00031820mov x3, x7
    00031824
    00031824loc_31824:
    00031824subs xzr, x3, 10
    00031828b.hs 0x31834
    0003182csubs xzr, x5, x4
    00031830b.lt 0x31890
    00031834
    00031834loc_31834:
    00031834movz x6, 52429
    00031838movk x6, 0xcccc0000
    0003183cmovk x6, 0xcccc00000000
    00031840movk x6, 0xcccc000000000000
    00031844umulh x7, x6, x3
    00031848ubfm x7, x7, 3, 63
    0003184cadd x8, x7, x7, lsl #2
    00031850sub x3, x3, x8, lsl #1
    00031854subs xzr, x1, x5
    00031858b.ls 0x318d0
    0003185cadd x3, x3, 48
    00031860strb w3, [x0+x5]
    00031864sub x3, x5, 1
    00031868subs xzr, x3, x4
    0003186cb.ne 0x31888
    00031870subs xzr, x1, x3
    00031874b.ls 0x318c8
    00031878movz x8, 46
    0003187cstrb w8, [x0+x3]
    00031880sub x3, x5, 2
    00031884b 0x3181c
    00031888
    00031888loc_31888:
    00031888movz x8, 46
    0003188cb 0x3181c
    00031890
    00031890loc_31890:
    00031890subs xzr, x1, x5
    00031894b.ls 0x318c0
    00031898add x3, x3, 48
    0003189cstrb w3, [x0+x5]
    000318a0sub x2, x2, x5
    000318a4sub x3, xzr, x2
    000318a8and x3, x5, x3, asr #63
    000318acadd x0, x0, x3
    000318b0sub x1, x1, x5
    000318b4ldur x29, [sp-8]
    000318b8ldr x30, [sp], 32
    000318bcret x30
    000318c0
    000318c0loc_318c0:
    000318c0mov x0, x5
    000318c4bl runtime.panicIndex
    000318c8
    000318c8loc_318c8:
    000318c8mov x0, x3
    000318ccbl runtime.panicIndex
    000318d0
    000318d0loc_318d0:
    000318d0mov x0, x5
    000318d4bl runtime.panicIndex
    000318d8hint
    000318dc
    000318dcloc_318dc:
    000318dcstp x0, x1, [sp+8]
    000318e0stp x2, x3, [sp+24]
    000318e4str x4, [sp+40]
    000318e8mov x3, x30
    000318ecbl runtime.morestack_noctxt.abi0
    000318f0ldp x0, x1, [sp+8]
    000318f4ldp x2, x3, [sp+24]
    000318f8ldr x4, [sp+40]
    000318fcb 0x317f0
    000317f0