File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
00036570
00036570runtime.(*gcControllerState).enlistWorker: ; void runtime.(*gcControllerState).enlistWorker(runtime.gcControllerState * c)
00036570ldr x16, [x28+16]
00036574subs xzr, sp, x16
00036578b.ls 0x36690
0003657cstr x30, [sp-48]!
00036580stur x29, [sp-8]
00036584sub x29, sp, 8
00036588ldrsb x27, [x0]
0003658cadd x0, x0, 232
00036590bl internal/runtime/atomic.(*Int64).Load
00036594subs xzr, x0, 0
00036598b.le 0x365f0
0003659cadrp x27, 0xa15000
000365a0ldrsw x1, [x27+1648]
000365a4subs wzr, w1, 1
000365a8b.le 0x365e4
000365acmov x0, x28
000365b0cbz x0, 0x365d8
000365b4ldr x1, [x0+48]
000365b8cbz x1, 0x365d8
000365bcldr x0, [x1+208]
000365c0cbz x0, 0x365d8
000365c4bl runtime.puintptr.ptr
000365c8ldrsw x1, [x0]
000365ccstr w1, [sp+28]
000365d0mov x0, xzr
000365d4b 0x36604
000365d8
000365d8loc_365d8:
000365d8ldur x29, [sp-8]
000365dcldr x30, [sp], 48
000365e0ret x30
000365e4
000365e4loc_365e4:
000365e4ldur x29, [sp-8]
000365e8ldr x30, [sp], 48
000365ecret x30
000365f0
000365f0loc_365f0:
000365f0ldur x29, [sp-8]
000365f4ldr x30, [sp], 48
000365f8ret x30
000365fc
000365fcloc_365fc:
000365fcldr x2, [sp+32]
00036600add x0, x2, 1
00036604
00036604loc_36604:
00036604subs xzr, x0, 5
00036608b.ge 0x36678
0003660cstr x0, [sp+32]
00036610adrp x27, 0xa15000
00036614ldrsw x1, [x27+1648]
00036618sub x0, x1, 1
0003661cbl runtime.cheaprandn
00036620ldrsw x1, [sp+28]
00036624subs wzr, w0, w1
00036628b.lt 0x36630
0003662cadd x0, x0, 1
00036630
00036630loc_36630:
00036630sbfm x0, x0, 0, 31
00036634adrp x27, 0x9ec000
00036638ldr x2, [x27+3048]
0003663csubs xzr, x0, x2
00036640b.hs 0x36684
00036644adrp x27, 0x9ec000
00036648ldr x2, [x27+3040]
0003664cldr x0, [x2+3*x0]
00036650ldr w2, [x0+4]
00036654subs wzr, w2, 1
00036658b.ne 0x365fc
0003665cbl runtime.preemptone
00036660tbnz w0, 0, 0x3666c
00036664ldrsw x1, [sp+28]
00036668b 0x365fc
0003666c
0003666cloc_3666c:
0003666cldur x29, [sp-8]
00036670ldr x30, [sp], 48
00036674ret x30
00036678
00036678loc_36678:
00036678ldur x29, [sp-8]
0003667cldr x30, [sp], 48
00036680ret x30
00036684
00036684loc_36684:
00036684mov x1, x2
00036688bl runtime.panicIndex
0003668chint
00036690
00036690loc_36690:
00036690str x0, [sp+8]
00036694mov x3, x30
00036698bl runtime.morestack_noctxt.abi0
0003669cldr x0, [sp+8]
000366a0b 0x36570
000366a4udf 0
000366a8udf 0
000366acudf 0
00036570
00036570runtime.(*gcControllerState).enlistWorker: ; void runtime.(*gcControllerState).enlistWorker(runtime.gcControllerState * c)
00036570ldr x16, [x28+16]
00036574subs xzr, sp, x16
00036578b.ls 0x36690
0003657cstr x30, [sp-48]!
00036580stur x29, [sp-8]
00036584sub x29, sp, 8
00036588ldrsb x27, [x0]
0003658cadd x0, x0, 232
00036590bl internal/runtime/atomic.(*Int64).Load
00036594subs xzr, x0, 0
00036598b.le 0x365f0
0003659cadrp x27, 0xa15000
000365a0ldrsw x1, [x27+1648]
000365a4subs wzr, w1, 1
000365a8b.le 0x365e4
000365acmov x0, x28
000365b0cbz x0, 0x365d8
000365b4ldr x1, [x0+48]
000365b8cbz x1, 0x365d8
000365bcldr x0, [x1+208]
000365c0cbz x0, 0x365d8
000365c4bl runtime.puintptr.ptr
000365c8ldrsw x1, [x0]
000365ccstr w1, [sp+28]
000365d0mov x0, xzr
000365d4b 0x36604
000365d8
000365d8loc_365d8:
000365d8ldur x29, [sp-8]
000365dcldr x30, [sp], 48
000365e0ret x30
000365e4
000365e4loc_365e4:
000365e4ldur x29, [sp-8]
000365e8ldr x30, [sp], 48
000365ecret x30
000365f0
000365f0loc_365f0:
000365f0ldur x29, [sp-8]
000365f4ldr x30, [sp], 48
000365f8ret x30
000365fc
000365fcloc_365fc:
000365fcldr x2, [sp+32]
00036600add x0, x2, 1
00036604
00036604loc_36604:
00036604subs xzr, x0, 5
00036608b.ge 0x36678
0003660cstr x0, [sp+32]
00036610adrp x27, 0xa15000
00036614ldrsw x1, [x27+1648]
00036618sub x0, x1, 1
0003661cbl runtime.cheaprandn
00036620ldrsw x1, [sp+28]
00036624subs wzr, w0, w1
00036628b.lt 0x36630
0003662cadd x0, x0, 1
00036630
00036630loc_36630:
00036630sbfm x0, x0, 0, 31
00036634adrp x27, 0x9ec000
00036638ldr x2, [x27+3048]
0003663csubs xzr, x0, x2
00036640b.hs 0x36684
00036644adrp x27, 0x9ec000
00036648ldr x2, [x27+3040]
0003664cldr x0, [x2+3*x0]
00036650ldr w2, [x0+4]
00036654subs wzr, w2, 1
00036658b.ne 0x365fc
0003665cbl runtime.preemptone
00036660tbnz w0, 0, 0x3666c
00036664ldrsw x1, [sp+28]
00036668b 0x365fc
0003666c
0003666cloc_3666c:
0003666cldur x29, [sp-8]
00036670ldr x30, [sp], 48
00036674ret x30
00036678
00036678loc_36678:
00036678ldur x29, [sp-8]
0003667cldr x30, [sp], 48
00036680ret x30
00036684
00036684loc_36684:
00036684mov x1, x2
00036688bl runtime.panicIndex
0003668chint
00036690
00036690loc_36690:
00036690str x0, [sp+8]
00036694mov x3, x30
00036698bl runtime.morestack_noctxt.abi0
0003669cldr x0, [sp+8]
000366a0b 0x36570
000366a4udf 0
000366a8udf 0
000366acudf 0
00036570
000366b0
000366b0runtime.(*gcControllerState).findRunnableGCWorker: ; void runtime.(*gcControllerState).findRunnableGCWorker(runtime.gcControllerState * c, runtime.p * pp, int64 now)
000366b0ldr x16, [x28+16]
000366b4subs xzr, sp, x16
000366b8b.ls 0x368e8
000366bcstr x30, [sp-96]!
000366c0stur x29, [sp-8]
000366c4sub x29, sp, 8
000366c8adrp x27, 0xa15000
000366ccldr w3, [x27+1604]
000366d0cbz w3, 0x368d4
000366d4str x0, [sp+104]
000366d8str x1, [sp+112]
000366dccbnz x2, 0x366e8
000366e0bl runtime.nanotime
000366e4mov x2, x0
000366e8
000366e8loc_366e8:
000366e8str x2, [sp+48]
000366ecadrp x0, 0xa15000
000366f0add x0, x0, 4032
000366f4mov x1, x2
000366f8bl runtime.(*gcCPULimiterState).needUpdate
000366fctbz w0, 0, 0x36710
00036700adrp x0, 0xa15000
00036704add x0, x0, 4032
00036708ldr x1, [sp+48]
0003670cbl runtime.(*gcCPULimiterState).update
00036710
00036710loc_36710:
00036710ldr x0, [sp+112]
00036714bl runtime.gcMarkWorkAvailable
00036718tbz w0, 0, 0x368c0
0003671cldr x1, [sp+104]
00036720ldrsb x27, [x1]
00036724add x0, x1, 232
00036728str x0, [sp+80]
0003672cbl internal/runtime/atomic.(*Int64).Load
00036730subs xzr, x0, 0
00036734b.gt 0x3675c
00036738ldr x2, [sp+104]
0003673cldr d0, [x2+264]
00036740fcmp d0
00036744b.ne 0x3675c
00036748mov x0, xzr
0003674cldr x1, [sp+48]
00036750ldur x29, [sp-8]
00036754ldr x30, [sp], 96
00036758ret x30
0003675c
0003675cloc_3675c:
0003675cadrp x0, 0xa15000
00036760add x0, x0, 2032
00036764bl runtime.(*lfstack).pop
00036768cbz x0, 0x368ac
0003676cstr x0, [sp+72]
00036770adrp x27, 0x6a2000
00036774ldr x1, [x27+1568]
00036778ldr x0, [sp+80]
0003677cadrp x26, 0x6a2000
00036780add x26, x26, 1568
00036784blr x1
00036788tbz w0, 0, 0x367a0
0003678cldr x1, [sp+112]
00036790ldrsb x27, [x1]
00036794orr x2, xzr, 1
00036798str x2, [x1+4664]
0003679cb 0x36818
000367a0
000367a0loc_367a0:
000367a0ldr x2, [sp+104]
000367a4ldr d0, [x2+264]
000367a8fcmp d0
000367acb.eq 0x36888
000367b0ldr x2, [x2+224]
000367b4ldr x3, [sp+48]
000367b8sub x2, x3, x2
000367bcsubs xzr, x2, 0
000367c0b.le 0x36808
000367c4ldr x4, [sp+112]
000367c8ldrsb x27, [x4]
000367ccldr x5, [x4+4648]
000367d0scvtf d1, x5
000367d4scvtf d2, x2
000367d8fdiv d1, d1, d2
000367dcfcmp d0, d1
000367e0b.pl 0x3680c
000367e4adrp x0, 0xa15000
000367e8add x0, x0, 2032
000367ecldr x1, [sp+72]
000367f0bl runtime.(*lfstack).push
000367f4mov x0, xzr
000367f8ldr x1, [sp+48]
000367fcldur x29, [sp-8]
00036800ldr x30, [sp], 96
00036804ret x30
00036808
00036808loc_36808:
00036808ldr x4, [sp+112]
0003680c
0003680cloc_3680c:
0003680cldrsb x27, [x4]
00036810orr x1, xzr, 2
00036814str x1, [x4+4664]
00036818
00036818loc_36818:
00036818ldr x1, [sp+72]
0003681cldr x0, [x1+16]
00036820bl runtime.guintptr.ptr
00036824str x0, [sp+56]
00036828bl runtime.traceAcquire
0003682cstr x0, [sp+64]
00036830str x1, [sp+40]
00036834ldr x0, [sp+56]
00036838orr x1, xzr, 4
0003683corr x2, xzr, 1
00036840bl runtime.casgstatus
00036844ldr x0, [sp+64]
00036848ldr x1, [sp+40]
0003684cbl runtime.traceLocker.ok
00036850tbz w0, 0, 0x36874
00036854ldr x0, [sp+64]
00036858ldr x1, [sp+40]
0003685cldr x2, [sp+56]
00036860mov x3, xzr
00036864bl runtime.traceLocker.GoUnpark
00036868ldr x0, [sp+64]
0003686cldr x1, [sp+40]
00036870bl runtime.traceRelease
00036874
00036874loc_36874:
00036874ldr x0, [sp+56]
00036878ldr x1, [sp+48]
0003687cldur x29, [sp-8]
00036880ldr x30, [sp], 96
00036884ret x30
00036888
00036888loc_36888:
00036888adrp x0, 0xa15000
0003688cadd x0, x0, 2032
00036890ldr x1, [sp+72]
00036894bl runtime.(*lfstack).push
00036898mov x0, xzr
0003689cldr x1, [sp+48]
000368a0ldur x29, [sp-8]
000368a4ldr x30, [sp], 96
000368a8ret x30
000368ac
000368acloc_368ac:
000368acmov x0, xzr
000368b0ldr x1, [sp+48]
000368b4ldur x29, [sp-8]
000368b8ldr x30, [sp], 96
000368bcret x30
000368c0
000368c0loc_368c0:
000368c0mov x0, xzr
000368c4ldr x1, [sp+48]
000368c8ldur x29, [sp-8]
000368ccldr x30, [sp], 96
000368d0ret x30
000368d4
000368d4loc_368d4:
000368d4adrp x0, 0x694000
000368d8add x0, x0, 2068
000368dcmovz x1, 54
000368e0bl runtime.throw
000368e4hint
000368e8
000368e8loc_368e8:
000368e8stp x0, x1, [sp+8]
000368ecstr x2, [sp+24]
000368f0mov x3, x30
000368f4bl runtime.morestack_noctxt.abi0
000368f8ldp x0, x1, [sp+8]
000368fcldr x2, [sp+24]
00036900b 0x366b0
00036904udf 0
00036908udf 0
0003690cudf 0
000366b0
000366b0runtime.(*gcControllerState).findRunnableGCWorker: ; void runtime.(*gcControllerState).findRunnableGCWorker(runtime.gcControllerState * c, runtime.p * pp, int64 now)
000366b0ldr x16, [x28+16]
000366b4subs xzr, sp, x16
000366b8b.ls 0x368e8
000366bcstr x30, [sp-96]!
000366c0stur x29, [sp-8]
000366c4sub x29, sp, 8
000366c8adrp x27, 0xa15000
000366ccldr w3, [x27+1604]
000366d0cbz w3, 0x368d4
000366d4str x0, [sp+104]
000366d8str x1, [sp+112]
000366dccbnz x2, 0x366e8
000366e0bl runtime.nanotime
000366e4mov x2, x0
000366e8
000366e8loc_366e8:
000366e8str x2, [sp+48]
000366ecadrp x0, 0xa15000
000366f0add x0, x0, 4032
000366f4mov x1, x2
000366f8bl runtime.(*gcCPULimiterState).needUpdate
000366fctbz w0, 0, 0x36710
00036700adrp x0, 0xa15000
00036704add x0, x0, 4032
00036708ldr x1, [sp+48]
0003670cbl runtime.(*gcCPULimiterState).update
00036710
00036710loc_36710:
00036710ldr x0, [sp+112]
00036714bl runtime.gcMarkWorkAvailable
00036718tbz w0, 0, 0x368c0
0003671cldr x1, [sp+104]
00036720ldrsb x27, [x1]
00036724add x0, x1, 232
00036728str x0, [sp+80]
0003672cbl internal/runtime/atomic.(*Int64).Load
00036730subs xzr, x0, 0
00036734b.gt 0x3675c
00036738ldr x2, [sp+104]
0003673cldr d0, [x2+264]
00036740fcmp d0
00036744b.ne 0x3675c
00036748mov x0, xzr
0003674cldr x1, [sp+48]
00036750ldur x29, [sp-8]
00036754ldr x30, [sp], 96
00036758ret x30
0003675c
0003675cloc_3675c:
0003675cadrp x0, 0xa15000
00036760add x0, x0, 2032
00036764bl runtime.(*lfstack).pop
00036768cbz x0, 0x368ac
0003676cstr x0, [sp+72]
00036770adrp x27, 0x6a2000
00036774ldr x1, [x27+1568]
00036778ldr x0, [sp+80]
0003677cadrp x26, 0x6a2000
00036780add x26, x26, 1568
00036784blr x1
00036788tbz w0, 0, 0x367a0
0003678cldr x1, [sp+112]
00036790ldrsb x27, [x1]
00036794orr x2, xzr, 1
00036798str x2, [x1+4664]
0003679cb 0x36818
000367a0
000367a0loc_367a0:
000367a0ldr x2, [sp+104]
000367a4ldr d0, [x2+264]
000367a8fcmp d0
000367acb.eq 0x36888
000367b0ldr x2, [x2+224]
000367b4ldr x3, [sp+48]
000367b8sub x2, x3, x2
000367bcsubs xzr, x2, 0
000367c0b.le 0x36808
000367c4ldr x4, [sp+112]
000367c8ldrsb x27, [x4]
000367ccldr x5, [x4+4648]
000367d0scvtf d1, x5
000367d4scvtf d2, x2
000367d8fdiv d1, d1, d2
000367dcfcmp d0, d1
000367e0b.pl 0x3680c
000367e4adrp x0, 0xa15000
000367e8add x0, x0, 2032
000367ecldr x1, [sp+72]
000367f0bl runtime.(*lfstack).push
000367f4mov x0, xzr
000367f8ldr x1, [sp+48]
000367fcldur x29, [sp-8]
00036800ldr x30, [sp], 96
00036804ret x30
00036808
00036808loc_36808:
00036808ldr x4, [sp+112]
0003680c
0003680cloc_3680c:
0003680cldrsb x27, [x4]
00036810orr x1, xzr, 2
00036814str x1, [x4+4664]
00036818
00036818loc_36818:
00036818ldr x1, [sp+72]
0003681cldr x0, [x1+16]
00036820bl runtime.guintptr.ptr
00036824str x0, [sp+56]
00036828bl runtime.traceAcquire
0003682cstr x0, [sp+64]
00036830str x1, [sp+40]
00036834ldr x0, [sp+56]
00036838orr x1, xzr, 4
0003683corr x2, xzr, 1
00036840bl runtime.casgstatus
00036844ldr x0, [sp+64]
00036848ldr x1, [sp+40]
0003684cbl runtime.traceLocker.ok
00036850tbz w0, 0, 0x36874
00036854ldr x0, [sp+64]
00036858ldr x1, [sp+40]
0003685cldr x2, [sp+56]
00036860mov x3, xzr
00036864bl runtime.traceLocker.GoUnpark
00036868ldr x0, [sp+64]
0003686cldr x1, [sp+40]
00036870bl runtime.traceRelease
00036874
00036874loc_36874:
00036874ldr x0, [sp+56]
00036878ldr x1, [sp+48]
0003687cldur x29, [sp-8]
00036880ldr x30, [sp], 96
00036884ret x30
00036888
00036888loc_36888:
00036888adrp x0, 0xa15000
0003688cadd x0, x0, 2032
00036890ldr x1, [sp+72]
00036894bl runtime.(*lfstack).push
00036898mov x0, xzr
0003689cldr x1, [sp+48]
000368a0ldur x29, [sp-8]
000368a4ldr x30, [sp], 96
000368a8ret x30
000368ac
000368acloc_368ac:
000368acmov x0, xzr
000368b0ldr x1, [sp+48]
000368b4ldur x29, [sp-8]
000368b8ldr x30, [sp], 96
000368bcret x30
000368c0
000368c0loc_368c0:
000368c0mov x0, xzr
000368c4ldr x1, [sp+48]
000368c8ldur x29, [sp-8]
000368ccldr x30, [sp], 96
000368d0ret x30
000368d4
000368d4loc_368d4:
000368d4adrp x0, 0x694000
000368d8add x0, x0, 2068
000368dcmovz x1, 54
000368e0bl runtime.throw
000368e4hint
000368e8
000368e8loc_368e8:
000368e8stp x0, x1, [sp+8]
000368ecstr x2, [sp+24]
000368f0mov x3, x30
000368f4bl runtime.morestack_noctxt.abi0
000368f8ldp x0, x1, [sp+8]
000368fcldr x2, [sp+24]
00036900b 0x366b0
00036904udf 0
00036908udf 0
0003690cudf 0
000366b0
00036910
00036910runtime.(*gcControllerState).resetLive: ; void runtime.(*gcControllerState).resetLive(runtime.gcControllerState * c, uint64 bytesMarked)
00036910ldr x16, [x28+16]
00036914subs xzr, sp, x16
00036918b.ls 0x369d4
0003691cstr x30, [sp-80]!
00036920stur x29, [sp-8]
00036924sub x29, sp, 8
00036928str x0, [sp+88]
0003692cstr x1, [sp+96]
00036930str x1, [x0+152]
00036934add x0, x0, 104
00036938bl internal/runtime/atomic.(*Uint64).Store
0003693cldr x2, [sp+88]
00036940add x3, x2, 112
00036944str x3, [sp+64]
00036948add x0, x2, 160
0003694cstr x0, [sp+56]
00036950bl internal/runtime/atomic.(*Int64).Load
00036954mov x1, x0
00036958ldr x0, [sp+64]
0003695cbl internal/runtime/atomic.(*Uint64).Store
00036960ldr x0, [sp+56]
00036964bl internal/runtime/atomic.(*Int64).Load
00036968ldr x2, [sp+88]
0003696cstr x0, [x2+120]
00036970add x3, x2, 128
00036974str x3, [sp+64]
00036978add x0, x2, 168
0003697cbl internal/runtime/atomic.(*Int64).Load
00036980mov x1, x0
00036984ldr x0, [sp+64]
00036988bl internal/runtime/atomic.(*Uint64).Store
0003698cmovn x2, 0
00036990ldr x3, [sp+88]
00036994str x2, [x3+88]
00036998bl runtime.traceAcquire
0003699cstr x0, [sp+48]
000369a0str x1, [sp+40]
000369a4bl runtime.traceLocker.ok
000369a8tbz w0, 0, 0x369c8
000369acldr x0, [sp+48]
000369b0ldr x1, [sp+40]
000369b4ldr x2, [sp+96]
000369b8bl runtime.traceLocker.HeapAlloc
000369bcldr x0, [sp+48]
000369c0ldr x1, [sp+40]
000369c4bl runtime.traceRelease
000369c8
000369c8loc_369c8:
000369c8ldur x29, [sp-8]
000369ccldr x30, [sp], 80
000369d0ret x30
000369d4
000369d4loc_369d4:
000369d4stp x0, x1, [sp+8]
000369d8mov x3, x30
000369dcbl runtime.morestack_noctxt.abi0
000369e0ldp x0, x1, [sp+8]
000369e4b 0x36910
000369e8udf 0
000369ecudf 0
00036910
00036910runtime.(*gcControllerState).resetLive: ; void runtime.(*gcControllerState).resetLive(runtime.gcControllerState * c, uint64 bytesMarked)
00036910ldr x16, [x28+16]
00036914subs xzr, sp, x16
00036918b.ls 0x369d4
0003691cstr x30, [sp-80]!
00036920stur x29, [sp-8]
00036924sub x29, sp, 8
00036928str x0, [sp+88]
0003692cstr x1, [sp+96]
00036930str x1, [x0+152]
00036934add x0, x0, 104
00036938bl internal/runtime/atomic.(*Uint64).Store
0003693cldr x2, [sp+88]
00036940add x3, x2, 112
00036944str x3, [sp+64]
00036948add x0, x2, 160
0003694cstr x0, [sp+56]
00036950bl internal/runtime/atomic.(*Int64).Load
00036954mov x1, x0
00036958ldr x0, [sp+64]
0003695cbl internal/runtime/atomic.(*Uint64).Store
00036960ldr x0, [sp+56]
00036964bl internal/runtime/atomic.(*Int64).Load
00036968ldr x2, [sp+88]
0003696cstr x0, [x2+120]
00036970add x3, x2, 128
00036974str x3, [sp+64]
00036978add x0, x2, 168
0003697cbl internal/runtime/atomic.(*Int64).Load
00036980mov x1, x0
00036984ldr x0, [sp+64]
00036988bl internal/runtime/atomic.(*Uint64).Store
0003698cmovn x2, 0
00036990ldr x3, [sp+88]
00036994str x2, [x3+88]
00036998bl runtime.traceAcquire
0003699cstr x0, [sp+48]
000369a0str x1, [sp+40]
000369a4bl runtime.traceLocker.ok
000369a8tbz w0, 0, 0x369c8
000369acldr x0, [sp+48]
000369b0ldr x1, [sp+40]
000369b4ldr x2, [sp+96]
000369b8bl runtime.traceLocker.HeapAlloc
000369bcldr x0, [sp+48]
000369c0ldr x1, [sp+40]
000369c4bl runtime.traceRelease
000369c8
000369c8loc_369c8:
000369c8ldur x29, [sp-8]
000369ccldr x30, [sp], 80
000369d0ret x30
000369d4
000369d4loc_369d4:
000369d4stp x0, x1, [sp+8]
000369d8mov x3, x30
000369dcbl runtime.morestack_noctxt.abi0
000369e0ldp x0, x1, [sp+8]
000369e4b 0x36910
000369e8udf 0
000369ecudf 0
00036910
000369f0
000369f0runtime.(*gcControllerState).markWorkerStop: ; void runtime.(*gcControllerState).markWorkerStop(runtime.gcControllerState * c, runtime.gcMarkWorkerMode mode, int64 duration)
000369f0ldr x16, [x28+16]
000369f4subs xzr, sp, x16
000369f8b.ls 0x36a94
000369fcstr x30, [sp-32]!
00036a00stur x29, [sp-8]
00036a04sub x29, sp, 8
00036a08str x0, [sp+40]
00036a0csubs xzr, x1, 1
00036a10b.eq 0x36a54
00036a14subs xzr, x1, 2
00036a18b.eq 0x36a40
00036a1csubs xzr, x1, 3
00036a20b.ne 0x36a80
00036a24ldrsb x27, [x0]
00036a28add x0, x0, 216
00036a2cmov x1, x2
00036a30bl internal/runtime/atomic.(*Int64).Add
00036a34ldr x0, [sp+40]
00036a38bl runtime.(*gcControllerState).removeIdleMarkWorker
00036a3cb 0x36a74
00036a40
00036a40loc_36a40:
00036a40ldrsb x27, [x0]
00036a44add x0, x0, 208
00036a48mov x1, x2
00036a4cbl internal/runtime/atomic.(*Int64).Add
00036a50b 0x36a74
00036a54
00036a54loc_36a54:
00036a54ldrsb x27, [x0]
00036a58add x0, x0, 200
00036a5cmov x1, x2
00036a60bl internal/runtime/atomic.(*Int64).Add
00036a64ldr x2, [sp+40]
00036a68add x0, x2, 232
00036a6corr x1, xzr, 1
00036a70bl internal/runtime/atomic.(*Int64).Add
00036a74
00036a74loc_36a74:
00036a74ldur x29, [sp-8]
00036a78ldr x30, [sp], 32
00036a7cret x30
00036a80
00036a80loc_36a80:
00036a80adrp x0, 0x68e000
00036a84add x0, x0, 59
00036a88movz x1, 40
00036a8cbl runtime.throw
00036a90hint
00036a94
00036a94loc_36a94:
00036a94stp x0, x1, [sp+8]
00036a98str x2, [sp+24]
00036a9cmov x3, x30
00036aa0bl runtime.morestack_noctxt.abi0
00036aa4ldp x0, x1, [sp+8]
00036aa8ldr x2, [sp+24]
00036aacb 0x369f0
000369f0
000369f0runtime.(*gcControllerState).markWorkerStop: ; void runtime.(*gcControllerState).markWorkerStop(runtime.gcControllerState * c, runtime.gcMarkWorkerMode mode, int64 duration)
000369f0ldr x16, [x28+16]
000369f4subs xzr, sp, x16
000369f8b.ls 0x36a94
000369fcstr x30, [sp-32]!
00036a00stur x29, [sp-8]
00036a04sub x29, sp, 8
00036a08str x0, [sp+40]
00036a0csubs xzr, x1, 1
00036a10b.eq 0x36a54
00036a14subs xzr, x1, 2
00036a18b.eq 0x36a40
00036a1csubs xzr, x1, 3
00036a20b.ne 0x36a80
00036a24ldrsb x27, [x0]
00036a28add x0, x0, 216
00036a2cmov x1, x2
00036a30bl internal/runtime/atomic.(*Int64).Add
00036a34ldr x0, [sp+40]
00036a38bl runtime.(*gcControllerState).removeIdleMarkWorker
00036a3cb 0x36a74
00036a40
00036a40loc_36a40:
00036a40ldrsb x27, [x0]
00036a44add x0, x0, 208
00036a48mov x1, x2
00036a4cbl internal/runtime/atomic.(*Int64).Add
00036a50b 0x36a74
00036a54
00036a54loc_36a54:
00036a54ldrsb x27, [x0]
00036a58add x0, x0, 200
00036a5cmov x1, x2
00036a60bl internal/runtime/atomic.(*Int64).Add
00036a64ldr x2, [sp+40]
00036a68add x0, x2, 232
00036a6corr x1, xzr, 1
00036a70bl internal/runtime/atomic.(*Int64).Add
00036a74
00036a74loc_36a74:
00036a74ldur x29, [sp-8]
00036a78ldr x30, [sp], 32
00036a7cret x30
00036a80
00036a80loc_36a80:
00036a80adrp x0, 0x68e000
00036a84add x0, x0, 59
00036a88movz x1, 40
00036a8cbl runtime.throw
00036a90hint
00036a94
00036a94loc_36a94:
00036a94stp x0, x1, [sp+8]
00036a98str x2, [sp+24]
00036a9cmov x3, x30
00036aa0bl runtime.morestack_noctxt.abi0
00036aa4ldp x0, x1, [sp+8]
00036aa8ldr x2, [sp+24]
00036aacb 0x369f0
000369f0
00036ab0
00036ab0runtime.(*gcControllerState).update: ; void runtime.(*gcControllerState).update(runtime.gcControllerState * c, int64 dHeapLive, int64 dHeapScan)
00036ab0ldr x16, [x28+16]
00036ab4subs xzr, sp, x16
00036ab8b.ls 0x36b60
00036abcstr x30, [sp-64]!
00036ac0stur x29, [sp-8]
00036ac4sub x29, sp, 8
00036ac8cbz x1, 0x36b2c
00036accstr x0, [sp+72]
00036ad0str x1, [sp+80]
00036ad4str x2, [sp+88]
00036ad8bl runtime.traceAcquire
00036adcstr x0, [sp+48]
00036ae0str x1, [sp+40]
00036ae4adrp x0, 0xa16000
00036ae8add x0, x0, 2600
00036aecldr x1, [sp+80]
00036af0bl internal/runtime/atomic.(*Uint64).Add
00036af4str x0, [sp+32]
00036af8ldr x0, [sp+48]
00036afcldr x1, [sp+40]
00036b00bl runtime.traceLocker.ok
00036b04tbz w0, 0, 0x36b24
00036b08ldr x0, [sp+48]
00036b0cldr x1, [sp+40]
00036b10ldr x2, [sp+32]
00036b14bl runtime.traceLocker.HeapAlloc
00036b18ldr x0, [sp+48]
00036b1cldr x1, [sp+40]
00036b20bl runtime.traceRelease
00036b24
00036b24loc_36b24:
00036b24ldr x0, [sp+72]
00036b28ldr x2, [sp+88]
00036b2c
00036b2cloc_36b2c:
00036b2cadrp x27, 0xa15000
00036b30ldr w3, [x27+1604]
00036b34cbnz w3, 0x36b50
00036b38cbz x2, 0x36b54
00036b3cadrp x0, 0xa16000
00036b40add x0, x0, 2608
00036b44mov x1, x2
00036b48bl internal/runtime/atomic.(*Uint64).Add
00036b4cb 0x36b54
00036b50
00036b50loc_36b50:
00036b50bl runtime.(*gcControllerState).revise
00036b54
00036b54loc_36b54:
00036b54ldur x29, [sp-8]
00036b58ldr x30, [sp], 64
00036b5cret x30
00036b60
00036b60loc_36b60:
00036b60stp x0, x1, [sp+8]
00036b64str x2, [sp+24]
00036b68mov x3, x30
00036b6cbl runtime.morestack_noctxt.abi0
00036b70ldp x0, x1, [sp+8]
00036b74ldr x2, [sp+24]
00036b78b 0x36ab0
00036b7cudf 0
00036ab0
00036ab0runtime.(*gcControllerState).update: ; void runtime.(*gcControllerState).update(runtime.gcControllerState * c, int64 dHeapLive, int64 dHeapScan)
00036ab0ldr x16, [x28+16]
00036ab4subs xzr, sp, x16
00036ab8b.ls 0x36b60
00036abcstr x30, [sp-64]!
00036ac0stur x29, [sp-8]
00036ac4sub x29, sp, 8
00036ac8cbz x1, 0x36b2c
00036accstr x0, [sp+72]
00036ad0str x1, [sp+80]
00036ad4str x2, [sp+88]
00036ad8bl runtime.traceAcquire
00036adcstr x0, [sp+48]
00036ae0str x1, [sp+40]
00036ae4adrp x0, 0xa16000
00036ae8add x0, x0, 2600
00036aecldr x1, [sp+80]
00036af0bl internal/runtime/atomic.(*Uint64).Add
00036af4str x0, [sp+32]
00036af8ldr x0, [sp+48]
00036afcldr x1, [sp+40]
00036b00bl runtime.traceLocker.ok
00036b04tbz w0, 0, 0x36b24
00036b08ldr x0, [sp+48]
00036b0cldr x1, [sp+40]
00036b10ldr x2, [sp+32]
00036b14bl runtime.traceLocker.HeapAlloc
00036b18ldr x0, [sp+48]
00036b1cldr x1, [sp+40]
00036b20bl runtime.traceRelease
00036b24
00036b24loc_36b24:
00036b24ldr x0, [sp+72]
00036b28ldr x2, [sp+88]
00036b2c
00036b2cloc_36b2c:
00036b2cadrp x27, 0xa15000
00036b30ldr w3, [x27+1604]
00036b34cbnz w3, 0x36b50
00036b38cbz x2, 0x36b54
00036b3cadrp x0, 0xa16000
00036b40add x0, x0, 2608
00036b44mov x1, x2
00036b48bl internal/runtime/atomic.(*Uint64).Add
00036b4cb 0x36b54
00036b50
00036b50loc_36b50:
00036b50bl runtime.(*gcControllerState).revise
00036b54
00036b54loc_36b54:
00036b54ldur x29, [sp-8]
00036b58ldr x30, [sp], 64
00036b5cret x30
00036b60
00036b60loc_36b60:
00036b60stp x0, x1, [sp+8]
00036b64str x2, [sp+24]
00036b68mov x3, x30
00036b6cbl runtime.morestack_noctxt.abi0
00036b70ldp x0, x1, [sp+8]
00036b74ldr x2, [sp+24]
00036b78b 0x36ab0
00036b7cudf 0
00036ab0
00036b80
00036b80runtime.(*gcControllerState).addScannableStack: ; void runtime.(*gcControllerState).addScannableStack(runtime.gcControllerState * c, runtime.p * pp, int64 amount)
00036b80ldr x16, [x28+16]
00036b84subs xzr, sp, x16
00036b88b.ls 0x36c00
00036b8cstr x30, [sp-32]!
00036b90stur x29, [sp-8]
00036b94sub x29, sp, 8
00036b98cbz x1, 0x36be4
00036b9cldr x3, [x1+8912]
00036ba0add x2, x3, x2
00036ba4str x2, [x1+8912]
00036ba8movz x3, 8191
00036bacadd x3, x3, x2
00036bb0movz x4, 16383
00036bb4subs xzr, x3, x4
00036bb8b.lo 0x36bd8
00036bbcstr x1, [sp+48]
00036bc0ldrsb x27, [x0]
00036bc4add x0, x0, 136
00036bc8mov x1, x2
00036bccbl internal/runtime/atomic.(*Uint64).Add
00036bd0ldr x2, [sp+48]
00036bd4str xzr, [x2+8912]
00036bd8
00036bd8loc_36bd8:
00036bd8ldur x29, [sp-8]
00036bdcldr x30, [sp], 32
00036be0ret x30
00036be4
00036be4loc_36be4:
00036be4ldrsb x27, [x0]
00036be8add x0, x0, 136
00036becmov x1, x2
00036bf0bl internal/runtime/atomic.(*Uint64).Add
00036bf4ldur x29, [sp-8]
00036bf8ldr x30, [sp], 32
00036bfcret x30
00036c00
00036c00loc_36c00:
00036c00stp x0, x1, [sp+8]
00036c04str x2, [sp+24]
00036c08mov x3, x30
00036c0cbl runtime.morestack_noctxt.abi0
00036c10ldp x0, x1, [sp+8]
00036c14ldr x2, [sp+24]
00036c18b 0x36b80
00036c1cudf 0
00036b80
00036b80runtime.(*gcControllerState).addScannableStack: ; void runtime.(*gcControllerState).addScannableStack(runtime.gcControllerState * c, runtime.p * pp, int64 amount)
00036b80ldr x16, [x28+16]
00036b84subs xzr, sp, x16
00036b88b.ls 0x36c00
00036b8cstr x30, [sp-32]!
00036b90stur x29, [sp-8]
00036b94sub x29, sp, 8
00036b98cbz x1, 0x36be4
00036b9cldr x3, [x1+8912]
00036ba0add x2, x3, x2
00036ba4str x2, [x1+8912]
00036ba8movz x3, 8191
00036bacadd x3, x3, x2
00036bb0movz x4, 16383
00036bb4subs xzr, x3, x4
00036bb8b.lo 0x36bd8
00036bbcstr x1, [sp+48]
00036bc0ldrsb x27, [x0]
00036bc4add x0, x0, 136
00036bc8mov x1, x2
00036bccbl internal/runtime/atomic.(*Uint64).Add
00036bd0ldr x2, [sp+48]
00036bd4str xzr, [x2+8912]
00036bd8
00036bd8loc_36bd8:
00036bd8ldur x29, [sp-8]
00036bdcldr x30, [sp], 32
00036be0ret x30
00036be4
00036be4loc_36be4:
00036be4ldrsb x27, [x0]
00036be8add x0, x0, 136
00036becmov x1, x2
00036bf0bl internal/runtime/atomic.(*Uint64).Add
00036bf4ldur x29, [sp-8]
00036bf8ldr x30, [sp], 32
00036bfcret x30
00036c00
00036c00loc_36c00:
00036c00stp x0, x1, [sp+8]
00036c04str x2, [sp+24]
00036c08mov x3, x30
00036c0cbl runtime.morestack_noctxt.abi0
00036c10ldp x0, x1, [sp+8]
00036c14ldr x2, [sp+24]
00036c18b 0x36b80
00036c1cudf 0
00036b80
00036c20
00036c20runtime.(*gcControllerState).addGlobals: ; void runtime.(*gcControllerState).addGlobals(runtime.gcControllerState * c, int64 amount)
00036c20ldr x16, [x28+16]
00036c24subs xzr, sp, x16
00036c28b.ls 0x36c50
00036c2cstr x30, [sp-32]!
00036c30stur x29, [sp-8]
00036c34sub x29, sp, 8
00036c38ldrsb x27, [x0]
00036c3cadd x0, x0, 144
00036c40bl internal/runtime/atomic.(*Uint64).Add
00036c44ldur x29, [sp-8]
00036c48ldr x30, [sp], 32
00036c4cret x30
00036c50
00036c50loc_36c50:
00036c50stp x0, x1, [sp+8]
00036c54mov x3, x30
00036c58bl runtime.morestack_noctxt.abi0
00036c5cldp x0, x1, [sp+8]
00036c60b 0x36c20
00036c64udf 0
00036c68udf 0
00036c6cudf 0
00036c20
00036c20runtime.(*gcControllerState).addGlobals: ; void runtime.(*gcControllerState).addGlobals(runtime.gcControllerState * c, int64 amount)
00036c20ldr x16, [x28+16]
00036c24subs xzr, sp, x16
00036c28b.ls 0x36c50
00036c2cstr x30, [sp-32]!
00036c30stur x29, [sp-8]
00036c34sub x29, sp, 8
00036c38ldrsb x27, [x0]
00036c3cadd x0, x0, 144
00036c40bl internal/runtime/atomic.(*Uint64).Add
00036c44ldur x29, [sp-8]
00036c48ldr x30, [sp], 32
00036c4cret x30
00036c50
00036c50loc_36c50:
00036c50stp x0, x1, [sp+8]
00036c54mov x3, x30
00036c58bl runtime.morestack_noctxt.abi0
00036c5cldp x0, x1, [sp+8]
00036c60b 0x36c20
00036c64udf 0
00036c68udf 0
00036c6cudf 0
00036c20
00036c70
00036c70runtime.(*gcControllerState).heapGoal: ; void runtime.(*gcControllerState).heapGoal(runtime.gcControllerState * c)
00036c70ldr x16, [x28+16]
00036c74subs xzr, sp, x16
00036c78b.ls 0x36c98
00036c7cstr x30, [sp-32]!
00036c80stur x29, [sp-8]
00036c84sub x29, sp, 8
00036c88bl runtime.(*gcControllerState).heapGoalInternal
00036c8cldur x29, [sp-8]
00036c90ldr x30, [sp], 32
00036c94ret x30
00036c98
00036c98loc_36c98:
00036c98str x0, [sp+8]
00036c9cmov x3, x30
00036ca0bl runtime.morestack_noctxt.abi0
00036ca4ldr x0, [sp+8]
00036ca8b 0x36c70
00036cacudf 0
00036c70
00036c70runtime.(*gcControllerState).heapGoal: ; void runtime.(*gcControllerState).heapGoal(runtime.gcControllerState * c)
00036c70ldr x16, [x28+16]
00036c74subs xzr, sp, x16
00036c78b.ls 0x36c98
00036c7cstr x30, [sp-32]!
00036c80stur x29, [sp-8]
00036c84sub x29, sp, 8
00036c88bl runtime.(*gcControllerState).heapGoalInternal
00036c8cldur x29, [sp-8]
00036c90ldr x30, [sp], 32
00036c94ret x30
00036c98
00036c98loc_36c98:
00036c98str x0, [sp+8]
00036c9cmov x3, x30
00036ca0bl runtime.morestack_noctxt.abi0
00036ca4ldr x0, [sp+8]
00036ca8b 0x36c70
00036cacudf 0
00036c70
00036cb0
00036cb0runtime.(*gcControllerState).heapGoalInternal: ; void runtime.(*gcControllerState).heapGoalInternal(runtime.gcControllerState * c)
00036cb0ldr x16, [x28+16]
00036cb4subs xzr, sp, x16
00036cb8b.ls 0x36d44
00036cbcstr x30, [sp-32]!
00036cc0stur x29, [sp-8]
00036cc4sub x29, sp, 8
00036cc8str x0, [sp+40]
00036cccldrsb x27, [x0]
00036cd0add x0, x0, 72
00036cd4bl internal/runtime/atomic.(*Uint64).Load
00036cd8str x0, [sp+16]
00036cdcldr x0, [sp+40]
00036ce0bl runtime.(*gcControllerState).memoryLimitHeapGoal
00036ce4ldr x1, [sp+16]
00036ce8subs xzr, x0, x1
00036cecb.hs 0x36cf8
00036cf0mov x1, xzr
00036cf4b 0x36d38
00036cf8
00036cf8loc_36cf8:
00036cf8ldr x1, [sp+40]
00036cfcadd x0, x1, 80
00036d00bl internal/runtime/atomic.(*Uint64).Load
00036d04ldr x1, [sp+40]
00036d08ldr x1, [x1+88]
00036d0cldr x2, [sp+16]
00036d10subs xzr, x0, x2
00036d14csel x2, x0, x2, hi
00036d18adds xzr, x1, 1
00036d1cb.eq 0x36d2c
00036d20add x3, x1, 0x10000
00036d24subs xzr, x2, x3
00036d28b.lo 0x36d30
00036d2c
00036d2cloc_36d2c:
00036d2cmov x3, x2
00036d30
00036d30loc_36d30:
00036d30mov x1, x0
00036d34mov x0, x3
00036d38
00036d38loc_36d38:
00036d38ldur x29, [sp-8]
00036d3cldr x30, [sp], 32
00036d40ret x30
00036d44
00036d44loc_36d44:
00036d44str x0, [sp+8]
00036d48mov x3, x30
00036d4cbl runtime.morestack_noctxt.abi0
00036d50ldr x0, [sp+8]
00036d54b 0x36cb0
00036d58udf 0
00036d5cudf 0
00036cb0
00036cb0runtime.(*gcControllerState).heapGoalInternal: ; void runtime.(*gcControllerState).heapGoalInternal(runtime.gcControllerState * c)
00036cb0ldr x16, [x28+16]
00036cb4subs xzr, sp, x16
00036cb8b.ls 0x36d44
00036cbcstr x30, [sp-32]!
00036cc0stur x29, [sp-8]
00036cc4sub x29, sp, 8
00036cc8str x0, [sp+40]
00036cccldrsb x27, [x0]
00036cd0add x0, x0, 72
00036cd4bl internal/runtime/atomic.(*Uint64).Load
00036cd8str x0, [sp+16]
00036cdcldr x0, [sp+40]
00036ce0bl runtime.(*gcControllerState).memoryLimitHeapGoal
00036ce4ldr x1, [sp+16]
00036ce8subs xzr, x0, x1
00036cecb.hs 0x36cf8
00036cf0mov x1, xzr
00036cf4b 0x36d38
00036cf8
00036cf8loc_36cf8:
00036cf8ldr x1, [sp+40]
00036cfcadd x0, x1, 80
00036d00bl internal/runtime/atomic.(*Uint64).Load
00036d04ldr x1, [sp+40]
00036d08ldr x1, [x1+88]
00036d0cldr x2, [sp+16]
00036d10subs xzr, x0, x2
00036d14csel x2, x0, x2, hi
00036d18adds xzr, x1, 1
00036d1cb.eq 0x36d2c
00036d20add x3, x1, 0x10000
00036d24subs xzr, x2, x3
00036d28b.lo 0x36d30
00036d2c
00036d2cloc_36d2c:
00036d2cmov x3, x2
00036d30
00036d30loc_36d30:
00036d30mov x1, x0
00036d34mov x0, x3
00036d38
00036d38loc_36d38:
00036d38ldur x29, [sp-8]
00036d3cldr x30, [sp], 32
00036d40ret x30
00036d44
00036d44loc_36d44:
00036d44str x0, [sp+8]
00036d48mov x3, x30
00036d4cbl runtime.morestack_noctxt.abi0
00036d50ldr x0, [sp+8]
00036d54b 0x36cb0
00036d58udf 0
00036d5cudf 0
00036cb0
00036d60
00036d60runtime.(*gcControllerState).memoryLimitHeapGoal: ; void runtime.(*gcControllerState).memoryLimitHeapGoal(runtime.gcControllerState * c)
00036d60ldr x16, [x28+16]
00036d64subs xzr, sp, x16
00036d68b.ls 0x36ea0
00036d6cstr x30, [sp-64]!
00036d70stur x29, [sp-8]
00036d74sub x29, sp, 8
00036d78str x0, [sp+72]
00036d7cb 0x36d84
00036d80
00036d80loc_36d80:
00036d80ldr x0, [sp+72]
00036d84
00036d84loc_36d84:
00036d84ldrsb x27, [x0]
00036d88add x0, x0, 288
00036d8cbl runtime.(*sysMemStat).load
00036d90str x0, [sp+24]
00036d94ldr x1, [sp+72]
00036d98add x0, x1, 296
00036d9cbl internal/runtime/atomic.(*Uint64).Load
00036da0str x0, [sp+48]
00036da4ldr x1, [sp+72]
00036da8add x0, x1, 304
00036dacbl internal/runtime/atomic.(*Uint64).Load
00036db0str x0, [sp+40]
00036db4ldr x1, [sp+48]
00036db8sub x1, x1, x0
00036dbcstr x1, [sp+32]
00036dc0ldr x1, [sp+72]
00036dc4add x0, x1, 312
00036dc8bl internal/runtime/atomic.(*Uint64).Load
00036dccldr x1, [sp+24]
00036dd0ldr x2, [sp+32]
00036dd4add x2, x1, x2
00036dd8subs xzr, x0, x2
00036ddcb.lo 0x36d80
00036de0str x0, [sp+16]
00036de4ldr x1, [sp+72]
00036de8add x0, x1, 8
00036decbl internal/runtime/atomic.(*Int64).Load
00036df0ldr x1, [sp+16]
00036df4ldr x2, [sp+24]
00036df8sub x2, x1, x2
00036dfcldr x3, [sp+40]
00036e00add x2, x3, x2
00036e04ldr x3, [sp+48]
00036e08sub x2, x2, x3
00036e0csub x3, x1, x0
00036e10subs xzr, x0, x1
00036e14csel x1, x3, xzr, lo
00036e18add x1, x1, x2
00036e1csubs xzr, x0, x1
00036e20b.ls 0x36e8c
00036e24sub x2, x0, x1
00036e28ubfm x3, x2, 1, 63
00036e2cmovz x4, 55051
00036e30movk x4, 0x70a30000
00036e34movk x4, 0xa3d00000000
00036e38movk x4, 0xa3d7000000000000
00036e3cumulh x3, x4, x3
00036e40ubfm x3, x3, 5, 63
00036e44add x3, x3, x3, lsl #1
00036e48subs xzr, x3, 0x100000
00036e4corr x4, xzr, 0x100000
00036e50csel x3, x4, x3, lo
00036e54subs xzr, x3, x2
00036e58b.hi 0x36e70
00036e5cadd x1, x1, x3
00036e60sub x1, x0, x1
00036e64subs xzr, x3, x1
00036e68b.hi 0x36e70
00036e6cmov x3, x1
00036e70
00036e70loc_36e70:
00036e70ldr x1, [sp+72]
00036e74ldr x1, [x1+152]
00036e78subs xzr, x3, x1
00036e7ccsel x0, x1, x3, lo
00036e80ldur x29, [sp-8]
00036e84ldr x30, [sp], 64
00036e88ret x30
00036e8c
00036e8cloc_36e8c:
00036e8cldr x1, [sp+72]
00036e90ldr x0, [x1+152]
00036e94ldur x29, [sp-8]
00036e98ldr x30, [sp], 64
00036e9cret x30
00036ea0
00036ea0loc_36ea0:
00036ea0str x0, [sp+8]
00036ea4mov x3, x30
00036ea8bl runtime.morestack_noctxt.abi0
00036eacldr x0, [sp+8]
00036eb0b 0x36d60
00036eb4udf 0
00036eb8udf 0
00036ebcudf 0
00036d60
00036d60runtime.(*gcControllerState).memoryLimitHeapGoal: ; void runtime.(*gcControllerState).memoryLimitHeapGoal(runtime.gcControllerState * c)
00036d60ldr x16, [x28+16]
00036d64subs xzr, sp, x16
00036d68b.ls 0x36ea0
00036d6cstr x30, [sp-64]!
00036d70stur x29, [sp-8]
00036d74sub x29, sp, 8
00036d78str x0, [sp+72]
00036d7cb 0x36d84
00036d80
00036d80loc_36d80:
00036d80ldr x0, [sp+72]
00036d84
00036d84loc_36d84:
00036d84ldrsb x27, [x0]
00036d88add x0, x0, 288
00036d8cbl runtime.(*sysMemStat).load
00036d90str x0, [sp+24]
00036d94ldr x1, [sp+72]
00036d98add x0, x1, 296
00036d9cbl internal/runtime/atomic.(*Uint64).Load
00036da0str x0, [sp+48]
00036da4ldr x1, [sp+72]
00036da8add x0, x1, 304
00036dacbl internal/runtime/atomic.(*Uint64).Load
00036db0str x0, [sp+40]
00036db4ldr x1, [sp+48]
00036db8sub x1, x1, x0
00036dbcstr x1, [sp+32]
00036dc0ldr x1, [sp+72]
00036dc4add x0, x1, 312
00036dc8bl internal/runtime/atomic.(*Uint64).Load
00036dccldr x1, [sp+24]
00036dd0ldr x2, [sp+32]
00036dd4add x2, x1, x2
00036dd8subs xzr, x0, x2
00036ddcb.lo 0x36d80
00036de0str x0, [sp+16]
00036de4ldr x1, [sp+72]
00036de8add x0, x1, 8
00036decbl internal/runtime/atomic.(*Int64).Load
00036df0ldr x1, [sp+16]
00036df4ldr x2, [sp+24]
00036df8sub x2, x1, x2
00036dfcldr x3, [sp+40]
00036e00add x2, x3, x2
00036e04ldr x3, [sp+48]
00036e08sub x2, x2, x3
00036e0csub x3, x1, x0
00036e10subs xzr, x0, x1
00036e14csel x1, x3, xzr, lo
00036e18add x1, x1, x2
00036e1csubs xzr, x0, x1
00036e20b.ls 0x36e8c
00036e24sub x2, x0, x1
00036e28ubfm x3, x2, 1, 63
00036e2cmovz x4, 55051
00036e30movk x4, 0x70a30000
00036e34movk x4, 0xa3d00000000
00036e38movk x4, 0xa3d7000000000000
00036e3cumulh x3, x4, x3
00036e40ubfm x3, x3, 5, 63
00036e44add x3, x3, x3, lsl #1
00036e48subs xzr, x3, 0x100000
00036e4corr x4, xzr, 0x100000
00036e50csel x3, x4, x3, lo
00036e54subs xzr, x3, x2
00036e58b.hi 0x36e70
00036e5cadd x1, x1, x3
00036e60sub x1, x0, x1
00036e64subs xzr, x3, x1
00036e68b.hi 0x36e70
00036e6cmov x3, x1
00036e70
00036e70loc_36e70:
00036e70ldr x1, [sp+72]
00036e74ldr x1, [x1+152]
00036e78subs xzr, x3, x1
00036e7ccsel x0, x1, x3, lo
00036e80ldur x29, [sp-8]
00036e84ldr x30, [sp], 64
00036e88ret x30
00036e8c
00036e8cloc_36e8c:
00036e8cldr x1, [sp+72]
00036e90ldr x0, [x1+152]
00036e94ldur x29, [sp-8]
00036e98ldr x30, [sp], 64
00036e9cret x30
00036ea0
00036ea0loc_36ea0:
00036ea0str x0, [sp+8]
00036ea4mov x3, x30
00036ea8bl runtime.morestack_noctxt.abi0
00036eacldr x0, [sp+8]
00036eb0b 0x36d60
00036eb4udf 0
00036eb8udf 0
00036ebcudf 0
00036d60
00036ec0
00036ec0runtime.(*gcControllerState).trigger: ; void runtime.(*gcControllerState).trigger(runtime.gcControllerState * c)
00036ec0ldr x16, [x28+16]
00036ec4subs xzr, sp, x16
00036ec8b.ls 0x3702c
00036eccstr x30, [sp-64]!
00036ed0stur x29, [sp-8]
00036ed4sub x29, sp, 8
00036ed8str x0, [sp+72]
00036edcbl runtime.(*gcControllerState).heapGoalInternal
00036ee0ldr x2, [sp+72]
00036ee4ldr x3, [x2+152]
00036ee8subs xzr, x0, x3
00036eecb.hi 0x36f00
00036ef0mov x1, x0
00036ef4ldur x29, [sp-8]
00036ef8ldr x30, [sp], 64
00036efcret x30
00036f00
00036f00loc_36f00:
00036f00str x0, [sp+48]
00036f04sub x4, x0, x3
00036f08ubfm x4, x4, 6, 63
00036f0cmovz x5, 45
00036f10madd x5, x4, x5, x3
00036f14movz x6, 61
00036f18madd x4, x4, x6, x3
00036f1csubs xzr, x1, x3
00036f20csel x1, x3, x1, lo
00036f24subs xzr, x1, x5
00036f28csel x1, x5, x1, lo
00036f2cstr x1, [sp+32]
00036f30subs xzr, x0, 0x400000
00036f34b.ls 0x36f44
00036f38sub x3, x0, 0x400000
00036f3csubs xzr, x4, x3
00036f40b.lo 0x36f48
00036f44
00036f44loc_36f44:
00036f44mov x3, x4
00036f48
00036f48loc_36f48:
00036f48str x3, [sp+40]
00036f4cadd x0, x2, 24
00036f50bl internal/runtime/atomic.(*Uint64).Load
00036f54ldr x1, [sp+48]
00036f58sub x2, x1, x0
00036f5cldr x3, [sp+40]
00036f60ldr x4, [sp+32]
00036f64subs xzr, x3, x4
00036f68csel x3, x4, x3, lo
00036f6csubs xzr, x0, x1
00036f70csel x2, x4, x2, hi
00036f74subs xzr, x2, x4
00036f78csel x2, x4, x2, lo
00036f7csubs xzr, x2, x3
00036f80csel x0, x3, x2, hi
00036f84subs xzr, x1, x0
00036f88b.lo 0x36f98
00036f8cldur x29, [sp-8]
00036f90ldr x30, [sp], 64
00036f94ret x30
00036f98
00036f98loc_36f98:
00036f98str x3, [sp+40]
00036f9cstr x0, [sp+24]
00036fa0bl runtime.printlock
00036fa4adrp x0, 0x67b000
00036fa8add x0, x0, 652
00036facorr x1, xzr, 8
00036fb0bl runtime.printstring
00036fb4ldr x0, [sp+24]
00036fb8bl runtime.printuint
00036fbcadrp x0, 0x67c000
00036fc0add x0, x0, 214
00036fc4movz x1, 10
00036fc8bl runtime.printstring
00036fccldr x0, [sp+48]
00036fd0bl runtime.printuint
00036fd4bl runtime.printnl
00036fd8bl runtime.printunlock
00036fdcbl runtime.printlock
00036fe0adrp x0, 0x67c000
00036fe4add x0, x0, 2010
00036fe8movz x1, 11
00036fecbl runtime.printstring
00036ff0ldr x0, [sp+32]
00036ff4bl runtime.printuint
00036ff8adrp x0, 0x67c000
00036ffcadd x0, x0, 3892
00037000orr x1, xzr, 12
00037004bl runtime.printstring
00037008ldr x0, [sp+40]
0003700cbl runtime.printuint
00037010bl runtime.printnl
00037014bl runtime.printunlock
00037018adrp x0, 0x68f000
0003701cadd x0, x0, 3096
00037020movz x1, 45
00037024bl runtime.throw
00037028hint
0003702c
0003702cloc_3702c:
0003702cstr x0, [sp+8]
00037030mov x3, x30
00037034bl runtime.morestack_noctxt.abi0
00037038ldr x0, [sp+8]
0003703cb 0x36ec0
00036ec0
00036ec0runtime.(*gcControllerState).trigger: ; void runtime.(*gcControllerState).trigger(runtime.gcControllerState * c)
00036ec0ldr x16, [x28+16]
00036ec4subs xzr, sp, x16
00036ec8b.ls 0x3702c
00036eccstr x30, [sp-64]!
00036ed0stur x29, [sp-8]
00036ed4sub x29, sp, 8
00036ed8str x0, [sp+72]
00036edcbl runtime.(*gcControllerState).heapGoalInternal
00036ee0ldr x2, [sp+72]
00036ee4ldr x3, [x2+152]
00036ee8subs xzr, x0, x3
00036eecb.hi 0x36f00
00036ef0mov x1, x0
00036ef4ldur x29, [sp-8]
00036ef8ldr x30, [sp], 64
00036efcret x30
00036f00
00036f00loc_36f00:
00036f00str x0, [sp+48]
00036f04sub x4, x0, x3
00036f08ubfm x4, x4, 6, 63
00036f0cmovz x5, 45
00036f10madd x5, x4, x5, x3
00036f14movz x6, 61
00036f18madd x4, x4, x6, x3
00036f1csubs xzr, x1, x3
00036f20csel x1, x3, x1, lo
00036f24subs xzr, x1, x5
00036f28csel x1, x5, x1, lo
00036f2cstr x1, [sp+32]
00036f30subs xzr, x0, 0x400000
00036f34b.ls 0x36f44
00036f38sub x3, x0, 0x400000
00036f3csubs xzr, x4, x3
00036f40b.lo 0x36f48
00036f44
00036f44loc_36f44:
00036f44mov x3, x4
00036f48
00036f48loc_36f48:
00036f48str x3, [sp+40]
00036f4cadd x0, x2, 24
00036f50bl internal/runtime/atomic.(*Uint64).Load
00036f54ldr x1, [sp+48]
00036f58sub x2, x1, x0
00036f5cldr x3, [sp+40]
00036f60ldr x4, [sp+32]
00036f64subs xzr, x3, x4
00036f68csel x3, x4, x3, lo
00036f6csubs xzr, x0, x1
00036f70csel x2, x4, x2, hi
00036f74subs xzr, x2, x4
00036f78csel x2, x4, x2, lo
00036f7csubs xzr, x2, x3
00036f80csel x0, x3, x2, hi
00036f84subs xzr, x1, x0
00036f88b.lo 0x36f98
00036f8cldur x29, [sp-8]
00036f90ldr x30, [sp], 64
00036f94ret x30
00036f98
00036f98loc_36f98:
00036f98str x3, [sp+40]
00036f9cstr x0, [sp+24]
00036fa0bl runtime.printlock
00036fa4adrp x0, 0x67b000
00036fa8add x0, x0, 652
00036facorr x1, xzr, 8
00036fb0bl runtime.printstring
00036fb4ldr x0, [sp+24]
00036fb8bl runtime.printuint
00036fbcadrp x0, 0x67c000
00036fc0add x0, x0, 214
00036fc4movz x1, 10
00036fc8bl runtime.printstring
00036fccldr x0, [sp+48]
00036fd0bl runtime.printuint
00036fd4bl runtime.printnl
00036fd8bl runtime.printunlock
00036fdcbl runtime.printlock
00036fe0adrp x0, 0x67c000
00036fe4add x0, x0, 2010
00036fe8movz x1, 11
00036fecbl runtime.printstring
00036ff0ldr x0, [sp+32]
00036ff4bl runtime.printuint
00036ff8adrp x0, 0x67c000
00036ffcadd x0, x0, 3892
00037000orr x1, xzr, 12
00037004bl runtime.printstring
00037008ldr x0, [sp+40]
0003700cbl runtime.printuint
00037010bl runtime.printnl
00037014bl runtime.printunlock
00037018adrp x0, 0x68f000
0003701cadd x0, x0, 3096
00037020movz x1, 45
00037024bl runtime.throw
00037028hint
0003702c
0003702cloc_3702c:
0003702cstr x0, [sp+8]
00037030mov x3, x30
00037034bl runtime.morestack_noctxt.abi0
00037038ldr x0, [sp+8]
0003703cb 0x36ec0
00036ec0
00037040
00037040runtime.(*gcControllerState).commit: ; void runtime.(*gcControllerState).commit(runtime.gcControllerState * c, bool isSweepDone)
00037040ldr x16, [x28+16]
00037044subs xzr, sp, x16
00037048b.ls 0x371a4
0003704cstr x30, [sp-80]!
00037050stur x29, [sp-8]
00037054sub x29, sp, 8
00037058str x0, [sp+88]
0003705cldrb w2, [x0+320]
00037060tbnz w2, 0, 0x3707c
00037064strb w1, [sp+96]
00037068adrp x0, 0x9fb000
0003706cadd x0, x0, 2112
00037070bl runtime.assertWorldStoppedOrLockHeld
00037074ldr x0, [sp+88]
00037078ldrb w1, [sp+96]
0003707c
0003707cloc_3707c:
0003707ctbz w1, 0, 0x37090
00037080add x0, x0, 80
00037084mov x1, xzr
00037088bl internal/runtime/atomic.(*Uint64).Store
0003708cb 0x370ac
00037090
00037090loc_37090:
00037090add x1, x0, 80
00037094str x1, [sp+64]
00037098add x0, x0, 104
0003709cbl internal/runtime/atomic.(*Uint64).Load
000370a0add x1, x0, 0x100000
000370a4ldr x0, [sp+64]
000370a8bl internal/runtime/atomic.(*Uint64).Store
000370ac
000370acloc_370ac:
000370acldr x0, [sp+88]
000370b0bl internal/runtime/atomic.(*Int32).Load
000370b4tbz w0, 31, 0x370c4
000370b8ldr x1, [sp+88]
000370bcmovn x2, 0
000370c0b 0x3711c
000370c4
000370c4loc_370c4:
000370c4str w0, [sp+36]
000370c8ldr x1, [sp+88]
000370ccadd x0, x1, 128
000370d0bl internal/runtime/atomic.(*Uint64).Load
000370d4str x0, [sp+40]
000370d8ldr x1, [sp+88]
000370dcadd x0, x1, 144
000370e0bl internal/runtime/atomic.(*Uint64).Load
000370e4ldr x1, [sp+88]
000370e8ldr x2, [x1+152]
000370ecldr x3, [sp+40]
000370f0add x3, x2, x3
000370f4add x3, x3, x0
000370f8ldrsw x4, [sp+36]
000370fcmadd x3, x3, x4, xzr
00037100ubfm x3, x3, 1, 63
00037104movz x4, 55051
00037108movk x4, 0x70a30000
0003710cmovk x4, 0xa3d00000000
00037110movk x4, 0xa3d7000000000000
00037114umulh x3, x4, x3
00037118add x2, x2, x3, lsr #5
0003711c
0003711cloc_3711c:
0003711cldr x3, [x1+16]
00037120add x0, x1, 72
00037124add x4, x1, 24
00037128str x4, [sp+64]
0003712cadd x4, x1, 128
00037130str x4, [sp+56]
00037134add x4, x1, 144
00037138str x4, [sp+48]
0003713csubs xzr, x2, x3
00037140csel x1, x3, x2, lo
00037144bl internal/runtime/atomic.(*Uint64).Store
00037148ldr x0, [sp+56]
0003714cbl internal/runtime/atomic.(*Uint64).Load
00037150str x0, [sp+40]
00037154ldr x0, [sp+48]
00037158bl internal/runtime/atomic.(*Uint64).Load
0003715cldr x2, [sp+88]
00037160ldr d0, [x2+32]
00037164fmov d1
00037168fmul d0, d1, d0
0003716cfmov d1
00037170fmul d0, d1, d0
00037174ldr x2, [x2+120]
00037178ldr x3, [sp+40]
0003717cadd x2, x2, x3
00037180add x2, x2, x0
00037184ucvtf d1, x2
00037188fmul d0, d1, d0
0003718cfcvtzu x1, d0
00037190ldr x0, [sp+64]
00037194bl internal/runtime/atomic.(*Uint64).Store
00037198ldur x29, [sp-8]
0003719cldr x30, [sp], 80
000371a0ret x30
000371a4
000371a4loc_371a4:
000371a4str x0, [sp+8]
000371a8strb w1, [sp+16]
000371acmov x3, x30
000371b0bl runtime.morestack_noctxt.abi0
000371b4ldr x0, [sp+8]
000371b8ldrb w1, [sp+16]
000371bcb 0x37040
00037040
00037040runtime.(*gcControllerState).commit: ; void runtime.(*gcControllerState).commit(runtime.gcControllerState * c, bool isSweepDone)
00037040ldr x16, [x28+16]
00037044subs xzr, sp, x16
00037048b.ls 0x371a4
0003704cstr x30, [sp-80]!
00037050stur x29, [sp-8]
00037054sub x29, sp, 8
00037058str x0, [sp+88]
0003705cldrb w2, [x0+320]
00037060tbnz w2, 0, 0x3707c
00037064strb w1, [sp+96]
00037068adrp x0, 0x9fb000
0003706cadd x0, x0, 2112
00037070bl runtime.assertWorldStoppedOrLockHeld
00037074ldr x0, [sp+88]
00037078ldrb w1, [sp+96]
0003707c
0003707cloc_3707c:
0003707ctbz w1, 0, 0x37090
00037080add x0, x0, 80
00037084mov x1, xzr
00037088bl internal/runtime/atomic.(*Uint64).Store
0003708cb 0x370ac
00037090
00037090loc_37090:
00037090add x1, x0, 80
00037094str x1, [sp+64]
00037098add x0, x0, 104
0003709cbl internal/runtime/atomic.(*Uint64).Load
000370a0add x1, x0, 0x100000
000370a4ldr x0, [sp+64]
000370a8bl internal/runtime/atomic.(*Uint64).Store
000370ac
000370acloc_370ac:
000370acldr x0, [sp+88]
000370b0bl internal/runtime/atomic.(*Int32).Load
000370b4tbz w0, 31, 0x370c4
000370b8ldr x1, [sp+88]
000370bcmovn x2, 0
000370c0b 0x3711c
000370c4
000370c4loc_370c4:
000370c4str w0, [sp+36]
000370c8ldr x1, [sp+88]
000370ccadd x0, x1, 128
000370d0bl internal/runtime/atomic.(*Uint64).Load
000370d4str x0, [sp+40]
000370d8ldr x1, [sp+88]
000370dcadd x0, x1, 144
000370e0bl internal/runtime/atomic.(*Uint64).Load
000370e4ldr x1, [sp+88]
000370e8ldr x2, [x1+152]
000370ecldr x3, [sp+40]
000370f0add x3, x2, x3
000370f4add x3, x3, x0
000370f8ldrsw x4, [sp+36]
000370fcmadd x3, x3, x4, xzr
00037100ubfm x3, x3, 1, 63
00037104movz x4, 55051
00037108movk x4, 0x70a30000
0003710cmovk x4, 0xa3d00000000
00037110movk x4, 0xa3d7000000000000
00037114umulh x3, x4, x3
00037118add x2, x2, x3, lsr #5
0003711c
0003711cloc_3711c:
0003711cldr x3, [x1+16]
00037120add x0, x1, 72
00037124add x4, x1, 24
00037128str x4, [sp+64]
0003712cadd x4, x1, 128
00037130str x4, [sp+56]
00037134add x4, x1, 144
00037138str x4, [sp+48]
0003713csubs xzr, x2, x3
00037140csel x1, x3, x2, lo
00037144bl internal/runtime/atomic.(*Uint64).Store
00037148ldr x0, [sp+56]
0003714cbl internal/runtime/atomic.(*Uint64).Load
00037150str x0, [sp+40]
00037154ldr x0, [sp+48]
00037158bl internal/runtime/atomic.(*Uint64).Load
0003715cldr x2, [sp+88]
00037160ldr d0, [x2+32]
00037164fmov d1
00037168fmul d0, d1, d0
0003716cfmov d1
00037170fmul d0, d1, d0
00037174ldr x2, [x2+120]
00037178ldr x3, [sp+40]
0003717cadd x2, x2, x3
00037180add x2, x2, x0
00037184ucvtf d1, x2
00037188fmul d0, d1, d0
0003718cfcvtzu x1, d0
00037190ldr x0, [sp+64]
00037194bl internal/runtime/atomic.(*Uint64).Store
00037198ldur x29, [sp-8]
0003719cldr x30, [sp], 80
000371a0ret x30
000371a4
000371a4loc_371a4:
000371a4str x0, [sp+8]
000371a8strb w1, [sp+16]
000371acmov x3, x30
000371b0bl runtime.morestack_noctxt.abi0
000371b4ldr x0, [sp+8]
000371b8ldrb w1, [sp+16]
000371bcb 0x37040
00037040
000371c0
000371c0runtime.(*gcControllerState).setGCPercent: ; void runtime.(*gcControllerState).setGCPercent(runtime.gcControllerState * c, int32 in)
000371c0ldr x16, [x28+16]
000371c4subs xzr, sp, x16
000371c8b.ls 0x3724c
000371ccstr x30, [sp-48]!
000371d0stur x29, [sp-8]
000371d4sub x29, sp, 8
000371d8str x0, [sp+56]
000371dcstr w1, [sp+64]
000371e0ldrb w2, [x0+320]
000371e4tbnz w2, 0, 0x371f8
000371e8adrp x0, 0x9fb000
000371ecadd x0, x0, 2112
000371f0bl runtime.assertWorldStoppedOrLockHeld
000371f4ldr x0, [sp+56]
000371f8
000371f8loc_371f8:
000371f8bl internal/runtime/atomic.(*Int32).Load
000371fcstr w0, [sp+36]
00037200ldrsw x1, [sp+64]
00037204subs wzr, w1, 0
00037208movn x2, 0
0003720ccsel x1, x2, x1, lt
00037210sbfm x2, x1, 42, 31
00037214ubfm x2, x2, 1, 63
00037218movz x3, 55051
0003721cmovk x3, 0x70a30000
00037220movk x3, 0xa3d00000000
00037224movk x3, 0xa3d7000000000000
00037228umulh x2, x3, x2
0003722cubfm x2, x2, 5, 63
00037230ldr x0, [sp+56]
00037234str x2, [x0+16]
00037238bl internal/runtime/atomic.(*Int32).Store
0003723cldrsw x0, [sp+36]
00037240ldur x29, [sp-8]
00037244ldr x30, [sp], 48
00037248ret x30
0003724c
0003724cloc_3724c:
0003724cstr x0, [sp+8]
00037250str w1, [sp+16]
00037254mov x3, x30
00037258bl runtime.morestack_noctxt.abi0
0003725cldr x0, [sp+8]
00037260ldrsw x1, [sp+16]
00037264b 0x371c0
00037268udf 0
0003726cudf 0
000371c0
000371c0runtime.(*gcControllerState).setGCPercent: ; void runtime.(*gcControllerState).setGCPercent(runtime.gcControllerState * c, int32 in)
000371c0ldr x16, [x28+16]
000371c4subs xzr, sp, x16
000371c8b.ls 0x3724c
000371ccstr x30, [sp-48]!
000371d0stur x29, [sp-8]
000371d4sub x29, sp, 8
000371d8str x0, [sp+56]
000371dcstr w1, [sp+64]
000371e0ldrb w2, [x0+320]
000371e4tbnz w2, 0, 0x371f8
000371e8adrp x0, 0x9fb000
000371ecadd x0, x0, 2112
000371f0bl runtime.assertWorldStoppedOrLockHeld
000371f4ldr x0, [sp+56]
000371f8
000371f8loc_371f8:
000371f8bl internal/runtime/atomic.(*Int32).Load
000371fcstr w0, [sp+36]
00037200ldrsw x1, [sp+64]
00037204subs wzr, w1, 0
00037208movn x2, 0
0003720ccsel x1, x2, x1, lt
00037210sbfm x2, x1, 42, 31
00037214ubfm x2, x2, 1, 63
00037218movz x3, 55051
0003721cmovk x3, 0x70a30000
00037220movk x3, 0xa3d00000000
00037224movk x3, 0xa3d7000000000000
00037228umulh x2, x3, x2
0003722cubfm x2, x2, 5, 63
00037230ldr x0, [sp+56]
00037234str x2, [x0+16]
00037238bl internal/runtime/atomic.(*Int32).Store
0003723cldrsw x0, [sp+36]
00037240ldur x29, [sp-8]
00037244ldr x30, [sp], 48
00037248ret x30
0003724c
0003724cloc_3724c:
0003724cstr x0, [sp+8]
00037250str w1, [sp+16]
00037254mov x3, x30
00037258bl runtime.morestack_noctxt.abi0
0003725cldr x0, [sp+8]
00037260ldrsw x1, [sp+16]
00037264b 0x371c0
00037268udf 0
0003726cudf 0
000371c0
00037270
00037270runtime.readGOGC: ; void runtime.readGOGC(void)
00037270ldr x16, [x28+16]
00037274subs xzr, sp, x16
00037278b.ls 0x372f0
0003727cstr x30, [sp-32]!
00037280stur x29, [sp-8]
00037284sub x29, sp, 8
00037288adrp x0, 0x679000
0003728cadd x0, x0, 818
00037290orr x1, xzr, 4
00037294bl runtime.gogetenv
00037298subs xzr, x1, 3
0003729cb.ne 0x372cc
000372a0ldrh w2, [x0]
000372a4movz x3, 26223
000372a8subs wzr, w2, w3
000372acb.ne 0x372cc
000372b0ldrb w2, [x0+2]
000372b4subs wzr, w2, 102
000372b8b.ne 0x372cc
000372bcmovn x0, 0
000372c0ldur x29, [sp-8]
000372c4ldr x30, [sp], 32
000372c8ret x30
000372cc
000372ccloc_372cc:
000372ccbl runtime.atoi32
000372d0tbz w1, 0, 0x372e0
000372d4ldur x29, [sp-8]
000372d8ldr x30, [sp], 32
000372dcret x30
000372e0
000372e0loc_372e0:
000372e0movz x0, 100
000372e4ldur x29, [sp-8]
000372e8ldr x30, [sp], 32
000372ecret x30
000372f0
000372f0loc_372f0:
000372f0mov x3, x30
000372f4bl runtime.morestack_noctxt.abi0
000372f8b 0x37270
000372fcudf 0
00037270
00037270runtime.readGOGC: ; void runtime.readGOGC(void)
00037270ldr x16, [x28+16]
00037274subs xzr, sp, x16
00037278b.ls 0x372f0
0003727cstr x30, [sp-32]!
00037280stur x29, [sp-8]
00037284sub x29, sp, 8
00037288adrp x0, 0x679000
0003728cadd x0, x0, 818
00037290orr x1, xzr, 4
00037294bl runtime.gogetenv
00037298subs xzr, x1, 3
0003729cb.ne 0x372cc
000372a0ldrh w2, [x0]
000372a4movz x3, 26223
000372a8subs wzr, w2, w3
000372acb.ne 0x372cc
000372b0ldrb w2, [x0+2]
000372b4subs wzr, w2, 102
000372b8b.ne 0x372cc
000372bcmovn x0, 0
000372c0ldur x29, [sp-8]
000372c4ldr x30, [sp], 32
000372c8ret x30
000372cc
000372ccloc_372cc:
000372ccbl runtime.atoi32
000372d0tbz w1, 0, 0x372e0
000372d4ldur x29, [sp-8]
000372d8ldr x30, [sp], 32
000372dcret x30
000372e0
000372e0loc_372e0:
000372e0movz x0, 100
000372e4ldur x29, [sp-8]
000372e8ldr x30, [sp], 32
000372ecret x30
000372f0
000372f0loc_372f0:
000372f0mov x3, x30
000372f4bl runtime.morestack_noctxt.abi0
000372f8b 0x37270
000372fcudf 0
00037270
00037300
00037300runtime.(*gcControllerState).setMemoryLimit: ; void runtime.(*gcControllerState).setMemoryLimit(runtime.gcControllerState * c, int64 in)
00037300ldr x16, [x28+16]
00037304subs xzr, sp, x16
00037308b.ls 0x37368
0003730cstr x30, [sp-48]!
00037310stur x29, [sp-8]
00037314sub x29, sp, 8
00037318str x1, [sp+64]
0003731cldrb w2, [x0+320]
00037320tbnz w2, 0, 0x37338
00037324str x0, [sp+56]
00037328adrp x0, 0x9fb000
0003732cadd x0, x0, 2112
00037330bl runtime.assertWorldStoppedOrLockHeld
00037334ldr x0, [sp+56]
00037338
00037338loc_37338:
00037338add x0, x0, 8
0003733cstr x0, [sp+32]
00037340bl internal/runtime/atomic.(*Int64).Load
00037344ldr x1, [sp+64]
00037348tbnz x1, 63, 0x3735c
0003734cstr x0, [sp+24]
00037350ldr x0, [sp+32]
00037354bl internal/runtime/atomic.(*Int64).Store
00037358ldr x0, [sp+24]
0003735c
0003735cloc_3735c:
0003735cldur x29, [sp-8]
00037360ldr x30, [sp], 48
00037364ret x30
00037368
00037368loc_37368:
00037368stp x0, x1, [sp+8]
0003736cmov x3, x30
00037370bl runtime.morestack_noctxt.abi0
00037374ldp x0, x1, [sp+8]
00037378b 0x37300
0003737cudf 0
00037300
00037300runtime.(*gcControllerState).setMemoryLimit: ; void runtime.(*gcControllerState).setMemoryLimit(runtime.gcControllerState * c, int64 in)
00037300ldr x16, [x28+16]
00037304subs xzr, sp, x16
00037308b.ls 0x37368
0003730cstr x30, [sp-48]!
00037310stur x29, [sp-8]
00037314sub x29, sp, 8
00037318str x1, [sp+64]
0003731cldrb w2, [x0+320]
00037320tbnz w2, 0, 0x37338
00037324str x0, [sp+56]
00037328adrp x0, 0x9fb000
0003732cadd x0, x0, 2112
00037330bl runtime.assertWorldStoppedOrLockHeld
00037334ldr x0, [sp+56]
00037338
00037338loc_37338:
00037338add x0, x0, 8
0003733cstr x0, [sp+32]
00037340bl internal/runtime/atomic.(*Int64).Load
00037344ldr x1, [sp+64]
00037348tbnz x1, 63, 0x3735c
0003734cstr x0, [sp+24]
00037350ldr x0, [sp+32]
00037354bl internal/runtime/atomic.(*Int64).Store
00037358ldr x0, [sp+24]
0003735c
0003735cloc_3735c:
0003735cldur x29, [sp-8]
00037360ldr x30, [sp], 48
00037364ret x30
00037368
00037368loc_37368:
00037368stp x0, x1, [sp+8]
0003736cmov x3, x30
00037370bl runtime.morestack_noctxt.abi0
00037374ldp x0, x1, [sp+8]
00037378b 0x37300
0003737cudf 0
00037300
00037380
00037380runtime.readGOMEMLIMIT: ; void runtime.readGOMEMLIMIT(void)
00037380ldr x16, [x28+16]
00037384subs xzr, sp, x16
00037388b.ls 0x37438
0003738cstr x30, [sp-48]!
00037390stur x29, [sp-8]
00037394sub x29, sp, 8
00037398adrp x0, 0x67b000
0003739cadd x0, x0, 224
000373a0movz x1, 10
000373a4bl runtime.gogetenv
000373a8cbz x1, 0x373d0
000373acsubs xzr, x1, 3
000373b0b.ne 0x373e0
000373b4ldrh w2, [x0]
000373b8movz x3, 26223
000373bcsubs wzr, w2, w3
000373c0b.ne 0x373e0
000373c4ldrb w2, [x0+2]
000373c8subs wzr, w2, 102
000373ccb.ne 0x373e0
000373d0
000373d0loc_373d0:
000373d0movn x0, 0x8000000000000000
000373d4ldur x29, [sp-8]
000373d8ldr x30, [sp], 48
000373dcret x30
000373e0
000373e0loc_373e0:
000373e0str x0, [sp+32]
000373e4str x1, [sp+24]
000373e8bl runtime.parseByteCount
000373ectbz w1, 0, 0x373fc
000373f0ldur x29, [sp-8]
000373f4ldr x30, [sp], 48
000373f8ret x30
000373fc
000373fcloc_373fc:
000373fcbl runtime.printlock
00037400adrp x0, 0x67b000
00037404add x0, x0, 2021
00037408movz x1, 11
0003740cbl runtime.printstring
00037410ldr x0, [sp+32]
00037414ldr x1, [sp+24]
00037418bl runtime.printstring
0003741cbl runtime.printnl
00037420bl runtime.printunlock
00037424adrp x0, 0x696000
00037428add x0, x0, 276
0003742corr x1, xzr, 63
00037430bl runtime.throw
00037434hint
00037438
00037438loc_37438:
00037438mov x3, x30
0003743cbl runtime.morestack_noctxt.abi0
00037440b 0x37380
00037444udf 0
00037448udf 0
0003744cudf 0
00037380
00037380runtime.readGOMEMLIMIT: ; void runtime.readGOMEMLIMIT(void)
00037380ldr x16, [x28+16]
00037384subs xzr, sp, x16
00037388b.ls 0x37438
0003738cstr x30, [sp-48]!
00037390stur x29, [sp-8]
00037394sub x29, sp, 8
00037398adrp x0, 0x67b000
0003739cadd x0, x0, 224
000373a0movz x1, 10
000373a4bl runtime.gogetenv
000373a8cbz x1, 0x373d0
000373acsubs xzr, x1, 3
000373b0b.ne 0x373e0
000373b4ldrh w2, [x0]
000373b8movz x3, 26223
000373bcsubs wzr, w2, w3
000373c0b.ne 0x373e0
000373c4ldrb w2, [x0+2]
000373c8subs wzr, w2, 102
000373ccb.ne 0x373e0
000373d0
000373d0loc_373d0:
000373d0movn x0, 0x8000000000000000
000373d4ldur x29, [sp-8]
000373d8ldr x30, [sp], 48
000373dcret x30
000373e0
000373e0loc_373e0:
000373e0str x0, [sp+32]
000373e4str x1, [sp+24]
000373e8bl runtime.parseByteCount
000373ectbz w1, 0, 0x373fc
000373f0ldur x29, [sp-8]
000373f4ldr x30, [sp], 48
000373f8ret x30
000373fc
000373fcloc_373fc:
000373fcbl runtime.printlock
00037400adrp x0, 0x67b000
00037404add x0, x0, 2021
00037408movz x1, 11
0003740cbl runtime.printstring
00037410ldr x0, [sp+32]
00037414ldr x1, [sp+24]
00037418bl runtime.printstring
0003741cbl runtime.printnl
00037420bl runtime.printunlock
00037424adrp x0, 0x696000
00037428add x0, x0, 276
0003742corr x1, xzr, 63
00037430bl runtime.throw
00037434hint
00037438
00037438loc_37438:
00037438mov x3, x30
0003743cbl runtime.morestack_noctxt.abi0
00037440b 0x37380
00037444udf 0
00037448udf 0
0003744cudf 0
00037380
00037450
00037450runtime.(*gcControllerState).addIdleMarkWorker: ; void runtime.(*gcControllerState).addIdleMarkWorker(runtime.gcControllerState * c)
00037450str x30, [sp-64]!
00037454stur x29, [sp-8]
00037458sub x29, sp, 8
0003745cstr x0, [sp+72]
00037460b 0x37468
00037464
00037464loc_37464:
00037464ldr x0, [sp+72]
00037468
00037468loc_37468:
00037468ldrsb x27, [x0]
0003746cadd x0, x0, 240
00037470str x0, [sp+48]
00037474bl internal/runtime/atomic.(*Uint64).Load
00037478ubfm x1, x0, 32, 63
0003747csubs wzr, w0, w1
00037480b.ge 0x374b8
00037484tbnz w0, 31, 0x374c8
00037488add x3, x0, 1
0003748cmov w3, w3
00037490sbfm x4, x1, 0, 31
00037494orr x2, x3, x4, lsl #32
00037498mov x1, x0
0003749cldr x0, [sp+48]
000374a0bl internal/runtime/atomic.(*Uint64).CompareAndSwap
000374a4tbz w0, 0, 0x37464
000374a8orr x0, xzr, 1
000374acldur x29, [sp-8]
000374b0ldr x30, [sp], 64
000374b4ret x30
000374b8
000374b8loc_374b8:
000374b8mov x0, xzr
000374bcldur x29, [sp-8]
000374c0ldr x30, [sp], 64
000374c4ret x30
000374c8
000374c8loc_374c8:
000374c8str x0, [sp+32]
000374ccstr x1, [sp+40]
000374d0bl runtime.printlock
000374d4adrp x0, 0x678000
000374d8add x0, x0, 4071
000374dcorr x1, xzr, 2
000374e0bl runtime.printstring
000374e4ldr x0, [sp+32]
000374e8sbfm x0, x0, 0, 31
000374ecbl runtime.printint
000374f0adrp x0, 0x679000
000374f4add x0, x0, 1657
000374f8movz x1, 5
000374fcbl runtime.printstring
00037500ldr x0, [sp+40]
00037504sbfm x0, x0, 0, 31
00037508bl runtime.printint
0003750cbl runtime.printnl
00037510bl runtime.printunlock
00037514adrp x0, 0x683000
00037518add x0, x0, 617
0003751cmovz x1, 26
00037520bl runtime.throw
00037524hint
00037528udf 0
0003752cudf 0
00037450
00037450runtime.(*gcControllerState).addIdleMarkWorker: ; void runtime.(*gcControllerState).addIdleMarkWorker(runtime.gcControllerState * c)
00037450str x30, [sp-64]!
00037454stur x29, [sp-8]
00037458sub x29, sp, 8
0003745cstr x0, [sp+72]
00037460b 0x37468
00037464
00037464loc_37464:
00037464ldr x0, [sp+72]
00037468
00037468loc_37468:
00037468ldrsb x27, [x0]
0003746cadd x0, x0, 240
00037470str x0, [sp+48]
00037474bl internal/runtime/atomic.(*Uint64).Load
00037478ubfm x1, x0, 32, 63
0003747csubs wzr, w0, w1
00037480b.ge 0x374b8
00037484tbnz w0, 31, 0x374c8
00037488add x3, x0, 1
0003748cmov w3, w3
00037490sbfm x4, x1, 0, 31
00037494orr x2, x3, x4, lsl #32
00037498mov x1, x0
0003749cldr x0, [sp+48]
000374a0bl internal/runtime/atomic.(*Uint64).CompareAndSwap
000374a4tbz w0, 0, 0x37464
000374a8orr x0, xzr, 1
000374acldur x29, [sp-8]
000374b0ldr x30, [sp], 64
000374b4ret x30
000374b8
000374b8loc_374b8:
000374b8mov x0, xzr
000374bcldur x29, [sp-8]
000374c0ldr x30, [sp], 64
000374c4ret x30
000374c8
000374c8loc_374c8:
000374c8str x0, [sp+32]
000374ccstr x1, [sp+40]
000374d0bl runtime.printlock
000374d4adrp x0, 0x678000
000374d8add x0, x0, 4071
000374dcorr x1, xzr, 2
000374e0bl runtime.printstring
000374e4ldr x0, [sp+32]
000374e8sbfm x0, x0, 0, 31
000374ecbl runtime.printint
000374f0adrp x0, 0x679000
000374f4add x0, x0, 1657
000374f8movz x1, 5
000374fcbl runtime.printstring
00037500ldr x0, [sp+40]
00037504sbfm x0, x0, 0, 31
00037508bl runtime.printint
0003750cbl runtime.printnl
00037510bl runtime.printunlock
00037514adrp x0, 0x683000
00037518add x0, x0, 617
0003751cmovz x1, 26
00037520bl runtime.throw
00037524hint
00037528udf 0
0003752cudf 0
00037450
00037530
00037530runtime.(*gcControllerState).needIdleMarkWorker: ; void runtime.(*gcControllerState).needIdleMarkWorker(runtime.gcControllerState * c)
00037530str x30, [sp-32]!
00037534stur x29, [sp-8]
00037538sub x29, sp, 8
0003753cldrsb x27, [x0]
00037540add x0, x0, 240
00037544bl internal/runtime/atomic.(*Uint64).Load
00037548ubfm x1, x0, 32, 63
0003754csubs wzr, w0, w1
00037550cset x0, lt
00037554ldur x29, [sp-8]
00037558ldr x30, [sp], 32
0003755cret x30
00037530
00037530runtime.(*gcControllerState).needIdleMarkWorker: ; void runtime.(*gcControllerState).needIdleMarkWorker(runtime.gcControllerState * c)
00037530str x30, [sp-32]!
00037534stur x29, [sp-8]
00037538sub x29, sp, 8
0003753cldrsb x27, [x0]
00037540add x0, x0, 240
00037544bl internal/runtime/atomic.(*Uint64).Load
00037548ubfm x1, x0, 32, 63
0003754csubs wzr, w0, w1
00037550cset x0, lt
00037554ldur x29, [sp-8]
00037558ldr x30, [sp], 32
0003755cret x30
00037530
00037560
00037560runtime.(*gcControllerState).removeIdleMarkWorker: ; void runtime.(*gcControllerState).removeIdleMarkWorker(runtime.gcControllerState * c)
00037560ldr x16, [x28+16]
00037564subs xzr, sp, x16
00037568b.ls 0x37628
0003756cstr x30, [sp-64]!
00037570stur x29, [sp-8]
00037574sub x29, sp, 8
00037578str x0, [sp+72]
0003757cb 0x37584
00037580
00037580loc_37580:
00037580ldr x0, [sp+72]
00037584
00037584loc_37584:
00037584ldrsb x27, [x0]
00037588add x0, x0, 240
0003758cstr x0, [sp+48]
00037590bl internal/runtime/atomic.(*Uint64).Load
00037594ubfm x1, x0, 32, 63
00037598sub x2, x0, 1
0003759ctbnz w2, 31, 0x375c8
000375a0mov w3, w2
000375a4sbfm x4, x1, 0, 31
000375a8orr x2, x3, x4, lsl #32
000375acmov x1, x0
000375b0ldr x0, [sp+48]
000375b4bl internal/runtime/atomic.(*Uint64).CompareAndSwap
000375b8tbz w0, 0, 0x37580
000375bcldur x29, [sp-8]
000375c0ldr x30, [sp], 64
000375c4ret x30
000375c8
000375c8loc_375c8:
000375c8str x0, [sp+32]
000375ccstr x1, [sp+40]
000375d0bl runtime.printlock
000375d4adrp x0, 0x678000
000375d8add x0, x0, 4071
000375dcorr x1, xzr, 2
000375e0bl runtime.printstring
000375e4ldr x0, [sp+32]
000375e8sbfm x0, x0, 0, 31
000375ecbl runtime.printint
000375f0adrp x0, 0x679000
000375f4add x0, x0, 1657
000375f8movz x1, 5
000375fcbl runtime.printstring
00037600ldr x0, [sp+40]
00037604sbfm x0, x0, 0, 31
00037608bl runtime.printint
0003760cbl runtime.printnl
00037610bl runtime.printunlock
00037614adrp x0, 0x683000
00037618add x0, x0, 617
0003761cmovz x1, 26
00037620bl runtime.throw
00037624hint
00037628
00037628loc_37628:
00037628str x0, [sp+8]
0003762cmov x3, x30
00037630bl runtime.morestack_noctxt.abi0
00037634ldr x0, [sp+8]
00037638b 0x37560
0003763cudf 0
00037560
00037560runtime.(*gcControllerState).removeIdleMarkWorker: ; void runtime.(*gcControllerState).removeIdleMarkWorker(runtime.gcControllerState * c)
00037560ldr x16, [x28+16]
00037564subs xzr, sp, x16
00037568b.ls 0x37628
0003756cstr x30, [sp-64]!
00037570stur x29, [sp-8]
00037574sub x29, sp, 8
00037578str x0, [sp+72]
0003757cb 0x37584
00037580
00037580loc_37580:
00037580ldr x0, [sp+72]
00037584
00037584loc_37584:
00037584ldrsb x27, [x0]
00037588add x0, x0, 240
0003758cstr x0, [sp+48]
00037590bl internal/runtime/atomic.(*Uint64).Load
00037594ubfm x1, x0, 32, 63
00037598sub x2, x0, 1
0003759ctbnz w2, 31, 0x375c8
000375a0mov w3, w2
000375a4sbfm x4, x1, 0, 31
000375a8orr x2, x3, x4, lsl #32
000375acmov x1, x0
000375b0ldr x0, [sp+48]
000375b4bl internal/runtime/atomic.(*Uint64).CompareAndSwap
000375b8tbz w0, 0, 0x37580
000375bcldur x29, [sp-8]
000375c0ldr x30, [sp], 64
000375c4ret x30
000375c8
000375c8loc_375c8:
000375c8str x0, [sp+32]
000375ccstr x1, [sp+40]
000375d0bl runtime.printlock
000375d4adrp x0, 0x678000
000375d8add x0, x0, 4071
000375dcorr x1, xzr, 2
000375e0bl runtime.printstring
000375e4ldr x0, [sp+32]
000375e8sbfm x0, x0, 0, 31
000375ecbl runtime.printint
000375f0adrp x0, 0x679000
000375f4add x0, x0, 1657
000375f8movz x1, 5
000375fcbl runtime.printstring
00037600ldr x0, [sp+40]
00037604sbfm x0, x0, 0, 31
00037608bl runtime.printint
0003760cbl runtime.printnl
00037610bl runtime.printunlock
00037614adrp x0, 0x683000
00037618add x0, x0, 617
0003761cmovz x1, 26
00037620bl runtime.throw
00037624hint
00037628
00037628loc_37628:
00037628str x0, [sp+8]
0003762cmov x3, x30
00037630bl runtime.morestack_noctxt.abi0
00037634ldr x0, [sp+8]
00037638b 0x37560
0003763cudf 0
00037560
00037640
00037640runtime.(*gcControllerState).setMaxIdleMarkWorkers: ; void runtime.(*gcControllerState).setMaxIdleMarkWorkers(runtime.gcControllerState * c, int32 max)
00037640ldr x16, [x28+16]
00037644subs xzr, sp, x16
00037648b.ls 0x376fc
0003764cstr x30, [sp-64]!
00037650stur x29, [sp-8]
00037654sub x29, sp, 8
00037658str x0, [sp+72]
0003765cstr w1, [sp+80]
00037660b 0x37668
00037664
00037664loc_37664:
00037664ldr x0, [sp+72]
00037668
00037668loc_37668:
00037668ldrsb x27, [x0]
0003766cadd x0, x0, 240
00037670str x0, [sp+48]
00037674bl internal/runtime/atomic.(*Uint64).Load
00037678tbnz w0, 31, 0x376a4
0003767cmov w3, w0
00037680ldrsw x4, [sp+80]
00037684orr x2, x3, x4, lsl #32
00037688mov x1, x0
0003768cldr x0, [sp+48]
00037690bl internal/runtime/atomic.(*Uint64).CompareAndSwap
00037694tbz w0, 0, 0x37664
00037698ldur x29, [sp-8]
0003769cldr x30, [sp], 64
000376a0ret x30
000376a4
000376a4loc_376a4:
000376a4str x0, [sp+40]
000376a8bl runtime.printlock
000376acadrp x0, 0x678000
000376b0add x0, x0, 4071
000376b4orr x1, xzr, 2
000376b8bl runtime.printstring
000376bcldr x0, [sp+40]
000376c0sbfm x0, x0, 0, 31
000376c4bl runtime.printint
000376c8adrp x0, 0x679000
000376ccadd x0, x0, 1657
000376d0movz x1, 5
000376d4bl runtime.printstring
000376d8ldrsw x0, [sp+80]
000376dcbl runtime.printint
000376e0bl runtime.printnl
000376e4bl runtime.printunlock
000376e8adrp x0, 0x683000
000376ecadd x0, x0, 617
000376f0movz x1, 26
000376f4bl runtime.throw
000376f8hint
000376fc
000376fcloc_376fc:
000376fcstr x0, [sp+8]
00037700str w1, [sp+16]
00037704mov x3, x30
00037708bl runtime.morestack_noctxt.abi0
0003770cldr x0, [sp+8]
00037710ldrsw x1, [sp+16]
00037714b 0x37640
00037718udf 0
0003771cudf 0
00037640
00037640runtime.(*gcControllerState).setMaxIdleMarkWorkers: ; void runtime.(*gcControllerState).setMaxIdleMarkWorkers(runtime.gcControllerState * c, int32 max)
00037640ldr x16, [x28+16]
00037644subs xzr, sp, x16
00037648b.ls 0x376fc
0003764cstr x30, [sp-64]!
00037650stur x29, [sp-8]
00037654sub x29, sp, 8
00037658str x0, [sp+72]
0003765cstr w1, [sp+80]
00037660b 0x37668
00037664
00037664loc_37664:
00037664ldr x0, [sp+72]
00037668
00037668loc_37668:
00037668ldrsb x27, [x0]
0003766cadd x0, x0, 240
00037670str x0, [sp+48]
00037674bl internal/runtime/atomic.(*Uint64).Load
00037678tbnz w0, 31, 0x376a4
0003767cmov w3, w0
00037680ldrsw x4, [sp+80]
00037684orr x2, x3, x4, lsl #32
00037688mov x1, x0
0003768cldr x0, [sp+48]
00037690bl internal/runtime/atomic.(*Uint64).CompareAndSwap
00037694tbz w0, 0, 0x37664
00037698ldur x29, [sp-8]
0003769cldr x30, [sp], 64
000376a0ret x30
000376a4
000376a4loc_376a4:
000376a4str x0, [sp+40]
000376a8bl runtime.printlock
000376acadrp x0, 0x678000
000376b0add x0, x0, 4071
000376b4orr x1, xzr, 2
000376b8bl runtime.printstring
000376bcldr x0, [sp+40]
000376c0sbfm x0, x0, 0, 31
000376c4bl runtime.printint
000376c8adrp x0, 0x679000
000376ccadd x0, x0, 1657
000376d0movz x1, 5
000376d4bl runtime.printstring
000376d8ldrsw x0, [sp+80]
000376dcbl runtime.printint
000376e0bl runtime.printnl
000376e4bl runtime.printunlock
000376e8adrp x0, 0x683000
000376ecadd x0, x0, 617
000376f0movz x1, 26
000376f4bl runtime.throw
000376f8hint
000376fc
000376fcloc_376fc:
000376fcstr x0, [sp+8]
00037700str w1, [sp+16]
00037704mov x3, x30
00037708bl runtime.morestack_noctxt.abi0
0003770cldr x0, [sp+8]
00037710ldrsw x1, [sp+16]
00037714b 0x37640
00037718udf 0
0003771cudf 0
00037640
00037720
00037720runtime.gcControllerCommit: ; void runtime.gcControllerCommit(void)
00037720ldr x16, [x28+24]
00037724subs xzr, sp, x16
00037728b.ls 0x377d8
0003772cstr x30, [sp-64]!
00037730stur x29, [sp-8]
00037734sub x29, sp, 8
00037738adrp x0, 0x9fb000
0003773cadd x0, x0, 2112
00037740bl runtime.assertWorldStoppedOrLockHeld
00037744bl runtime.isSweepDone
00037748mov x1, x0
0003774cadrp x0, 0xa15000
00037750add x0, x0, 2496
00037754bl runtime.(*gcControllerState).commit
00037758adrp x27, 0xa14000
0003775cldr w1, [x27+1600]
00037760cbz w1, 0x37770
00037764adrp x0, 0xa15000
00037768add x0, x0, 2496
0003776cbl runtime.(*gcControllerState).revise
00037770
00037770loc_37770:
00037770bl runtime.traceAcquire
00037774str x0, [sp+48]
00037778str x1, [sp+40]
0003777cbl runtime.traceLocker.ok
00037780tbz w0, 0, 0x3779c
00037784ldr x0, [sp+48]
00037788ldr x1, [sp+40]
0003778cbl runtime.traceLocker.HeapGoal
00037790ldr x0, [sp+48]
00037794ldr x1, [sp+40]
00037798bl runtime.traceRelease
0003779c
0003779cloc_3779c:
0003779cadrp x0, 0xa15000
000377a0add x0, x0, 2496
000377a4bl runtime.(*gcControllerState).trigger
000377a8str x1, [sp+32]
000377acbl runtime.gcPaceSweeper
000377b0adrp x0, 0xa15000
000377b4add x0, x0, 2504
000377b8bl internal/runtime/atomic.(*Int64).Load
000377bcadrp x27, 0xa15000
000377c0ldr x2, [x27+2592]
000377c4ldr x1, [sp+32]
000377c8bl runtime.gcPaceScavenger
000377ccldur x29, [sp-8]
000377d0ldr x30, [sp], 64
000377d4ret x30
000377d8
000377d8loc_377d8:
000377d8mov x3, x30
000377dcbl runtime.morestackc.abi0
000377e0b 0x37720
000377e4udf 0
000377e8udf 0
000377ecudf 0
00037720
00037720runtime.gcControllerCommit: ; void runtime.gcControllerCommit(void)
00037720ldr x16, [x28+24]
00037724subs xzr, sp, x16
00037728b.ls 0x377d8
0003772cstr x30, [sp-64]!
00037730stur x29, [sp-8]
00037734sub x29, sp, 8
00037738adrp x0, 0x9fb000
0003773cadd x0, x0, 2112
00037740bl runtime.assertWorldStoppedOrLockHeld
00037744bl runtime.isSweepDone
00037748mov x1, x0
0003774cadrp x0, 0xa15000
00037750add x0, x0, 2496
00037754bl runtime.(*gcControllerState).commit
00037758adrp x27, 0xa14000
0003775cldr w1, [x27+1600]
00037760cbz w1, 0x37770
00037764adrp x0, 0xa15000
00037768add x0, x0, 2496
0003776cbl runtime.(*gcControllerState).revise
00037770
00037770loc_37770:
00037770bl runtime.traceAcquire
00037774str x0, [sp+48]
00037778str x1, [sp+40]
0003777cbl runtime.traceLocker.ok
00037780tbz w0, 0, 0x3779c
00037784ldr x0, [sp+48]
00037788ldr x1, [sp+40]
0003778cbl runtime.traceLocker.HeapGoal
00037790ldr x0, [sp+48]
00037794ldr x1, [sp+40]
00037798bl runtime.traceRelease
0003779c
0003779cloc_3779c:
0003779cadrp x0, 0xa15000
000377a0add x0, x0, 2496
000377a4bl runtime.(*gcControllerState).trigger
000377a8str x1, [sp+32]
000377acbl runtime.gcPaceSweeper
000377b0adrp x0, 0xa15000
000377b4add x0, x0, 2504
000377b8bl internal/runtime/atomic.(*Int64).Load
000377bcadrp x27, 0xa15000
000377c0ldr x2, [x27+2592]
000377c4ldr x1, [sp+32]
000377c8bl runtime.gcPaceScavenger
000377ccldur x29, [sp-8]
000377d0ldr x30, [sp], 64
000377d4ret x30
000377d8
000377d8loc_377d8:
000377d8mov x3, x30
000377dcbl runtime.morestackc.abi0
000377e0b 0x37720
000377e4udf 0
000377e8udf 0
000377ecudf 0
00037720
000377f0
000377f0runtime.heapRetained: ; void runtime.heapRetained(void)
000377f0ldr x16, [x28+16]
000377f4subs xzr, sp, x16
000377f8b.ls 0x37838
000377fcstr x30, [sp-32]!
00037800stur x29, [sp-8]
00037804sub x29, sp, 8
00037808adrp x0, 0xa15000
0003780cadd x0, x0, 2768
00037810bl runtime.(*sysMemStat).load
00037814str x0, [sp+16]
00037818adrp x0, 0xa15000
0003781cadd x0, x0, 2784
00037820bl runtime.(*sysMemStat).load
00037824ldr x1, [sp+16]
00037828add x0, x1, x0
0003782cldur x29, [sp-8]
00037830ldr x30, [sp], 32
00037834ret x30
00037838
00037838loc_37838:
00037838mov x3, x30
0003783cbl runtime.morestack_noctxt.abi0
00037840b 0x377f0
00037844udf 0
00037848udf 0
0003784cudf 0
000377f0
000377f0runtime.heapRetained: ; void runtime.heapRetained(void)
000377f0ldr x16, [x28+16]
000377f4subs xzr, sp, x16
000377f8b.ls 0x37838
000377fcstr x30, [sp-32]!
00037800stur x29, [sp-8]
00037804sub x29, sp, 8
00037808adrp x0, 0xa15000
0003780cadd x0, x0, 2768
00037810bl runtime.(*sysMemStat).load
00037814str x0, [sp+16]
00037818adrp x0, 0xa15000
0003781cadd x0, x0, 2784
00037820bl runtime.(*sysMemStat).load
00037824ldr x1, [sp+16]
00037828add x0, x1, x0
0003782cldur x29, [sp-8]
00037830ldr x30, [sp], 32
00037834ret x30
00037838
00037838loc_37838:
00037838mov x3, x30
0003783cbl runtime.morestack_noctxt.abi0
00037840b 0x377f0
00037844udf 0
00037848udf 0
0003784cudf 0
000377f0
00037850
00037850runtime.gcPaceScavenger: ; void runtime.gcPaceScavenger(int64 memoryLimit, uint64 heapGoal, uint64 lastHeapGoal)
00037850ldr x16, [x28+16]
00037854subs xzr, sp, x16
00037858b.ls 0x379a8
0003785cstr x30, [sp-64]!
00037860stur x29, [sp-8]
00037864sub x29, sp, 8
00037868str x0, [sp+72]
0003786cstr x1, [sp+80]
00037870str x2, [sp+88]
00037874adrp x0, 0x9fb000
00037878add x0, x0, 2112
0003787cbl runtime.assertWorldStoppedOrLockHeld
00037880ldr x1, [sp+72]
00037884scvtf d0, x1
00037888adrp x27, 0x6d9000
0003788cldr d1, [x27+3184]
00037890fmul d0, d1, d0
00037894fcvtzu x1, d0
00037898str x1, [sp+32]
0003789cadrp x0, 0xa15000
000378a0add x0, x0, 2808
000378a4bl internal/runtime/atomic.(*Uint64).Load
000378a8ldr x1, [sp+32]
000378acsubs xzr, x0, x1
000378b0b.hi 0x378c8
000378b4adrp x0, 0xa14000
000378b8add x0, x0, 3496
000378bcmovn x1, 0
000378c0bl internal/runtime/atomic.(*Uint64).Store
000378c4b 0x378d4
000378c8
000378c8loc_378c8:
000378c8adrp x0, 0xa14000
000378ccadd x0, x0, 3496
000378d0bl internal/runtime/atomic.(*Uint64).Store
000378d4
000378d4loc_378d4:
000378d4ldr x0, [sp+88]
000378d8cbz x0, 0x3798c
000378dcldr x1, [sp+80]
000378e0ucvtf d0, x1
000378e4ucvtf d1, x0
000378e8fdiv d0, d0, d1
000378ecadrp x27, 0xa1b000
000378f0ldr x0, [x27+592]
000378f4ucvtf d1, x0
000378f8fmul d0, d0, d1
000378fcfcvtzu x0, d0
00037900movz x1, 52429
00037904movk x1, 0xcccc0000
00037908movk x1, 0xcccc00000000
0003790cmovk x1, 0xcccc000000000000
00037910umulh x1, x1, x0
00037914add x0, x0, x1, lsr #3
00037918str x0, [sp+40]
0003791cadrp x27, 0xa14000
00037920ldr x0, [x27+1760]
00037924str x0, [sp+48]
00037928bl runtime.heapRetained
0003792cldr x1, [sp+40]
00037930ldr x2, [sp+48]
00037934add x1, x1, x2
00037938sub x1, x1, 1
0003793csub x2, xzr, x2
00037940and x1, x1, x2
00037944subs xzr, x0, x1
00037948b.ls 0x37960
0003794csub x2, x0, x1
00037950adrp x27, 0xa14000
00037954ldr x3, [x27+1760]
00037958subs xzr, x3, x2
0003795cb.ls 0x37974
00037960
00037960loc_37960:
00037960adrp x0, 0xa14000
00037964add x0, x0, 3488
00037968movn x1, 0
0003796cbl internal/runtime/atomic.(*Uint64).Store
00037970b 0x37980
00037974
00037974loc_37974:
00037974adrp x0, 0xa14000
00037978add x0, x0, 3488
0003797cbl internal/runtime/atomic.(*Uint64).Store
00037980
00037980loc_37980:
00037980ldur x29, [sp-8]
00037984ldr x30, [sp], 64
00037988ret x30
0003798c
0003798cloc_3798c:
0003798cadrp x0, 0xa14000
00037990add x0, x0, 3488
00037994movn x1, 0
00037998bl internal/runtime/atomic.(*Uint64).Store
0003799cldur x29, [sp-8]
000379a0ldr x30, [sp], 64
000379a4ret x30
000379a8
000379a8loc_379a8:
000379a8stp x0, x1, [sp+8]
000379acstr x2, [sp+24]
000379b0mov x3, x30
000379b4bl runtime.morestack_noctxt.abi0
000379b8ldp x0, x1, [sp+8]
000379bcldr x2, [sp+24]
000379c0b 0x37850
000379c4udf 0
000379c8udf 0
000379ccudf 0
00037850
00037850runtime.gcPaceScavenger: ; void runtime.gcPaceScavenger(int64 memoryLimit, uint64 heapGoal, uint64 lastHeapGoal)
00037850ldr x16, [x28+16]
00037854subs xzr, sp, x16
00037858b.ls 0x379a8
0003785cstr x30, [sp-64]!
00037860stur x29, [sp-8]
00037864sub x29, sp, 8
00037868str x0, [sp+72]
0003786cstr x1, [sp+80]
00037870str x2, [sp+88]
00037874adrp x0, 0x9fb000
00037878add x0, x0, 2112
0003787cbl runtime.assertWorldStoppedOrLockHeld
00037880ldr x1, [sp+72]
00037884scvtf d0, x1
00037888adrp x27, 0x6d9000
0003788cldr d1, [x27+3184]
00037890fmul d0, d1, d0
00037894fcvtzu x1, d0
00037898str x1, [sp+32]
0003789cadrp x0, 0xa15000
000378a0add x0, x0, 2808
000378a4bl internal/runtime/atomic.(*Uint64).Load
000378a8ldr x1, [sp+32]
000378acsubs xzr, x0, x1
000378b0b.hi 0x378c8
000378b4adrp x0, 0xa14000
000378b8add x0, x0, 3496
000378bcmovn x1, 0
000378c0bl internal/runtime/atomic.(*Uint64).Store
000378c4b 0x378d4
000378c8
000378c8loc_378c8:
000378c8adrp x0, 0xa14000
000378ccadd x0, x0, 3496
000378d0bl internal/runtime/atomic.(*Uint64).Store
000378d4
000378d4loc_378d4:
000378d4ldr x0, [sp+88]
000378d8cbz x0, 0x3798c
000378dcldr x1, [sp+80]
000378e0ucvtf d0, x1
000378e4ucvtf d1, x0
000378e8fdiv d0, d0, d1
000378ecadrp x27, 0xa1b000
000378f0ldr x0, [x27+592]
000378f4ucvtf d1, x0
000378f8fmul d0, d0, d1
000378fcfcvtzu x0, d0
00037900movz x1, 52429
00037904movk x1, 0xcccc0000
00037908movk x1, 0xcccc00000000
0003790cmovk x1, 0xcccc000000000000
00037910umulh x1, x1, x0
00037914add x0, x0, x1, lsr #3
00037918str x0, [sp+40]
0003791cadrp x27, 0xa14000
00037920ldr x0, [x27+1760]
00037924str x0, [sp+48]
00037928bl runtime.heapRetained
0003792cldr x1, [sp+40]
00037930ldr x2, [sp+48]
00037934add x1, x1, x2
00037938sub x1, x1, 1
0003793csub x2, xzr, x2
00037940and x1, x1, x2
00037944subs xzr, x0, x1
00037948b.ls 0x37960
0003794csub x2, x0, x1
00037950adrp x27, 0xa14000
00037954ldr x3, [x27+1760]
00037958subs xzr, x3, x2
0003795cb.ls 0x37974
00037960
00037960loc_37960:
00037960adrp x0, 0xa14000
00037964add x0, x0, 3488
00037968movn x1, 0
0003796cbl internal/runtime/atomic.(*Uint64).Store
00037970b 0x37980
00037974
00037974loc_37974:
00037974adrp x0, 0xa14000
00037978add x0, x0, 3488
0003797cbl internal/runtime/atomic.(*Uint64).Store
00037980
00037980loc_37980:
00037980ldur x29, [sp-8]
00037984ldr x30, [sp], 64
00037988ret x30
0003798c
0003798cloc_3798c:
0003798cadrp x0, 0xa14000
00037990add x0, x0, 3488
00037994movn x1, 0
00037998bl internal/runtime/atomic.(*Uint64).Store
0003799cldur x29, [sp-8]
000379a0ldr x30, [sp], 64
000379a4ret x30
000379a8
000379a8loc_379a8:
000379a8stp x0, x1, [sp+8]
000379acstr x2, [sp+24]
000379b0mov x3, x30
000379b4bl runtime.morestack_noctxt.abi0
000379b8ldp x0, x1, [sp+8]
000379bcldr x2, [sp+24]
000379c0b 0x37850
000379c4udf 0
000379c8udf 0
000379ccudf 0
00037850
000379d0
000379d0runtime.(*scavengerState).init: ; void runtime.(*scavengerState).init(runtime.scavengerState * s)
000379d0ldr x16, [x28+16]
000379d4subs xzr, sp, x16
000379d8b.ls 0x37b64
000379dcstr x30, [sp-64]!
000379e0stur x29, [sp-8]
000379e4sub x29, sp, 8
000379e8ldr x2, [x0+8]
000379eccbnz x2, 0x37b50
000379f0str x0, [sp+72]
000379f4orr x1, xzr, 2
000379f8bl runtime.lockInit
000379fcstr x28, [sp+48]
00037a00adrp x27, 0xa14000
00037a04ldr w2, [x27+3056]
00037a08cbnz w2, 0x37a14
00037a0cldr x1, [sp+72]
00037a10b 0x37a28
00037a14
00037a14loc_37a14:
00037a14bl runtime.gcWriteBarrier2
00037a18str x28, [x25]
00037a1cldr x1, [sp+72]
00037a20ldr x2, [x1+8]
00037a24str x2, [x25+8]
00037a28
00037a28loc_37a28:
00037a28ldr x2, [sp+48]
00037a2cstr x2, [x1+8]
00037a30adrp x0, 0x665000
00037a34add x0, x0, 3200
00037a38bl runtime.newobject
00037a3cadrp x27, 0xa14000
00037a40ldr w1, [x27+3056]
00037a44cbnz w1, 0x37a50
00037a48ldr x3, [sp+72]
00037a4cb 0x37a64
00037a50
00037a50loc_37a50:
00037a50bl runtime.gcWriteBarrier2
00037a54str x0, [x25]
00037a58ldr x3, [sp+72]
00037a5cldr x4, [x3+16]
00037a60str x4, [x25+8]
00037a64
00037a64loc_37a64:
00037a64str x0, [x3+16]
00037a68adrp x1, 0x6a1000
00037a6cadd x1, x1, 1592
00037a70adrp x2, 0x626000
00037a74add x2, x2, 2464
00037a78bl runtime.(*timer).init
00037a7cadrp x27, 0x6e1000
00037a80add x27, x27, 3400
00037a84ldp x4, x5, [x27]
00037a88adrp x27, 0x6e1000
00037a8cadd x27, x27, 3416
00037a90ldp x6, x7, [x27]
00037a94adrp x27, 0x6e1000
00037a98add x27, x27, 3432
00037a9cldp x8, x9, [x27]
00037aa0ldr x10, [sp+72]
00037aa4stp x4, x5, [x10+48]
00037aa8stp x6, x7, [x10+64]
00037aacstp x8, x9, [x10+80]
00037ab0str xzr, [x10+96]
00037ab4adrp x27, 0x6d9000
00037ab8ldr d0, [x27+3160]
00037abcstr d0, [x10+40]
00037ac0ldr x4, [x10+120]
00037ac4cbnz x4, 0x37aec
00037ac8adrp x27, 0xa14000
00037accldr w0, [x27+3056]
00037ad0cbz w0, 0x37ae0
00037ad4ldr x0, [x10+120]
00037ad8bl runtime.gcWriteBarrier1
00037adcstr x0, [x25]
00037ae0
00037ae0loc_37ae0:
00037ae0adrp x0, 0x6a1000
00037ae4add x0, x0, 1600
00037ae8str x0, [x10+120]
00037aec
00037aecloc_37aec:
00037aecldr x0, [x10+128]
00037af0cbnz x0, 0x37b18
00037af4adrp x27, 0xa14000
00037af8ldr w0, [x27+3056]
00037afccbz w0, 0x37b0c
00037b00ldr x0, [x10+128]
00037b04bl runtime.gcWriteBarrier1
00037b08str x0, [x25]
00037b0c
00037b0cloc_37b0c:
00037b0cadrp x0, 0x6a1000
00037b10add x0, x0, 1608
00037b14str x0, [x10+128]
00037b18
00037b18loc_37b18:
00037b18ldr x0, [x10+136]
00037b1ccbnz x0, 0x37b44
00037b20adrp x27, 0xa14000
00037b24ldr w0, [x27+3056]
00037b28cbz w0, 0x37b38
00037b2cldr x0, [x10+136]
00037b30bl runtime.gcWriteBarrier1
00037b34str x0, [x25]
00037b38
00037b38loc_37b38:
00037b38adrp x0, 0x6a1000
00037b3cadd x0, x0, 1616
00037b40str x0, [x10+136]
00037b44
00037b44loc_37b44:
00037b44ldur x29, [sp-8]
00037b48ldr x30, [sp], 64
00037b4cret x30
00037b50
00037b50loc_37b50:
00037b50adrp x0, 0x687000
00037b54add x0, x0, 1232
00037b58orr x1, xzr, 32
00037b5cbl runtime.throw
00037b60hint
00037b64
00037b64loc_37b64:
00037b64str x0, [sp+8]
00037b68mov x3, x30
00037b6cbl runtime.morestack_noctxt.abi0
00037b70ldr x0, [sp+8]
00037b74b 0x379d0
00037b78udf 0
00037b7cudf 0
000379d0
000379d0runtime.(*scavengerState).init: ; void runtime.(*scavengerState).init(runtime.scavengerState * s)
000379d0ldr x16, [x28+16]
000379d4subs xzr, sp, x16
000379d8b.ls 0x37b64
000379dcstr x30, [sp-64]!
000379e0stur x29, [sp-8]
000379e4sub x29, sp, 8
000379e8ldr x2, [x0+8]
000379eccbnz x2, 0x37b50
000379f0str x0, [sp+72]
000379f4orr x1, xzr, 2
000379f8bl runtime.lockInit
000379fcstr x28, [sp+48]
00037a00adrp x27, 0xa14000
00037a04ldr w2, [x27+3056]
00037a08cbnz w2, 0x37a14
00037a0cldr x1, [sp+72]
00037a10b 0x37a28
00037a14
00037a14loc_37a14:
00037a14bl runtime.gcWriteBarrier2
00037a18str x28, [x25]
00037a1cldr x1, [sp+72]
00037a20ldr x2, [x1+8]
00037a24str x2, [x25+8]
00037a28
00037a28loc_37a28:
00037a28ldr x2, [sp+48]
00037a2cstr x2, [x1+8]
00037a30adrp x0, 0x665000
00037a34add x0, x0, 3200
00037a38bl runtime.newobject
00037a3cadrp x27, 0xa14000
00037a40ldr w1, [x27+3056]
00037a44cbnz w1, 0x37a50
00037a48ldr x3, [sp+72]
00037a4cb 0x37a64
00037a50
00037a50loc_37a50:
00037a50bl runtime.gcWriteBarrier2
00037a54str x0, [x25]
00037a58ldr x3, [sp+72]
00037a5cldr x4, [x3+16]
00037a60str x4, [x25+8]
00037a64
00037a64loc_37a64:
00037a64str x0, [x3+16]
00037a68adrp x1, 0x6a1000
00037a6cadd x1, x1, 1592
00037a70adrp x2, 0x626000
00037a74add x2, x2, 2464
00037a78bl runtime.(*timer).init
00037a7cadrp x27, 0x6e1000
00037a80add x27, x27, 3400
00037a84ldp x4, x5, [x27]
00037a88adrp x27, 0x6e1000
00037a8cadd x27, x27, 3416
00037a90ldp x6, x7, [x27]
00037a94adrp x27, 0x6e1000
00037a98add x27, x27, 3432
00037a9cldp x8, x9, [x27]
00037aa0ldr x10, [sp+72]
00037aa4stp x4, x5, [x10+48]
00037aa8stp x6, x7, [x10+64]
00037aacstp x8, x9, [x10+80]
00037ab0str xzr, [x10+96]
00037ab4adrp x27, 0x6d9000
00037ab8ldr d0, [x27+3160]
00037abcstr d0, [x10+40]
00037ac0ldr x4, [x10+120]
00037ac4cbnz x4, 0x37aec
00037ac8adrp x27, 0xa14000
00037accldr w0, [x27+3056]
00037ad0cbz w0, 0x37ae0
00037ad4ldr x0, [x10+120]
00037ad8bl runtime.gcWriteBarrier1
00037adcstr x0, [x25]
00037ae0
00037ae0loc_37ae0:
00037ae0adrp x0, 0x6a1000
00037ae4add x0, x0, 1600
00037ae8str x0, [x10+120]
00037aec
00037aecloc_37aec:
00037aecldr x0, [x10+128]
00037af0cbnz x0, 0x37b18
00037af4adrp x27, 0xa14000
00037af8ldr w0, [x27+3056]
00037afccbz w0, 0x37b0c
00037b00ldr x0, [x10+128]
00037b04bl runtime.gcWriteBarrier1
00037b08str x0, [x25]
00037b0c
00037b0cloc_37b0c:
00037b0cadrp x0, 0x6a1000
00037b10add x0, x0, 1608
00037b14str x0, [x10+128]
00037b18
00037b18loc_37b18:
00037b18ldr x0, [x10+136]
00037b1ccbnz x0, 0x37b44
00037b20adrp x27, 0xa14000
00037b24ldr w0, [x27+3056]
00037b28cbz w0, 0x37b38
00037b2cldr x0, [x10+136]
00037b30bl runtime.gcWriteBarrier1
00037b34str x0, [x25]
00037b38
00037b38loc_37b38:
00037b38adrp x0, 0x6a1000
00037b3cadd x0, x0, 1616
00037b40str x0, [x10+136]
00037b44
00037b44loc_37b44:
00037b44ldur x29, [sp-8]
00037b48ldr x30, [sp], 64
00037b4cret x30
00037b50
00037b50loc_37b50:
00037b50adrp x0, 0x687000
00037b54add x0, x0, 1232
00037b58orr x1, xzr, 32
00037b5cbl runtime.throw
00037b60hint
00037b64
00037b64loc_37b64:
00037b64str x0, [sp+8]
00037b68mov x3, x30
00037b6cbl runtime.morestack_noctxt.abi0
00037b70ldr x0, [sp+8]
00037b74b 0x379d0
00037b78udf 0
00037b7cudf 0
000379d0
00037b80
00037b80runtime.(*scavengerState).park: ; void runtime.(*scavengerState).park(runtime.scavengerState * s)
00037b80ldr x16, [x28+16]
00037b84subs xzr, sp, x16
00037b88b.ls 0x37bec
00037b8cstr x30, [sp-48]!
00037b90stur x29, [sp-8]
00037b94sub x29, sp, 8
00037b98str x0, [sp+56]
00037b9cldrsb x27, [x0]
00037ba0bl runtime.lock
00037ba4ldr x0, [sp+56]
00037ba8ldr x1, [x0+8]
00037bacsubs xzr, x28, x1
00037bb0b.ne 0x37bd8
00037bb4orr x4, xzr, 1
00037bb8strb w4, [x0+28]
00037bbcmovz x1, 13
00037bc0movz x2, 10
00037bc4orr x3, xzr, 2
00037bc8bl runtime.goparkunlock
00037bccldur x29, [sp-8]
00037bd0ldr x30, [sp], 48
00037bd4ret x30
00037bd8
00037bd8loc_37bd8:
00037bd8adrp x0, 0x690000
00037bdcadd x0, x0, 939
00037be0movz x1, 46
00037be4bl runtime.throw
00037be8hint
00037bec
00037becloc_37bec:
00037becstr x0, [sp+8]
00037bf0mov x3, x30
00037bf4bl runtime.morestack_noctxt.abi0
00037bf8ldr x0, [sp+8]
00037bfcb 0x37b80
00037b80
00037b80runtime.(*scavengerState).park: ; void runtime.(*scavengerState).park(runtime.scavengerState * s)
00037b80ldr x16, [x28+16]
00037b84subs xzr, sp, x16
00037b88b.ls 0x37bec
00037b8cstr x30, [sp-48]!
00037b90stur x29, [sp-8]
00037b94sub x29, sp, 8
00037b98str x0, [sp+56]
00037b9cldrsb x27, [x0]
00037ba0bl runtime.lock
00037ba4ldr x0, [sp+56]
00037ba8ldr x1, [x0+8]
00037bacsubs xzr, x28, x1
00037bb0b.ne 0x37bd8
00037bb4orr x4, xzr, 1
00037bb8strb w4, [x0+28]
00037bbcmovz x1, 13
00037bc0movz x2, 10
00037bc4orr x3, xzr, 2
00037bc8bl runtime.goparkunlock
00037bccldur x29, [sp-8]
00037bd0ldr x30, [sp], 48
00037bd4ret x30
00037bd8
00037bd8loc_37bd8:
00037bd8adrp x0, 0x690000
00037bdcadd x0, x0, 939
00037be0movz x1, 46
00037be4bl runtime.throw
00037be8hint
00037bec
00037becloc_37bec:
00037becstr x0, [sp+8]
00037bf0mov x3, x30
00037bf4bl runtime.morestack_noctxt.abi0
00037bf8ldr x0, [sp+8]
00037bfcb 0x37b80
00037b80
00037c00
00037c00runtime.(*scavengerState).ready: ; void runtime.(*scavengerState).ready(runtime.scavengerState * s)
00037c00ldr x16, [x28+16]
00037c04subs xzr, sp, x16
00037c08b.ls 0x37c34
00037c0cstr x30, [sp-32]!
00037c10stur x29, [sp-8]
00037c14sub x29, sp, 8
00037c18ldrsb x27, [x0]
00037c1cadd x0, x0, 24
00037c20orr x1, xzr, 1
00037c24bl internal/runtime/atomic.(*Uint32).Store
00037c28ldur x29, [sp-8]
00037c2cldr x30, [sp], 32
00037c30ret x30
00037c34
00037c34loc_37c34:
00037c34str x0, [sp+8]
00037c38mov x3, x30
00037c3cbl runtime.morestack_noctxt.abi0
00037c40ldr x0, [sp+8]
00037c44b 0x37c00
00037c48udf 0
00037c4cudf 0
00037c00
00037c00runtime.(*scavengerState).ready: ; void runtime.(*scavengerState).ready(runtime.scavengerState * s)
00037c00ldr x16, [x28+16]
00037c04subs xzr, sp, x16
00037c08b.ls 0x37c34
00037c0cstr x30, [sp-32]!
00037c10stur x29, [sp-8]
00037c14sub x29, sp, 8
00037c18ldrsb x27, [x0]
00037c1cadd x0, x0, 24
00037c20orr x1, xzr, 1
00037c24bl internal/runtime/atomic.(*Uint32).Store
00037c28ldur x29, [sp-8]
00037c2cldr x30, [sp], 32
00037c30ret x30
00037c34
00037c34loc_37c34:
00037c34str x0, [sp+8]
00037c38mov x3, x30
00037c3cbl runtime.morestack_noctxt.abi0
00037c40ldr x0, [sp+8]
00037c44b 0x37c00
00037c48udf 0
00037c4cudf 0
00037c00
00037c50
00037c50runtime.(*scavengerState).wake: ; void runtime.(*scavengerState).wake(runtime.scavengerState * s)
00037c50ldr x16, [x28+16]
00037c54subs xzr, sp, x16
00037c58b.ls 0x37cc0
00037c5cstr x30, [sp-48]!
00037c60stur x29, [sp-8]
00037c64sub x29, sp, 8
00037c68str x0, [sp+56]
00037c6cldrsb x27, [x0]
00037c70bl runtime.lock
00037c74ldr x0, [sp+56]
00037c78ldrb w1, [x0+28]
00037c7ctbz w1, 0, 0x37cb0
00037c80add x0, x0, 24
00037c84mov x1, xzr
00037c88bl internal/runtime/atomic.(*Uint32).Store
00037c8cldr x2, [sp+56]
00037c90strb wzr, [x2+28]
00037c94str xzr, [sp+32]
00037c98ldr x1, [x2+8]
00037c9cadd x0, sp, 32
00037ca0bl runtime.(*gList).push
00037ca4add x0, sp, 32
00037ca8bl runtime.injectglist
00037cacldr x0, [sp+56]
00037cb0
00037cb0loc_37cb0:
00037cb0bl runtime.unlock
00037cb4ldur x29, [sp-8]
00037cb8ldr x30, [sp], 48
00037cbcret x30
00037cc0
00037cc0loc_37cc0:
00037cc0str x0, [sp+8]
00037cc4mov x3, x30
00037cc8bl runtime.morestack_noctxt.abi0
00037cccldr x0, [sp+8]
00037cd0b 0x37c50
00037cd4udf 0
00037cd8udf 0
00037cdcudf 0
00037c50
00037c50runtime.(*scavengerState).wake: ; void runtime.(*scavengerState).wake(runtime.scavengerState * s)
00037c50ldr x16, [x28+16]
00037c54subs xzr, sp, x16
00037c58b.ls 0x37cc0
00037c5cstr x30, [sp-48]!
00037c60stur x29, [sp-8]
00037c64sub x29, sp, 8
00037c68str x0, [sp+56]
00037c6cldrsb x27, [x0]
00037c70bl runtime.lock
00037c74ldr x0, [sp+56]
00037c78ldrb w1, [x0+28]
00037c7ctbz w1, 0, 0x37cb0
00037c80add x0, x0, 24
00037c84mov x1, xzr
00037c88bl internal/runtime/atomic.(*Uint32).Store
00037c8cldr x2, [sp+56]
00037c90strb wzr, [x2+28]
00037c94str xzr, [sp+32]
00037c98ldr x1, [x2+8]
00037c9cadd x0, sp, 32
00037ca0bl runtime.(*gList).push
00037ca4add x0, sp, 32
00037ca8bl runtime.injectglist
00037cacldr x0, [sp+56]
00037cb0
00037cb0loc_37cb0:
00037cb0bl runtime.unlock
00037cb4ldur x29, [sp-8]
00037cb8ldr x30, [sp], 48
00037cbcret x30
00037cc0
00037cc0loc_37cc0:
00037cc0str x0, [sp+8]
00037cc4mov x3, x30
00037cc8bl runtime.morestack_noctxt.abi0
00037cccldr x0, [sp+8]
00037cd0b 0x37c50
00037cd4udf 0
00037cd8udf 0
00037cdcudf 0
00037c50
00037ce0
00037ce0runtime.(*scavengerState).sleep: ; void runtime.(*scavengerState).sleep(runtime.scavengerState * s, float64 worked)
00037ce0ldr x16, [x28+16]
00037ce4subs xzr, sp, x16
00037ce8b.ls 0x37ebc
00037cecstr x30, [sp-96]!
00037cf0stur x29, [sp-8]
00037cf4sub x29, sp, 8
00037cf8str x0, [sp+104]
00037cfcstr d0, [sp+112]
00037d00ldrsb x27, [x0]
00037d04bl runtime.lock
00037d08ldr x0, [sp+104]
00037d0cldr x1, [x0+8]
00037d10subs xzr, x28, x1
00037d14b.ne 0x37ea8
00037d18ldr d0, [sp+112]
00037d1cadrp x27, 0x6d9000
00037d20ldr d1, [x27+3240]
00037d24fcmp d0, d1
00037d28b.pl 0x37d34
00037d2cadrp x27, 0x6d9000
00037d30ldr d0, [x27+3240]
00037d34
00037d34loc_37d34:
00037d34str d0, [sp+80]
00037d38ldr d1, [x0+40]
00037d3cfdiv d1, d0, d1
00037d40fcvtzs x1, d1
00037d44str x1, [sp+56]
00037d48ldr x2, [x0+112]
00037d4ccbz x2, 0x37d6c
00037d50bl runtime.unlock
00037d54ldr x1, [sp+104]
00037d58ldr x26, [x1+112]
00037d5cldr x1, [x26]
00037d60ldr x0, [sp+56]
00037d64blr x1
00037d68b 0x37de8
00037d6c
00037d6cloc_37d6c:
00037d6cbl runtime.nanotime
00037d70str x0, [sp+48]
00037d74ldr x1, [sp+104]
00037d78ldr x1, [x1+16]
00037d7cldr x2, [sp+56]
00037d80add x0, x2, x0
00037d84mov x2, xzr
00037d88mov x3, x0
00037d8cmov x0, x1
00037d90mov x1, x3
00037d94bl runtime.(*timer).reset
00037d98orr x0, xzr, 1
00037d9cldr x1, [sp+104]
00037da0strb w0, [x1+28]
00037da4mov x0, x1
00037da8movz x1, 19
00037dacorr x2, xzr, 14
00037db0orr x3, xzr, 2
00037db4bl runtime.goparkunlock
00037db8bl runtime.nanotime
00037dbcstr x0, [sp+72]
00037dc0ldr x0, [sp+104]
00037dc4bl runtime.lock
00037dc8ldr x0, [sp+104]
00037dccldr x0, [x0+16]
00037dd0bl runtime.(*timer).stop
00037dd4ldr x0, [sp+104]
00037dd8bl runtime.unlock
00037ddcldr x0, [sp+72]
00037de0ldr x1, [sp+48]
00037de4sub x0, x0, x1
00037de8
00037de8loc_37de8:
00037de8ldr x1, [sp+104]
00037decldr x2, [x1+104]
00037df0subs xzr, x2, 0
00037df4b.le 0x37e28
00037df8ldr d0, [sp+80]
00037dfcfcvtzs x3, d0
00037e00add x0, x0, x3
00037e04subs xzr, x2, x0
00037e08b.ge 0x37e14
00037e0cstr xzr, [x1+104]
00037e10b 0x37e1c
00037e14
00037e14loc_37e14:
00037e14sub x0, x2, x0
00037e18str x0, [x1+104]
00037e1c
00037e1cloc_37e1c:
00037e1cldur x29, [sp-8]
00037e20ldr x30, [sp], 96
00037e24ret x30
00037e28
00037e28loc_37e28:
00037e28scvtf d0, x0
00037e2cldr d1, [sp+80]
00037e30fadd d0, d1, d0
00037e34str d0, [sp+64]
00037e38ldr x26, [x1+136]
00037e3cldr x0, [x26]
00037e40blr x0
00037e44scvtf d0, w0
00037e48ldr d2, [sp+64]
00037e4cfmul d0, d2, d0
00037e50ldr d1, [sp+80]
00037e54fdiv d0, d1, d0
00037e58ldr x0, [sp+104]
00037e5cadd x0, x0, 48
00037e60adrp x27, 0x6d9000
00037e64ldr d1, [x27+3168]
00037e68bl runtime.(*piController).next
00037e6cldr x1, [sp+104]
00037e70str d0, [x1+40]
00037e74tbnz w0, 0, 0x37e9c
00037e78adrp x27, 0x6d9000
00037e7cldr d0, [x27+3160]
00037e80str d0, [x1+40]
00037e84movz x2, 61952
00037e88movk x2, 0x2a050000
00037e8cmovk x2, 0x100000000
00037e90str x2, [x1+104]
00037e94mov x0, x1
00037e98bl runtime.(*scavengerState).controllerFailed
00037e9c
00037e9cloc_37e9c:
00037e9cldur x29, [sp-8]
00037ea0ldr x30, [sp], 96
00037ea4ret x30
00037ea8
00037ea8loc_37ea8:
00037ea8adrp x0, 0x690000
00037eacadd x0, x0, 3292
00037eb0movz x1, 47
00037eb4bl runtime.throw
00037eb8hint
00037ebc
00037ebcloc_37ebc:
00037ebcstr x0, [sp+8]
00037ec0str d0, [sp+16]
00037ec4mov x3, x30
00037ec8bl runtime.morestack_noctxt.abi0
00037eccldr x0, [sp+8]
00037ed0ldr d0, [sp+16]
00037ed4b 0x37ce0
00037ed8udf 0
00037edcudf 0
00037ce0
00037ce0runtime.(*scavengerState).sleep: ; void runtime.(*scavengerState).sleep(runtime.scavengerState * s, float64 worked)
00037ce0ldr x16, [x28+16]
00037ce4subs xzr, sp, x16
00037ce8b.ls 0x37ebc
00037cecstr x30, [sp-96]!
00037cf0stur x29, [sp-8]
00037cf4sub x29, sp, 8
00037cf8str x0, [sp+104]
00037cfcstr d0, [sp+112]
00037d00ldrsb x27, [x0]
00037d04bl runtime.lock
00037d08ldr x0, [sp+104]
00037d0cldr x1, [x0+8]
00037d10subs xzr, x28, x1
00037d14b.ne 0x37ea8
00037d18ldr d0, [sp+112]
00037d1cadrp x27, 0x6d9000
00037d20ldr d1, [x27+3240]
00037d24fcmp d0, d1
00037d28b.pl 0x37d34
00037d2cadrp x27, 0x6d9000
00037d30ldr d0, [x27+3240]
00037d34
00037d34loc_37d34:
00037d34str d0, [sp+80]
00037d38ldr d1, [x0+40]
00037d3cfdiv d1, d0, d1
00037d40fcvtzs x1, d1
00037d44str x1, [sp+56]
00037d48ldr x2, [x0+112]
00037d4ccbz x2, 0x37d6c
00037d50bl runtime.unlock
00037d54ldr x1, [sp+104]
00037d58ldr x26, [x1+112]
00037d5cldr x1, [x26]
00037d60ldr x0, [sp+56]
00037d64blr x1
00037d68b 0x37de8
00037d6c
00037d6cloc_37d6c:
00037d6cbl runtime.nanotime
00037d70str x0, [sp+48]
00037d74ldr x1, [sp+104]
00037d78ldr x1, [x1+16]
00037d7cldr x2, [sp+56]
00037d80add x0, x2, x0
00037d84mov x2, xzr
00037d88mov x3, x0
00037d8cmov x0, x1
00037d90mov x1, x3
00037d94bl runtime.(*timer).reset
00037d98orr x0, xzr, 1
00037d9cldr x1, [sp+104]
00037da0strb w0, [x1+28]
00037da4mov x0, x1
00037da8movz x1, 19
00037dacorr x2, xzr, 14
00037db0orr x3, xzr, 2
00037db4bl runtime.goparkunlock
00037db8bl runtime.nanotime
00037dbcstr x0, [sp+72]
00037dc0ldr x0, [sp+104]
00037dc4bl runtime.lock
00037dc8ldr x0, [sp+104]
00037dccldr x0, [x0+16]
00037dd0bl runtime.(*timer).stop
00037dd4ldr x0, [sp+104]
00037dd8bl runtime.unlock
00037ddcldr x0, [sp+72]
00037de0ldr x1, [sp+48]
00037de4sub x0, x0, x1
00037de8
00037de8loc_37de8:
00037de8ldr x1, [sp+104]
00037decldr x2, [x1+104]
00037df0subs xzr, x2, 0
00037df4b.le 0x37e28
00037df8ldr d0, [sp+80]
00037dfcfcvtzs x3, d0
00037e00add x0, x0, x3
00037e04subs xzr, x2, x0
00037e08b.ge 0x37e14
00037e0cstr xzr, [x1+104]
00037e10b 0x37e1c
00037e14
00037e14loc_37e14:
00037e14sub x0, x2, x0
00037e18str x0, [x1+104]
00037e1c
00037e1cloc_37e1c:
00037e1cldur x29, [sp-8]
00037e20ldr x30, [sp], 96
00037e24ret x30
00037e28
00037e28loc_37e28:
00037e28scvtf d0, x0
00037e2cldr d1, [sp+80]
00037e30fadd d0, d1, d0
00037e34str d0, [sp+64]
00037e38ldr x26, [x1+136]
00037e3cldr x0, [x26]
00037e40blr x0
00037e44scvtf d0, w0
00037e48ldr d2, [sp+64]
00037e4cfmul d0, d2, d0
00037e50ldr d1, [sp+80]
00037e54fdiv d0, d1, d0
00037e58ldr x0, [sp+104]
00037e5cadd x0, x0, 48
00037e60adrp x27, 0x6d9000
00037e64ldr d1, [x27+3168]
00037e68bl runtime.(*piController).next
00037e6cldr x1, [sp+104]
00037e70str d0, [x1+40]
00037e74tbnz w0, 0, 0x37e9c
00037e78adrp x27, 0x6d9000
00037e7cldr d0, [x27+3160]
00037e80str d0, [x1+40]
00037e84movz x2, 61952
00037e88movk x2, 0x2a050000
00037e8cmovk x2, 0x100000000
00037e90str x2, [x1+104]
00037e94mov x0, x1
00037e98bl runtime.(*scavengerState).controllerFailed
00037e9c
00037e9cloc_37e9c:
00037e9cldur x29, [sp-8]
00037ea0ldr x30, [sp], 96
00037ea4ret x30
00037ea8
00037ea8loc_37ea8:
00037ea8adrp x0, 0x690000
00037eacadd x0, x0, 3292
00037eb0movz x1, 47
00037eb4bl runtime.throw
00037eb8hint
00037ebc
00037ebcloc_37ebc:
00037ebcstr x0, [sp+8]
00037ec0str d0, [sp+16]
00037ec4mov x3, x30
00037ec8bl runtime.morestack_noctxt.abi0
00037eccldr x0, [sp+8]
00037ed0ldr d0, [sp+16]
00037ed4b 0x37ce0
00037ed8udf 0
00037edcudf 0
00037ce0
00037ee0
00037ee0runtime.(*scavengerState).controllerFailed: ; void runtime.(*scavengerState).controllerFailed(runtime.scavengerState * s)
00037ee0ldr x16, [x28+16]
00037ee4subs xzr, sp, x16
00037ee8b.ls 0x37f20
00037eecstr x30, [sp-32]!
00037ef0stur x29, [sp-8]
00037ef4sub x29, sp, 8
00037ef8str x0, [sp+40]
00037efcldrsb x27, [x0]
00037f00bl runtime.lock
00037f04orr x1, xzr, 1
00037f08ldr x0, [sp+40]
00037f0cstrb w1, [x0+29]
00037f10bl runtime.unlock
00037f14ldur x29, [sp-8]
00037f18ldr x30, [sp], 32
00037f1cret x30
00037f20
00037f20loc_37f20:
00037f20str x0, [sp+8]
00037f24mov x3, x30
00037f28bl runtime.morestack_noctxt.abi0
00037f2cldr x0, [sp+8]
00037f30b 0x37ee0
00037f34udf 0
00037f38udf 0
00037f3cudf 0
00037ee0
00037ee0runtime.(*scavengerState).controllerFailed: ; void runtime.(*scavengerState).controllerFailed(runtime.scavengerState * s)
00037ee0ldr x16, [x28+16]
00037ee4subs xzr, sp, x16
00037ee8b.ls 0x37f20
00037eecstr x30, [sp-32]!
00037ef0stur x29, [sp-8]
00037ef4sub x29, sp, 8
00037ef8str x0, [sp+40]
00037efcldrsb x27, [x0]
00037f00bl runtime.lock
00037f04orr x1, xzr, 1
00037f08ldr x0, [sp+40]
00037f0cstrb w1, [x0+29]
00037f10bl runtime.unlock
00037f14ldur x29, [sp-8]
00037f18ldr x30, [sp], 32
00037f1cret x30
00037f20
00037f20loc_37f20:
00037f20str x0, [sp+8]
00037f24mov x3, x30
00037f28bl runtime.morestack_noctxt.abi0
00037f2cldr x0, [sp+8]
00037f30b 0x37ee0
00037f34udf 0
00037f38udf 0
00037f3cudf 0
00037ee0
00037f40
00037f40runtime.(*scavengerState).run: ; void runtime.(*scavengerState).run(runtime.scavengerState * s)
00037f40ldr x16, [x28+16]
00037f44subs xzr, sp, x16
00037f48b.ls 0x38090
00037f4cstr x30, [sp-48]!
00037f50stur x29, [sp-8]
00037f54sub x29, sp, 8
00037f58str x0, [sp+56]
00037f5cldrsb x27, [x0]
00037f60bl runtime.lock
00037f64ldr x0, [sp+56]
00037f68ldr x1, [x0+8]
00037f6csubs xzr, x28, x1
00037f70b.ne 0x3807c
00037f74bl runtime.unlock
00037f78fmov d0, xzr
00037f7cmov x0, xzr
00037f80b 0x37f8c
00037f84
00037f84loc_37f84:
00037f84fmov d0, d1
00037f88mov x0, x2
00037f8c
00037f8cloc_37f8c:
00037f8cadrp x27, 0x6d9000
00037f90ldr d1, [x27+3240]
00037f94fcmp d0, d1
00037f98b.pl 0x38038
00037f9cstr d0, [sp+32]
00037fa0str x0, [sp+24]
00037fa4ldr x0, [sp+56]
00037fa8ldr x26, [x0+128]
00037facldr x0, [x26]
00037fb0blr x0
00037fb4tbnz w0, 0, 0x3802c
00037fb8ldr x1, [sp+56]
00037fbcldr x26, [x1+120]
00037fc0ldr x1, [x26]
00037fc4orr x0, xzr, 0x10000
00037fc8blr x1
00037fcccbnz x1, 0x37ff8
00037fd0adrp x27, 0xa14000
00037fd4ldr x2, [x27+1760]
00037fd8cbz x2, 0x38078
00037fdcudiv x2, x0, x2
00037fe0ucvtf d1, x2
00037fe4ldr d2, [sp+32]
00037fe8adrp x27, 0x6d9000
00037fecldr d3, [x27+3216]
00037ff0fmadd d1, d1, d3, d2
00037ff4b 0x3800c
00037ff8
00037ff8loc_37ff8:
00037ff8scvtf d2, x1
00037ffcldr d3, [sp+32]
00038000fadd d1, d2, d3
00038004adrp x27, 0x6d8000
00038008ldr d3, [x27+3216]
0003800c
0003800cloc_3800c:
0003800cldr x2, [sp+24]
00038010add x2, x2, x0
00038014subs xzr, x0, 0x10000
00038018b.lo 0x38040
0003801cadrp x27, 0xa13000
00038020ldr x3, [x27+2080]
00038024cbz x3, 0x37f84
00038028b 0x38040
0003802c
0003802cloc_3802c:
0003802cldr x2, [sp+24]
00038030ldr d1, [sp+32]
00038034b 0x38040
00038038
00038038loc_38038:
00038038mov x2, x0
0003803cfmov d1, d0
00038040
00038040loc_38040:
00038040cbz x2, 0x38054
00038044adrp x27, 0xa13000
00038048ldr x3, [x27+1760]
0003804csubs xzr, x2, x3
00038050b.lo 0x38068
00038054
00038054loc_38054:
00038054mov x0, x2
00038058fmov d0, d1
0003805cldur x29, [sp-8]
00038060ldr x30, [sp], 48
00038064ret x30
00038068
00038068loc_38068:
00038068adrp x0, 0x68f000
0003806cadd x0, x0, 985
00038070movz x1, 46
00038074bl runtime.throw
00038078
00038078loc_38078:
00038078bl runtime.panicdivide
0003807c
0003807cloc_3807c:
0003807cadrp x0, 0x68e000
00038080add x0, x0, 3141
00038084movz x1, 45
00038088bl runtime.throw
0003808chint
00038090
00038090loc_38090:
00038090str x0, [sp+8]
00038094mov x3, x30
00038098bl runtime.morestack_noctxt.abi0
0003809cldr x0, [sp+8]
000380a0b 0x37f40
000380a4udf 0
000380a8udf 0
000380acudf 0
00037f40
00037f40runtime.(*scavengerState).run: ; void runtime.(*scavengerState).run(runtime.scavengerState * s)
00037f40ldr x16, [x28+16]
00037f44subs xzr, sp, x16
00037f48b.ls 0x38090
00037f4cstr x30, [sp-48]!
00037f50stur x29, [sp-8]
00037f54sub x29, sp, 8
00037f58str x0, [sp+56]
00037f5cldrsb x27, [x0]
00037f60bl runtime.lock
00037f64ldr x0, [sp+56]
00037f68ldr x1, [x0+8]
00037f6csubs xzr, x28, x1
00037f70b.ne 0x3807c
00037f74bl runtime.unlock
00037f78fmov d0, xzr
00037f7cmov x0, xzr
00037f80b 0x37f8c
00037f84
00037f84loc_37f84:
00037f84fmov d0, d1
00037f88mov x0, x2
00037f8c
00037f8cloc_37f8c:
00037f8cadrp x27, 0x6d9000
00037f90ldr d1, [x27+3240]
00037f94fcmp d0, d1
00037f98b.pl 0x38038
00037f9cstr d0, [sp+32]
00037fa0str x0, [sp+24]
00037fa4ldr x0, [sp+56]
00037fa8ldr x26, [x0+128]
00037facldr x0, [x26]
00037fb0blr x0
00037fb4tbnz w0, 0, 0x3802c
00037fb8ldr x1, [sp+56]
00037fbcldr x26, [x1+120]
00037fc0ldr x1, [x26]
00037fc4orr x0, xzr, 0x10000
00037fc8blr x1
00037fcccbnz x1, 0x37ff8
00037fd0adrp x27, 0xa14000
00037fd4ldr x2, [x27+1760]
00037fd8cbz x2, 0x38078
00037fdcudiv x2, x0, x2
00037fe0ucvtf d1, x2
00037fe4ldr d2, [sp+32]
00037fe8adrp x27, 0x6d9000
00037fecldr d3, [x27+3216]
00037ff0fmadd d1, d1, d3, d2
00037ff4b 0x3800c
00037ff8
00037ff8loc_37ff8:
00037ff8scvtf d2, x1
00037ffcldr d3, [sp+32]
00038000fadd d1, d2, d3
00038004adrp x27, 0x6d8000
00038008ldr d3, [x27+3216]
0003800c
0003800cloc_3800c:
0003800cldr x2, [sp+24]
00038010add x2, x2, x0
00038014subs xzr, x0, 0x10000
00038018b.lo 0x38040
0003801cadrp x27, 0xa13000
00038020ldr x3, [x27+2080]
00038024cbz x3, 0x37f84
00038028b 0x38040
0003802c
0003802cloc_3802c:
0003802cldr x2, [sp+24]
00038030ldr d1, [sp+32]
00038034b 0x38040
00038038
00038038loc_38038:
00038038mov x2, x0
0003803cfmov d1, d0
00038040
00038040loc_38040:
00038040cbz x2, 0x38054
00038044adrp x27, 0xa13000
00038048ldr x3, [x27+1760]
0003804csubs xzr, x2, x3
00038050b.lo 0x38068
00038054
00038054loc_38054:
00038054mov x0, x2
00038058fmov d0, d1
0003805cldur x29, [sp-8]
00038060ldr x30, [sp], 48
00038064ret x30
00038068
00038068loc_38068:
00038068adrp x0, 0x68f000
0003806cadd x0, x0, 985
00038070movz x1, 46
00038074bl runtime.throw
00038078
00038078loc_38078:
00038078bl runtime.panicdivide
0003807c
0003807cloc_3807c:
0003807cadrp x0, 0x68e000
00038080add x0, x0, 3141
00038084movz x1, 45
00038088bl runtime.throw
0003808chint
00038090
00038090loc_38090:
00038090str x0, [sp+8]
00038094mov x3, x30
00038098bl runtime.morestack_noctxt.abi0
0003809cldr x0, [sp+8]
000380a0b 0x37f40
000380a4udf 0
000380a8udf 0
000380acudf 0
00037f40
000380b0
000380b0runtime.bgscavenge: ; void runtime.bgscavenge(chan int c)
000380b0ldr x16, [x28+16]
000380b4subs xzr, sp, x16
000380b8b.ls 0x3813c
000380bcstr x30, [sp-48]!
000380c0stur x29, [sp-8]
000380c4sub x29, sp, 8
000380c8str x0, [sp+56]
000380ccadrp x0, 0x9ec000
000380d0add x0, x0, 544
000380d4bl runtime.(*scavengerState).init
000380d8ldr x0, [sp+56]
000380dcadrp x1, 0x6d7000
000380e0add x1, x1, 152
000380e4bl runtime.chansend1
000380e8adrp x0, 0x9ec000
000380ecadd x0, x0, 544
000380f0bl runtime.(*scavengerState).park
000380f4
000380f4loc_380f4:
000380f4adrp x0, 0x9ec000
000380f8add x0, x0, 544
000380fcbl runtime.(*scavengerState).run
00038100cbnz x0, 0x38114
00038104adrp x0, 0x9ec000
00038108add x0, x0, 544
0003810cbl runtime.(*scavengerState).park
00038110b 0x380f4
00038114
00038114loc_38114:
00038114str d0, [sp+32]
00038118mov x1, x0
0003811cadrp x0, 0xa0a000
00038120add x0, x0, 2384
00038124bl internal/runtime/atomic.(*Uintptr).Add
00038128adrp x0, 0x9ec000
0003812cadd x0, x0, 544
00038130ldr d0, [sp+32]
00038134bl runtime.(*scavengerState).sleep
00038138b 0x380f4
0003813c
0003813cloc_3813c:
0003813cstr x0, [sp+8]
00038140mov x3, x30
00038144bl runtime.morestack_noctxt.abi0
00038148ldr x0, [sp+8]
0003814cb 0x380b0
000380b0
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
Loading..