File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
0003e2d0
0003e2d0runtime.(*mheap).initSpan: ; void runtime.(*mheap).initSpan(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ, runtime.spanClass spanclass, uintptr base, uintptr npages)
0003e2d0ldr x16, [x28+16]
0003e2d4subs xzr, sp, x16
0003e2d8b.ls 0x3e560
0003e2dcstr x30, [sp-64]!
0003e2e0stur x29, [sp-8]
0003e2e4sub x29, sp, 8
0003e2e8str x0, [sp+72]
0003e2ecstr x1, [sp+80]
0003e2f0strb w2, [sp+88]
0003e2f4strb w3, [sp+89]
0003e2f8str x4, [sp+96]
0003e2fcstr x5, [sp+104]
0003e300mov x0, x1
0003e304mov x1, x4
0003e308mov x2, x5
0003e30cbl runtime.(*mspan).init
0003e310ldr x0, [sp+72]
0003e314ldr x1, [sp+96]
0003e318ldr x2, [sp+104]
0003e31cbl runtime.(*mheap).allocNeedsZero
0003e320tbz w0, 0, 0x3e330
0003e324orr x1, xzr, 1
0003e328ldr x2, [sp+80]
0003e32cstrb w1, [x2+100]
0003e330
0003e330loc_3e330:
0003e330ldrb w0, [sp+88]
0003e334bl runtime.spanAllocType.manual
0003e338tbz w0, 0, 0x3e358
0003e33cldr x2, [sp+80]
0003e340str xzr, [x2+40]
0003e344strh wzr, [x2+50]
0003e348add x0, x2, 99
0003e34corr x1, xzr, 2
0003e350bl runtime.(*mSpanStateBox).set
0003e354b 0x3e4a8
0003e358
0003e358loc_3e358:
0003e358ldrb w0, [sp+89]
0003e35cldr x1, [sp+80]
0003e360strb w0, [x1+98]
0003e364bl runtime.spanClass.sizeclass
0003e368ldr x1, [sp+104]
0003e36cubfm x2, x1, 51, 50
0003e370ubfm x3, x0, 0, 7
0003e374cbnz w3, 0x3e390
0003e378ldr x3, [sp+80]
0003e37cstr x2, [x3+104]
0003e380orr x2, xzr, 1
0003e384strh w2, [x3+50]
0003e388str wzr, [x3+92]
0003e38cb 0x3e430
0003e390
0003e390loc_3e390:
0003e390sbfm x0, x0, 0, 7
0003e394subs xzr, x0, 68
0003e398b.hs 0x3e554
0003e39cstr x2, [sp+40]
0003e3a0str x0, [sp+48]
0003e3a4adrp x1, 0x987000
0003e3a8add x1, x1, 480
0003e3acldrh w1, [x1+x0]
0003e3b0ldr x2, [sp+80]
0003e3b4str x1, [x2+104]
0003e3b8ldrb w0, [x2+98]
0003e3bcbl runtime.spanClass.noscan
0003e3c0tbz w0, 0, 0x3e3cc
0003e3c4mov x0, xzr
0003e3c8b 0x3e3d8
0003e3cc
0003e3ccloc_3e3cc:
0003e3ccldr x1, [sp+80]
0003e3d0ldr x0, [x1+104]
0003e3d4bl runtime.heapBitsInSpan
0003e3d8
0003e3d8loc_3e3d8:
0003e3d8tbz w0, 0, 0x3e3fc
0003e3dcldr x1, [sp+40]
0003e3e0sub x1, x1, x1, lsr #6
0003e3e4ldr x2, [sp+80]
0003e3e8ldr x3, [x2+104]
0003e3eccbz x3, 0x3e550
0003e3f0udiv x1, x1, x3
0003e3f4strh w1, [x2+50]
0003e3f8b 0x3e418
0003e3fc
0003e3fcloc_3e3fc:
0003e3fcldr x1, [sp+80]
0003e400ldr x2, [x1+104]
0003e404cbz x2, 0x3e54c
0003e408ldr x3, [sp+40]
0003e40cudiv x2, x3, x2
0003e410strh w2, [x1+50]
0003e414mov x2, x1
0003e418
0003e418loc_3e418:
0003e418ldr x1, [sp+48]
0003e41cadrp x3, 0x988000
0003e420add x3, x3, 2368
0003e424ldr w1, [x3+2*x1]
0003e428str w1, [x2+92]
0003e42cmov x3, x2
0003e430
0003e430loc_3e430:
0003e430strh wzr, [x3+48]
0003e434strh wzr, [x3+52]
0003e438movn x1, 0
0003e43cstr x1, [x3+56]
0003e440ldrh w1, [x3+50]
0003e444mov x0, x1
0003e448bl runtime.newMarkBits
0003e44cldr x1, [sp+80]
0003e450str x0, [x1+72]
0003e454ldrh w1, [x1+50]
0003e458mov x0, x1
0003e45cbl runtime.newAllocBits
0003e460ldr x1, [sp+80]
0003e464str x0, [x1+64]
0003e468mov x0, x1
0003e46cbl runtime.(*mspan).base
0003e470ldr x1, [sp+80]
0003e474ldr x2, [x1+104]
0003e478ldrh w3, [x1+50]
0003e47cmadd x2, x3, x2, x0
0003e480str x2, [x1+112]
0003e484ldr x2, [sp+72]
0003e488ldrsb x27, [x2]
0003e48cadd x3, x1, 88
0003e490add x27, x2, 0x10000
0003e494ldr w2, [x27+320]
0003e498stlr w2, [x3]
0003e49cadd x0, x1, 99
0003e4a0orr x1, xzr, 1
0003e4a4bl runtime.(*mSpanStateBox).set
0003e4a8
0003e4a8loc_3e4a8:
0003e4a8ldr x0, [sp+80]
0003e4acbl runtime.(*mspan).base
0003e4b0mov x1, x0
0003e4b4ldr x2, [sp+104]
0003e4b8ldr x3, [sp+80]
0003e4bcldr x0, [sp+72]
0003e4c0bl runtime.(*mheap).setSpans
0003e4c4ldrb w0, [sp+88]
0003e4c8bl runtime.spanAllocType.manual
0003e4cctbnz w0, 0, 0x3e530
0003e4d0ldr x0, [sp+80]
0003e4d4bl runtime.(*mspan).base
0003e4d8bl runtime.pageIndexOf
0003e4dcsubs xzr, x1, 1024
0003e4e0b.hs 0x3e540
0003e4e4ldrsb x27, [x0]
0003e4e8add x3, x0, 0x10000
0003e4ecadd x3, x3, x1
0003e4f0adrp x27, 0xa0d000
0003e4f4ldrb w4, [x27+1516]
0003e4f8tbz w4, 0, 0x3e504
0003e4fcldsetalb w2, w4, [x3]
0003e500b 0x3e514
0003e504
0003e504loc_3e504:
0003e504ldaxrb w5, [x3]
0003e508orr x4, x5, x2
0003e50cstlxrb w27, w4, [x3]
0003e510cbnz x27, 0x3e504
0003e514
0003e514loc_3e514:
0003e514ldr x2, [sp+72]
0003e518ldrsb x27, [x2]
0003e51cmovz x3, 352
0003e520movk x3, 0x10000
0003e524add x0, x2, x3
0003e528ldr x1, [sp+104]
0003e52cbl internal/runtime/atomic.(*Uintptr).Add
0003e530
0003e530loc_3e530:
0003e530dmb
0003e534ldur x29, [sp-8]
0003e538ldr x30, [sp], 64
0003e53cret x30
0003e540
0003e540loc_3e540:
0003e540mov x0, x1
0003e544orr x1, xzr, 1024
0003e548bl runtime.panicIndexU
0003e54c
0003e54cloc_3e54c:
0003e54cbl runtime.panicdivide
0003e550
0003e550loc_3e550:
0003e550bl runtime.panicdivide
0003e554
0003e554loc_3e554:
0003e554movz x1, 68
0003e558bl runtime.panicIndex
0003e55chint
0003e560
0003e560loc_3e560:
0003e560stp x0, x1, [sp+8]
0003e564strb w2, [sp+24]
0003e568strb w3, [sp+25]
0003e56cstp x4, x5, [sp+32]
0003e570mov x3, x30
0003e574bl runtime.morestack_noctxt.abi0
0003e578ldp x0, x1, [sp+8]
0003e57cldrb w2, [sp+24]
0003e580ldrb w3, [sp+25]
0003e584ldp x4, x5, [sp+32]
0003e588b 0x3e2d0
0003e58cudf 0
0003e2d0
0003e2d0runtime.(*mheap).initSpan: ; void runtime.(*mheap).initSpan(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ, runtime.spanClass spanclass, uintptr base, uintptr npages)
0003e2d0ldr x16, [x28+16]
0003e2d4subs xzr, sp, x16
0003e2d8b.ls 0x3e560
0003e2dcstr x30, [sp-64]!
0003e2e0stur x29, [sp-8]
0003e2e4sub x29, sp, 8
0003e2e8str x0, [sp+72]
0003e2ecstr x1, [sp+80]
0003e2f0strb w2, [sp+88]
0003e2f4strb w3, [sp+89]
0003e2f8str x4, [sp+96]
0003e2fcstr x5, [sp+104]
0003e300mov x0, x1
0003e304mov x1, x4
0003e308mov x2, x5
0003e30cbl runtime.(*mspan).init
0003e310ldr x0, [sp+72]
0003e314ldr x1, [sp+96]
0003e318ldr x2, [sp+104]
0003e31cbl runtime.(*mheap).allocNeedsZero
0003e320tbz w0, 0, 0x3e330
0003e324orr x1, xzr, 1
0003e328ldr x2, [sp+80]
0003e32cstrb w1, [x2+100]
0003e330
0003e330loc_3e330:
0003e330ldrb w0, [sp+88]
0003e334bl runtime.spanAllocType.manual
0003e338tbz w0, 0, 0x3e358
0003e33cldr x2, [sp+80]
0003e340str xzr, [x2+40]
0003e344strh wzr, [x2+50]
0003e348add x0, x2, 99
0003e34corr x1, xzr, 2
0003e350bl runtime.(*mSpanStateBox).set
0003e354b 0x3e4a8
0003e358
0003e358loc_3e358:
0003e358ldrb w0, [sp+89]
0003e35cldr x1, [sp+80]
0003e360strb w0, [x1+98]
0003e364bl runtime.spanClass.sizeclass
0003e368ldr x1, [sp+104]
0003e36cubfm x2, x1, 51, 50
0003e370ubfm x3, x0, 0, 7
0003e374cbnz w3, 0x3e390
0003e378ldr x3, [sp+80]
0003e37cstr x2, [x3+104]
0003e380orr x2, xzr, 1
0003e384strh w2, [x3+50]
0003e388str wzr, [x3+92]
0003e38cb 0x3e430
0003e390
0003e390loc_3e390:
0003e390sbfm x0, x0, 0, 7
0003e394subs xzr, x0, 68
0003e398b.hs 0x3e554
0003e39cstr x2, [sp+40]
0003e3a0str x0, [sp+48]
0003e3a4adrp x1, 0x987000
0003e3a8add x1, x1, 480
0003e3acldrh w1, [x1+x0]
0003e3b0ldr x2, [sp+80]
0003e3b4str x1, [x2+104]
0003e3b8ldrb w0, [x2+98]
0003e3bcbl runtime.spanClass.noscan
0003e3c0tbz w0, 0, 0x3e3cc
0003e3c4mov x0, xzr
0003e3c8b 0x3e3d8
0003e3cc
0003e3ccloc_3e3cc:
0003e3ccldr x1, [sp+80]
0003e3d0ldr x0, [x1+104]
0003e3d4bl runtime.heapBitsInSpan
0003e3d8
0003e3d8loc_3e3d8:
0003e3d8tbz w0, 0, 0x3e3fc
0003e3dcldr x1, [sp+40]
0003e3e0sub x1, x1, x1, lsr #6
0003e3e4ldr x2, [sp+80]
0003e3e8ldr x3, [x2+104]
0003e3eccbz x3, 0x3e550
0003e3f0udiv x1, x1, x3
0003e3f4strh w1, [x2+50]
0003e3f8b 0x3e418
0003e3fc
0003e3fcloc_3e3fc:
0003e3fcldr x1, [sp+80]
0003e400ldr x2, [x1+104]
0003e404cbz x2, 0x3e54c
0003e408ldr x3, [sp+40]
0003e40cudiv x2, x3, x2
0003e410strh w2, [x1+50]
0003e414mov x2, x1
0003e418
0003e418loc_3e418:
0003e418ldr x1, [sp+48]
0003e41cadrp x3, 0x988000
0003e420add x3, x3, 2368
0003e424ldr w1, [x3+2*x1]
0003e428str w1, [x2+92]
0003e42cmov x3, x2
0003e430
0003e430loc_3e430:
0003e430strh wzr, [x3+48]
0003e434strh wzr, [x3+52]
0003e438movn x1, 0
0003e43cstr x1, [x3+56]
0003e440ldrh w1, [x3+50]
0003e444mov x0, x1
0003e448bl runtime.newMarkBits
0003e44cldr x1, [sp+80]
0003e450str x0, [x1+72]
0003e454ldrh w1, [x1+50]
0003e458mov x0, x1
0003e45cbl runtime.newAllocBits
0003e460ldr x1, [sp+80]
0003e464str x0, [x1+64]
0003e468mov x0, x1
0003e46cbl runtime.(*mspan).base
0003e470ldr x1, [sp+80]
0003e474ldr x2, [x1+104]
0003e478ldrh w3, [x1+50]
0003e47cmadd x2, x3, x2, x0
0003e480str x2, [x1+112]
0003e484ldr x2, [sp+72]
0003e488ldrsb x27, [x2]
0003e48cadd x3, x1, 88
0003e490add x27, x2, 0x10000
0003e494ldr w2, [x27+320]
0003e498stlr w2, [x3]
0003e49cadd x0, x1, 99
0003e4a0orr x1, xzr, 1
0003e4a4bl runtime.(*mSpanStateBox).set
0003e4a8
0003e4a8loc_3e4a8:
0003e4a8ldr x0, [sp+80]
0003e4acbl runtime.(*mspan).base
0003e4b0mov x1, x0
0003e4b4ldr x2, [sp+104]
0003e4b8ldr x3, [sp+80]
0003e4bcldr x0, [sp+72]
0003e4c0bl runtime.(*mheap).setSpans
0003e4c4ldrb w0, [sp+88]
0003e4c8bl runtime.spanAllocType.manual
0003e4cctbnz w0, 0, 0x3e530
0003e4d0ldr x0, [sp+80]
0003e4d4bl runtime.(*mspan).base
0003e4d8bl runtime.pageIndexOf
0003e4dcsubs xzr, x1, 1024
0003e4e0b.hs 0x3e540
0003e4e4ldrsb x27, [x0]
0003e4e8add x3, x0, 0x10000
0003e4ecadd x3, x3, x1
0003e4f0adrp x27, 0xa0d000
0003e4f4ldrb w4, [x27+1516]
0003e4f8tbz w4, 0, 0x3e504
0003e4fcldsetalb w2, w4, [x3]
0003e500b 0x3e514
0003e504
0003e504loc_3e504:
0003e504ldaxrb w5, [x3]
0003e508orr x4, x5, x2
0003e50cstlxrb w27, w4, [x3]
0003e510cbnz x27, 0x3e504
0003e514
0003e514loc_3e514:
0003e514ldr x2, [sp+72]
0003e518ldrsb x27, [x2]
0003e51cmovz x3, 352
0003e520movk x3, 0x10000
0003e524add x0, x2, x3
0003e528ldr x1, [sp+104]
0003e52cbl internal/runtime/atomic.(*Uintptr).Add
0003e530
0003e530loc_3e530:
0003e530dmb
0003e534ldur x29, [sp-8]
0003e538ldr x30, [sp], 64
0003e53cret x30
0003e540
0003e540loc_3e540:
0003e540mov x0, x1
0003e544orr x1, xzr, 1024
0003e548bl runtime.panicIndexU
0003e54c
0003e54cloc_3e54c:
0003e54cbl runtime.panicdivide
0003e550
0003e550loc_3e550:
0003e550bl runtime.panicdivide
0003e554
0003e554loc_3e554:
0003e554movz x1, 68
0003e558bl runtime.panicIndex
0003e55chint
0003e560
0003e560loc_3e560:
0003e560stp x0, x1, [sp+8]
0003e564strb w2, [sp+24]
0003e568strb w3, [sp+25]
0003e56cstp x4, x5, [sp+32]
0003e570mov x3, x30
0003e574bl runtime.morestack_noctxt.abi0
0003e578ldp x0, x1, [sp+8]
0003e57cldrb w2, [sp+24]
0003e580ldrb w3, [sp+25]
0003e584ldp x4, x5, [sp+32]
0003e588b 0x3e2d0
0003e58cudf 0
0003e2d0
0003e590
0003e590runtime.(*mheap).grow: ; void runtime.(*mheap).grow(runtime.mheap * h, uintptr npage)
0003e590ldr x16, [x28+16]
0003e594subs xzr, sp, x16
0003e598b.ls 0x3e8ac
0003e59cstr x30, [sp-128]!
0003e5a0stur x29, [sp-8]
0003e5a4sub x29, sp, 8
0003e5a8str x0, [sp+136]
0003e5acstr x1, [sp+144]
0003e5b0ldrsb x27, [x0]
0003e5b4bl runtime.assertLockHeld
0003e5b8ldr x0, [sp+144]
0003e5bcorr x1, xzr, 512
0003e5c0bl runtime.alignUp
0003e5c4str x0, [sp+104]
0003e5c8ldr x1, [sp+136]
0003e5ccadd x27, x1, 0x10000
0003e5d0ldr x1, [x27+696]
0003e5d4add x0, x1, x0, lsl #13
0003e5d8str x0, [sp+64]
0003e5dcadrp x27, 0xa0d000
0003e5e0ldr x1, [x27+1760]
0003e5e4bl runtime.alignUp
0003e5e8ldr x1, [sp+136]
0003e5ecadd x27, x1, 0x10000
0003e5f0ldr x2, [x27+704]
0003e5f4subs xzr, x0, x2
0003e5f8b.hi 0x3e610
0003e5fcadd x27, x1, 0x10000
0003e600ldr x4, [x27+696]
0003e604ldr x5, [sp+64]
0003e608subs xzr, x4, x5
0003e60cb.ls 0x3e7f4
0003e610
0003e610loc_3e610:
0003e610ldr x4, [sp+104]
0003e614ubfm x4, x4, 51, 50
0003e618str x4, [sp+72]
0003e61cmovz x5, 584
0003e620movk x5, 0x10000
0003e624add x2, x1, x5
0003e628mov x0, x1
0003e62cmov x1, x4
0003e630orr x3, xzr, 1
0003e634bl runtime.(*mheap).sysAlloc
0003e638cbz x0, 0x3e758
0003e63cmov x3, x0
0003e640ldr x4, [sp+136]
0003e644add x27, x4, 0x10000
0003e648ldr x5, [x27+704]
0003e64csubs xzr, x0, x5
0003e650b.ne 0x3e668
0003e654add x2, x0, x1
0003e658add x27, x4, 0x10000
0003e65cstr x2, [x27+704]
0003e660mov x0, xzr
0003e664b 0x3e72c
0003e668
0003e668loc_3e668:
0003e668add x27, x4, 0x10000
0003e66cldr x0, [x27+696]
0003e670sub x5, x5, x0
0003e674cbnz x5, 0x3e680
0003e678mov x0, xzr
0003e67cb 0x3e714
0003e680
0003e680loc_3e680:
0003e680str x3, [sp+112]
0003e684str x1, [sp+80]
0003e688str x5, [sp+56]
0003e68cmov x1, x5
0003e690adrp x2, 0xa0e000
0003e694add x2, x2, 2776
0003e698bl runtime.sysMap
0003e69cadrp x0, 0xa12000
0003e6a0add x0, x0, 1056
0003e6a4bl runtime.(*consistentHeapStats).acquire
0003e6a8ldrsb x27, [x0]
0003e6acadd x3, x0, 8
0003e6b0adrp x27, 0xa0d000
0003e6b4ldrb w4, [x27+1516]
0003e6b8tbz w4, 0, 0x3e6cc
0003e6bcldr x1, [sp+56]
0003e6c0ldaddal x1, x2, [x3]
0003e6c4add x2, x2, x1
0003e6c8b 0x3e6e0
0003e6cc
0003e6ccloc_3e6cc:
0003e6ccldr x1, [sp+56]
0003e6d0
0003e6d0loc_3e6d0:
0003e6d0ldaxr x2, [x3]
0003e6d4add x2, x2, x1
0003e6d8stlxr w27, x2, [x3]
0003e6dccbnz x27, 0x3e6d0
0003e6e0
0003e6e0loc_3e6e0:
0003e6e0adrp x0, 0xa12000
0003e6e4add x0, x0, 1056
0003e6e8bl runtime.(*consistentHeapStats).release
0003e6ecldr x1, [sp+136]
0003e6f0add x0, x1, 8
0003e6f4add x27, x1, 0x10000
0003e6f8ldr x1, [x27+696]
0003e6fcldr x2, [sp+56]
0003e700bl runtime.(*pageAlloc).grow
0003e704ldr x1, [sp+80]
0003e708ldr x3, [sp+112]
0003e70cldr x4, [sp+136]
0003e710ldr x0, [sp+56]
0003e714
0003e714loc_3e714:
0003e714mov x2, x3
0003e718add x27, x4, 0x10000
0003e71cstr x3, [x27+696]
0003e720add x2, x2, x1
0003e724add x27, x4, 0x10000
0003e728str x2, [x27+704]
0003e72c
0003e72cloc_3e72c:
0003e72cstr x0, [sp+48]
0003e730adrp x27, 0xa0d000
0003e734ldr x1, [x27+1760]
0003e738add x27, x4, 0x10000
0003e73cldr x2, [x27+696]
0003e740ldr x3, [sp+104]
0003e744add x0, x2, x3, lsl #13
0003e748bl runtime.alignUp
0003e74cldr x1, [sp+136]
0003e750ldr x2, [sp+48]
0003e754b 0x3e7f8
0003e758
0003e758loc_3e758:
0003e758adrp x0, 0xa0e000
0003e75cadd x0, x0, 2784
0003e760bl runtime.(*sysMemStat).load
0003e764str x0, [sp+96]
0003e768adrp x0, 0xa0e000
0003e76cadd x0, x0, 2776
0003e770bl runtime.(*sysMemStat).load
0003e774ldr x1, [sp+96]
0003e778add x1, x1, x0
0003e77cstr x1, [sp+96]
0003e780adrp x0, 0xa0e000
0003e784add x0, x0, 2768
0003e788bl runtime.(*sysMemStat).load
0003e78cstr x0, [sp+88]
0003e790bl runtime.printlock
0003e794adrp x0, 0x686000
0003e798add x0, x0, 139
0003e79cmovz x1, 40
0003e7a0bl runtime.printstring
0003e7a4ldr x0, [sp+72]
0003e7a8bl runtime.printuint
0003e7acadrp x0, 0x675000
0003e7b0add x0, x0, 1576
0003e7b4movz x1, 13
0003e7b8bl runtime.printstring
0003e7bcldr x1, [sp+96]
0003e7c0ldr x2, [sp+88]
0003e7c4add x0, x1, x2
0003e7c8bl runtime.printuint
0003e7ccadrp x0, 0x673000
0003e7d0add x0, x0, 2884
0003e7d4movz x1, 9
0003e7d8bl runtime.printstring
0003e7dcbl runtime.printunlock
0003e7e0mov x0, xzr
0003e7e4mov x1, xzr
0003e7e8ldur x29, [sp-8]
0003e7ecldr x30, [sp], 128
0003e7f0ret x30
0003e7f4
0003e7f4loc_3e7f4:
0003e7f4mov x2, xzr
0003e7f8
0003e7f8loc_3e7f8:
0003e7f8str x2, [sp+48]
0003e7fcadd x27, x1, 0x10000
0003e800ldr x3, [x27+696]
0003e804str x3, [sp+40]
0003e808add x27, x1, 0x10000
0003e80cstr x0, [x27+696]
0003e810mov x4, x3
0003e814sub x1, x0, x4
0003e818str x1, [sp+104]
0003e81cmov x0, x3
0003e820adrp x2, 0xa0e000
0003e824add x2, x2, 2776
0003e828bl runtime.sysMap
0003e82cadrp x0, 0xa12000
0003e830add x0, x0, 1056
0003e834bl runtime.(*consistentHeapStats).acquire
0003e838ldrsb x27, [x0]
0003e83cadd x3, x0, 8
0003e840adrp x27, 0xa0d000
0003e844ldrb w4, [x27+1516]
0003e848tbz w4, 0, 0x3e85c
0003e84cldr x1, [sp+104]
0003e850ldaddal x1, x2, [x3]
0003e854add x2, x2, x1
0003e858b 0x3e870
0003e85c
0003e85cloc_3e85c:
0003e85cldr x1, [sp+104]
0003e860
0003e860loc_3e860:
0003e860ldaxr x2, [x3]
0003e864add x2, x2, x1
0003e868stlxr w27, x2, [x3]
0003e86ccbnz x27, 0x3e860
0003e870
0003e870loc_3e870:
0003e870adrp x0, 0xa12000
0003e874add x0, x0, 1056
0003e878bl runtime.(*consistentHeapStats).release
0003e87cldr x1, [sp+136]
0003e880add x0, x1, 8
0003e884ldr x1, [sp+40]
0003e888ldr x2, [sp+104]
0003e88cbl runtime.(*pageAlloc).grow
0003e890ldr x1, [sp+48]
0003e894ldr x2, [sp+104]
0003e898add x0, x1, x2
0003e89corr x1, xzr, 1
0003e8a0ldur x29, [sp-8]
0003e8a4ldr x30, [sp], 128
0003e8a8ret x30
0003e8ac
0003e8acloc_3e8ac:
0003e8acstp x0, x1, [sp+8]
0003e8b0mov x3, x30
0003e8b4bl runtime.morestack_noctxt.abi0
0003e8b8ldp x0, x1, [sp+8]
0003e8bcb 0x3e590
0003e590
0003e590runtime.(*mheap).grow: ; void runtime.(*mheap).grow(runtime.mheap * h, uintptr npage)
0003e590ldr x16, [x28+16]
0003e594subs xzr, sp, x16
0003e598b.ls 0x3e8ac
0003e59cstr x30, [sp-128]!
0003e5a0stur x29, [sp-8]
0003e5a4sub x29, sp, 8
0003e5a8str x0, [sp+136]
0003e5acstr x1, [sp+144]
0003e5b0ldrsb x27, [x0]
0003e5b4bl runtime.assertLockHeld
0003e5b8ldr x0, [sp+144]
0003e5bcorr x1, xzr, 512
0003e5c0bl runtime.alignUp
0003e5c4str x0, [sp+104]
0003e5c8ldr x1, [sp+136]
0003e5ccadd x27, x1, 0x10000
0003e5d0ldr x1, [x27+696]
0003e5d4add x0, x1, x0, lsl #13
0003e5d8str x0, [sp+64]
0003e5dcadrp x27, 0xa0d000
0003e5e0ldr x1, [x27+1760]
0003e5e4bl runtime.alignUp
0003e5e8ldr x1, [sp+136]
0003e5ecadd x27, x1, 0x10000
0003e5f0ldr x2, [x27+704]
0003e5f4subs xzr, x0, x2
0003e5f8b.hi 0x3e610
0003e5fcadd x27, x1, 0x10000
0003e600ldr x4, [x27+696]
0003e604ldr x5, [sp+64]
0003e608subs xzr, x4, x5
0003e60cb.ls 0x3e7f4
0003e610
0003e610loc_3e610:
0003e610ldr x4, [sp+104]
0003e614ubfm x4, x4, 51, 50
0003e618str x4, [sp+72]
0003e61cmovz x5, 584
0003e620movk x5, 0x10000
0003e624add x2, x1, x5
0003e628mov x0, x1
0003e62cmov x1, x4
0003e630orr x3, xzr, 1
0003e634bl runtime.(*mheap).sysAlloc
0003e638cbz x0, 0x3e758
0003e63cmov x3, x0
0003e640ldr x4, [sp+136]
0003e644add x27, x4, 0x10000
0003e648ldr x5, [x27+704]
0003e64csubs xzr, x0, x5
0003e650b.ne 0x3e668
0003e654add x2, x0, x1
0003e658add x27, x4, 0x10000
0003e65cstr x2, [x27+704]
0003e660mov x0, xzr
0003e664b 0x3e72c
0003e668
0003e668loc_3e668:
0003e668add x27, x4, 0x10000
0003e66cldr x0, [x27+696]
0003e670sub x5, x5, x0
0003e674cbnz x5, 0x3e680
0003e678mov x0, xzr
0003e67cb 0x3e714
0003e680
0003e680loc_3e680:
0003e680str x3, [sp+112]
0003e684str x1, [sp+80]
0003e688str x5, [sp+56]
0003e68cmov x1, x5
0003e690adrp x2, 0xa0e000
0003e694add x2, x2, 2776
0003e698bl runtime.sysMap
0003e69cadrp x0, 0xa12000
0003e6a0add x0, x0, 1056
0003e6a4bl runtime.(*consistentHeapStats).acquire
0003e6a8ldrsb x27, [x0]
0003e6acadd x3, x0, 8
0003e6b0adrp x27, 0xa0d000
0003e6b4ldrb w4, [x27+1516]
0003e6b8tbz w4, 0, 0x3e6cc
0003e6bcldr x1, [sp+56]
0003e6c0ldaddal x1, x2, [x3]
0003e6c4add x2, x2, x1
0003e6c8b 0x3e6e0
0003e6cc
0003e6ccloc_3e6cc:
0003e6ccldr x1, [sp+56]
0003e6d0
0003e6d0loc_3e6d0:
0003e6d0ldaxr x2, [x3]
0003e6d4add x2, x2, x1
0003e6d8stlxr w27, x2, [x3]
0003e6dccbnz x27, 0x3e6d0
0003e6e0
0003e6e0loc_3e6e0:
0003e6e0adrp x0, 0xa12000
0003e6e4add x0, x0, 1056
0003e6e8bl runtime.(*consistentHeapStats).release
0003e6ecldr x1, [sp+136]
0003e6f0add x0, x1, 8
0003e6f4add x27, x1, 0x10000
0003e6f8ldr x1, [x27+696]
0003e6fcldr x2, [sp+56]
0003e700bl runtime.(*pageAlloc).grow
0003e704ldr x1, [sp+80]
0003e708ldr x3, [sp+112]
0003e70cldr x4, [sp+136]
0003e710ldr x0, [sp+56]
0003e714
0003e714loc_3e714:
0003e714mov x2, x3
0003e718add x27, x4, 0x10000
0003e71cstr x3, [x27+696]
0003e720add x2, x2, x1
0003e724add x27, x4, 0x10000
0003e728str x2, [x27+704]
0003e72c
0003e72cloc_3e72c:
0003e72cstr x0, [sp+48]
0003e730adrp x27, 0xa0d000
0003e734ldr x1, [x27+1760]
0003e738add x27, x4, 0x10000
0003e73cldr x2, [x27+696]
0003e740ldr x3, [sp+104]
0003e744add x0, x2, x3, lsl #13
0003e748bl runtime.alignUp
0003e74cldr x1, [sp+136]
0003e750ldr x2, [sp+48]
0003e754b 0x3e7f8
0003e758
0003e758loc_3e758:
0003e758adrp x0, 0xa0e000
0003e75cadd x0, x0, 2784
0003e760bl runtime.(*sysMemStat).load
0003e764str x0, [sp+96]
0003e768adrp x0, 0xa0e000
0003e76cadd x0, x0, 2776
0003e770bl runtime.(*sysMemStat).load
0003e774ldr x1, [sp+96]
0003e778add x1, x1, x0
0003e77cstr x1, [sp+96]
0003e780adrp x0, 0xa0e000
0003e784add x0, x0, 2768
0003e788bl runtime.(*sysMemStat).load
0003e78cstr x0, [sp+88]
0003e790bl runtime.printlock
0003e794adrp x0, 0x686000
0003e798add x0, x0, 139
0003e79cmovz x1, 40
0003e7a0bl runtime.printstring
0003e7a4ldr x0, [sp+72]
0003e7a8bl runtime.printuint
0003e7acadrp x0, 0x675000
0003e7b0add x0, x0, 1576
0003e7b4movz x1, 13
0003e7b8bl runtime.printstring
0003e7bcldr x1, [sp+96]
0003e7c0ldr x2, [sp+88]
0003e7c4add x0, x1, x2
0003e7c8bl runtime.printuint
0003e7ccadrp x0, 0x673000
0003e7d0add x0, x0, 2884
0003e7d4movz x1, 9
0003e7d8bl runtime.printstring
0003e7dcbl runtime.printunlock
0003e7e0mov x0, xzr
0003e7e4mov x1, xzr
0003e7e8ldur x29, [sp-8]
0003e7ecldr x30, [sp], 128
0003e7f0ret x30
0003e7f4
0003e7f4loc_3e7f4:
0003e7f4mov x2, xzr
0003e7f8
0003e7f8loc_3e7f8:
0003e7f8str x2, [sp+48]
0003e7fcadd x27, x1, 0x10000
0003e800ldr x3, [x27+696]
0003e804str x3, [sp+40]
0003e808add x27, x1, 0x10000
0003e80cstr x0, [x27+696]
0003e810mov x4, x3
0003e814sub x1, x0, x4
0003e818str x1, [sp+104]
0003e81cmov x0, x3
0003e820adrp x2, 0xa0e000
0003e824add x2, x2, 2776
0003e828bl runtime.sysMap
0003e82cadrp x0, 0xa12000
0003e830add x0, x0, 1056
0003e834bl runtime.(*consistentHeapStats).acquire
0003e838ldrsb x27, [x0]
0003e83cadd x3, x0, 8
0003e840adrp x27, 0xa0d000
0003e844ldrb w4, [x27+1516]
0003e848tbz w4, 0, 0x3e85c
0003e84cldr x1, [sp+104]
0003e850ldaddal x1, x2, [x3]
0003e854add x2, x2, x1
0003e858b 0x3e870
0003e85c
0003e85cloc_3e85c:
0003e85cldr x1, [sp+104]
0003e860
0003e860loc_3e860:
0003e860ldaxr x2, [x3]
0003e864add x2, x2, x1
0003e868stlxr w27, x2, [x3]
0003e86ccbnz x27, 0x3e860
0003e870
0003e870loc_3e870:
0003e870adrp x0, 0xa12000
0003e874add x0, x0, 1056
0003e878bl runtime.(*consistentHeapStats).release
0003e87cldr x1, [sp+136]
0003e880add x0, x1, 8
0003e884ldr x1, [sp+40]
0003e888ldr x2, [sp+104]
0003e88cbl runtime.(*pageAlloc).grow
0003e890ldr x1, [sp+48]
0003e894ldr x2, [sp+104]
0003e898add x0, x1, x2
0003e89corr x1, xzr, 1
0003e8a0ldur x29, [sp-8]
0003e8a4ldr x30, [sp], 128
0003e8a8ret x30
0003e8ac
0003e8acloc_3e8ac:
0003e8acstp x0, x1, [sp+8]
0003e8b0mov x3, x30
0003e8b4bl runtime.morestack_noctxt.abi0
0003e8b8ldp x0, x1, [sp+8]
0003e8bcb 0x3e590
0003e590
0003e8c0
0003e8c0runtime.(*mheap).freeSpan: ; void runtime.(*mheap).freeSpan(runtime.mheap * h, runtime.mspan * s)
0003e8c0ldr x16, [x28+16]
0003e8c4subs xzr, sp, x16
0003e8c8b.ls 0x3e904
0003e8ccstr x30, [sp-48]!
0003e8d0stur x29, [sp-8]
0003e8d4sub x29, sp, 8
0003e8d8adrp x2, 0
0003e8dcadd x2, x2, 2336
0003e8e0str x2, [sp+16]
0003e8e4str x1, [sp+24]
0003e8e8str x0, [sp+32]
0003e8ecadd x0, sp, 16
0003e8f0str x0, [sp+8]
0003e8f4bl runtime.systemstack.abi0
0003e8f8ldur x29, [sp-8]
0003e8fcldr x30, [sp], 48
0003e900ret x30
0003e904
0003e904loc_3e904:
0003e904stp x0, x1, [sp+8]
0003e908mov x3, x30
0003e90cbl runtime.morestack_noctxt.abi0
0003e910ldp x0, x1, [sp+8]
0003e914b 0x3e8c0
0003e918udf 0
0003e91cudf 0
0003e8c0
0003e8c0runtime.(*mheap).freeSpan: ; void runtime.(*mheap).freeSpan(runtime.mheap * h, runtime.mspan * s)
0003e8c0ldr x16, [x28+16]
0003e8c4subs xzr, sp, x16
0003e8c8b.ls 0x3e904
0003e8ccstr x30, [sp-48]!
0003e8d0stur x29, [sp-8]
0003e8d4sub x29, sp, 8
0003e8d8adrp x2, 0
0003e8dcadd x2, x2, 2336
0003e8e0str x2, [sp+16]
0003e8e4str x1, [sp+24]
0003e8e8str x0, [sp+32]
0003e8ecadd x0, sp, 16
0003e8f0str x0, [sp+8]
0003e8f4bl runtime.systemstack.abi0
0003e8f8ldur x29, [sp-8]
0003e8fcldr x30, [sp], 48
0003e900ret x30
0003e904
0003e904loc_3e904:
0003e904stp x0, x1, [sp+8]
0003e908mov x3, x30
0003e90cbl runtime.morestack_noctxt.abi0
0003e910ldp x0, x1, [sp+8]
0003e914b 0x3e8c0
0003e918udf 0
0003e91cudf 0
0003e8c0
0003e920
0003e920runtime.(*mheap).freeSpan.func1: ; void runtime.(*mheap).freeSpan.func1(void)
0003e920ldr x16, [x28+16]
0003e924subs xzr, sp, x16
0003e928b.ls 0x3e9b0
0003e92cstr x30, [sp-80]!
0003e930stur x29, [sp-8]
0003e934sub x29, sp, 8
0003e938ldr x0, [x26+16]
0003e93cstr x0, [sp+48]
0003e940ldr x0, [x26+8]
0003e944str x0, [sp+40]
0003e948bl runtime.traceAllocFreeEnabled
0003e94ctbz w0, 0, 0x3e980
0003e950bl runtime.traceAcquire
0003e954str x0, [sp+64]
0003e958str x1, [sp+56]
0003e95cbl runtime.traceLocker.ok
0003e960tbz w0, 0, 0x3e980
0003e964ldr x0, [sp+64]
0003e968ldr x1, [sp+56]
0003e96cldr x2, [sp+40]
0003e970bl runtime.traceLocker.SpanFree
0003e974ldr x0, [sp+64]
0003e978ldr x1, [sp+56]
0003e97cbl runtime.traceRelease
0003e980
0003e980loc_3e980:
0003e980ldr x0, [sp+48]
0003e984ldrsb x27, [x0]
0003e988bl runtime.lock
0003e98cldr x0, [sp+48]
0003e990ldr x1, [sp+40]
0003e994mov x2, xzr
0003e998bl runtime.(*mheap).freeSpanLocked
0003e99cldr x0, [sp+48]
0003e9a0bl runtime.unlock
0003e9a4ldur x29, [sp-8]
0003e9a8ldr x30, [sp], 80
0003e9acret x30
0003e9b0
0003e9b0loc_3e9b0:
0003e9b0mov x3, x30
0003e9b4bl runtime.morestack.abi0
0003e9b8b 0x3e920
0003e9bcudf 0
0003e920
0003e920runtime.(*mheap).freeSpan.func1: ; void runtime.(*mheap).freeSpan.func1(void)
0003e920ldr x16, [x28+16]
0003e924subs xzr, sp, x16
0003e928b.ls 0x3e9b0
0003e92cstr x30, [sp-80]!
0003e930stur x29, [sp-8]
0003e934sub x29, sp, 8
0003e938ldr x0, [x26+16]
0003e93cstr x0, [sp+48]
0003e940ldr x0, [x26+8]
0003e944str x0, [sp+40]
0003e948bl runtime.traceAllocFreeEnabled
0003e94ctbz w0, 0, 0x3e980
0003e950bl runtime.traceAcquire
0003e954str x0, [sp+64]
0003e958str x1, [sp+56]
0003e95cbl runtime.traceLocker.ok
0003e960tbz w0, 0, 0x3e980
0003e964ldr x0, [sp+64]
0003e968ldr x1, [sp+56]
0003e96cldr x2, [sp+40]
0003e970bl runtime.traceLocker.SpanFree
0003e974ldr x0, [sp+64]
0003e978ldr x1, [sp+56]
0003e97cbl runtime.traceRelease
0003e980
0003e980loc_3e980:
0003e980ldr x0, [sp+48]
0003e984ldrsb x27, [x0]
0003e988bl runtime.lock
0003e98cldr x0, [sp+48]
0003e990ldr x1, [sp+40]
0003e994mov x2, xzr
0003e998bl runtime.(*mheap).freeSpanLocked
0003e99cldr x0, [sp+48]
0003e9a0bl runtime.unlock
0003e9a4ldur x29, [sp-8]
0003e9a8ldr x30, [sp], 80
0003e9acret x30
0003e9b0
0003e9b0loc_3e9b0:
0003e9b0mov x3, x30
0003e9b4bl runtime.morestack.abi0
0003e9b8b 0x3e920
0003e9bcudf 0
0003e920
0003e9c0
0003e9c0runtime.(*mheap).freeManual: ; void runtime.(*mheap).freeManual(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ)
0003e9c0ldr x16, [x28+24]
0003e9c4subs xzr, sp, x16
0003e9c8b.ls 0x3ea58
0003e9ccstr x30, [sp-64]!
0003e9d0stur x29, [sp-8]
0003e9d4sub x29, sp, 8
0003e9d8str x0, [sp+72]
0003e9dcstr x1, [sp+80]
0003e9e0strb w2, [sp+88]
0003e9e4bl runtime.traceAllocFreeEnabled
0003e9e8tbz w0, 0, 0x3ea1c
0003e9ecbl runtime.traceAcquire
0003e9f0str x0, [sp+48]
0003e9f4str x1, [sp+40]
0003e9f8bl runtime.traceLocker.ok
0003e9fctbz w0, 0, 0x3ea1c
0003ea00ldr x0, [sp+48]
0003ea04ldr x1, [sp+40]
0003ea08ldr x2, [sp+80]
0003ea0cbl runtime.traceLocker.SpanFree
0003ea10ldr x0, [sp+48]
0003ea14ldr x1, [sp+40]
0003ea18bl runtime.traceRelease
0003ea1c
0003ea1cloc_3ea1c:
0003ea1corr x1, xzr, 1
0003ea20ldr x2, [sp+80]
0003ea24strb w1, [x2+100]
0003ea28ldr x0, [sp+72]
0003ea2cldrsb x27, [x0]
0003ea30bl runtime.lock
0003ea34ldr x0, [sp+72]
0003ea38ldr x1, [sp+80]
0003ea3cldrb w2, [sp+88]
0003ea40bl runtime.(*mheap).freeSpanLocked
0003ea44ldr x0, [sp+72]
0003ea48bl runtime.unlock
0003ea4cldur x29, [sp-8]
0003ea50ldr x30, [sp], 64
0003ea54ret x30
0003ea58
0003ea58loc_3ea58:
0003ea58stp x0, x1, [sp+8]
0003ea5cstrb w2, [sp+24]
0003ea60mov x3, x30
0003ea64bl runtime.morestackc.abi0
0003ea68ldp x0, x1, [sp+8]
0003ea6cldrb w2, [sp+24]
0003ea70b 0x3e9c0
0003ea74udf 0
0003ea78udf 0
0003ea7cudf 0
0003e9c0
0003e9c0runtime.(*mheap).freeManual: ; void runtime.(*mheap).freeManual(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ)
0003e9c0ldr x16, [x28+24]
0003e9c4subs xzr, sp, x16
0003e9c8b.ls 0x3ea58
0003e9ccstr x30, [sp-64]!
0003e9d0stur x29, [sp-8]
0003e9d4sub x29, sp, 8
0003e9d8str x0, [sp+72]
0003e9dcstr x1, [sp+80]
0003e9e0strb w2, [sp+88]
0003e9e4bl runtime.traceAllocFreeEnabled
0003e9e8tbz w0, 0, 0x3ea1c
0003e9ecbl runtime.traceAcquire
0003e9f0str x0, [sp+48]
0003e9f4str x1, [sp+40]
0003e9f8bl runtime.traceLocker.ok
0003e9fctbz w0, 0, 0x3ea1c
0003ea00ldr x0, [sp+48]
0003ea04ldr x1, [sp+40]
0003ea08ldr x2, [sp+80]
0003ea0cbl runtime.traceLocker.SpanFree
0003ea10ldr x0, [sp+48]
0003ea14ldr x1, [sp+40]
0003ea18bl runtime.traceRelease
0003ea1c
0003ea1cloc_3ea1c:
0003ea1corr x1, xzr, 1
0003ea20ldr x2, [sp+80]
0003ea24strb w1, [x2+100]
0003ea28ldr x0, [sp+72]
0003ea2cldrsb x27, [x0]
0003ea30bl runtime.lock
0003ea34ldr x0, [sp+72]
0003ea38ldr x1, [sp+80]
0003ea3cldrb w2, [sp+88]
0003ea40bl runtime.(*mheap).freeSpanLocked
0003ea44ldr x0, [sp+72]
0003ea48bl runtime.unlock
0003ea4cldur x29, [sp-8]
0003ea50ldr x30, [sp], 64
0003ea54ret x30
0003ea58
0003ea58loc_3ea58:
0003ea58stp x0, x1, [sp+8]
0003ea5cstrb w2, [sp+24]
0003ea60mov x3, x30
0003ea64bl runtime.morestackc.abi0
0003ea68ldp x0, x1, [sp+8]
0003ea6cldrb w2, [sp+24]
0003ea70b 0x3e9c0
0003ea74udf 0
0003ea78udf 0
0003ea7cudf 0
0003e9c0
0003ea80
0003ea80runtime.(*mheap).freeSpanLocked: ; void runtime.(*mheap).freeSpanLocked(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ)
0003ea80ldr x16, [x28+16]
0003ea84subs xzr, sp, x16
0003ea88b.ls 0x3ee28
0003ea8cstr x30, [sp-80]!
0003ea90stur x29, [sp-8]
0003ea94sub x29, sp, 8
0003ea98str x0, [sp+88]
0003ea9cstr x1, [sp+96]
0003eaa0strb w2, [sp+104]
0003eaa4ldrsb x27, [x0]
0003eaa8bl runtime.assertLockHeld
0003eaacldr x1, [sp+96]
0003eab0ldrsb x27, [x1]
0003eab4add x0, x1, 99
0003eab8str x0, [sp+64]
0003eabcbl runtime.(*mSpanStateBox).get
0003eac0ubfm x1, x0, 0, 7
0003eac4subs wzr, w1, 1
0003eac8b.ne 0x3eb68
0003eaccldr x0, [sp+96]
0003ead0ldrb w2, [x0+101]
0003ead4tbnz w2, 0, 0x3ee14
0003ead8ldrh w2, [x0+96]
0003eadccbnz w2, 0x3ed50
0003eae0ldr w2, [x0+88]
0003eae4ldr x3, [sp+88]
0003eae8add x27, x3, 0x10000
0003eaecldr w4, [x27+320]
0003eaf0subs wzr, w4, w2
0003eaf4b.ne 0x3ed50
0003eaf8movz x2, 352
0003eafcmovk x2, 0x10000
0003eb00add x2, x3, x2
0003eb04ldr x3, [x0+32]
0003eb08sub x1, xzr, x3
0003eb0cmov x0, x2
0003eb10bl internal/runtime/atomic.(*Uintptr).Add
0003eb14ldr x0, [sp+96]
0003eb18bl runtime.(*mspan).base
0003eb1cbl runtime.pageIndexOf
0003eb20subs xzr, x1, 1024
0003eb24b.hs 0x3ed44
0003eb28ldrsb x27, [x0]
0003eb2cadd x3, x0, 0x10000
0003eb30add x3, x3, x1
0003eb34orn x2, xzr, x2
0003eb38adrp x27, 0xa0d000
0003eb3cldrb w4, [x27+1516]
0003eb40tbz w4, 0, 0x3eb50
0003eb44orn x27, xzr, x2
0003eb48ldclralb w27, w4, [x3]
0003eb4cb 0x3eb60
0003eb50
0003eb50loc_3eb50:
0003eb50ldaxrb w5, [x3]
0003eb54and x4, x5, x2
0003eb58stlxrb w27, w4, [x3]
0003eb5ccbnz x27, 0x3eb50
0003eb60
0003eb60loc_3eb60:
0003eb60ldr x2, [sp+96]
0003eb64b 0x3eb7c
0003eb68
0003eb68loc_3eb68:
0003eb68subs wzr, w1, 2
0003eb6cb.ne 0x3ed34
0003eb70ldr x2, [sp+96]
0003eb74ldrh w3, [x2+96]
0003eb78cbnz w3, 0x3ed24
0003eb7c
0003eb7cloc_3eb7c:
0003eb7cldr x2, [x2+32]
0003eb80str x2, [sp+56]
0003eb84ubfm x1, x2, 51, 50
0003eb88adrp x0, 0xa0e000
0003eb8cadd x0, x0, 2784
0003eb90bl runtime.(*sysMemStat).add
0003eb94ldrb w2, [sp+104]
0003eb98str w2, [sp+36]
0003eb9ccbnz w2, 0x3ebb4
0003eba0ldr x2, [sp+56]
0003eba4sub x1, xzr, x2, lsl #13
0003eba8adrp x0, 0xa0e000
0003ebacadd x0, x0, 2768
0003ebb0bl runtime.(*sysMemStat).add
0003ebb4
0003ebb4loc_3ebb4:
0003ebb4adrp x0, 0xa12000
0003ebb8add x0, x0, 1056
0003ebbcbl runtime.(*consistentHeapStats).acquire
0003ebc0ldr w1, [sp+36]
0003ebc4subs wzr, w1, 1
0003ebc8b.hi 0x3ec48
0003ebcccbnz w1, 0x3ec0c
0003ebd0ldrsb x27, [x0]
0003ebd4add x1, x0, 16
0003ebd8ldr x2, [sp+56]
0003ebdcsub x2, xzr, x2, lsl #13
0003ebe0adrp x27, 0xa0d000
0003ebe4ldrb w3, [x27+1516]
0003ebe8tbz w3, 0, 0x3ebf8
0003ebecldaddal x2, x3, [x1]
0003ebf0add x3, x3, x2
0003ebf4b 0x3eccc
0003ebf8
0003ebf8loc_3ebf8:
0003ebf8ldaxr x3, [x1]
0003ebfcadd x3, x3, x2
0003ec00stlxr w27, x3, [x1]
0003ec04cbnz x27, 0x3ebf8
0003ec08b 0x3eccc
0003ec0c
0003ec0cloc_3ec0c:
0003ec0cldrsb x27, [x0]
0003ec10add x1, x0, 24
0003ec14ldr x2, [sp+56]
0003ec18sub x2, xzr, x2, lsl #13
0003ec1cadrp x27, 0xa0d000
0003ec20ldrb w3, [x27+1516]
0003ec24tbz w3, 0, 0x3ec34
0003ec28ldaddal x2, x3, [x1]
0003ec2cadd x3, x3, x2
0003ec30b 0x3eccc
0003ec34
0003ec34loc_3ec34:
0003ec34ldaxr x3, [x1]
0003ec38add x3, x3, x2
0003ec3cstlxr w27, x3, [x1]
0003ec40cbnz x27, 0x3ec34
0003ec44b 0x3eccc
0003ec48
0003ec48loc_3ec48:
0003ec48subs wzr, w1, 2
0003ec4cb.ne 0x3ec8c
0003ec50ldrsb x27, [x0]
0003ec54add x1, x0, 40
0003ec58ldr x2, [sp+56]
0003ec5csub x2, xzr, x2, lsl #13
0003ec60adrp x27, 0xa0d000
0003ec64ldrb w3, [x27+1516]
0003ec68tbz w3, 0, 0x3ec78
0003ec6cldaddal x2, x3, [x1]
0003ec70add x3, x3, x2
0003ec74b 0x3eccc
0003ec78
0003ec78loc_3ec78:
0003ec78ldaxr x3, [x1]
0003ec7cadd x3, x3, x2
0003ec80stlxr w27, x3, [x1]
0003ec84cbnz x27, 0x3ec78
0003ec88b 0x3eccc
0003ec8c
0003ec8cloc_3ec8c:
0003ec8csubs wzr, w1, 3
0003ec90b.ne 0x3eccc
0003ec94ldrsb x27, [x0]
0003ec98add x1, x0, 32
0003ec9cldr x2, [sp+56]
0003eca0sub x2, xzr, x2, lsl #13
0003eca4adrp x27, 0xa0d000
0003eca8ldrb w3, [x27+1516]
0003ecactbz w3, 0, 0x3ecbc
0003ecb0ldaddal x2, x3, [x1]
0003ecb4add x3, x3, x2
0003ecb8b 0x3eccc
0003ecbc
0003ecbcloc_3ecbc:
0003ecbcldaxr x3, [x1]
0003ecc0add x3, x3, x2
0003ecc4stlxr w27, x3, [x1]
0003ecc8cbnz x27, 0x3ecbc
0003eccc
0003ecccloc_3eccc:
0003ecccadrp x0, 0xa12000
0003ecd0add x0, x0, 1056
0003ecd4bl runtime.(*consistentHeapStats).release
0003ecd8ldr x0, [sp+96]
0003ecdcbl runtime.(*mspan).base
0003ece0ldr x1, [sp+88]
0003ece4add x1, x1, 8
0003ece8ldr x2, [sp+96]
0003ececldr x2, [x2+32]
0003ecf0mov x3, x0
0003ecf4mov x0, x1
0003ecf8mov x1, x3
0003ecfcbl runtime.(*pageAlloc).free
0003ed00ldr x0, [sp+64]
0003ed04mov x1, xzr
0003ed08bl runtime.(*mSpanStateBox).set
0003ed0cldr x0, [sp+88]
0003ed10ldr x1, [sp+96]
0003ed14bl runtime.(*mheap).freeMSpanLocked
0003ed18ldur x29, [sp-8]
0003ed1cldr x30, [sp], 80
0003ed20ret x30
0003ed24
0003ed24loc_3ed24:
0003ed24adrp x0, 0x686000
0003ed28add x0, x0, 2946
0003ed2cmovz x1, 41
0003ed30bl runtime.throw
0003ed34
0003ed34loc_3ed34:
0003ed34adrp x0, 0x686000
0003ed38add x0, x0, 2987
0003ed3cmovz x1, 41
0003ed40bl runtime.throw
0003ed44
0003ed44loc_3ed44:
0003ed44mov x0, x1
0003ed48orr x1, xzr, 1024
0003ed4cbl runtime.panicIndexU
0003ed50
0003ed50loc_3ed50:
0003ed50bl runtime.(*mspan).base
0003ed54str x0, [sp+56]
0003ed58ldr x1, [sp+96]
0003ed5cldrh w2, [x1+96]
0003ed60str x2, [sp+48]
0003ed64ldr w1, [x1+88]
0003ed68str x1, [sp+40]
0003ed6cldr x1, [sp+88]
0003ed70add x27, x1, 0x10000
0003ed74ldr w1, [x27+320]
0003ed78str w1, [sp+36]
0003ed7cbl runtime.printlock
0003ed80adrp x0, 0x67d000
0003ed84add x0, x0, 2144
0003ed88orr x1, xzr, 28
0003ed8cbl runtime.printstring
0003ed90ldr x0, [sp+96]
0003ed94bl runtime.printuintptr
0003ed98adrp x0, 0x672000
0003ed9cadd x0, x0, 1667
0003eda0movz x1, 5
0003eda4bl runtime.printstring
0003eda8ldr x0, [sp+56]
0003edacbl runtime.printhex
0003edb0adrp x0, 0x674000
0003edb4add x0, x0, 3928
0003edb8orr x1, xzr, 12
0003edbcbl runtime.printstring
0003edc0ldr x0, [sp+48]
0003edc4bl runtime.printuint
0003edc8adrp x0, 0x674000
0003edccadd x0, x0, 264
0003edd0movz x1, 10
0003edd4bl runtime.printstring
0003edd8ldr x0, [sp+40]
0003eddcbl runtime.printuint
0003ede0adrp x0, 0x671000
0003ede4add x0, x0, 4032
0003ede8orr x1, xzr, 1
0003edecbl runtime.printstring
0003edf0ldr w1, [sp+36]
0003edf4mov x0, x1
0003edf8bl runtime.printuint
0003edfcbl runtime.printnl
0003ee00bl runtime.printunlock
0003ee04adrp x0, 0x682000
0003ee08add x0, x0, 2211
0003ee0cmovz x1, 35
0003ee10bl runtime.throw
0003ee14
0003ee14loc_3ee14:
0003ee14adrp x0, 0x68c000
0003ee18add x0, x0, 3797
0003ee1cmovz x1, 55
0003ee20bl runtime.throw
0003ee24hint
0003ee28
0003ee28loc_3ee28:
0003ee28stp x0, x1, [sp+8]
0003ee2cstrb w2, [sp+24]
0003ee30mov x3, x30
0003ee34bl runtime.morestack_noctxt.abi0
0003ee38ldp x0, x1, [sp+8]
0003ee3cldrb w2, [sp+24]
0003ee40b 0x3ea80
0003ee44udf 0
0003ee48udf 0
0003ee4cudf 0
0003ea80
0003ea80runtime.(*mheap).freeSpanLocked: ; void runtime.(*mheap).freeSpanLocked(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ)
0003ea80ldr x16, [x28+16]
0003ea84subs xzr, sp, x16
0003ea88b.ls 0x3ee28
0003ea8cstr x30, [sp-80]!
0003ea90stur x29, [sp-8]
0003ea94sub x29, sp, 8
0003ea98str x0, [sp+88]
0003ea9cstr x1, [sp+96]
0003eaa0strb w2, [sp+104]
0003eaa4ldrsb x27, [x0]
0003eaa8bl runtime.assertLockHeld
0003eaacldr x1, [sp+96]
0003eab0ldrsb x27, [x1]
0003eab4add x0, x1, 99
0003eab8str x0, [sp+64]
0003eabcbl runtime.(*mSpanStateBox).get
0003eac0ubfm x1, x0, 0, 7
0003eac4subs wzr, w1, 1
0003eac8b.ne 0x3eb68
0003eaccldr x0, [sp+96]
0003ead0ldrb w2, [x0+101]
0003ead4tbnz w2, 0, 0x3ee14
0003ead8ldrh w2, [x0+96]
0003eadccbnz w2, 0x3ed50
0003eae0ldr w2, [x0+88]
0003eae4ldr x3, [sp+88]
0003eae8add x27, x3, 0x10000
0003eaecldr w4, [x27+320]
0003eaf0subs wzr, w4, w2
0003eaf4b.ne 0x3ed50
0003eaf8movz x2, 352
0003eafcmovk x2, 0x10000
0003eb00add x2, x3, x2
0003eb04ldr x3, [x0+32]
0003eb08sub x1, xzr, x3
0003eb0cmov x0, x2
0003eb10bl internal/runtime/atomic.(*Uintptr).Add
0003eb14ldr x0, [sp+96]
0003eb18bl runtime.(*mspan).base
0003eb1cbl runtime.pageIndexOf
0003eb20subs xzr, x1, 1024
0003eb24b.hs 0x3ed44
0003eb28ldrsb x27, [x0]
0003eb2cadd x3, x0, 0x10000
0003eb30add x3, x3, x1
0003eb34orn x2, xzr, x2
0003eb38adrp x27, 0xa0d000
0003eb3cldrb w4, [x27+1516]
0003eb40tbz w4, 0, 0x3eb50
0003eb44orn x27, xzr, x2
0003eb48ldclralb w27, w4, [x3]
0003eb4cb 0x3eb60
0003eb50
0003eb50loc_3eb50:
0003eb50ldaxrb w5, [x3]
0003eb54and x4, x5, x2
0003eb58stlxrb w27, w4, [x3]
0003eb5ccbnz x27, 0x3eb50
0003eb60
0003eb60loc_3eb60:
0003eb60ldr x2, [sp+96]
0003eb64b 0x3eb7c
0003eb68
0003eb68loc_3eb68:
0003eb68subs wzr, w1, 2
0003eb6cb.ne 0x3ed34
0003eb70ldr x2, [sp+96]
0003eb74ldrh w3, [x2+96]
0003eb78cbnz w3, 0x3ed24
0003eb7c
0003eb7cloc_3eb7c:
0003eb7cldr x2, [x2+32]
0003eb80str x2, [sp+56]
0003eb84ubfm x1, x2, 51, 50
0003eb88adrp x0, 0xa0e000
0003eb8cadd x0, x0, 2784
0003eb90bl runtime.(*sysMemStat).add
0003eb94ldrb w2, [sp+104]
0003eb98str w2, [sp+36]
0003eb9ccbnz w2, 0x3ebb4
0003eba0ldr x2, [sp+56]
0003eba4sub x1, xzr, x2, lsl #13
0003eba8adrp x0, 0xa0e000
0003ebacadd x0, x0, 2768
0003ebb0bl runtime.(*sysMemStat).add
0003ebb4
0003ebb4loc_3ebb4:
0003ebb4adrp x0, 0xa12000
0003ebb8add x0, x0, 1056
0003ebbcbl runtime.(*consistentHeapStats).acquire
0003ebc0ldr w1, [sp+36]
0003ebc4subs wzr, w1, 1
0003ebc8b.hi 0x3ec48
0003ebcccbnz w1, 0x3ec0c
0003ebd0ldrsb x27, [x0]
0003ebd4add x1, x0, 16
0003ebd8ldr x2, [sp+56]
0003ebdcsub x2, xzr, x2, lsl #13
0003ebe0adrp x27, 0xa0d000
0003ebe4ldrb w3, [x27+1516]
0003ebe8tbz w3, 0, 0x3ebf8
0003ebecldaddal x2, x3, [x1]
0003ebf0add x3, x3, x2
0003ebf4b 0x3eccc
0003ebf8
0003ebf8loc_3ebf8:
0003ebf8ldaxr x3, [x1]
0003ebfcadd x3, x3, x2
0003ec00stlxr w27, x3, [x1]
0003ec04cbnz x27, 0x3ebf8
0003ec08b 0x3eccc
0003ec0c
0003ec0cloc_3ec0c:
0003ec0cldrsb x27, [x0]
0003ec10add x1, x0, 24
0003ec14ldr x2, [sp+56]
0003ec18sub x2, xzr, x2, lsl #13
0003ec1cadrp x27, 0xa0d000
0003ec20ldrb w3, [x27+1516]
0003ec24tbz w3, 0, 0x3ec34
0003ec28ldaddal x2, x3, [x1]
0003ec2cadd x3, x3, x2
0003ec30b 0x3eccc
0003ec34
0003ec34loc_3ec34:
0003ec34ldaxr x3, [x1]
0003ec38add x3, x3, x2
0003ec3cstlxr w27, x3, [x1]
0003ec40cbnz x27, 0x3ec34
0003ec44b 0x3eccc
0003ec48
0003ec48loc_3ec48:
0003ec48subs wzr, w1, 2
0003ec4cb.ne 0x3ec8c
0003ec50ldrsb x27, [x0]
0003ec54add x1, x0, 40
0003ec58ldr x2, [sp+56]
0003ec5csub x2, xzr, x2, lsl #13
0003ec60adrp x27, 0xa0d000
0003ec64ldrb w3, [x27+1516]
0003ec68tbz w3, 0, 0x3ec78
0003ec6cldaddal x2, x3, [x1]
0003ec70add x3, x3, x2
0003ec74b 0x3eccc
0003ec78
0003ec78loc_3ec78:
0003ec78ldaxr x3, [x1]
0003ec7cadd x3, x3, x2
0003ec80stlxr w27, x3, [x1]
0003ec84cbnz x27, 0x3ec78
0003ec88b 0x3eccc
0003ec8c
0003ec8cloc_3ec8c:
0003ec8csubs wzr, w1, 3
0003ec90b.ne 0x3eccc
0003ec94ldrsb x27, [x0]
0003ec98add x1, x0, 32
0003ec9cldr x2, [sp+56]
0003eca0sub x2, xzr, x2, lsl #13
0003eca4adrp x27, 0xa0d000
0003eca8ldrb w3, [x27+1516]
0003ecactbz w3, 0, 0x3ecbc
0003ecb0ldaddal x2, x3, [x1]
0003ecb4add x3, x3, x2
0003ecb8b 0x3eccc
0003ecbc
0003ecbcloc_3ecbc:
0003ecbcldaxr x3, [x1]
0003ecc0add x3, x3, x2
0003ecc4stlxr w27, x3, [x1]
0003ecc8cbnz x27, 0x3ecbc
0003eccc
0003ecccloc_3eccc:
0003ecccadrp x0, 0xa12000
0003ecd0add x0, x0, 1056
0003ecd4bl runtime.(*consistentHeapStats).release
0003ecd8ldr x0, [sp+96]
0003ecdcbl runtime.(*mspan).base
0003ece0ldr x1, [sp+88]
0003ece4add x1, x1, 8
0003ece8ldr x2, [sp+96]
0003ececldr x2, [x2+32]
0003ecf0mov x3, x0
0003ecf4mov x0, x1
0003ecf8mov x1, x3
0003ecfcbl runtime.(*pageAlloc).free
0003ed00ldr x0, [sp+64]
0003ed04mov x1, xzr
0003ed08bl runtime.(*mSpanStateBox).set
0003ed0cldr x0, [sp+88]
0003ed10ldr x1, [sp+96]
0003ed14bl runtime.(*mheap).freeMSpanLocked
0003ed18ldur x29, [sp-8]
0003ed1cldr x30, [sp], 80
0003ed20ret x30
0003ed24
0003ed24loc_3ed24:
0003ed24adrp x0, 0x686000
0003ed28add x0, x0, 2946
0003ed2cmovz x1, 41
0003ed30bl runtime.throw
0003ed34
0003ed34loc_3ed34:
0003ed34adrp x0, 0x686000
0003ed38add x0, x0, 2987
0003ed3cmovz x1, 41
0003ed40bl runtime.throw
0003ed44
0003ed44loc_3ed44:
0003ed44mov x0, x1
0003ed48orr x1, xzr, 1024
0003ed4cbl runtime.panicIndexU
0003ed50
0003ed50loc_3ed50:
0003ed50bl runtime.(*mspan).base
0003ed54str x0, [sp+56]
0003ed58ldr x1, [sp+96]
0003ed5cldrh w2, [x1+96]
0003ed60str x2, [sp+48]
0003ed64ldr w1, [x1+88]
0003ed68str x1, [sp+40]
0003ed6cldr x1, [sp+88]
0003ed70add x27, x1, 0x10000
0003ed74ldr w1, [x27+320]
0003ed78str w1, [sp+36]
0003ed7cbl runtime.printlock
0003ed80adrp x0, 0x67d000
0003ed84add x0, x0, 2144
0003ed88orr x1, xzr, 28
0003ed8cbl runtime.printstring
0003ed90ldr x0, [sp+96]
0003ed94bl runtime.printuintptr
0003ed98adrp x0, 0x672000
0003ed9cadd x0, x0, 1667
0003eda0movz x1, 5
0003eda4bl runtime.printstring
0003eda8ldr x0, [sp+56]
0003edacbl runtime.printhex
0003edb0adrp x0, 0x674000
0003edb4add x0, x0, 3928
0003edb8orr x1, xzr, 12
0003edbcbl runtime.printstring
0003edc0ldr x0, [sp+48]
0003edc4bl runtime.printuint
0003edc8adrp x0, 0x674000
0003edccadd x0, x0, 264
0003edd0movz x1, 10
0003edd4bl runtime.printstring
0003edd8ldr x0, [sp+40]
0003eddcbl runtime.printuint
0003ede0adrp x0, 0x671000
0003ede4add x0, x0, 4032
0003ede8orr x1, xzr, 1
0003edecbl runtime.printstring
0003edf0ldr w1, [sp+36]
0003edf4mov x0, x1
0003edf8bl runtime.printuint
0003edfcbl runtime.printnl
0003ee00bl runtime.printunlock
0003ee04adrp x0, 0x682000
0003ee08add x0, x0, 2211
0003ee0cmovz x1, 35
0003ee10bl runtime.throw
0003ee14
0003ee14loc_3ee14:
0003ee14adrp x0, 0x68c000
0003ee18add x0, x0, 3797
0003ee1cmovz x1, 55
0003ee20bl runtime.throw
0003ee24hint
0003ee28
0003ee28loc_3ee28:
0003ee28stp x0, x1, [sp+8]
0003ee2cstrb w2, [sp+24]
0003ee30mov x3, x30
0003ee34bl runtime.morestack_noctxt.abi0
0003ee38ldp x0, x1, [sp+8]
0003ee3cldrb w2, [sp+24]
0003ee40b 0x3ea80
0003ee44udf 0
0003ee48udf 0
0003ee4cudf 0
0003ea80
0003ee50
0003ee50runtime.(*mspan).init: ; void runtime.(*mspan).init(runtime.mspan * span, uintptr base, uintptr npages)
0003ee50ldr x16, [x28+16]
0003ee54subs xzr, sp, x16
0003ee58b.ls 0x3eed0
0003ee5cstr x30, [sp-32]!
0003ee60stur x29, [sp-8]
0003ee64sub x29, sp, 8
0003ee68str x0, [sp+40]
0003ee6cstp xzr, xzr, [x0]
0003ee70str xzr, [x0+16]
0003ee74str x1, [x0+24]
0003ee78str x2, [x0+32]
0003ee7cadd x2, x1, x2, lsl #13
0003ee80str x2, [x0+112]
0003ee84strh wzr, [x0+96]
0003ee88strb wzr, [x0+98]
0003ee8cstr xzr, [x0+104]
0003ee90stp xzr, xzr, [x0+120]
0003ee94strb wzr, [x0+100]
0003ee98strh wzr, [x0+48]
0003ee9cstrh wzr, [x0+52]
0003eea0stp xzr, xzr, [x0+64]
0003eea4str xzr, [x0+80]
0003eea8add x0, x0, 99
0003eeacmov x1, xzr
0003eeb0bl runtime.(*mSpanStateBox).set
0003eeb4ldr x2, [sp+40]
0003eeb8add x0, x2, 120
0003eebcmovz x1, 38
0003eec0bl runtime.lockInit
0003eec4ldur x29, [sp-8]
0003eec8ldr x30, [sp], 32
0003eeccret x30
0003eed0
0003eed0loc_3eed0:
0003eed0stp x0, x1, [sp+8]
0003eed4str x2, [sp+24]
0003eed8mov x3, x30
0003eedcbl runtime.morestack_noctxt.abi0
0003eee0ldp x0, x1, [sp+8]
0003eee4ldr x2, [sp+24]
0003eee8b 0x3ee50
0003eeecudf 0
0003ee50
0003ee50runtime.(*mspan).init: ; void runtime.(*mspan).init(runtime.mspan * span, uintptr base, uintptr npages)
0003ee50ldr x16, [x28+16]
0003ee54subs xzr, sp, x16
0003ee58b.ls 0x3eed0
0003ee5cstr x30, [sp-32]!
0003ee60stur x29, [sp-8]
0003ee64sub x29, sp, 8
0003ee68str x0, [sp+40]
0003ee6cstp xzr, xzr, [x0]
0003ee70str xzr, [x0+16]
0003ee74str x1, [x0+24]
0003ee78str x2, [x0+32]
0003ee7cadd x2, x1, x2, lsl #13
0003ee80str x2, [x0+112]
0003ee84strh wzr, [x0+96]
0003ee88strb wzr, [x0+98]
0003ee8cstr xzr, [x0+104]
0003ee90stp xzr, xzr, [x0+120]
0003ee94strb wzr, [x0+100]
0003ee98strh wzr, [x0+48]
0003ee9cstrh wzr, [x0+52]
0003eea0stp xzr, xzr, [x0+64]
0003eea4str xzr, [x0+80]
0003eea8add x0, x0, 99
0003eeacmov x1, xzr
0003eeb0bl runtime.(*mSpanStateBox).set
0003eeb4ldr x2, [sp+40]
0003eeb8add x0, x2, 120
0003eebcmovz x1, 38
0003eec0bl runtime.lockInit
0003eec4ldur x29, [sp-8]
0003eec8ldr x30, [sp], 32
0003eeccret x30
0003eed0
0003eed0loc_3eed0:
0003eed0stp x0, x1, [sp+8]
0003eed4str x2, [sp+24]
0003eed8mov x3, x30
0003eedcbl runtime.morestack_noctxt.abi0
0003eee0ldp x0, x1, [sp+8]
0003eee4ldr x2, [sp+24]
0003eee8b 0x3ee50
0003eeecudf 0
0003ee50
0003eef0
0003eef0runtime.(*mSpanList).init: ; void runtime.(*mSpanList).init(runtime.mSpanList * list)
0003eef0stp xzr, xzr, [x0]
0003eef4ret x30
0003eef8udf 0
0003eefcudf 0
0003eef0
0003eef0runtime.(*mSpanList).init: ; void runtime.(*mSpanList).init(runtime.mSpanList * list)
0003eef0stp xzr, xzr, [x0]
0003eef4ret x30
0003eef8udf 0
0003eefcudf 0
0003eef0
0003ef00
0003ef00runtime.(*mSpanList).remove: ; void runtime.(*mSpanList).remove(runtime.mSpanList * list, runtime.mspan * span)
0003ef00ldr x16, [x28+16]
0003ef04subs xzr, sp, x16
0003ef08b.ls 0x3f034
0003ef0cstr x30, [sp-64]!
0003ef10stur x29, [sp-8]
0003ef14sub x29, sp, 8
0003ef18ldr x2, [x1+16]
0003ef1csubs xzr, x0, x2
0003ef20b.ne 0x3ef80
0003ef24ldr x2, [x0]
0003ef28subs xzr, x1, x2
0003ef2cb.ne 0x3ef3c
0003ef30ldr x2, [x1]
0003ef34str x2, [x0]
0003ef38b 0x3ef48
0003ef3c
0003ef3cloc_3ef3c:
0003ef3cldr x2, [x1+8]
0003ef40ldr x3, [x1]
0003ef44str x3, [x2]
0003ef48
0003ef48loc_3ef48:
0003ef48ldr x2, [x0+8]
0003ef4csubs xzr, x1, x2
0003ef50b.ne 0x3ef60
0003ef54ldr x2, [x1+8]
0003ef58str x2, [x0+8]
0003ef5cb 0x3ef6c
0003ef60
0003ef60loc_3ef60:
0003ef60ldr x0, [x1]
0003ef64ldr x2, [x1+8]
0003ef68str x2, [x0+8]
0003ef6c
0003ef6cloc_3ef6c:
0003ef6cstp xzr, xzr, [x1]
0003ef70str xzr, [x1+16]
0003ef74ldur x29, [sp-8]
0003ef78ldr x30, [sp], 64
0003ef7cret x30
0003ef80
0003ef80loc_3ef80:
0003ef80str x0, [sp+72]
0003ef84str x1, [sp+80]
0003ef88str x2, [sp+48]
0003ef8cldr x0, [x1+32]
0003ef90str x0, [sp+40]
0003ef94ldr x0, [x1+8]
0003ef98str x0, [sp+32]
0003ef9cbl runtime.printlock
0003efa0adrp x0, 0x688000
0003efa4add x0, x0, 3186
0003efa8movz x1, 45
0003efacbl runtime.printstring
0003efb0ldr x0, [sp+40]
0003efb4bl runtime.printuint
0003efb8adrp x0, 0x672000
0003efbcadd x0, x0, 2443
0003efc0orr x1, xzr, 6
0003efc4bl runtime.printstring
0003efc8ldr x0, [sp+80]
0003efccbl runtime.printuintptr
0003efd0adrp x0, 0x672000
0003efd4add x0, x0, 2449
0003efd8orr x1, xzr, 6
0003efdcbl runtime.printstring
0003efe0ldr x0, [sp+32]
0003efe4bl runtime.printuintptr
0003efe8adrp x0, 0x674000
0003efecadd x0, x0, 2065
0003eff0movz x1, 11
0003eff4bl runtime.printstring
0003eff8ldr x0, [sp+48]
0003effcbl runtime.printuintptr
0003f000adrp x0, 0x671000
0003f004add x0, x0, 2455
0003f008orr x1, xzr, 6
0003f00cbl runtime.printstring
0003f010ldr x0, [sp+72]
0003f014bl runtime.printuintptr
0003f018bl runtime.printnl
0003f01cbl runtime.printunlock
0003f020adrp x0, 0x675000
0003f024add x0, x0, 2324
0003f028orr x1, xzr, 16
0003f02cbl runtime.throw
0003f030hint
0003f034
0003f034loc_3f034:
0003f034stp x0, x1, [sp+8]
0003f038mov x3, x30
0003f03cbl runtime.morestack_noctxt.abi0
0003f040ldp x0, x1, [sp+8]
0003f044b 0x3ef00
0003f048udf 0
0003f04cudf 0
0003ef00
0003ef00runtime.(*mSpanList).remove: ; void runtime.(*mSpanList).remove(runtime.mSpanList * list, runtime.mspan * span)
0003ef00ldr x16, [x28+16]
0003ef04subs xzr, sp, x16
0003ef08b.ls 0x3f034
0003ef0cstr x30, [sp-64]!
0003ef10stur x29, [sp-8]
0003ef14sub x29, sp, 8
0003ef18ldr x2, [x1+16]
0003ef1csubs xzr, x0, x2
0003ef20b.ne 0x3ef80
0003ef24ldr x2, [x0]
0003ef28subs xzr, x1, x2
0003ef2cb.ne 0x3ef3c
0003ef30ldr x2, [x1]
0003ef34str x2, [x0]
0003ef38b 0x3ef48
0003ef3c
0003ef3cloc_3ef3c:
0003ef3cldr x2, [x1+8]
0003ef40ldr x3, [x1]
0003ef44str x3, [x2]
0003ef48
0003ef48loc_3ef48:
0003ef48ldr x2, [x0+8]
0003ef4csubs xzr, x1, x2
0003ef50b.ne 0x3ef60
0003ef54ldr x2, [x1+8]
0003ef58str x2, [x0+8]
0003ef5cb 0x3ef6c
0003ef60
0003ef60loc_3ef60:
0003ef60ldr x0, [x1]
0003ef64ldr x2, [x1+8]
0003ef68str x2, [x0+8]
0003ef6c
0003ef6cloc_3ef6c:
0003ef6cstp xzr, xzr, [x1]
0003ef70str xzr, [x1+16]
0003ef74ldur x29, [sp-8]
0003ef78ldr x30, [sp], 64
0003ef7cret x30
0003ef80
0003ef80loc_3ef80:
0003ef80str x0, [sp+72]
0003ef84str x1, [sp+80]
0003ef88str x2, [sp+48]
0003ef8cldr x0, [x1+32]
0003ef90str x0, [sp+40]
0003ef94ldr x0, [x1+8]
0003ef98str x0, [sp+32]
0003ef9cbl runtime.printlock
0003efa0adrp x0, 0x688000
0003efa4add x0, x0, 3186
0003efa8movz x1, 45
0003efacbl runtime.printstring
0003efb0ldr x0, [sp+40]
0003efb4bl runtime.printuint
0003efb8adrp x0, 0x672000
0003efbcadd x0, x0, 2443
0003efc0orr x1, xzr, 6
0003efc4bl runtime.printstring
0003efc8ldr x0, [sp+80]
0003efccbl runtime.printuintptr
0003efd0adrp x0, 0x672000
0003efd4add x0, x0, 2449
0003efd8orr x1, xzr, 6
0003efdcbl runtime.printstring
0003efe0ldr x0, [sp+32]
0003efe4bl runtime.printuintptr
0003efe8adrp x0, 0x674000
0003efecadd x0, x0, 2065
0003eff0movz x1, 11
0003eff4bl runtime.printstring
0003eff8ldr x0, [sp+48]
0003effcbl runtime.printuintptr
0003f000adrp x0, 0x671000
0003f004add x0, x0, 2455
0003f008orr x1, xzr, 6
0003f00cbl runtime.printstring
0003f010ldr x0, [sp+72]
0003f014bl runtime.printuintptr
0003f018bl runtime.printnl
0003f01cbl runtime.printunlock
0003f020adrp x0, 0x675000
0003f024add x0, x0, 2324
0003f028orr x1, xzr, 16
0003f02cbl runtime.throw
0003f030hint
0003f034
0003f034loc_3f034:
0003f034stp x0, x1, [sp+8]
0003f038mov x3, x30
0003f03cbl runtime.morestack_noctxt.abi0
0003f040ldp x0, x1, [sp+8]
0003f044b 0x3ef00
0003f048udf 0
0003f04cudf 0
0003ef00
0003f050
0003f050runtime.(*mSpanList).isEmpty: ; void runtime.(*mSpanList).isEmpty(runtime.mSpanList * list)
0003f050ldr x1, [x0]
0003f054subs xzr, x1, 0
0003f058cset x1, ne
0003f05ceor x0, x1, 1
0003f060ret x30
0003f064udf 0
0003f068udf 0
0003f06cudf 0
0003f050
0003f050runtime.(*mSpanList).isEmpty: ; void runtime.(*mSpanList).isEmpty(runtime.mSpanList * list)
0003f050ldr x1, [x0]
0003f054subs xzr, x1, 0
0003f058cset x1, ne
0003f05ceor x0, x1, 1
0003f060ret x30
0003f064udf 0
0003f068udf 0
0003f06cudf 0
0003f050
0003f070
0003f070runtime.(*mSpanList).insert: ; void runtime.(*mSpanList).insert(runtime.mSpanList * list, runtime.mspan * span)
0003f070ldr x16, [x28+16]
0003f074subs xzr, sp, x16
0003f078b.ls 0x3f144
0003f07cstr x30, [sp-64]!
0003f080stur x29, [sp-8]
0003f084sub x29, sp, 8
0003f088ldr x2, [x1]
0003f08cstr x2, [sp+48]
0003f090cbnz x2, 0x3f0d4
0003f094ldr x3, [x1+8]
0003f098cbnz x3, 0x3f0d4
0003f09cldr x3, [x1+16]
0003f0a0cbnz x3, 0x3f0d4
0003f0a4ldr x2, [x0]
0003f0a8str x2, [x1]
0003f0acldr x2, [x0]
0003f0b0cbz x2, 0x3f0bc
0003f0b4str x1, [x2+8]
0003f0b8b 0x3f0c0
0003f0bc
0003f0bcloc_3f0bc:
0003f0bcstr x1, [x0+8]
0003f0c0
0003f0c0loc_3f0c0:
0003f0c0str x1, [x0]
0003f0c4str x0, [x1+16]
0003f0c8ldur x29, [sp-8]
0003f0ccldr x30, [sp], 64
0003f0d0ret x30
0003f0d4
0003f0d4loc_3f0d4:
0003f0d4str x1, [sp+80]
0003f0d8ldr x0, [x1+8]
0003f0dcstr x0, [sp+40]
0003f0e0ldr x0, [x1+16]
0003f0e4str x0, [sp+32]
0003f0e8bl runtime.printlock
0003f0ecadrp x0, 0x680000
0003f0f0add x0, x0, 672
0003f0f4movz x1, 33
0003f0f8bl runtime.printstring
0003f0fcldr x0, [sp+80]
0003f100bl runtime.printuintptr
0003f104bl runtime.printsp
0003f108ldr x0, [sp+48]
0003f10cbl runtime.printuintptr
0003f110bl runtime.printsp
0003f114ldr x0, [sp+40]
0003f118bl runtime.printuintptr
0003f11cbl runtime.printsp
0003f120ldr x0, [sp+32]
0003f124bl runtime.printuintptr
0003f128bl runtime.printnl
0003f12cbl runtime.printunlock
0003f130adrp x0, 0x675000
0003f134add x0, x0, 2340
0003f138orr x1, xzr, 16
0003f13cbl runtime.throw
0003f140hint
0003f144
0003f144loc_3f144:
0003f144stp x0, x1, [sp+8]
0003f148mov x3, x30
0003f14cbl runtime.morestack_noctxt.abi0
0003f150ldp x0, x1, [sp+8]
0003f154b 0x3f070
0003f158udf 0
0003f15cudf 0
0003f070
0003f070runtime.(*mSpanList).insert: ; void runtime.(*mSpanList).insert(runtime.mSpanList * list, runtime.mspan * span)
0003f070ldr x16, [x28+16]
0003f074subs xzr, sp, x16
0003f078b.ls 0x3f144
0003f07cstr x30, [sp-64]!
0003f080stur x29, [sp-8]
0003f084sub x29, sp, 8
0003f088ldr x2, [x1]
0003f08cstr x2, [sp+48]
0003f090cbnz x2, 0x3f0d4
0003f094ldr x3, [x1+8]
0003f098cbnz x3, 0x3f0d4
0003f09cldr x3, [x1+16]
0003f0a0cbnz x3, 0x3f0d4
0003f0a4ldr x2, [x0]
0003f0a8str x2, [x1]
0003f0acldr x2, [x0]
0003f0b0cbz x2, 0x3f0bc
0003f0b4str x1, [x2+8]
0003f0b8b 0x3f0c0
0003f0bc
0003f0bcloc_3f0bc:
0003f0bcstr x1, [x0+8]
0003f0c0
0003f0c0loc_3f0c0:
0003f0c0str x1, [x0]
0003f0c4str x0, [x1+16]
0003f0c8ldur x29, [sp-8]
0003f0ccldr x30, [sp], 64
0003f0d0ret x30
0003f0d4
0003f0d4loc_3f0d4:
0003f0d4str x1, [sp+80]
0003f0d8ldr x0, [x1+8]
0003f0dcstr x0, [sp+40]
0003f0e0ldr x0, [x1+16]
0003f0e4str x0, [sp+32]
0003f0e8bl runtime.printlock
0003f0ecadrp x0, 0x680000
0003f0f0add x0, x0, 672
0003f0f4movz x1, 33
0003f0f8bl runtime.printstring
0003f0fcldr x0, [sp+80]
0003f100bl runtime.printuintptr
0003f104bl runtime.printsp
0003f108ldr x0, [sp+48]
0003f10cbl runtime.printuintptr
0003f110bl runtime.printsp
0003f114ldr x0, [sp+40]
0003f118bl runtime.printuintptr
0003f11cbl runtime.printsp
0003f120ldr x0, [sp+32]
0003f124bl runtime.printuintptr
0003f128bl runtime.printnl
0003f12cbl runtime.printunlock
0003f130adrp x0, 0x675000
0003f134add x0, x0, 2340
0003f138orr x1, xzr, 16
0003f13cbl runtime.throw
0003f140hint
0003f144
0003f144loc_3f144:
0003f144stp x0, x1, [sp+8]
0003f148mov x3, x30
0003f14cbl runtime.morestack_noctxt.abi0
0003f150ldp x0, x1, [sp+8]
0003f154b 0x3f070
0003f158udf 0
0003f15cudf 0
0003f070
0003f160
0003f160runtime.(*mSpanList).takeAll: ; void runtime.(*mSpanList).takeAll(runtime.mSpanList * list, runtime.mSpanList * other)
0003f160ldr x16, [x28+16]
0003f164subs xzr, sp, x16
0003f168b.ls 0x3f210
0003f16cstr x30, [sp-32]!
0003f170stur x29, [sp-8]
0003f174sub x29, sp, 8
0003f178str x0, [sp+40]
0003f17cstr x1, [sp+48]
0003f180mov x0, x1
0003f184bl runtime.(*mSpanList).isEmpty
0003f188tbnz w0, 0, 0x3f19c
0003f18cldr x1, [sp+48]
0003f190ldr x2, [x1]
0003f194ldr x0, [sp+40]
0003f198b 0x3f1b0
0003f19c
0003f19cloc_3f19c:
0003f19cldur x29, [sp-8]
0003f1a0ldr x30, [sp], 32
0003f1a4ret x30
0003f1a8
0003f1a8loc_3f1a8:
0003f1a8str x0, [x2+16]
0003f1acldr x2, [x2]
0003f1b0
0003f1b0loc_3f1b0:
0003f1b0cbnz x2, 0x3f1a8
0003f1b4bl runtime.(*mSpanList).isEmpty
0003f1b8tbz w0, 0, 0x3f1d8
0003f1bcldr x0, [sp+48]
0003f1c0ldr x1, [x0+8]
0003f1c4ldr x2, [x0]
0003f1c8ldr x3, [sp+40]
0003f1ccstr x2, [x3]
0003f1d0str x1, [x3+8]
0003f1d4b 0x3f200
0003f1d8
0003f1d8loc_3f1d8:
0003f1d8ldr x0, [sp+48]
0003f1dcldr x1, [x0+8]
0003f1e0ldr x2, [sp+40]
0003f1e4ldr x3, [x2]
0003f1e8str x3, [x1]
0003f1ecldr x1, [x2]
0003f1f0ldr x3, [x0+8]
0003f1f4str x3, [x1+8]
0003f1f8ldr x1, [x0]
0003f1fcstr x1, [x2]
0003f200
0003f200loc_3f200:
0003f200stp xzr, xzr, [x0]
0003f204ldur x29, [sp-8]
0003f208ldr x30, [sp], 32
0003f20cret x30
0003f210
0003f210loc_3f210:
0003f210stp x0, x1, [sp+8]
0003f214mov x3, x30
0003f218bl runtime.morestack_noctxt.abi0
0003f21cldp x0, x1, [sp+8]
0003f220b 0x3f160
0003f224udf 0
0003f228udf 0
0003f22cudf 0
0003f160
0003f160runtime.(*mSpanList).takeAll: ; void runtime.(*mSpanList).takeAll(runtime.mSpanList * list, runtime.mSpanList * other)
0003f160ldr x16, [x28+16]
0003f164subs xzr, sp, x16
0003f168b.ls 0x3f210
0003f16cstr x30, [sp-32]!
0003f170stur x29, [sp-8]
0003f174sub x29, sp, 8
0003f178str x0, [sp+40]
0003f17cstr x1, [sp+48]
0003f180mov x0, x1
0003f184bl runtime.(*mSpanList).isEmpty
0003f188tbnz w0, 0, 0x3f19c
0003f18cldr x1, [sp+48]
0003f190ldr x2, [x1]
0003f194ldr x0, [sp+40]
0003f198b 0x3f1b0
0003f19c
0003f19cloc_3f19c:
0003f19cldur x29, [sp-8]
0003f1a0ldr x30, [sp], 32
0003f1a4ret x30
0003f1a8
0003f1a8loc_3f1a8:
0003f1a8str x0, [x2+16]
0003f1acldr x2, [x2]
0003f1b0
0003f1b0loc_3f1b0:
0003f1b0cbnz x2, 0x3f1a8
0003f1b4bl runtime.(*mSpanList).isEmpty
0003f1b8tbz w0, 0, 0x3f1d8
0003f1bcldr x0, [sp+48]
0003f1c0ldr x1, [x0+8]
0003f1c4ldr x2, [x0]
0003f1c8ldr x3, [sp+40]
0003f1ccstr x2, [x3]
0003f1d0str x1, [x3+8]
0003f1d4b 0x3f200
0003f1d8
0003f1d8loc_3f1d8:
0003f1d8ldr x0, [sp+48]
0003f1dcldr x1, [x0+8]
0003f1e0ldr x2, [sp+40]
0003f1e4ldr x3, [x2]
0003f1e8str x3, [x1]
0003f1ecldr x1, [x2]
0003f1f0ldr x3, [x0+8]
0003f1f4str x3, [x1+8]
0003f1f8ldr x1, [x0]
0003f1fcstr x1, [x2]
0003f200
0003f200loc_3f200:
0003f200stp xzr, xzr, [x0]
0003f204ldur x29, [sp-8]
0003f208ldr x30, [sp], 32
0003f20cret x30
0003f210
0003f210loc_3f210:
0003f210stp x0, x1, [sp+8]
0003f214mov x3, x30
0003f218bl runtime.morestack_noctxt.abi0
0003f21cldp x0, x1, [sp+8]
0003f220b 0x3f160
0003f224udf 0
0003f228udf 0
0003f22cudf 0
0003f160
0003f230
0003f230runtime.spanHasSpecials: ; void runtime.spanHasSpecials(runtime.mspan * s)
0003f230ldr x16, [x28+16]
0003f234subs xzr, sp, x16
0003f238b.ls 0x3f31c
0003f23cstr x30, [sp-64]!
0003f240stur x29, [sp-8]
0003f244sub x29, sp, 8
0003f248str x0, [sp+72]
0003f24cbl runtime.(*mspan).base
0003f250str x0, [sp+40]
0003f254ldr x0, [sp+72]
0003f258bl runtime.(*mspan).base
0003f25cbl runtime.arenaIndex
0003f260str x0, [sp+32]
0003f264bl runtime.arenaIdx.l1
0003f268str x0, [sp+48]
0003f26cldr x0, [sp+32]
0003f270bl runtime.arenaIdx.l2
0003f274ldr x1, [sp+48]
0003f278subs xzr, x1, 1
0003f27cb.hs 0x3f30c
0003f280subs xzr, x0, 0x400000
0003f284b.hs 0x3f304
0003f288adrp x27, 0xa03000
0003f28cldr x2, [x27+2648]
0003f290ldrsb x27, [x2]
0003f294ldr x2, [x2+3*x0]
0003f298ldrsb x27, [x2]
0003f29cldr x3, [sp+40]
0003f2a0ubfm x0, x3, 16, 25
0003f2a4movz x4, 2048
0003f2a8movk x4, 0x10000
0003f2acadd x2, x2, x4
0003f2b0subs xzr, x0, 1024
0003f2b4b.hs 0x3f2fc
0003f2b8ubfm x0, x3, 13, 25
0003f2bcubfm x1, x3, 13, 15
0003f2c0add x0, x2, x0, lsr #3
0003f2c4orr x2, xzr, 1
0003f2c8lslv x1, x2, x1
0003f2ccadrp x27, 0xa0c000
0003f2d0ldrb w2, [x27+1516]
0003f2d4tbz w2, 0, 0x3f2e0
0003f2d8ldsetalb w1, w2, [x0]
0003f2dcb 0x3f2f0
0003f2e0
0003f2e0loc_3f2e0:
0003f2e0ldaxrb w3, [x0]
0003f2e4orr x2, x3, x1
0003f2e8stlxrb w27, w2, [x0]
0003f2eccbnz x27, 0x3f2e0
0003f2f0
0003f2f0loc_3f2f0:
0003f2f0ldur x29, [sp-8]
0003f2f4ldr x30, [sp], 64
0003f2f8ret x30
0003f2fc
0003f2fcloc_3f2fc:
0003f2fcorr x1, xzr, 1024
0003f300bl runtime.panicIndexU
0003f304
0003f304loc_3f304:
0003f304orr x1, xzr, 0x400000
0003f308bl runtime.panicIndexU
0003f30c
0003f30cloc_3f30c:
0003f30cmov x0, x1
0003f310orr x1, xzr, 1
0003f314bl runtime.panicIndexU
0003f318hint
0003f31c
0003f31cloc_3f31c:
0003f31cstr x0, [sp+8]
0003f320mov x3, x30
0003f324bl runtime.morestack_noctxt.abi0
0003f328ldr x0, [sp+8]
0003f32cb 0x3f230
0003f230
0003f230runtime.spanHasSpecials: ; void runtime.spanHasSpecials(runtime.mspan * s)
0003f230ldr x16, [x28+16]
0003f234subs xzr, sp, x16
0003f238b.ls 0x3f31c
0003f23cstr x30, [sp-64]!
0003f240stur x29, [sp-8]
0003f244sub x29, sp, 8
0003f248str x0, [sp+72]
0003f24cbl runtime.(*mspan).base
0003f250str x0, [sp+40]
0003f254ldr x0, [sp+72]
0003f258bl runtime.(*mspan).base
0003f25cbl runtime.arenaIndex
0003f260str x0, [sp+32]
0003f264bl runtime.arenaIdx.l1
0003f268str x0, [sp+48]
0003f26cldr x0, [sp+32]
0003f270bl runtime.arenaIdx.l2
0003f274ldr x1, [sp+48]
0003f278subs xzr, x1, 1
0003f27cb.hs 0x3f30c
0003f280subs xzr, x0, 0x400000
0003f284b.hs 0x3f304
0003f288adrp x27, 0xa03000
0003f28cldr x2, [x27+2648]
0003f290ldrsb x27, [x2]
0003f294ldr x2, [x2+3*x0]
0003f298ldrsb x27, [x2]
0003f29cldr x3, [sp+40]
0003f2a0ubfm x0, x3, 16, 25
0003f2a4movz x4, 2048
0003f2a8movk x4, 0x10000
0003f2acadd x2, x2, x4
0003f2b0subs xzr, x0, 1024
0003f2b4b.hs 0x3f2fc
0003f2b8ubfm x0, x3, 13, 25
0003f2bcubfm x1, x3, 13, 15
0003f2c0add x0, x2, x0, lsr #3
0003f2c4orr x2, xzr, 1
0003f2c8lslv x1, x2, x1
0003f2ccadrp x27, 0xa0c000
0003f2d0ldrb w2, [x27+1516]
0003f2d4tbz w2, 0, 0x3f2e0
0003f2d8ldsetalb w1, w2, [x0]
0003f2dcb 0x3f2f0
0003f2e0
0003f2e0loc_3f2e0:
0003f2e0ldaxrb w3, [x0]
0003f2e4orr x2, x3, x1
0003f2e8stlxrb w27, w2, [x0]
0003f2eccbnz x27, 0x3f2e0
0003f2f0
0003f2f0loc_3f2f0:
0003f2f0ldur x29, [sp-8]
0003f2f4ldr x30, [sp], 64
0003f2f8ret x30
0003f2fc
0003f2fcloc_3f2fc:
0003f2fcorr x1, xzr, 1024
0003f300bl runtime.panicIndexU
0003f304
0003f304loc_3f304:
0003f304orr x1, xzr, 0x400000
0003f308bl runtime.panicIndexU
0003f30c
0003f30cloc_3f30c:
0003f30cmov x0, x1
0003f310orr x1, xzr, 1
0003f314bl runtime.panicIndexU
0003f318hint
0003f31c
0003f31cloc_3f31c:
0003f31cstr x0, [sp+8]
0003f320mov x3, x30
0003f324bl runtime.morestack_noctxt.abi0
0003f328ldr x0, [sp+8]
0003f32cb 0x3f230
0003f230
0003f330
0003f330runtime.spanHasNoSpecials: ; void runtime.spanHasNoSpecials(runtime.mspan * s)
0003f330ldr x16, [x28+16]
0003f334subs xzr, sp, x16
0003f338b.ls 0x3f424
0003f33cstr x30, [sp-64]!
0003f340stur x29, [sp-8]
0003f344sub x29, sp, 8
0003f348str x0, [sp+72]
0003f34cbl runtime.(*mspan).base
0003f350str x0, [sp+40]
0003f354ldr x0, [sp+72]
0003f358bl runtime.(*mspan).base
0003f35cbl runtime.arenaIndex
0003f360str x0, [sp+32]
0003f364bl runtime.arenaIdx.l1
0003f368str x0, [sp+48]
0003f36cldr x0, [sp+32]
0003f370bl runtime.arenaIdx.l2
0003f374ldr x1, [sp+48]
0003f378subs xzr, x1, 1
0003f37cb.hs 0x3f414
0003f380subs xzr, x0, 0x400000
0003f384b.hs 0x3f40c
0003f388adrp x27, 0xa03000
0003f38cldr x2, [x27+2648]
0003f390ldrsb x27, [x2]
0003f394ldr x2, [x2+3*x0]
0003f398ldrsb x27, [x2]
0003f39cldr x3, [sp+40]
0003f3a0ubfm x0, x3, 16, 25
0003f3a4movz x4, 2048
0003f3a8movk x4, 0x10000
0003f3acadd x2, x2, x4
0003f3b0subs xzr, x0, 1024
0003f3b4b.hs 0x3f404
0003f3b8ubfm x0, x3, 13, 25
0003f3bcubfm x1, x3, 13, 15
0003f3c0orr x3, xzr, 1
0003f3c4lslv x1, x3, x1
0003f3c8add x0, x2, x0, lsr #3
0003f3ccorn x1, xzr, x1
0003f3d0adrp x27, 0xa0c000
0003f3d4ldrb w2, [x27+1516]
0003f3d8tbz w2, 0, 0x3f3e8
0003f3dcorn x27, xzr, x1
0003f3e0ldclralb w27, w2, [x0]
0003f3e4b 0x3f3f8
0003f3e8
0003f3e8loc_3f3e8:
0003f3e8ldaxrb w3, [x0]
0003f3ecand x2, x3, x1
0003f3f0stlxrb w27, w2, [x0]
0003f3f4cbnz x27, 0x3f3e8
0003f3f8
0003f3f8loc_3f3f8:
0003f3f8ldur x29, [sp-8]
0003f3fcldr x30, [sp], 64
0003f400ret x30
0003f404
0003f404loc_3f404:
0003f404orr x1, xzr, 1024
0003f408bl runtime.panicIndexU
0003f40c
0003f40cloc_3f40c:
0003f40corr x1, xzr, 0x400000
0003f410bl runtime.panicIndexU
0003f414
0003f414loc_3f414:
0003f414mov x0, x1
0003f418orr x1, xzr, 1
0003f41cbl runtime.panicIndexU
0003f420hint
0003f424
0003f424loc_3f424:
0003f424str x0, [sp+8]
0003f428mov x3, x30
0003f42cbl runtime.morestack_noctxt.abi0
0003f430ldr x0, [sp+8]
0003f434b 0x3f330
0003f438udf 0
0003f43cudf 0
0003f330
0003f330runtime.spanHasNoSpecials: ; void runtime.spanHasNoSpecials(runtime.mspan * s)
0003f330ldr x16, [x28+16]
0003f334subs xzr, sp, x16
0003f338b.ls 0x3f424
0003f33cstr x30, [sp-64]!
0003f340stur x29, [sp-8]
0003f344sub x29, sp, 8
0003f348str x0, [sp+72]
0003f34cbl runtime.(*mspan).base
0003f350str x0, [sp+40]
0003f354ldr x0, [sp+72]
0003f358bl runtime.(*mspan).base
0003f35cbl runtime.arenaIndex
0003f360str x0, [sp+32]
0003f364bl runtime.arenaIdx.l1
0003f368str x0, [sp+48]
0003f36cldr x0, [sp+32]
0003f370bl runtime.arenaIdx.l2
0003f374ldr x1, [sp+48]
0003f378subs xzr, x1, 1
0003f37cb.hs 0x3f414
0003f380subs xzr, x0, 0x400000
0003f384b.hs 0x3f40c
0003f388adrp x27, 0xa03000
0003f38cldr x2, [x27+2648]
0003f390ldrsb x27, [x2]
0003f394ldr x2, [x2+3*x0]
0003f398ldrsb x27, [x2]
0003f39cldr x3, [sp+40]
0003f3a0ubfm x0, x3, 16, 25
0003f3a4movz x4, 2048
0003f3a8movk x4, 0x10000
0003f3acadd x2, x2, x4
0003f3b0subs xzr, x0, 1024
0003f3b4b.hs 0x3f404
0003f3b8ubfm x0, x3, 13, 25
0003f3bcubfm x1, x3, 13, 15
0003f3c0orr x3, xzr, 1
0003f3c4lslv x1, x3, x1
0003f3c8add x0, x2, x0, lsr #3
0003f3ccorn x1, xzr, x1
0003f3d0adrp x27, 0xa0c000
0003f3d4ldrb w2, [x27+1516]
0003f3d8tbz w2, 0, 0x3f3e8
0003f3dcorn x27, xzr, x1
0003f3e0ldclralb w27, w2, [x0]
0003f3e4b 0x3f3f8
0003f3e8
0003f3e8loc_3f3e8:
0003f3e8ldaxrb w3, [x0]
0003f3ecand x2, x3, x1
0003f3f0stlxrb w27, w2, [x0]
0003f3f4cbnz x27, 0x3f3e8
0003f3f8
0003f3f8loc_3f3f8:
0003f3f8ldur x29, [sp-8]
0003f3fcldr x30, [sp], 64
0003f400ret x30
0003f404
0003f404loc_3f404:
0003f404orr x1, xzr, 1024
0003f408bl runtime.panicIndexU
0003f40c
0003f40cloc_3f40c:
0003f40corr x1, xzr, 0x400000
0003f410bl runtime.panicIndexU
0003f414
0003f414loc_3f414:
0003f414mov x0, x1
0003f418orr x1, xzr, 1
0003f41cbl runtime.panicIndexU
0003f420hint
0003f424
0003f424loc_3f424:
0003f424str x0, [sp+8]
0003f428mov x3, x30
0003f42cbl runtime.morestack_noctxt.abi0
0003f430ldr x0, [sp+8]
0003f434b 0x3f330
0003f438udf 0
0003f43cudf 0
0003f330
0003f440
0003f440runtime.addspecial: ; void runtime.addspecial(void * p, runtime.special * s, bool force)
0003f440ldr x16, [x28+16]
0003f444subs xzr, sp, x16
0003f448b.ls 0x3f53c
0003f44cstr x30, [sp-80]!
0003f450stur x29, [sp-8]
0003f454sub x29, sp, 8
0003f458str x0, [sp+88]
0003f45cstr x1, [sp+96]
0003f460strb w2, [sp+104]
0003f464mov x1, x0
0003f468mov x0, x1
0003f46cbl runtime.spanOfHeap
0003f470cbz x0, 0x3f528
0003f474str x0, [sp+40]
0003f478bl runtime.acquirem
0003f47cstr x0, [sp+56]
0003f480ldr x0, [sp+40]
0003f484bl runtime.(*mspan).ensureSwept
0003f488ldr x0, [sp+40]
0003f48cbl runtime.(*mspan).base
0003f490ldr x1, [sp+88]
0003f494sub x0, x1, x0
0003f498str x0, [sp+48]
0003f49cldr x0, [sp+96]
0003f4a0ldrb w0, [x0+16]
0003f4a4strb w0, [sp+38]
0003f4a8ldr x0, [sp+40]
0003f4acadd x0, x0, 120
0003f4b0str x0, [sp+64]
0003f4b4bl runtime.lock
0003f4b8ldr x0, [sp+40]
0003f4bcldr x1, [sp+48]
0003f4c0ldrb w2, [sp+38]
0003f4c4bl runtime.(*mspan).specialFindSplicePoint
0003f4c8strb w1, [sp+39]
0003f4cctbz w1, 0, 0x3f4d8
0003f4d0ldrb w2, [sp+104]
0003f4d4tbz w2, 0, 0x3f4f8
0003f4d8
0003f4d8loc_3f4d8:
0003f4d8ldr x1, [sp+48]
0003f4dcldr x2, [sp+96]
0003f4e0str x1, [x2+8]
0003f4e4ldr x1, [x0]
0003f4e8str x1, [x2]
0003f4ecstr x2, [x0]
0003f4f0ldr x0, [sp+40]
0003f4f4bl runtime.spanHasSpecials
0003f4f8
0003f4f8loc_3f4f8:
0003f4f8ldr x0, [sp+64]
0003f4fcbl runtime.unlock
0003f500ldr x0, [sp+56]
0003f504bl runtime.releasem
0003f508ldrb w0, [sp+39]
0003f50ctbz w0, 0, 0x3f518
0003f510ldrb w0, [sp+104]
0003f514b 0x3f51c
0003f518
0003f518loc_3f518:
0003f518orr x0, xzr, 1
0003f51c
0003f51cloc_3f51c:
0003f51cldur x29, [sp-8]
0003f520ldr x30, [sp], 80
0003f524ret x30
0003f528
0003f528loc_3f528:
0003f528adrp x0, 0x67d000
0003f52cadd x0, x0, 888
0003f530movz x1, 29
0003f534bl runtime.throw
0003f538hint
0003f53c
0003f53cloc_3f53c:
0003f53cstp x0, x1, [sp+8]
0003f540strb w2, [sp+24]
0003f544mov x3, x30
0003f548bl runtime.morestack_noctxt.abi0
0003f54cldp x0, x1, [sp+8]
0003f550ldrb w2, [sp+24]
0003f554b 0x3f440
0003f558udf 0
0003f55cudf 0
0003f440
0003f440runtime.addspecial: ; void runtime.addspecial(void * p, runtime.special * s, bool force)
0003f440ldr x16, [x28+16]
0003f444subs xzr, sp, x16
0003f448b.ls 0x3f53c
0003f44cstr x30, [sp-80]!
0003f450stur x29, [sp-8]
0003f454sub x29, sp, 8
0003f458str x0, [sp+88]
0003f45cstr x1, [sp+96]
0003f460strb w2, [sp+104]
0003f464mov x1, x0
0003f468mov x0, x1
0003f46cbl runtime.spanOfHeap
0003f470cbz x0, 0x3f528
0003f474str x0, [sp+40]
0003f478bl runtime.acquirem
0003f47cstr x0, [sp+56]
0003f480ldr x0, [sp+40]
0003f484bl runtime.(*mspan).ensureSwept
0003f488ldr x0, [sp+40]
0003f48cbl runtime.(*mspan).base
0003f490ldr x1, [sp+88]
0003f494sub x0, x1, x0
0003f498str x0, [sp+48]
0003f49cldr x0, [sp+96]
0003f4a0ldrb w0, [x0+16]
0003f4a4strb w0, [sp+38]
0003f4a8ldr x0, [sp+40]
0003f4acadd x0, x0, 120
0003f4b0str x0, [sp+64]
0003f4b4bl runtime.lock
0003f4b8ldr x0, [sp+40]
0003f4bcldr x1, [sp+48]
0003f4c0ldrb w2, [sp+38]
0003f4c4bl runtime.(*mspan).specialFindSplicePoint
0003f4c8strb w1, [sp+39]
0003f4cctbz w1, 0, 0x3f4d8
0003f4d0ldrb w2, [sp+104]
0003f4d4tbz w2, 0, 0x3f4f8
0003f4d8
0003f4d8loc_3f4d8:
0003f4d8ldr x1, [sp+48]
0003f4dcldr x2, [sp+96]
0003f4e0str x1, [x2+8]
0003f4e4ldr x1, [x0]
0003f4e8str x1, [x2]
0003f4ecstr x2, [x0]
0003f4f0ldr x0, [sp+40]
0003f4f4bl runtime.spanHasSpecials
0003f4f8
0003f4f8loc_3f4f8:
0003f4f8ldr x0, [sp+64]
0003f4fcbl runtime.unlock
0003f500ldr x0, [sp+56]
0003f504bl runtime.releasem
0003f508ldrb w0, [sp+39]
0003f50ctbz w0, 0, 0x3f518
0003f510ldrb w0, [sp+104]
0003f514b 0x3f51c
0003f518
0003f518loc_3f518:
0003f518orr x0, xzr, 1
0003f51c
0003f51cloc_3f51c:
0003f51cldur x29, [sp-8]
0003f520ldr x30, [sp], 80
0003f524ret x30
0003f528
0003f528loc_3f528:
0003f528adrp x0, 0x67d000
0003f52cadd x0, x0, 888
0003f530movz x1, 29
0003f534bl runtime.throw
0003f538hint
0003f53c
0003f53cloc_3f53c:
0003f53cstp x0, x1, [sp+8]
0003f540strb w2, [sp+24]
0003f544mov x3, x30
0003f548bl runtime.morestack_noctxt.abi0
0003f54cldp x0, x1, [sp+8]
0003f550ldrb w2, [sp+24]
0003f554b 0x3f440
0003f558udf 0
0003f55cudf 0
0003f440
0003f560
0003f560runtime.removespecial: ; void runtime.removespecial(void * p, uint8 kind)
0003f560ldr x16, [x28+16]
0003f564subs xzr, sp, x16
0003f568b.ls 0x3f638
0003f56cstr x30, [sp-80]!
0003f570stur x29, [sp-8]
0003f574sub x29, sp, 8
0003f578str x0, [sp+88]
0003f57cstrb w1, [sp+96]
0003f580mov x1, x0
0003f584mov x0, x1
0003f588bl runtime.spanOfHeap
0003f58ccbz x0, 0x3f624
0003f590str x0, [sp+32]
0003f594bl runtime.acquirem
0003f598str x0, [sp+56]
0003f59cldr x0, [sp+32]
0003f5a0bl runtime.(*mspan).ensureSwept
0003f5a4ldr x0, [sp+32]
0003f5a8bl runtime.(*mspan).base
0003f5acldr x1, [sp+88]
0003f5b0sub x0, x1, x0
0003f5b4str x0, [sp+48]
0003f5b8ldr x0, [sp+32]
0003f5bcadd x0, x0, 120
0003f5c0str x0, [sp+64]
0003f5c4bl runtime.lock
0003f5c8ldr x0, [sp+32]
0003f5ccldr x1, [sp+48]
0003f5d0ldrb w2, [sp+96]
0003f5d4bl runtime.(*mspan).specialFindSplicePoint
0003f5d8tbz w1, 0, 0x3f5ec
0003f5dcldr x1, [x0]
0003f5e0ldr x2, [x1]
0003f5e4str x2, [x0]
0003f5e8b 0x3f5f0
0003f5ec
0003f5ecloc_3f5ec:
0003f5ecmov x1, xzr
0003f5f0
0003f5f0loc_3f5f0:
0003f5f0str x1, [sp+40]
0003f5f4ldr x0, [sp+32]
0003f5f8ldr x2, [x0+128]
0003f5fccbnz x2, 0x3f604
0003f600bl runtime.spanHasNoSpecials
0003f604
0003f604loc_3f604:
0003f604ldr x0, [sp+64]
0003f608bl runtime.unlock
0003f60cldr x0, [sp+56]
0003f610bl runtime.releasem
0003f614ldr x0, [sp+40]
0003f618ldur x29, [sp-8]
0003f61cldr x30, [sp], 80
0003f620ret x30
0003f624
0003f624loc_3f624:
0003f624adrp x0, 0x67f000
0003f628add x0, x0, 1296
0003f62corr x1, xzr, 32
0003f630bl runtime.throw
0003f634hint
0003f638
0003f638loc_3f638:
0003f638str x0, [sp+8]
0003f63cstrb w1, [sp+16]
0003f640mov x3, x30
0003f644bl runtime.morestack_noctxt.abi0
0003f648ldr x0, [sp+8]
0003f64cldrb w1, [sp+16]
0003f650b 0x3f560
0003f654udf 0
0003f658udf 0
0003f65cudf 0
0003f560
0003f560runtime.removespecial: ; void runtime.removespecial(void * p, uint8 kind)
0003f560ldr x16, [x28+16]
0003f564subs xzr, sp, x16
0003f568b.ls 0x3f638
0003f56cstr x30, [sp-80]!
0003f570stur x29, [sp-8]
0003f574sub x29, sp, 8
0003f578str x0, [sp+88]
0003f57cstrb w1, [sp+96]
0003f580mov x1, x0
0003f584mov x0, x1
0003f588bl runtime.spanOfHeap
0003f58ccbz x0, 0x3f624
0003f590str x0, [sp+32]
0003f594bl runtime.acquirem
0003f598str x0, [sp+56]
0003f59cldr x0, [sp+32]
0003f5a0bl runtime.(*mspan).ensureSwept
0003f5a4ldr x0, [sp+32]
0003f5a8bl runtime.(*mspan).base
0003f5acldr x1, [sp+88]
0003f5b0sub x0, x1, x0
0003f5b4str x0, [sp+48]
0003f5b8ldr x0, [sp+32]
0003f5bcadd x0, x0, 120
0003f5c0str x0, [sp+64]
0003f5c4bl runtime.lock
0003f5c8ldr x0, [sp+32]
0003f5ccldr x1, [sp+48]
0003f5d0ldrb w2, [sp+96]
0003f5d4bl runtime.(*mspan).specialFindSplicePoint
0003f5d8tbz w1, 0, 0x3f5ec
0003f5dcldr x1, [x0]
0003f5e0ldr x2, [x1]
0003f5e4str x2, [x0]
0003f5e8b 0x3f5f0
0003f5ec
0003f5ecloc_3f5ec:
0003f5ecmov x1, xzr
0003f5f0
0003f5f0loc_3f5f0:
0003f5f0str x1, [sp+40]
0003f5f4ldr x0, [sp+32]
0003f5f8ldr x2, [x0+128]
0003f5fccbnz x2, 0x3f604
0003f600bl runtime.spanHasNoSpecials
0003f604
0003f604loc_3f604:
0003f604ldr x0, [sp+64]
0003f608bl runtime.unlock
0003f60cldr x0, [sp+56]
0003f610bl runtime.releasem
0003f614ldr x0, [sp+40]
0003f618ldur x29, [sp-8]
0003f61cldr x30, [sp], 80
0003f620ret x30
0003f624
0003f624loc_3f624:
0003f624adrp x0, 0x67f000
0003f628add x0, x0, 1296
0003f62corr x1, xzr, 32
0003f630bl runtime.throw
0003f634hint
0003f638
0003f638loc_3f638:
0003f638str x0, [sp+8]
0003f63cstrb w1, [sp+16]
0003f640mov x3, x30
0003f644bl runtime.morestack_noctxt.abi0
0003f648ldr x0, [sp+8]
0003f64cldrb w1, [sp+16]
0003f650b 0x3f560
0003f654udf 0
0003f658udf 0
0003f65cudf 0
0003f560
0003f660
0003f660runtime.(*mspan).specialFindSplicePoint: ; void runtime.(*mspan).specialFindSplicePoint(runtime.mspan * span, uintptr offset, uint8 kind)
0003f660ldrsb x27, [x0]
0003f664add x3, x0, 128
0003f668b 0x3f670
0003f66c
0003f66cloc_3f66c:
0003f66cmov x3, x4
0003f670
0003f670loc_3f670:
0003f670ldr x4, [x3]
0003f674cbz x4, 0x3f6c4
0003f678ldr x5, [x4+8]
0003f67csubs xzr, x1, x5
0003f680b.ne 0x3f698
0003f684ubfm x6, x2, 0, 7
0003f688ldrb w7, [x4+16]
0003f68csubs wzr, w6, w7
0003f690b.eq 0x3f6b4
0003f694subs xzr, x1, x5
0003f698
0003f698loc_3f698:
0003f698b.lo 0x3f6bc
0003f69cb.ne 0x3f66c
0003f6a0ubfm x5, x2, 0, 7
0003f6a4ldrb w6, [x4+16]
0003f6a8subs wzr, w6, w5
0003f6acb.ls 0x3f66c
0003f6b0b 0x3f6bc
0003f6b4
0003f6b4loc_3f6b4:
0003f6b4orr x0, xzr, 1
0003f6b8b 0x3f6c8
0003f6bc
0003f6bcloc_3f6bc:
0003f6bcmov x0, xzr
0003f6c0b 0x3f6c8
0003f6c4
0003f6c4loc_3f6c4:
0003f6c4mov x0, xzr
0003f6c8
0003f6c8loc_3f6c8:
0003f6c8mov x1, x0
0003f6ccmov x0, x3
0003f6d0ret x30
0003f6d4udf 0
0003f6d8udf 0
0003f6dcudf 0
0003f660
0003f660runtime.(*mspan).specialFindSplicePoint: ; void runtime.(*mspan).specialFindSplicePoint(runtime.mspan * span, uintptr offset, uint8 kind)
0003f660ldrsb x27, [x0]
0003f664add x3, x0, 128
0003f668b 0x3f670
0003f66c
0003f66cloc_3f66c:
0003f66cmov x3, x4
0003f670
0003f670loc_3f670:
0003f670ldr x4, [x3]
0003f674cbz x4, 0x3f6c4
0003f678ldr x5, [x4+8]
0003f67csubs xzr, x1, x5
0003f680b.ne 0x3f698
0003f684ubfm x6, x2, 0, 7
0003f688ldrb w7, [x4+16]
0003f68csubs wzr, w6, w7
0003f690b.eq 0x3f6b4
0003f694subs xzr, x1, x5
0003f698
0003f698loc_3f698:
0003f698b.lo 0x3f6bc
0003f69cb.ne 0x3f66c
0003f6a0ubfm x5, x2, 0, 7
0003f6a4ldrb w6, [x4+16]
0003f6a8subs wzr, w6, w5
0003f6acb.ls 0x3f66c
0003f6b0b 0x3f6bc
0003f6b4
0003f6b4loc_3f6b4:
0003f6b4orr x0, xzr, 1
0003f6b8b 0x3f6c8
0003f6bc
0003f6bcloc_3f6bc:
0003f6bcmov x0, xzr
0003f6c0b 0x3f6c8
0003f6c4
0003f6c4loc_3f6c4:
0003f6c4mov x0, xzr
0003f6c8
0003f6c8loc_3f6c8:
0003f6c8mov x1, x0
0003f6ccmov x0, x3
0003f6d0ret x30
0003f6d4udf 0
0003f6d8udf 0
0003f6dcudf 0
0003f660
0003f6e0
0003f6e0runtime.addfinalizer: ; void runtime.addfinalizer(void * p, runtime.funcval * f, uintptr nret, internal/abi.Type * fint, internal/abi.PtrType * ot)
0003f6e0ldr x16, [x28+16]
0003f6e4subs xzr, sp, x16
0003f6e8b.ls 0x3f88c
0003f6ecstr x30, [sp-96]!
0003f6f0stur x29, [sp-8]
0003f6f4sub x29, sp, 8
0003f6f8str x0, [sp+104]
0003f6fcstr x1, [sp+112]
0003f700str x2, [sp+120]
0003f704str x3, [sp+128]
0003f708str x4, [sp+136]
0003f70cadrp x0, 0xa0c000
0003f710add x0, x0, 1352
0003f714bl runtime.lock
0003f718adrp x0, 0xa0c000
0003f71cadd x0, x0, 920
0003f720bl runtime.(*fixalloc).alloc
0003f724str x0, [sp+80]
0003f728adrp x0, 0xa0c000
0003f72cadd x0, x0, 1352
0003f730bl runtime.unlock
0003f734orr x1, xzr, 1
0003f738ldr x2, [sp+80]
0003f73cstrb w1, [x2+16]
0003f740adrp x27, 0xa0c000
0003f744ldr w1, [x27+3056]
0003f748cbnz w1, 0x3f75c
0003f74cldr x3, [sp+112]
0003f750ldr x4, [sp+128]
0003f754ldr x5, [sp+136]
0003f758b 0x3f790
0003f75c
0003f75cloc_3f75c:
0003f75cbl runtime.gcWriteBarrier6
0003f760ldr x3, [sp+112]
0003f764str x3, [x25]
0003f768ldr x4, [x2+24]
0003f76cstr x4, [x25+8]
0003f770ldr x4, [sp+128]
0003f774str x4, [x25+16]
0003f778ldr x5, [x2+40]
0003f77cstr x5, [x25+24]
0003f780ldr x5, [sp+136]
0003f784str x5, [x25+32]
0003f788ldr x6, [x2+48]
0003f78cstr x6, [x25+40]
0003f790
0003f790loc_3f790:
0003f790str x3, [x2+24]
0003f794ldr x3, [sp+120]
0003f798str x3, [x2+32]
0003f79cstr x4, [x2+40]
0003f7a0str x5, [x2+48]
0003f7a4ldr x0, [sp+104]
0003f7a8mov x1, x2
0003f7acmov x2, xzr
0003f7b0bl runtime.addspecial
0003f7b4tbz w0, 0, 0x3f854
0003f7b8adrp x27, 0xa0c000
0003f7bcldr w3, [x27+1600]
0003f7c0cbz w3, 0x3f844
0003f7c4ldr x0, [sp+104]
0003f7c8mov x1, xzr
0003f7ccmov x2, x1
0003f7d0bl runtime.findObject
0003f7d4str x1, [sp+48]
0003f7d8str x0, [sp+56]
0003f7dcbl runtime.acquirem
0003f7e0str x0, [sp+64]
0003f7e4ldr x0, [x0+208]
0003f7e8bl runtime.puintptr.ptr
0003f7ecldrsb x27, [x0]
0003f7f0ldr x3, [sp+48]
0003f7f4ldrb w3, [x3+98]
0003f7f8movz x4, 4680
0003f7fcadd x4, x0, x4
0003f800str x4, [sp+72]
0003f804mov x0, x3
0003f808bl runtime.spanClass.noscan
0003f80ctbnz w0, 0, 0x3f81c
0003f810ldr x0, [sp+56]
0003f814ldr x1, [sp+72]
0003f818bl runtime.scanobject
0003f81c
0003f81cloc_3f81c:
0003f81cldr x5, [sp+80]
0003f820add x0, x5, 24
0003f824orr x1, xzr, 8
0003f828adrp x2, 0x981000
0003f82cadd x2, x2, 1377
0003f830ldr x3, [sp+72]
0003f834mov x4, xzr
0003f838bl runtime.scanblock
0003f83cldr x0, [sp+64]
0003f840bl runtime.releasem
0003f844
0003f844loc_3f844:
0003f844orr x0, xzr, 1
0003f848ldur x29, [sp-8]
0003f84cldr x30, [sp], 96
0003f850ret x30
0003f854
0003f854loc_3f854:
0003f854adrp x0, 0xa0c000
0003f858add x0, x0, 1352
0003f85cbl runtime.lock
0003f860adrp x0, 0xa0c000
0003f864add x0, x0, 920
0003f868ldr x1, [sp+80]
0003f86cbl runtime.(*fixalloc).free
0003f870adrp x0, 0xa0c000
0003f874add x0, x0, 1352
0003f878bl runtime.unlock
0003f87cmov x0, xzr
0003f880ldur x29, [sp-8]
0003f884ldr x30, [sp], 96
0003f888ret x30
0003f88c
0003f88cloc_3f88c:
0003f88cstp x0, x1, [sp+8]
0003f890stp x2, x3, [sp+24]
0003f894str x4, [sp+40]
0003f898mov x3, x30
0003f89cbl runtime.morestack_noctxt.abi0
0003f8a0ldp x0, x1, [sp+8]
0003f8a4ldp x2, x3, [sp+24]
0003f8a8ldr x4, [sp+40]
0003f8acb 0x3f6e0
0003f6e0
0003f6e0runtime.addfinalizer: ; void runtime.addfinalizer(void * p, runtime.funcval * f, uintptr nret, internal/abi.Type * fint, internal/abi.PtrType * ot)
0003f6e0ldr x16, [x28+16]
0003f6e4subs xzr, sp, x16
0003f6e8b.ls 0x3f88c
0003f6ecstr x30, [sp-96]!
0003f6f0stur x29, [sp-8]
0003f6f4sub x29, sp, 8
0003f6f8str x0, [sp+104]
0003f6fcstr x1, [sp+112]
0003f700str x2, [sp+120]
0003f704str x3, [sp+128]
0003f708str x4, [sp+136]
0003f70cadrp x0, 0xa0c000
0003f710add x0, x0, 1352
0003f714bl runtime.lock
0003f718adrp x0, 0xa0c000
0003f71cadd x0, x0, 920
0003f720bl runtime.(*fixalloc).alloc
0003f724str x0, [sp+80]
0003f728adrp x0, 0xa0c000
0003f72cadd x0, x0, 1352
0003f730bl runtime.unlock
0003f734orr x1, xzr, 1
0003f738ldr x2, [sp+80]
0003f73cstrb w1, [x2+16]
0003f740adrp x27, 0xa0c000
0003f744ldr w1, [x27+3056]
0003f748cbnz w1, 0x3f75c
0003f74cldr x3, [sp+112]
0003f750ldr x4, [sp+128]
0003f754ldr x5, [sp+136]
0003f758b 0x3f790
0003f75c
0003f75cloc_3f75c:
0003f75cbl runtime.gcWriteBarrier6
0003f760ldr x3, [sp+112]
0003f764str x3, [x25]
0003f768ldr x4, [x2+24]
0003f76cstr x4, [x25+8]
0003f770ldr x4, [sp+128]
0003f774str x4, [x25+16]
0003f778ldr x5, [x2+40]
0003f77cstr x5, [x25+24]
0003f780ldr x5, [sp+136]
0003f784str x5, [x25+32]
0003f788ldr x6, [x2+48]
0003f78cstr x6, [x25+40]
0003f790
0003f790loc_3f790:
0003f790str x3, [x2+24]
0003f794ldr x3, [sp+120]
0003f798str x3, [x2+32]
0003f79cstr x4, [x2+40]
0003f7a0str x5, [x2+48]
0003f7a4ldr x0, [sp+104]
0003f7a8mov x1, x2
0003f7acmov x2, xzr
0003f7b0bl runtime.addspecial
0003f7b4tbz w0, 0, 0x3f854
0003f7b8adrp x27, 0xa0c000
0003f7bcldr w3, [x27+1600]
0003f7c0cbz w3, 0x3f844
0003f7c4ldr x0, [sp+104]
0003f7c8mov x1, xzr
0003f7ccmov x2, x1
0003f7d0bl runtime.findObject
0003f7d4str x1, [sp+48]
0003f7d8str x0, [sp+56]
0003f7dcbl runtime.acquirem
0003f7e0str x0, [sp+64]
0003f7e4ldr x0, [x0+208]
0003f7e8bl runtime.puintptr.ptr
0003f7ecldrsb x27, [x0]
0003f7f0ldr x3, [sp+48]
0003f7f4ldrb w3, [x3+98]
0003f7f8movz x4, 4680
0003f7fcadd x4, x0, x4
0003f800str x4, [sp+72]
0003f804mov x0, x3
0003f808bl runtime.spanClass.noscan
0003f80ctbnz w0, 0, 0x3f81c
0003f810ldr x0, [sp+56]
0003f814ldr x1, [sp+72]
0003f818bl runtime.scanobject
0003f81c
0003f81cloc_3f81c:
0003f81cldr x5, [sp+80]
0003f820add x0, x5, 24
0003f824orr x1, xzr, 8
0003f828adrp x2, 0x981000
0003f82cadd x2, x2, 1377
0003f830ldr x3, [sp+72]
0003f834mov x4, xzr
0003f838bl runtime.scanblock
0003f83cldr x0, [sp+64]
0003f840bl runtime.releasem
0003f844
0003f844loc_3f844:
0003f844orr x0, xzr, 1
0003f848ldur x29, [sp-8]
0003f84cldr x30, [sp], 96
0003f850ret x30
0003f854
0003f854loc_3f854:
0003f854adrp x0, 0xa0c000
0003f858add x0, x0, 1352
0003f85cbl runtime.lock
0003f860adrp x0, 0xa0c000
0003f864add x0, x0, 920
0003f868ldr x1, [sp+80]
0003f86cbl runtime.(*fixalloc).free
0003f870adrp x0, 0xa0c000
0003f874add x0, x0, 1352
0003f878bl runtime.unlock
0003f87cmov x0, xzr
0003f880ldur x29, [sp-8]
0003f884ldr x30, [sp], 96
0003f888ret x30
0003f88c
0003f88cloc_3f88c:
0003f88cstp x0, x1, [sp+8]
0003f890stp x2, x3, [sp+24]
0003f894str x4, [sp+40]
0003f898mov x3, x30
0003f89cbl runtime.morestack_noctxt.abi0
0003f8a0ldp x0, x1, [sp+8]
0003f8a4ldp x2, x3, [sp+24]
0003f8a8ldr x4, [sp+40]
0003f8acb 0x3f6e0
0003f6e0
0003f8b0
0003f8b0runtime.removefinalizer: ; void runtime.removefinalizer(void * p)
0003f8b0ldr x16, [x28+16]
0003f8b4subs xzr, sp, x16
0003f8b8b.ls 0x3f918
0003f8bcstr x30, [sp-48]!
0003f8c0stur x29, [sp-8]
0003f8c4sub x29, sp, 8
0003f8c8orr x1, xzr, 1
0003f8ccbl runtime.removespecial
0003f8d0cbz x0, 0x3f90c
0003f8d4str x0, [sp+32]
0003f8d8adrp x0, 0xa0c000
0003f8dcadd x0, x0, 1352
0003f8e0bl runtime.lock
0003f8e4adrp x0, 0xa0c000
0003f8e8add x0, x0, 920
0003f8ecldr x1, [sp+32]
0003f8f0bl runtime.(*fixalloc).free
0003f8f4adrp x0, 0xa0c000
0003f8f8add x0, x0, 1352
0003f8fcbl runtime.unlock
0003f900ldur x29, [sp-8]
0003f904ldr x30, [sp], 48
0003f908ret x30
0003f90c
0003f90cloc_3f90c:
0003f90cldur x29, [sp-8]
0003f910ldr x30, [sp], 48
0003f914ret x30
0003f918
0003f918loc_3f918:
0003f918str x0, [sp+8]
0003f91cmov x3, x30
0003f920bl runtime.morestack_noctxt.abi0
0003f924ldr x0, [sp+8]
0003f928b 0x3f8b0
0003f92cudf 0
0003f8b0
0003f8b0runtime.removefinalizer: ; void runtime.removefinalizer(void * p)
0003f8b0ldr x16, [x28+16]
0003f8b4subs xzr, sp, x16
0003f8b8b.ls 0x3f918
0003f8bcstr x30, [sp-48]!
0003f8c0stur x29, [sp-8]
0003f8c4sub x29, sp, 8
0003f8c8orr x1, xzr, 1
0003f8ccbl runtime.removespecial
0003f8d0cbz x0, 0x3f90c
0003f8d4str x0, [sp+32]
0003f8d8adrp x0, 0xa0c000
0003f8dcadd x0, x0, 1352
0003f8e0bl runtime.lock
0003f8e4adrp x0, 0xa0c000
0003f8e8add x0, x0, 920
0003f8ecldr x1, [sp+32]
0003f8f0bl runtime.(*fixalloc).free
0003f8f4adrp x0, 0xa0c000
0003f8f8add x0, x0, 1352
0003f8fcbl runtime.unlock
0003f900ldur x29, [sp-8]
0003f904ldr x30, [sp], 48
0003f908ret x30
0003f90c
0003f90cloc_3f90c:
0003f90cldur x29, [sp-8]
0003f910ldr x30, [sp], 48
0003f914ret x30
0003f918
0003f918loc_3f918:
0003f918str x0, [sp+8]
0003f91cmov x3, x30
0003f920bl runtime.morestack_noctxt.abi0
0003f924ldr x0, [sp+8]
0003f928b 0x3f8b0
0003f92cudf 0
0003f8b0
0003f930
0003f930runtime.gcParkStrongFromWeak: ; void runtime.gcParkStrongFromWeak(void)
0003f930ldr x16, [x28+16]
0003f934subs xzr, sp, x16
0003f938b.ls 0x3f9ac
0003f93cstr x30, [sp-48]!
0003f940stur x29, [sp-8]
0003f944sub x29, sp, 8
0003f948bl runtime.acquirem
0003f94cb 0x3f994
0003f950
0003f950loc_3f950:
0003f950str x0, [sp+32]
0003f954adrp x0, 0x9e5000
0003f958add x0, x0, 3184
0003f95cbl runtime.lock
0003f960ldr x0, [sp+32]
0003f964bl runtime.releasem
0003f968adrp x0, 0x9e5000
0003f96cadd x0, x0, 3192
0003f970mov x1, x28
0003f974bl runtime.(*gQueue).pushBack
0003f978adrp x0, 0x9e5000
0003f97cadd x0, x0, 3184
0003f980movz x1, 38
0003f984orr x2, xzr, 15
0003f988orr x3, xzr, 2
0003f98cbl runtime.goparkunlock
0003f990bl runtime.acquirem
0003f994
0003f994loc_3f994:
0003f994adrp x27, 0x9e5000
0003f998ldrb w1, [x27+3176]
0003f99ctbnz w1, 0, 0x3f950
0003f9a0ldur x29, [sp-8]
0003f9a4ldr x30, [sp], 48
0003f9a8ret x30
0003f9ac
0003f9acloc_3f9ac:
0003f9acmov x3, x30
0003f9b0bl runtime.morestack_noctxt.abi0
0003f9b4b 0x3f930
0003f9b8udf 0
0003f9bcudf 0
0003f930
0003f930runtime.gcParkStrongFromWeak: ; void runtime.gcParkStrongFromWeak(void)
0003f930ldr x16, [x28+16]
0003f934subs xzr, sp, x16
0003f938b.ls 0x3f9ac
0003f93cstr x30, [sp-48]!
0003f940stur x29, [sp-8]
0003f944sub x29, sp, 8
0003f948bl runtime.acquirem
0003f94cb 0x3f994
0003f950
0003f950loc_3f950:
0003f950str x0, [sp+32]
0003f954adrp x0, 0x9e5000
0003f958add x0, x0, 3184
0003f95cbl runtime.lock
0003f960ldr x0, [sp+32]
0003f964bl runtime.releasem
0003f968adrp x0, 0x9e5000
0003f96cadd x0, x0, 3192
0003f970mov x1, x28
0003f974bl runtime.(*gQueue).pushBack
0003f978adrp x0, 0x9e5000
0003f97cadd x0, x0, 3184
0003f980movz x1, 38
0003f984orr x2, xzr, 15
0003f988orr x3, xzr, 2
0003f98cbl runtime.goparkunlock
0003f990bl runtime.acquirem
0003f994
0003f994loc_3f994:
0003f994adrp x27, 0x9e5000
0003f998ldrb w1, [x27+3176]
0003f99ctbnz w1, 0, 0x3f950
0003f9a0ldur x29, [sp-8]
0003f9a4ldr x30, [sp], 48
0003f9a8ret x30
0003f9ac
0003f9acloc_3f9ac:
0003f9acmov x3, x30
0003f9b0bl runtime.morestack_noctxt.abi0
0003f9b4b 0x3f930
0003f9b8udf 0
0003f9bcudf 0
0003f930
0003f9c0
0003f9c0runtime.gcWakeAllStrongFromWeak: ; void runtime.gcWakeAllStrongFromWeak(void)
0003f9c0ldr x16, [x28+16]
0003f9c4subs xzr, sp, x16
0003f9c8b.ls 0x3fa14
0003f9ccstr x30, [sp-32]!
0003f9d0stur x29, [sp-8]
0003f9d4sub x29, sp, 8
0003f9d8adrp x0, 0x9e5000
0003f9dcadd x0, x0, 3184
0003f9e0bl runtime.lock
0003f9e4adrp x0, 0x9e5000
0003f9e8add x0, x0, 3192
0003f9ecbl runtime.(*gQueue).popList
0003f9f0str x0, [sp+16]
0003f9f4add x0, sp, 16
0003f9f8bl runtime.injectglist
0003f9fcadrp x0, 0x9e5000
0003fa00add x0, x0, 3184
0003fa04bl runtime.unlock
0003fa08ldur x29, [sp-8]
0003fa0cldr x30, [sp], 32
0003fa10ret x30
0003fa14
0003fa14loc_3fa14:
0003fa14mov x3, x30
0003fa18bl runtime.morestack_noctxt.abi0
0003fa1cb 0x3f9c0
0003f9c0
0003f9c0runtime.gcWakeAllStrongFromWeak: ; void runtime.gcWakeAllStrongFromWeak(void)
0003f9c0ldr x16, [x28+16]
0003f9c4subs xzr, sp, x16
0003f9c8b.ls 0x3fa14
0003f9ccstr x30, [sp-32]!
0003f9d0stur x29, [sp-8]
0003f9d4sub x29, sp, 8
0003f9d8adrp x0, 0x9e5000
0003f9dcadd x0, x0, 3184
0003f9e0bl runtime.lock
0003f9e4adrp x0, 0x9e5000
0003f9e8add x0, x0, 3192
0003f9ecbl runtime.(*gQueue).popList
0003f9f0str x0, [sp+16]
0003f9f4add x0, sp, 16
0003f9f8bl runtime.injectglist
0003f9fcadrp x0, 0x9e5000
0003fa00add x0, x0, 3184
0003fa04bl runtime.unlock
0003fa08ldur x29, [sp-8]
0003fa0cldr x30, [sp], 32
0003fa10ret x30
0003fa14
0003fa14loc_3fa14:
0003fa14mov x3, x30
0003fa18bl runtime.morestack_noctxt.abi0
0003fa1cb 0x3f9c0
0003f9c0
0003fa20
0003fa20runtime.getOrAddWeakHandle: ; void runtime.getOrAddWeakHandle(void * p)
0003fa20ldr x16, [x28+16]
0003fa24subs xzr, sp, x16
0003fa28b.ls 0x3fb88
0003fa2cstr x30, [sp-80]!
0003fa30stur x29, [sp-8]
0003fa34sub x29, sp, 8
0003fa38str x0, [sp+88]
0003fa3cbl runtime.getWeakHandle
0003fa40cbnz x0, 0x3fb68
0003fa44adrp x0, 0xa0c000
0003fa48add x0, x0, 1352
0003fa4cbl runtime.lock
0003fa50adrp x0, 0xa0c000
0003fa54add x0, x0, 1280
0003fa58bl runtime.(*fixalloc).alloc
0003fa5cstr x0, [sp+64]
0003fa60adrp x0, 0xa0c000
0003fa64add x0, x0, 1352
0003fa68bl runtime.unlock
0003fa6cadrp x0, 0x602000
0003fa70add x0, x0, 2848
0003fa74bl runtime.newobject
0003fa78orr x1, xzr, 2
0003fa7cldr x2, [sp+64]
0003fa80strb w1, [x2+16]
0003fa84adrp x27, 0xa0c000
0003fa88ldr w1, [x27+3056]
0003fa8ccbz w1, 0x3faa0
0003fa90bl runtime.gcWriteBarrier2
0003fa94str x0, [x25]
0003fa98ldr x3, [x2+24]
0003fa9cstr x3, [x25+8]
0003faa0
0003faa0loc_3faa0:
0003faa0str x0, [sp+56]
0003faa4str x0, [x2+24]
0003faa8ldr x1, [sp+88]
0003faacmov x2, x1
0003fab0mov x1, x2
0003fab4bl internal/runtime/atomic.(*Uintptr).Store
0003fab8ldr x0, [sp+88]
0003fabcldr x1, [sp+64]
0003fac0mov x2, xzr
0003fac4bl runtime.addspecial
0003fac8tbz w0, 0, 0x3fb28
0003faccadrp x27, 0xa0c000
0003fad0ldr w1, [x27+1600]
0003fad4cbz w1, 0x3fb18
0003fad8bl runtime.acquirem
0003fadcstr x0, [sp+48]
0003fae0ldr x0, [x0+208]
0003fae4bl runtime.puintptr.ptr
0003fae8ldrsb x27, [x0]
0003faecmovz x1, 4680
0003faf0add x3, x0, x1
0003faf4ldr x0, [sp+64]
0003faf8add x0, x0, 24
0003fafcorr x1, xzr, 8
0003fb00adrp x2, 0x981000
0003fb04add x2, x2, 1377
0003fb08mov x4, xzr
0003fb0cbl runtime.scanblock
0003fb10ldr x0, [sp+48]
0003fb14bl runtime.releasem
0003fb18
0003fb18loc_3fb18:
0003fb18ldr x0, [sp+56]
0003fb1cldur x29, [sp-8]
0003fb20ldr x30, [sp], 80
0003fb24ret x30
0003fb28
0003fb28loc_3fb28:
0003fb28adrp x0, 0xa0c000
0003fb2cadd x0, x0, 1352
0003fb30bl runtime.lock
0003fb34adrp x0, 0xa0c000
0003fb38add x0, x0, 1280
0003fb3cldr x1, [sp+64]
0003fb40bl runtime.(*fixalloc).free
0003fb44adrp x0, 0xa0c000
0003fb48add x0, x0, 1352
0003fb4cbl runtime.unlock
0003fb50ldr x0, [sp+88]
0003fb54bl runtime.getWeakHandle
0003fb58cbz x0, 0x3fb74
0003fb5cldur x29, [sp-8]
0003fb60ldr x30, [sp], 80
0003fb64ret x30
0003fb68
0003fb68loc_3fb68:
0003fb68ldur x29, [sp-8]
0003fb6cldr x30, [sp], 80
0003fb70ret x30
0003fb74
0003fb74loc_3fb74:
0003fb74adrp x0, 0x681000
0003fb78add x0, x0, 2246
0003fb7cmovz x1, 35
0003fb80bl runtime.throw
0003fb84hint
0003fb88
0003fb88loc_3fb88:
0003fb88str x0, [sp+8]
0003fb8cmov x3, x30
0003fb90bl runtime.morestack_noctxt.abi0
0003fb94ldr x0, [sp+8]
0003fb98b 0x3fa20
0003fb9cudf 0
0003fa20
0003fa20runtime.getOrAddWeakHandle: ; void runtime.getOrAddWeakHandle(void * p)
0003fa20ldr x16, [x28+16]
0003fa24subs xzr, sp, x16
0003fa28b.ls 0x3fb88
0003fa2cstr x30, [sp-80]!
0003fa30stur x29, [sp-8]
0003fa34sub x29, sp, 8
0003fa38str x0, [sp+88]
0003fa3cbl runtime.getWeakHandle
0003fa40cbnz x0, 0x3fb68
0003fa44adrp x0, 0xa0c000
0003fa48add x0, x0, 1352
0003fa4cbl runtime.lock
0003fa50adrp x0, 0xa0c000
0003fa54add x0, x0, 1280
0003fa58bl runtime.(*fixalloc).alloc
0003fa5cstr x0, [sp+64]
0003fa60adrp x0, 0xa0c000
0003fa64add x0, x0, 1352
0003fa68bl runtime.unlock
0003fa6cadrp x0, 0x602000
0003fa70add x0, x0, 2848
0003fa74bl runtime.newobject
0003fa78orr x1, xzr, 2
0003fa7cldr x2, [sp+64]
0003fa80strb w1, [x2+16]
0003fa84adrp x27, 0xa0c000
0003fa88ldr w1, [x27+3056]
0003fa8ccbz w1, 0x3faa0
0003fa90bl runtime.gcWriteBarrier2
0003fa94str x0, [x25]
0003fa98ldr x3, [x2+24]
0003fa9cstr x3, [x25+8]
0003faa0
0003faa0loc_3faa0:
0003faa0str x0, [sp+56]
0003faa4str x0, [x2+24]
0003faa8ldr x1, [sp+88]
0003faacmov x2, x1
0003fab0mov x1, x2
0003fab4bl internal/runtime/atomic.(*Uintptr).Store
0003fab8ldr x0, [sp+88]
0003fabcldr x1, [sp+64]
0003fac0mov x2, xzr
0003fac4bl runtime.addspecial
0003fac8tbz w0, 0, 0x3fb28
0003faccadrp x27, 0xa0c000
0003fad0ldr w1, [x27+1600]
0003fad4cbz w1, 0x3fb18
0003fad8bl runtime.acquirem
0003fadcstr x0, [sp+48]
0003fae0ldr x0, [x0+208]
0003fae4bl runtime.puintptr.ptr
0003fae8ldrsb x27, [x0]
0003faecmovz x1, 4680
0003faf0add x3, x0, x1
0003faf4ldr x0, [sp+64]
0003faf8add x0, x0, 24
0003fafcorr x1, xzr, 8
0003fb00adrp x2, 0x981000
0003fb04add x2, x2, 1377
0003fb08mov x4, xzr
0003fb0cbl runtime.scanblock
0003fb10ldr x0, [sp+48]
0003fb14bl runtime.releasem
0003fb18
0003fb18loc_3fb18:
0003fb18ldr x0, [sp+56]
0003fb1cldur x29, [sp-8]
0003fb20ldr x30, [sp], 80
0003fb24ret x30
0003fb28
0003fb28loc_3fb28:
0003fb28adrp x0, 0xa0c000
0003fb2cadd x0, x0, 1352
0003fb30bl runtime.lock
0003fb34adrp x0, 0xa0c000
0003fb38add x0, x0, 1280
0003fb3cldr x1, [sp+64]
0003fb40bl runtime.(*fixalloc).free
0003fb44adrp x0, 0xa0c000
0003fb48add x0, x0, 1352
0003fb4cbl runtime.unlock
0003fb50ldr x0, [sp+88]
0003fb54bl runtime.getWeakHandle
0003fb58cbz x0, 0x3fb74
0003fb5cldur x29, [sp-8]
0003fb60ldr x30, [sp], 80
0003fb64ret x30
0003fb68
0003fb68loc_3fb68:
0003fb68ldur x29, [sp-8]
0003fb6cldr x30, [sp], 80
0003fb70ret x30
0003fb74
0003fb74loc_3fb74:
0003fb74adrp x0, 0x681000
0003fb78add x0, x0, 2246
0003fb7cmovz x1, 35
0003fb80bl runtime.throw
0003fb84hint
0003fb88
0003fb88loc_3fb88:
0003fb88str x0, [sp+8]
0003fb8cmov x3, x30
0003fb90bl runtime.morestack_noctxt.abi0
0003fb94ldr x0, [sp+8]
0003fb98b 0x3fa20
0003fb9cudf 0
0003fa20
0003fba0
0003fba0runtime.getWeakHandle: ; void runtime.getWeakHandle(void * p)
0003fba0ldr x16, [x28+16]
0003fba4subs xzr, sp, x16
0003fba8b.ls 0x3fc60
0003fbacstr x30, [sp-80]!
0003fbb0stur x29, [sp-8]
0003fbb4sub x29, sp, 8
0003fbb8str x0, [sp+88]
0003fbbcmov x1, x0
0003fbc0mov x0, x1
0003fbc4bl runtime.spanOfHeap
0003fbc8cbz x0, 0x3fc4c
0003fbccstr x0, [sp+32]
0003fbd0bl runtime.acquirem
0003fbd4str x0, [sp+48]
0003fbd8ldr x0, [sp+32]
0003fbdcbl runtime.(*mspan).ensureSwept
0003fbe0ldr x0, [sp+32]
0003fbe4bl runtime.(*mspan).base
0003fbe8ldr x1, [sp+88]
0003fbecsub x0, x1, x0
0003fbf0str x0, [sp+40]
0003fbf4ldr x0, [sp+32]
0003fbf8add x0, x0, 120
0003fbfcstr x0, [sp+64]
0003fc00bl runtime.lock
0003fc04ldr x0, [sp+32]
0003fc08ldr x1, [sp+40]
0003fc0corr x2, xzr, 2
0003fc10bl runtime.(*mspan).specialFindSplicePoint
0003fc14tbz w1, 0, 0x3fc24
0003fc18ldr x1, [x0]
0003fc1cldr x1, [x1+24]
0003fc20b 0x3fc28
0003fc24
0003fc24loc_3fc24:
0003fc24mov x1, xzr
0003fc28
0003fc28loc_3fc28:
0003fc28str x1, [sp+56]
0003fc2cldr x0, [sp+64]
0003fc30bl runtime.unlock
0003fc34ldr x0, [sp+48]
0003fc38bl runtime.releasem
0003fc3cldr x0, [sp+56]
0003fc40ldur x29, [sp-8]
0003fc44ldr x30, [sp], 80
0003fc48ret x30
0003fc4c
0003fc4cloc_3fc4c:
0003fc4cadrp x0, 0x67f000
0003fc50add x0, x0, 1328
0003fc54orr x1, xzr, 32
0003fc58bl runtime.throw
0003fc5chint
0003fc60
0003fc60loc_3fc60:
0003fc60str x0, [sp+8]
0003fc64mov x3, x30
0003fc68bl runtime.morestack_noctxt.abi0
0003fc6cldr x0, [sp+8]
0003fc70b 0x3fba0
0003fc74udf 0
0003fc78udf 0
0003fc7cudf 0
0003fba0
0003fba0runtime.getWeakHandle: ; void runtime.getWeakHandle(void * p)
0003fba0ldr x16, [x28+16]
0003fba4subs xzr, sp, x16
0003fba8b.ls 0x3fc60
0003fbacstr x30, [sp-80]!
0003fbb0stur x29, [sp-8]
0003fbb4sub x29, sp, 8
0003fbb8str x0, [sp+88]
0003fbbcmov x1, x0
0003fbc0mov x0, x1
0003fbc4bl runtime.spanOfHeap
0003fbc8cbz x0, 0x3fc4c
0003fbccstr x0, [sp+32]
0003fbd0bl runtime.acquirem
0003fbd4str x0, [sp+48]
0003fbd8ldr x0, [sp+32]
0003fbdcbl runtime.(*mspan).ensureSwept
0003fbe0ldr x0, [sp+32]
0003fbe4bl runtime.(*mspan).base
0003fbe8ldr x1, [sp+88]
0003fbecsub x0, x1, x0
0003fbf0str x0, [sp+40]
0003fbf4ldr x0, [sp+32]
0003fbf8add x0, x0, 120
0003fbfcstr x0, [sp+64]
0003fc00bl runtime.lock
0003fc04ldr x0, [sp+32]
0003fc08ldr x1, [sp+40]
0003fc0corr x2, xzr, 2
0003fc10bl runtime.(*mspan).specialFindSplicePoint
0003fc14tbz w1, 0, 0x3fc24
0003fc18ldr x1, [x0]
0003fc1cldr x1, [x1+24]
0003fc20b 0x3fc28
0003fc24
0003fc24loc_3fc24:
0003fc24mov x1, xzr
0003fc28
0003fc28loc_3fc28:
0003fc28str x1, [sp+56]
0003fc2cldr x0, [sp+64]
0003fc30bl runtime.unlock
0003fc34ldr x0, [sp+48]
0003fc38bl runtime.releasem
0003fc3cldr x0, [sp+56]
0003fc40ldur x29, [sp-8]
0003fc44ldr x30, [sp], 80
0003fc48ret x30
0003fc4c
0003fc4cloc_3fc4c:
0003fc4cadrp x0, 0x67f000
0003fc50add x0, x0, 1328
0003fc54orr x1, xzr, 32
0003fc58bl runtime.throw
0003fc5chint
0003fc60
0003fc60loc_3fc60:
0003fc60str x0, [sp+8]
0003fc64mov x3, x30
0003fc68bl runtime.morestack_noctxt.abi0
0003fc6cldr x0, [sp+8]
0003fc70b 0x3fba0
0003fc74udf 0
0003fc78udf 0
0003fc7cudf 0
0003fba0
0003fc80
0003fc80runtime.setprofilebucket: ; void runtime.setprofilebucket(void * p, runtime.bucket * b)
0003fc80ldr x16, [x28+16]
0003fc84subs xzr, sp, x16
0003fc88b.ls 0x3fd10
0003fc8cstr x30, [sp-48]!
0003fc90stur x29, [sp-8]
0003fc94sub x29, sp, 8
0003fc98str x0, [sp+56]
0003fc9cstr x1, [sp+64]
0003fca0adrp x0, 0xa0c000
0003fca4add x0, x0, 1352
0003fca8bl runtime.lock
0003fcacadrp x0, 0xa0c000
0003fcb0add x0, x0, 1064
0003fcb4bl runtime.(*fixalloc).alloc
0003fcb8str x0, [sp+32]
0003fcbcadrp x0, 0xa0c000
0003fcc0add x0, x0, 1352
0003fcc4bl runtime.unlock
0003fcc8orr x1, xzr, 3
0003fcccldr x2, [sp+32]
0003fcd0strb w1, [x2+16]
0003fcd4ldr x1, [sp+64]
0003fcd8str x1, [x2+24]
0003fcdcldr x0, [sp+56]
0003fce0mov x1, x2
0003fce4mov x2, xzr
0003fce8bl runtime.addspecial
0003fcectbz w0, 0, 0x3fcfc
0003fcf0ldur x29, [sp-8]
0003fcf4ldr x30, [sp], 48
0003fcf8ret x30
0003fcfc
0003fcfcloc_3fcfc:
0003fcfcadrp x0, 0x682000
0003fd00add x0, x0, 4084
0003fd04movz x1, 37
0003fd08bl runtime.throw
0003fd0chint
0003fd10
0003fd10loc_3fd10:
0003fd10stp x0, x1, [sp+8]
0003fd14mov x3, x30
0003fd18bl runtime.morestack_noctxt.abi0
0003fd1cldp x0, x1, [sp+8]
0003fd20b 0x3fc80
0003fd24udf 0
0003fd28udf 0
0003fd2cudf 0
0003fc80
0003fc80runtime.setprofilebucket: ; void runtime.setprofilebucket(void * p, runtime.bucket * b)
0003fc80ldr x16, [x28+16]
0003fc84subs xzr, sp, x16
0003fc88b.ls 0x3fd10
0003fc8cstr x30, [sp-48]!
0003fc90stur x29, [sp-8]
0003fc94sub x29, sp, 8
0003fc98str x0, [sp+56]
0003fc9cstr x1, [sp+64]
0003fca0adrp x0, 0xa0c000
0003fca4add x0, x0, 1352
0003fca8bl runtime.lock
0003fcacadrp x0, 0xa0c000
0003fcb0add x0, x0, 1064
0003fcb4bl runtime.(*fixalloc).alloc
0003fcb8str x0, [sp+32]
0003fcbcadrp x0, 0xa0c000
0003fcc0add x0, x0, 1352
0003fcc4bl runtime.unlock
0003fcc8orr x1, xzr, 3
0003fcccldr x2, [sp+32]
0003fcd0strb w1, [x2+16]
0003fcd4ldr x1, [sp+64]
0003fcd8str x1, [x2+24]
0003fcdcldr x0, [sp+56]
0003fce0mov x1, x2
0003fce4mov x2, xzr
0003fce8bl runtime.addspecial
0003fcectbz w0, 0, 0x3fcfc
0003fcf0ldur x29, [sp-8]
0003fcf4ldr x30, [sp], 48
0003fcf8ret x30
0003fcfc
0003fcfcloc_3fcfc:
0003fcfcadrp x0, 0x682000
0003fd00add x0, x0, 4084
0003fd04movz x1, 37
0003fd08bl runtime.throw
0003fd0chint
0003fd10
0003fd10loc_3fd10:
0003fd10stp x0, x1, [sp+8]
0003fd14mov x3, x30
0003fd18bl runtime.morestack_noctxt.abi0
0003fd1cldp x0, x1, [sp+8]
0003fd20b 0x3fc80
0003fd24udf 0
0003fd28udf 0
0003fd2cudf 0
0003fc80
0003fd30
0003fd30runtime.newSpecialsIter: ; void runtime.newSpecialsIter(runtime.mspan * span)
0003fd30add x2, x0, 128
0003fd34ldr x1, [x0+128]
0003fd38mov x0, x2
0003fd3cret x30
0003fd30
0003fd30runtime.newSpecialsIter: ; void runtime.newSpecialsIter(runtime.mspan * span)
0003fd30add x2, x0, 128
0003fd34ldr x1, [x0+128]
0003fd38mov x0, x2
0003fd3cret x30
0003fd30
0003fd40
0003fd40runtime.(*specialsIter).valid: ; void runtime.(*specialsIter).valid(runtime.specialsIter * i)
0003fd40ldr x1, [x0+8]
0003fd44subs xzr, x1, 0
0003fd48cset x0, ne
0003fd4cret x30
0003fd40
0003fd40runtime.(*specialsIter).valid: ; void runtime.(*specialsIter).valid(runtime.specialsIter * i)
0003fd40ldr x1, [x0+8]
0003fd44subs xzr, x1, 0
0003fd48cset x0, ne
0003fd4cret x30
0003fd40
0003fd50
0003fd50runtime.(*specialsIter).next: ; void runtime.(*specialsIter).next(runtime.specialsIter * i)
0003fd50ldr x16, [x28+16]
0003fd54subs xzr, sp, x16
0003fd58b.ls 0x3fda4
0003fd5cstr x30, [sp-16]!
0003fd60stur x29, [sp-8]
0003fd64sub x29, sp, 8
0003fd68ldr x1, [x0+8]
0003fd6cldrsb x27, [x1]
0003fd70adrp x27, 0xa0c000
0003fd74ldr w2, [x27+3056]
0003fd78cbz w2, 0x3fd8c
0003fd7cbl runtime.gcWriteBarrier2
0003fd80str x1, [x25]
0003fd84ldr x2, [x0]
0003fd88str x2, [x25+8]
0003fd8c
0003fd8cloc_3fd8c:
0003fd8cstr x1, [x0]
0003fd90ldr x1, [x1]
0003fd94str x1, [x0+8]
0003fd98ldur x29, [sp-8]
0003fd9cldr x30, [sp], 16
0003fda0ret x30
0003fda4
0003fda4loc_3fda4:
0003fda4str x0, [sp+8]
0003fda8mov x3, x30
0003fdacbl runtime.morestack_noctxt.abi0
0003fdb0ldr x0, [sp+8]
0003fdb4b 0x3fd50
0003fdb8udf 0
0003fdbcudf 0
0003fd50
0003fd50runtime.(*specialsIter).next: ; void runtime.(*specialsIter).next(runtime.specialsIter * i)
0003fd50ldr x16, [x28+16]
0003fd54subs xzr, sp, x16
0003fd58b.ls 0x3fda4
0003fd5cstr x30, [sp-16]!
0003fd60stur x29, [sp-8]
0003fd64sub x29, sp, 8
0003fd68ldr x1, [x0+8]
0003fd6cldrsb x27, [x1]
0003fd70adrp x27, 0xa0c000
0003fd74ldr w2, [x27+3056]
0003fd78cbz w2, 0x3fd8c
0003fd7cbl runtime.gcWriteBarrier2
0003fd80str x1, [x25]
0003fd84ldr x2, [x0]
0003fd88str x2, [x25+8]
0003fd8c
0003fd8cloc_3fd8c:
0003fd8cstr x1, [x0]
0003fd90ldr x1, [x1]
0003fd94str x1, [x0+8]
0003fd98ldur x29, [sp-8]
0003fd9cldr x30, [sp], 16
0003fda0ret x30
0003fda4
0003fda4loc_3fda4:
0003fda4str x0, [sp+8]
0003fda8mov x3, x30
0003fdacbl runtime.morestack_noctxt.abi0
0003fdb0ldr x0, [sp+8]
0003fdb4b 0x3fd50
0003fdb8udf 0
0003fdbcudf 0
0003fd50
0003fdc0
0003fdc0runtime.(*specialsIter).unlinkAndNext: ; void runtime.(*specialsIter).unlinkAndNext(runtime.specialsIter * i)
0003fdc0ldr x1, [x0+8]
0003fdc4ldr x2, [x1]
0003fdc8str x2, [x0+8]
0003fdccldr x3, [x0]
0003fdd0str x2, [x3]
0003fdd4mov x0, x1
0003fdd8ret x30
0003fddcudf 0
0003fdc0
0003fdc0runtime.(*specialsIter).unlinkAndNext: ; void runtime.(*specialsIter).unlinkAndNext(runtime.specialsIter * i)
0003fdc0ldr x1, [x0+8]
0003fdc4ldr x2, [x1]
0003fdc8str x2, [x0+8]
0003fdccldr x3, [x0]
0003fdd0str x2, [x3]
0003fdd4mov x0, x1
0003fdd8ret x30
0003fddcudf 0
0003fdc0
0003fde0
0003fde0runtime.freeSpecial: ; void runtime.freeSpecial(runtime.special * s, void * p, uintptr size)
0003fde0ldr x16, [x28+16]
0003fde4subs xzr, sp, x16
0003fde8b.ls 0x3ff88
0003fdecstr x30, [sp-64]!
0003fdf0stur x29, [sp-8]
0003fdf4sub x29, sp, 8
0003fdf8str x0, [sp+72]
0003fdfcldrb w5, [x0+16]
0003fe00subs wzr, w5, 3
0003fe04b.hi 0x3fed8
0003fe08subs wzr, w5, 1
0003fe0cb.eq 0x3fe90
0003fe10subs wzr, w5, 2
0003fe14b.eq 0x3fe58
0003fe18subs wzr, w5, 3
0003fe1cb.ne 0x3ff74
0003fe20ldr x0, [x0+24]
0003fe24mov x1, x2
0003fe28bl runtime.mProf_Free
0003fe2cadrp x0, 0xa0c000
0003fe30add x0, x0, 1352
0003fe34bl runtime.lock
0003fe38adrp x0, 0xa0c000
0003fe3cadd x0, x0, 1064
0003fe40ldr x1, [sp+72]
0003fe44bl runtime.(*fixalloc).free
0003fe48adrp x0, 0xa0c000
0003fe4cadd x0, x0, 1352
0003fe50bl runtime.unlock
0003fe54b 0x3ff68
0003fe58
0003fe58loc_3fe58:
0003fe58ldr x0, [x0+24]
0003fe5cmov x1, xzr
0003fe60bl internal/runtime/atomic.(*Uintptr).Store
0003fe64adrp x0, 0xa0c000
0003fe68add x0, x0, 1352
0003fe6cbl runtime.lock
0003fe70adrp x0, 0xa0c000
0003fe74add x0, x0, 1280
0003fe78ldr x1, [sp+72]
0003fe7cbl runtime.(*fixalloc).free
0003fe80adrp x0, 0xa0c000
0003fe84add x0, x0, 1352
0003fe88bl runtime.unlock
0003fe8cb 0x3ff68
0003fe90
0003fe90loc_3fe90:
0003fe90ldr x5, [x0+24]
0003fe94ldr x2, [x0+32]
0003fe98ldr x3, [x0+40]
0003fe9cldr x4, [x0+48]
0003fea0mov x0, x1
0003fea4mov x1, x5
0003fea8bl runtime.queuefinalizer
0003feacadrp x0, 0xa0c000
0003feb0add x0, x0, 1352
0003feb4bl runtime.lock
0003feb8adrp x0, 0xa0c000
0003febcadd x0, x0, 920
0003fec0ldr x1, [sp+72]
0003fec4bl runtime.(*fixalloc).free
0003fec8adrp x0, 0xa0c000
0003feccadd x0, x0, 1352
0003fed0bl runtime.unlock
0003fed4b 0x3ff68
0003fed8
0003fed8loc_3fed8:
0003fed8subs wzr, w5, 4
0003fedcb.ne 0x3feec
0003fee0orr x1, xzr, 1
0003fee4strb w1, [x0+24]
0003fee8b 0x3ff68
0003feec
0003feecloc_3feec:
0003feecsubs wzr, w5, 5
0003fef0b.eq 0x3ff40
0003fef4subs wzr, w5, 6
0003fef8b.ne 0x3ff74
0003fefcldr x1, [x0+24]
0003ff00mov x0, xzr
0003ff04mov x2, xzr
0003ff08mov x3, xzr
0003ff0cmov x4, xzr
0003ff10bl runtime.queuefinalizer
0003ff14adrp x0, 0xa0c000
0003ff18add x0, x0, 1352
0003ff1cbl runtime.lock
0003ff20adrp x0, 0xa0c000
0003ff24add x0, x0, 992
0003ff28ldr x1, [sp+72]
0003ff2cbl runtime.(*fixalloc).free
0003ff30adrp x0, 0xa0c000
0003ff34add x0, x0, 1352
0003ff38bl runtime.unlock
0003ff3cb 0x3ff68
0003ff40
0003ff40loc_3ff40:
0003ff40adrp x0, 0xa0c000
0003ff44add x0, x0, 1352
0003ff48bl runtime.lock
0003ff4cadrp x0, 0xa0c000
0003ff50add x0, x0, 1208
0003ff54ldr x1, [sp+72]
0003ff58bl runtime.(*fixalloc).free
0003ff5cadrp x0, 0xa0c000
0003ff60add x0, x0, 1352
0003ff64bl runtime.unlock
0003ff68
0003ff68loc_3ff68:
0003ff68ldur x29, [sp-8]
0003ff6cldr x30, [sp], 64
0003ff70ret x30
0003ff74
0003ff74loc_3ff74:
0003ff74adrp x0, 0x675000
0003ff78add x0, x0, 2356
0003ff7corr x1, xzr, 16
0003ff80bl runtime.throw
0003ff84hint
0003ff88
0003ff88loc_3ff88:
0003ff88stp x0, x1, [sp+8]
0003ff8cstr x2, [sp+24]
0003ff90mov x3, x30
0003ff94bl runtime.morestack_noctxt.abi0
0003ff98ldp x0, x1, [sp+8]
0003ff9cldr x2, [sp+24]
0003ffa0b 0x3fde0
0003ffa4udf 0
0003ffa8udf 0
0003ffacudf 0
0003fde0
0003fde0runtime.freeSpecial: ; void runtime.freeSpecial(runtime.special * s, void * p, uintptr size)
0003fde0ldr x16, [x28+16]
0003fde4subs xzr, sp, x16
0003fde8b.ls 0x3ff88
0003fdecstr x30, [sp-64]!
0003fdf0stur x29, [sp-8]
0003fdf4sub x29, sp, 8
0003fdf8str x0, [sp+72]
0003fdfcldrb w5, [x0+16]
0003fe00subs wzr, w5, 3
0003fe04b.hi 0x3fed8
0003fe08subs wzr, w5, 1
0003fe0cb.eq 0x3fe90
0003fe10subs wzr, w5, 2
0003fe14b.eq 0x3fe58
0003fe18subs wzr, w5, 3
0003fe1cb.ne 0x3ff74
0003fe20ldr x0, [x0+24]
0003fe24mov x1, x2
0003fe28bl runtime.mProf_Free
0003fe2cadrp x0, 0xa0c000
0003fe30add x0, x0, 1352
0003fe34bl runtime.lock
0003fe38adrp x0, 0xa0c000
0003fe3cadd x0, x0, 1064
0003fe40ldr x1, [sp+72]
0003fe44bl runtime.(*fixalloc).free
0003fe48adrp x0, 0xa0c000
0003fe4cadd x0, x0, 1352
0003fe50bl runtime.unlock
0003fe54b 0x3ff68
0003fe58
0003fe58loc_3fe58:
0003fe58ldr x0, [x0+24]
0003fe5cmov x1, xzr
0003fe60bl internal/runtime/atomic.(*Uintptr).Store
0003fe64adrp x0, 0xa0c000
0003fe68add x0, x0, 1352
0003fe6cbl runtime.lock
0003fe70adrp x0, 0xa0c000
0003fe74add x0, x0, 1280
0003fe78ldr x1, [sp+72]
0003fe7cbl runtime.(*fixalloc).free
0003fe80adrp x0, 0xa0c000
0003fe84add x0, x0, 1352
0003fe88bl runtime.unlock
0003fe8cb 0x3ff68
0003fe90
0003fe90loc_3fe90:
0003fe90ldr x5, [x0+24]
0003fe94ldr x2, [x0+32]
0003fe98ldr x3, [x0+40]
0003fe9cldr x4, [x0+48]
0003fea0mov x0, x1
0003fea4mov x1, x5
0003fea8bl runtime.queuefinalizer
0003feacadrp x0, 0xa0c000
0003feb0add x0, x0, 1352
0003feb4bl runtime.lock
0003feb8adrp x0, 0xa0c000
0003febcadd x0, x0, 920
0003fec0ldr x1, [sp+72]
0003fec4bl runtime.(*fixalloc).free
0003fec8adrp x0, 0xa0c000
0003feccadd x0, x0, 1352
0003fed0bl runtime.unlock
0003fed4b 0x3ff68
0003fed8
0003fed8loc_3fed8:
0003fed8subs wzr, w5, 4
0003fedcb.ne 0x3feec
0003fee0orr x1, xzr, 1
0003fee4strb w1, [x0+24]
0003fee8b 0x3ff68
0003feec
0003feecloc_3feec:
0003feecsubs wzr, w5, 5
0003fef0b.eq 0x3ff40
0003fef4subs wzr, w5, 6
0003fef8b.ne 0x3ff74
0003fefcldr x1, [x0+24]
0003ff00mov x0, xzr
0003ff04mov x2, xzr
0003ff08mov x3, xzr
0003ff0cmov x4, xzr
0003ff10bl runtime.queuefinalizer
0003ff14adrp x0, 0xa0c000
0003ff18add x0, x0, 1352
0003ff1cbl runtime.lock
0003ff20adrp x0, 0xa0c000
0003ff24add x0, x0, 992
0003ff28ldr x1, [sp+72]
0003ff2cbl runtime.(*fixalloc).free
0003ff30adrp x0, 0xa0c000
0003ff34add x0, x0, 1352
0003ff38bl runtime.unlock
0003ff3cb 0x3ff68
0003ff40
0003ff40loc_3ff40:
0003ff40adrp x0, 0xa0c000
0003ff44add x0, x0, 1352
0003ff48bl runtime.lock
0003ff4cadrp x0, 0xa0c000
0003ff50add x0, x0, 1208
0003ff54ldr x1, [sp+72]
0003ff58bl runtime.(*fixalloc).free
0003ff5cadrp x0, 0xa0c000
0003ff60add x0, x0, 1352
0003ff64bl runtime.unlock
0003ff68
0003ff68loc_3ff68:
0003ff68ldur x29, [sp-8]
0003ff6cldr x30, [sp], 64
0003ff70ret x30
0003ff74
0003ff74loc_3ff74:
0003ff74adrp x0, 0x675000
0003ff78add x0, x0, 2356
0003ff7corr x1, xzr, 16
0003ff80bl runtime.throw
0003ff84hint
0003ff88
0003ff88loc_3ff88:
0003ff88stp x0, x1, [sp+8]
0003ff8cstr x2, [sp+24]
0003ff90mov x3, x30
0003ff94bl runtime.morestack_noctxt.abi0
0003ff98ldp x0, x1, [sp+8]
0003ff9cldr x2, [sp+24]
0003ffa0b 0x3fde0
0003ffa4udf 0
0003ffa8udf 0
0003ffacudf 0
0003fde0
0003ffb0
0003ffb0runtime.(*gcBits).bytep: ; void runtime.(*gcBits).bytep(runtime.gcBits * b, uintptr n)
0003ffb0ldr x16, [x28+16]
0003ffb4subs xzr, sp, x16
0003ffb8b.ls 0x3ffdc
0003ffbcstr x30, [sp-32]!
0003ffc0stur x29, [sp-8]
0003ffc4sub x29, sp, 8
0003ffc8ldrsb x27, [x0]
0003ffccbl runtime.addb
0003ffd0ldur x29, [sp-8]
0003ffd4ldr x30, [sp], 32
0003ffd8ret x30
0003ffdc
0003ffdcloc_3ffdc:
0003ffdcstp x0, x1, [sp+8]
0003ffe0mov x3, x30
0003ffe4bl runtime.morestack_noctxt.abi0
0003ffe8ldp x0, x1, [sp+8]
0003ffecb 0x3ffb0
0003ffb0
0003ffb0runtime.(*gcBits).bytep: ; void runtime.(*gcBits).bytep(runtime.gcBits * b, uintptr n)
0003ffb0ldr x16, [x28+16]
0003ffb4subs xzr, sp, x16
0003ffb8b.ls 0x3ffdc
0003ffbcstr x30, [sp-32]!
0003ffc0stur x29, [sp-8]
0003ffc4sub x29, sp, 8
0003ffc8ldrsb x27, [x0]
0003ffccbl runtime.addb
0003ffd0ldur x29, [sp-8]
0003ffd4ldr x30, [sp], 32
0003ffd8ret x30
0003ffdc
0003ffdcloc_3ffdc:
0003ffdcstp x0, x1, [sp+8]
0003ffe0mov x3, x30
0003ffe4bl runtime.morestack_noctxt.abi0
0003ffe8ldp x0, x1, [sp+8]
0003ffecb 0x3ffb0
0003ffb0
0003fff0
0003fff0runtime.(*gcBits).bitp: ; void runtime.(*gcBits).bitp(runtime.gcBits * b, uintptr n)
0003fff0ldr x16, [x28+16]
0003fff4subs xzr, sp, x16
0003fff8b.ls 0x40030
0003fffcstr x30, [sp-32]!
00040000stur x29, [sp-8]
00040004sub x29, sp, 8
00040008str x1, [sp+48]
0004000cubfm x1, x1, 3, 63
00040010bl runtime.(*gcBits).bytep
00040014ldr x2, [sp+48]
00040018and x2, x2, 7
0004001corr x3, xzr, 1
00040020lslv x1, x3, x2
00040024ldur x29, [sp-8]
00040028ldr x30, [sp], 32
0004002cret x30
00040030
00040030loc_40030:
00040030stp x0, x1, [sp+8]
00040034mov x3, x30
00040038bl runtime.morestack_noctxt.abi0
0004003cldp x0, x1, [sp+8]
00040040b 0x3fff0
00040044udf 0
00040048udf 0
0004004cudf 0
0003fff0
0003fff0runtime.(*gcBits).bitp: ; void runtime.(*gcBits).bitp(runtime.gcBits * b, uintptr n)
0003fff0ldr x16, [x28+16]
0003fff4subs xzr, sp, x16
0003fff8b.ls 0x40030
0003fffcstr x30, [sp-32]!
00040000stur x29, [sp-8]
00040004sub x29, sp, 8
00040008str x1, [sp+48]
0004000cubfm x1, x1, 3, 63
00040010bl runtime.(*gcBits).bytep
00040014ldr x2, [sp+48]
00040018and x2, x2, 7
0004001corr x3, xzr, 1
00040020lslv x1, x3, x2
00040024ldur x29, [sp-8]
00040028ldr x30, [sp], 32
0004002cret x30
00040030
00040030loc_40030:
00040030stp x0, x1, [sp+8]
00040034mov x3, x30
00040038bl runtime.morestack_noctxt.abi0
0004003cldp x0, x1, [sp+8]
00040040b 0x3fff0
00040044udf 0
00040048udf 0
0004004cudf 0
0003fff0
00040050
00040050runtime.(*gcBitsArena).tryAlloc: ; void runtime.(*gcBitsArena).tryAlloc(runtime.gcBitsArena * b, uintptr bytes)
00040050ldr x16, [x28+16]
00040054subs xzr, sp, x16
00040058b.ls 0x40100
0004005cstr x30, [sp-32]!
00040060stur x29, [sp-8]
00040064sub x29, sp, 8
00040068cbz x0, 0x400e0
0004006cldar x2, [x0]
00040070add x2, x2, x1
00040074movz x3, 65520
00040078subs xzr, x2, x3
0004007cb.hi 0x400e0
00040080adrp x27, 0xa0b000
00040084ldrb w2, [x27+1516]
00040088tbz w2, 0, 0x40098
0004008cldaddal x1, x2, [x0]
00040090add x2, x2, x1
00040094b 0x400a8
00040098
00040098loc_40098:
00040098ldaxr x2, [x0]
0004009cadd x2, x2, x1
000400a0stlxr w27, x2, [x0]
000400a4cbnz x27, 0x40098
000400a8
000400a8loc_400a8:
000400a8subs xzr, x2, x3
000400acb.hi 0x400d0
000400b0sub x2, x2, x1
000400b4subs xzr, x2, x3
000400b8b.hs 0x400f0
000400bcadd x1, x0, 16
000400c0add x0, x1, x2
000400c4ldur x29, [sp-8]
000400c8ldr x30, [sp], 32
000400ccret x30
000400d0
000400d0loc_400d0:
000400d0mov x0, xzr
000400d4ldur x29, [sp-8]
000400d8ldr x30, [sp], 32
000400dcret x30
000400e0
000400e0loc_400e0:
000400e0mov x0, xzr
000400e4ldur x29, [sp-8]
000400e8ldr x30, [sp], 32
000400ecret x30
000400f0
000400f0loc_400f0:
000400f0mov x0, x2
000400f4movz x1, 65520
000400f8bl runtime.panicIndexU
000400fchint
00040100
00040100loc_40100:
00040100stp x0, x1, [sp+8]
00040104mov x3, x30
00040108bl runtime.morestack_noctxt.abi0
0004010cldp x0, x1, [sp+8]
00040110b 0x40050
00040114udf 0
00040118udf 0
0004011cudf 0
00040050
00040050runtime.(*gcBitsArena).tryAlloc: ; void runtime.(*gcBitsArena).tryAlloc(runtime.gcBitsArena * b, uintptr bytes)
00040050ldr x16, [x28+16]
00040054subs xzr, sp, x16
00040058b.ls 0x40100
0004005cstr x30, [sp-32]!
00040060stur x29, [sp-8]
00040064sub x29, sp, 8
00040068cbz x0, 0x400e0
0004006cldar x2, [x0]
00040070add x2, x2, x1
00040074movz x3, 65520
00040078subs xzr, x2, x3
0004007cb.hi 0x400e0
00040080adrp x27, 0xa0b000
00040084ldrb w2, [x27+1516]
00040088tbz w2, 0, 0x40098
0004008cldaddal x1, x2, [x0]
00040090add x2, x2, x1
00040094b 0x400a8
00040098
00040098loc_40098:
00040098ldaxr x2, [x0]
0004009cadd x2, x2, x1
000400a0stlxr w27, x2, [x0]
000400a4cbnz x27, 0x40098
000400a8
000400a8loc_400a8:
000400a8subs xzr, x2, x3
000400acb.hi 0x400d0
000400b0sub x2, x2, x1
000400b4subs xzr, x2, x3
000400b8b.hs 0x400f0
000400bcadd x1, x0, 16
000400c0add x0, x1, x2
000400c4ldur x29, [sp-8]
000400c8ldr x30, [sp], 32
000400ccret x30
000400d0
000400d0loc_400d0:
000400d0mov x0, xzr
000400d4ldur x29, [sp-8]
000400d8ldr x30, [sp], 32
000400dcret x30
000400e0
000400e0loc_400e0:
000400e0mov x0, xzr
000400e4ldur x29, [sp-8]
000400e8ldr x30, [sp], 32
000400ecret x30
000400f0
000400f0loc_400f0:
000400f0mov x0, x2
000400f4movz x1, 65520
000400f8bl runtime.panicIndexU
000400fchint
00040100
00040100loc_40100:
00040100stp x0, x1, [sp+8]
00040104mov x3, x30
00040108bl runtime.morestack_noctxt.abi0
0004010cldp x0, x1, [sp+8]
00040110b 0x40050
00040114udf 0
00040118udf 0
0004011cudf 0
00040050
00040120
00040120runtime.newMarkBits: ; void runtime.newMarkBits(uintptr nelems)
00040120ldr x16, [x28+16]
00040124subs xzr, sp, x16
00040128b.ls 0x4025c
0004012cstr x30, [sp-80]!
00040130stur x29, [sp-8]
00040134sub x29, sp, 8
00040138add x2, x0, 63
0004013cubfm x2, x2, 6, 63
00040140ubfm x1, x2, 61, 60
00040144str x1, [sp+64]
00040148adrp x2, 0xa0b000
0004014cadd x2, x2, 3728
00040150ldar x0, [x2]
00040154bl runtime.(*gcBitsArena).tryAlloc
00040158cbnz x0, 0x4023c
0004015cadrp x0, 0xa0b000
00040160add x0, x0, 3712
00040164bl runtime.lock
00040168adrp x27, 0xa0b000
0004016cldr x0, [x27+3728]
00040170ldr x1, [sp+64]
00040174bl runtime.(*gcBitsArena).tryAlloc
00040178cbnz x0, 0x4021c
0004017cbl runtime.newArenaMayUnlock
00040180str x0, [sp+56]
00040184adrp x27, 0xa0b000
00040188ldr x0, [x27+3728]
0004018cldr x1, [sp+64]
00040190bl runtime.(*gcBitsArena).tryAlloc
00040194cbnz x0, 0x401e4
00040198ldr x0, [sp+56]
0004019cldr x1, [sp+64]
000401a0bl runtime.(*gcBitsArena).tryAlloc
000401a4cbz x0, 0x40248
000401a8str x0, [sp+32]
000401acadrp x27, 0xa0b000
000401b0ldr x1, [x27+3728]
000401b4ldr x2, [sp+56]
000401b8str x1, [x2+8]
000401bcadrp x1, 0xa0b000
000401c0add x1, x1, 3728
000401c4stlr x2, [x1]
000401c8adrp x0, 0xa0b000
000401ccadd x0, x0, 3712
000401d0bl runtime.unlock
000401d4ldr x0, [sp+32]
000401d8ldur x29, [sp-8]
000401dcldr x30, [sp], 80
000401e0ret x30
000401e4
000401e4loc_401e4:
000401e4str x0, [sp+40]
000401e8adrp x27, 0xa0b000
000401ecldr x1, [x27+3720]
000401f0ldr x2, [sp+56]
000401f4str x1, [x2+8]
000401f8adrp x27, 0xa0b000
000401fcstr x2, [x27+3720]
00040200adrp x0, 0xa0b000
00040204add x0, x0, 3712
00040208bl runtime.unlock
0004020cldr x0, [sp+40]
00040210ldur x29, [sp-8]
00040214ldr x30, [sp], 80
00040218ret x30
0004021c
0004021cloc_4021c:
0004021cstr x0, [sp+48]
00040220adrp x0, 0xa0b000
00040224add x0, x0, 3712
00040228bl runtime.unlock
0004022cldr x0, [sp+48]
00040230ldur x29, [sp-8]
00040234ldr x30, [sp], 80
00040238ret x30
0004023c
0004023cloc_4023c:
0004023cldur x29, [sp-8]
00040240ldr x30, [sp], 80
00040244ret x30
00040248
00040248loc_40248:
00040248adrp x0, 0x675000
0004024cadd x0, x0, 217
00040250movz x1, 17
00040254bl runtime.throw
00040258hint
0004025c
0004025cloc_4025c:
0004025cstr x0, [sp+8]
00040260mov x3, x30
00040264bl runtime.morestack_noctxt.abi0
00040268ldr x0, [sp+8]
0004026cb 0x40120
00040120
00040120runtime.newMarkBits: ; void runtime.newMarkBits(uintptr nelems)
00040120ldr x16, [x28+16]
00040124subs xzr, sp, x16
00040128b.ls 0x4025c
0004012cstr x30, [sp-80]!
00040130stur x29, [sp-8]
00040134sub x29, sp, 8
00040138add x2, x0, 63
0004013cubfm x2, x2, 6, 63
00040140ubfm x1, x2, 61, 60
00040144str x1, [sp+64]
00040148adrp x2, 0xa0b000
0004014cadd x2, x2, 3728
00040150ldar x0, [x2]
00040154bl runtime.(*gcBitsArena).tryAlloc
00040158cbnz x0, 0x4023c
0004015cadrp x0, 0xa0b000
00040160add x0, x0, 3712
00040164bl runtime.lock
00040168adrp x27, 0xa0b000
0004016cldr x0, [x27+3728]
00040170ldr x1, [sp+64]
00040174bl runtime.(*gcBitsArena).tryAlloc
00040178cbnz x0, 0x4021c
0004017cbl runtime.newArenaMayUnlock
00040180str x0, [sp+56]
00040184adrp x27, 0xa0b000
00040188ldr x0, [x27+3728]
0004018cldr x1, [sp+64]
00040190bl runtime.(*gcBitsArena).tryAlloc
00040194cbnz x0, 0x401e4
00040198ldr x0, [sp+56]
0004019cldr x1, [sp+64]
000401a0bl runtime.(*gcBitsArena).tryAlloc
000401a4cbz x0, 0x40248
000401a8str x0, [sp+32]
000401acadrp x27, 0xa0b000
000401b0ldr x1, [x27+3728]
000401b4ldr x2, [sp+56]
000401b8str x1, [x2+8]
000401bcadrp x1, 0xa0b000
000401c0add x1, x1, 3728
000401c4stlr x2, [x1]
000401c8adrp x0, 0xa0b000
000401ccadd x0, x0, 3712
000401d0bl runtime.unlock
000401d4ldr x0, [sp+32]
000401d8ldur x29, [sp-8]
000401dcldr x30, [sp], 80
000401e0ret x30
000401e4
000401e4loc_401e4:
000401e4str x0, [sp+40]
000401e8adrp x27, 0xa0b000
000401ecldr x1, [x27+3720]
000401f0ldr x2, [sp+56]
000401f4str x1, [x2+8]
000401f8adrp x27, 0xa0b000
000401fcstr x2, [x27+3720]
00040200adrp x0, 0xa0b000
00040204add x0, x0, 3712
00040208bl runtime.unlock
0004020cldr x0, [sp+40]
00040210ldur x29, [sp-8]
00040214ldr x30, [sp], 80
00040218ret x30
0004021c
0004021cloc_4021c:
0004021cstr x0, [sp+48]
00040220adrp x0, 0xa0b000
00040224add x0, x0, 3712
00040228bl runtime.unlock
0004022cldr x0, [sp+48]
00040230ldur x29, [sp-8]
00040234ldr x30, [sp], 80
00040238ret x30
0004023c
0004023cloc_4023c:
0004023cldur x29, [sp-8]
00040240ldr x30, [sp], 80
00040244ret x30
00040248
00040248loc_40248:
00040248adrp x0, 0x675000
0004024cadd x0, x0, 217
00040250movz x1, 17
00040254bl runtime.throw
00040258hint
0004025c
0004025cloc_4025c:
0004025cstr x0, [sp+8]
00040260mov x3, x30
00040264bl runtime.morestack_noctxt.abi0
00040268ldr x0, [sp+8]
0004026cb 0x40120
00040120
00040270
00040270runtime.newAllocBits: ; void runtime.newAllocBits(uintptr nelems)
00040270ldr x16, [x28+16]
00040274subs xzr, sp, x16
00040278b.ls 0x40298
0004027cstr x30, [sp-32]!
00040280stur x29, [sp-8]
00040284sub x29, sp, 8
00040288bl runtime.newMarkBits
0004028cldur x29, [sp-8]
00040290ldr x30, [sp], 32
00040294ret x30
00040298
00040298loc_40298:
00040298str x0, [sp+8]
0004029cmov x3, x30
000402a0bl runtime.morestack_noctxt.abi0
000402a4ldr x0, [sp+8]
000402a8b 0x40270
000402acudf 0
00040270
00040270runtime.newAllocBits: ; void runtime.newAllocBits(uintptr nelems)
00040270ldr x16, [x28+16]
00040274subs xzr, sp, x16
00040278b.ls 0x40298
0004027cstr x30, [sp-32]!
00040280stur x29, [sp-8]
00040284sub x29, sp, 8
00040288bl runtime.newMarkBits
0004028cldur x29, [sp-8]
00040290ldr x30, [sp], 32
00040294ret x30
00040298
00040298loc_40298:
00040298str x0, [sp+8]
0004029cmov x3, x30
000402a0bl runtime.morestack_noctxt.abi0
000402a4ldr x0, [sp+8]
000402a8b 0x40270
000402acudf 0
00040270
000402b0
000402b0runtime.nextMarkBitArenaEpoch: ; void runtime.nextMarkBitArenaEpoch(void)
000402b0ldr x16, [x28+16]
000402b4subs xzr, sp, x16
000402b8b.ls 0x40360
000402bcstr x30, [sp-32]!
000402c0stur x29, [sp-8]
000402c4sub x29, sp, 8
000402c8adrp x0, 0xa0b000
000402ccadd x0, x0, 3712
000402d0bl runtime.lock
000402d4adrp x27, 0xa0b000
000402d8ldr x1, [x27+3744]
000402dccbz x1, 0x402f4
000402e0adrp x27, 0xa0b000
000402e4ldr x2, [x27+3720]
000402e8cbnz x2, 0x40340
000402ecadrp x27, 0xa0b000
000402f0str x1, [x27+3720]
000402f4
000402f4loc_402f4:
000402f4adrp x27, 0xa0b000
000402f8ldr x1, [x27+3736]
000402fcadrp x27, 0xa0b000
00040300str x1, [x27+3744]
00040304adrp x27, 0xa0b000
00040308ldr x1, [x27+3728]
0004030cadrp x27, 0xa0b000
00040310str x1, [x27+3736]
00040314mov x1, xzr
00040318adrp x2, 0xa0b000
0004031cadd x2, x2, 3728
00040320stlr x1, [x2]
00040324adrp x0, 0xa0b000
00040328add x0, x0, 3712
0004032cbl runtime.unlock
00040330ldur x29, [sp-8]
00040334ldr x30, [sp], 32
00040338ret x30
0004033c
0004033cloc_4033c:
0004033cmov x1, x3
00040340
00040340loc_40340:
00040340ldr x3, [x1+8]
00040344cbnz x3, 0x4033c
00040348str x2, [x1+8]
0004034cadrp x27, 0xa0b000
00040350ldr x1, [x27+3744]
00040354adrp x27, 0xa0b000
00040358str x1, [x27+3720]
0004035cb 0x402f4
00040360
00040360loc_40360:
00040360mov x3, x30
00040364bl runtime.morestack_noctxt.abi0
00040368b 0x402b0
0004036cudf 0
000402b0
000402b0runtime.nextMarkBitArenaEpoch: ; void runtime.nextMarkBitArenaEpoch(void)
000402b0ldr x16, [x28+16]
000402b4subs xzr, sp, x16
000402b8b.ls 0x40360
000402bcstr x30, [sp-32]!
000402c0stur x29, [sp-8]
000402c4sub x29, sp, 8
000402c8adrp x0, 0xa0b000
000402ccadd x0, x0, 3712
000402d0bl runtime.lock
000402d4adrp x27, 0xa0b000
000402d8ldr x1, [x27+3744]
000402dccbz x1, 0x402f4
000402e0adrp x27, 0xa0b000
000402e4ldr x2, [x27+3720]
000402e8cbnz x2, 0x40340
000402ecadrp x27, 0xa0b000
000402f0str x1, [x27+3720]
000402f4
000402f4loc_402f4:
000402f4adrp x27, 0xa0b000
000402f8ldr x1, [x27+3736]
000402fcadrp x27, 0xa0b000
00040300str x1, [x27+3744]
00040304adrp x27, 0xa0b000
00040308ldr x1, [x27+3728]
0004030cadrp x27, 0xa0b000
00040310str x1, [x27+3736]
00040314mov x1, xzr
00040318adrp x2, 0xa0b000
0004031cadd x2, x2, 3728
00040320stlr x1, [x2]
00040324adrp x0, 0xa0b000
00040328add x0, x0, 3712
0004032cbl runtime.unlock
00040330ldur x29, [sp-8]
00040334ldr x30, [sp], 32
00040338ret x30
0004033c
0004033cloc_4033c:
0004033cmov x1, x3
00040340
00040340loc_40340:
00040340ldr x3, [x1+8]
00040344cbnz x3, 0x4033c
00040348str x2, [x1+8]
0004034cadrp x27, 0xa0b000
00040350ldr x1, [x27+3744]
00040354adrp x27, 0xa0b000
00040358str x1, [x27+3720]
0004035cb 0x402f4
00040360
00040360loc_40360:
00040360mov x3, x30
00040364bl runtime.morestack_noctxt.abi0
00040368b 0x402b0
0004036cudf 0
000402b0
Loading..