File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
000273b0
000273b0runtime.mallocgcLarge: ; void runtime.mallocgcLarge(uintptr size, internal/abi.Type * typ, bool needzero)
000273b0ldr x16, [x28+16]
000273b4subs xzr, sp, x16
000273b8b.ls 0x27598
000273bcstr x30, [sp-112]!
000273c0stur x29, [sp-8]
000273c4sub x29, sp, 8
000273c8str x0, [sp+120]
000273ccstr x1, [sp+128]
000273d0strb w2, [sp+136]
000273d4bl runtime.acquirem
000273d8str x0, [sp+96]
000273dcorr x1, xzr, 1
000273e0str w1, [x0+240]
000273e4bl runtime.getMCache
000273e8str x0, [sp+56]
000273ecldr x1, [sp+128]
000273f0cbnz x1, 0x273fc
000273f4orr x2, xzr, 1
000273f8b 0x27410
000273fc
000273fcloc_273fc:
000273fcmov x0, x1
00027400bl internal/abi.(*Type).Pointers
00027404eor x1, x0, 1
00027408ldr x0, [sp+56]
0002740cmov x2, x1
00027410
00027410loc_27410:
00027410ldr x1, [sp+120]
00027414bl runtime.(*mcache).allocLarge
00027418orr x3, xzr, 1
0002741cstrh w3, [x0+48]
00027420strh w3, [x0+96]
00027424adrp x27, 0xa24000
00027428ldr w3, [x27+3056]
0002742ccbz w3, 0x2743c
00027430ldr x1, [x0+152]
00027434bl runtime.gcWriteBarrier1
00027438str x1, [x25]
0002743c
0002743cloc_2743c:
0002743cstr x0, [sp+48]
00027440str xzr, [x0+152]
00027444ldr x1, [x0+104]
00027448str x1, [sp+72]
0002744cbl runtime.(*mspan).base
00027450str x0, [sp+80]
00027454dmb
00027458ldr x1, [sp+48]
0002745cldrh w2, [x1+48]
00027460strh w2, [x1+52]
00027464adrp x27, 0xa24000
00027468ldrb w2, [x27+3056]
0002746ctbz w2, 0, 0x27488
00027470mov x2, x0
00027474mov x0, x1
00027478mov x1, x2
0002747cbl runtime.gcmarknewobject
00027480ldr x0, [sp+80]
00027484ldr x1, [sp+48]
00027488
00027488loc_27488:
00027488ldr x3, [sp+56]
0002748cldr x4, [x3]
00027490ldr x2, [sp+72]
00027494sub x4, x4, x2
00027498str x4, [x3]
0002749ctbnz x4, 63, 0x274b4
000274a0adrp x27, 0x999000
000274a4ldr x4, [x27+1688]
000274a8ldr x3, [x3+8]
000274acsubs xzr, x3, x4
000274b0b.eq 0x274c0
000274b4
000274b4loc_274b4:
000274b4mov x1, x0
000274b8ldr x0, [sp+96]
000274bcbl runtime.profilealloc
000274c0
000274c0loc_274c0:
000274c0ldr x0, [sp+96]
000274c4str wzr, [x0+240]
000274c8bl runtime.releasem
000274ccmov x0, xzr
000274d0mov x1, xzr
000274d4mov x2, xzr
000274d8bl runtime.gcTrigger.test
000274dctbz w0, 0, 0x274f0
000274e0mov x0, xzr
000274e4mov x1, xzr
000274e8mov x2, xzr
000274ecbl runtime.gcStart
000274f0
000274f0loc_274f0:
000274f0ldr x0, [sp+128]
000274f4cbnz x0, 0x27500
000274f8orr x1, xzr, 1
000274fcb 0x2750c
00027500
00027500loc_27500:
00027500bl internal/abi.(*Type).Pointers
00027504eor x1, x0, 1
00027508ldr x0, [sp+128]
0002750c
0002750cloc_2750c:
0002750cstrb w1, [sp+47]
00027510tbz w1, 0, 0x27528
00027514ldrb w2, [sp+136]
00027518tbz w2, 0, 0x27584
0002751cldr x2, [sp+48]
00027520ldrb w3, [x2+100]
00027524cbz w3, 0x27584
00027528
00027528loc_27528:
00027528ldr x0, [sp+72]
0002752cldr x1, [sp+80]
00027530bl runtime.memclrNoHeapPointersChunked
00027534bl runtime.acquirem
00027538ldrb w1, [sp+47]
0002753ctbnz w1, 0, 0x2757c
00027540str x0, [sp+88]
00027544bl runtime.getMCache
00027548str x0, [sp+64]
0002754cldr x0, [sp+80]
00027550mov x1, x0
00027554mov x0, x1
00027558ldr x1, [sp+72]
0002755cldr x2, [sp+128]
00027560ldr x3, [sp+48]
00027564bl runtime.heapSetTypeLarge
00027568ldr x1, [sp+64]
0002756cldr x2, [x1+16]
00027570add x2, x2, x0
00027574str x2, [x1+16]
00027578ldr x0, [sp+88]
0002757c
0002757cloc_2757c:
0002757cdmb
00027580bl runtime.releasem
00027584
00027584loc_27584:
00027584ldr x0, [sp+80]
00027588ldr x1, [sp+72]
0002758cldur x29, [sp-8]
00027590ldr x30, [sp], 112
00027594ret x30
00027598
00027598loc_27598:
00027598stp x0, x1, [sp+8]
0002759cstrb w2, [sp+24]
000275a0mov x3, x30
000275a4bl runtime.morestack_noctxt.abi0
000275a8ldp x0, x1, [sp+8]
000275acldrb w2, [sp+24]
000275b0b 0x273b0
000275b4udf 0
000275b8udf 0
000275bcudf 0
000273b0
000273b0runtime.mallocgcLarge: ; void runtime.mallocgcLarge(uintptr size, internal/abi.Type * typ, bool needzero)
000273b0ldr x16, [x28+16]
000273b4subs xzr, sp, x16
000273b8b.ls 0x27598
000273bcstr x30, [sp-112]!
000273c0stur x29, [sp-8]
000273c4sub x29, sp, 8
000273c8str x0, [sp+120]
000273ccstr x1, [sp+128]
000273d0strb w2, [sp+136]
000273d4bl runtime.acquirem
000273d8str x0, [sp+96]
000273dcorr x1, xzr, 1
000273e0str w1, [x0+240]
000273e4bl runtime.getMCache
000273e8str x0, [sp+56]
000273ecldr x1, [sp+128]
000273f0cbnz x1, 0x273fc
000273f4orr x2, xzr, 1
000273f8b 0x27410
000273fc
000273fcloc_273fc:
000273fcmov x0, x1
00027400bl internal/abi.(*Type).Pointers
00027404eor x1, x0, 1
00027408ldr x0, [sp+56]
0002740cmov x2, x1
00027410
00027410loc_27410:
00027410ldr x1, [sp+120]
00027414bl runtime.(*mcache).allocLarge
00027418orr x3, xzr, 1
0002741cstrh w3, [x0+48]
00027420strh w3, [x0+96]
00027424adrp x27, 0xa24000
00027428ldr w3, [x27+3056]
0002742ccbz w3, 0x2743c
00027430ldr x1, [x0+152]
00027434bl runtime.gcWriteBarrier1
00027438str x1, [x25]
0002743c
0002743cloc_2743c:
0002743cstr x0, [sp+48]
00027440str xzr, [x0+152]
00027444ldr x1, [x0+104]
00027448str x1, [sp+72]
0002744cbl runtime.(*mspan).base
00027450str x0, [sp+80]
00027454dmb
00027458ldr x1, [sp+48]
0002745cldrh w2, [x1+48]
00027460strh w2, [x1+52]
00027464adrp x27, 0xa24000
00027468ldrb w2, [x27+3056]
0002746ctbz w2, 0, 0x27488
00027470mov x2, x0
00027474mov x0, x1
00027478mov x1, x2
0002747cbl runtime.gcmarknewobject
00027480ldr x0, [sp+80]
00027484ldr x1, [sp+48]
00027488
00027488loc_27488:
00027488ldr x3, [sp+56]
0002748cldr x4, [x3]
00027490ldr x2, [sp+72]
00027494sub x4, x4, x2
00027498str x4, [x3]
0002749ctbnz x4, 63, 0x274b4
000274a0adrp x27, 0x999000
000274a4ldr x4, [x27+1688]
000274a8ldr x3, [x3+8]
000274acsubs xzr, x3, x4
000274b0b.eq 0x274c0
000274b4
000274b4loc_274b4:
000274b4mov x1, x0
000274b8ldr x0, [sp+96]
000274bcbl runtime.profilealloc
000274c0
000274c0loc_274c0:
000274c0ldr x0, [sp+96]
000274c4str wzr, [x0+240]
000274c8bl runtime.releasem
000274ccmov x0, xzr
000274d0mov x1, xzr
000274d4mov x2, xzr
000274d8bl runtime.gcTrigger.test
000274dctbz w0, 0, 0x274f0
000274e0mov x0, xzr
000274e4mov x1, xzr
000274e8mov x2, xzr
000274ecbl runtime.gcStart
000274f0
000274f0loc_274f0:
000274f0ldr x0, [sp+128]
000274f4cbnz x0, 0x27500
000274f8orr x1, xzr, 1
000274fcb 0x2750c
00027500
00027500loc_27500:
00027500bl internal/abi.(*Type).Pointers
00027504eor x1, x0, 1
00027508ldr x0, [sp+128]
0002750c
0002750cloc_2750c:
0002750cstrb w1, [sp+47]
00027510tbz w1, 0, 0x27528
00027514ldrb w2, [sp+136]
00027518tbz w2, 0, 0x27584
0002751cldr x2, [sp+48]
00027520ldrb w3, [x2+100]
00027524cbz w3, 0x27584
00027528
00027528loc_27528:
00027528ldr x0, [sp+72]
0002752cldr x1, [sp+80]
00027530bl runtime.memclrNoHeapPointersChunked
00027534bl runtime.acquirem
00027538ldrb w1, [sp+47]
0002753ctbnz w1, 0, 0x2757c
00027540str x0, [sp+88]
00027544bl runtime.getMCache
00027548str x0, [sp+64]
0002754cldr x0, [sp+80]
00027550mov x1, x0
00027554mov x0, x1
00027558ldr x1, [sp+72]
0002755cldr x2, [sp+128]
00027560ldr x3, [sp+48]
00027564bl runtime.heapSetTypeLarge
00027568ldr x1, [sp+64]
0002756cldr x2, [x1+16]
00027570add x2, x2, x0
00027574str x2, [x1+16]
00027578ldr x0, [sp+88]
0002757c
0002757cloc_2757c:
0002757cdmb
00027580bl runtime.releasem
00027584
00027584loc_27584:
00027584ldr x0, [sp+80]
00027588ldr x1, [sp+72]
0002758cldur x29, [sp-8]
00027590ldr x30, [sp], 112
00027594ret x30
00027598
00027598loc_27598:
00027598stp x0, x1, [sp+8]
0002759cstrb w2, [sp+24]
000275a0mov x3, x30
000275a4bl runtime.morestack_noctxt.abi0
000275a8ldp x0, x1, [sp+8]
000275acldrb w2, [sp+24]
000275b0b 0x273b0
000275b4udf 0
000275b8udf 0
000275bcudf 0
000273b0
000275c0
000275c0runtime.preMallocgcDebug: ; void runtime.preMallocgcDebug(uintptr size, internal/abi.Type * typ)
000275c0ldr x16, [x28+16]
000275c4subs xzr, sp, x16
000275c8b.ls 0x27684
000275ccstr x30, [sp-48]!
000275d0stur x29, [sp-8]
000275d4sub x29, sp, 8
000275d8adrp x27, 0xa25000
000275dcldrsw x3, [x27+332]
000275e0cbz w3, 0x27640
000275e4cbz x1, 0x27620
000275e8ands xzr, x0, 7
000275ecb.ne 0x275f8
000275f0orr x3, xzr, 8
000275f4b 0x27624
000275f8
000275f8loc_275f8:
000275f8ands xzr, x0, 3
000275fcb.ne 0x27608
00027600orr x3, xzr, 4
00027604b 0x27624
00027608
00027608loc_27608:
00027608and x3, x0, 1
0002760csubs xzr, x3, 0
00027610orr x3, xzr, 2
00027614orr x4, xzr, 1
00027618csel x3, x3, x4, eq
0002761cb 0x27624
00027620
00027620loc_27620:
00027620orr x3, xzr, 16
00027624
00027624loc_27624:
00027624mov x1, x3
00027628adrp x2, 0xa2a000
0002762cadd x2, x2, 544
00027630bl runtime.persistentalloc
00027634ldur x29, [sp-8]
00027638ldr x30, [sp], 48
0002763cret x30
00027640
00027640loc_27640:
00027640adrp x27, 0xa24000
00027644ldrb w1, [x27+3552]
00027648tbz w1, 0, 0x27674
0002764cadrp x27, 0xa24000
00027650ldr x1, [x27+3560]
00027654ldr x2, [x28+160]
00027658subs xzr, x2, x1
0002765cb.ne 0x27674
00027660adrp x27, 0xa24000
00027664ldr x1, [x27+3568]
00027668add x1, x1, 1
0002766cadrp x27, 0xa24000
00027670str x1, [x27+3568]
00027674
00027674loc_27674:
00027674mov x0, xzr
00027678ldur x29, [sp-8]
0002767cldr x30, [sp], 48
00027680ret x30
00027684
00027684loc_27684:
00027684stp x0, x1, [sp+8]
00027688mov x3, x30
0002768cbl runtime.morestack_noctxt.abi0
00027690ldp x0, x1, [sp+8]
00027694b 0x275c0
00027698udf 0
0002769cudf 0
000275c0
000275c0runtime.preMallocgcDebug: ; void runtime.preMallocgcDebug(uintptr size, internal/abi.Type * typ)
000275c0ldr x16, [x28+16]
000275c4subs xzr, sp, x16
000275c8b.ls 0x27684
000275ccstr x30, [sp-48]!
000275d0stur x29, [sp-8]
000275d4sub x29, sp, 8
000275d8adrp x27, 0xa25000
000275dcldrsw x3, [x27+332]
000275e0cbz w3, 0x27640
000275e4cbz x1, 0x27620
000275e8ands xzr, x0, 7
000275ecb.ne 0x275f8
000275f0orr x3, xzr, 8
000275f4b 0x27624
000275f8
000275f8loc_275f8:
000275f8ands xzr, x0, 3
000275fcb.ne 0x27608
00027600orr x3, xzr, 4
00027604b 0x27624
00027608
00027608loc_27608:
00027608and x3, x0, 1
0002760csubs xzr, x3, 0
00027610orr x3, xzr, 2
00027614orr x4, xzr, 1
00027618csel x3, x3, x4, eq
0002761cb 0x27624
00027620
00027620loc_27620:
00027620orr x3, xzr, 16
00027624
00027624loc_27624:
00027624mov x1, x3
00027628adrp x2, 0xa2a000
0002762cadd x2, x2, 544
00027630bl runtime.persistentalloc
00027634ldur x29, [sp-8]
00027638ldr x30, [sp], 48
0002763cret x30
00027640
00027640loc_27640:
00027640adrp x27, 0xa24000
00027644ldrb w1, [x27+3552]
00027648tbz w1, 0, 0x27674
0002764cadrp x27, 0xa24000
00027650ldr x1, [x27+3560]
00027654ldr x2, [x28+160]
00027658subs xzr, x2, x1
0002765cb.ne 0x27674
00027660adrp x27, 0xa24000
00027664ldr x1, [x27+3568]
00027668add x1, x1, 1
0002766cadrp x27, 0xa24000
00027670str x1, [x27+3568]
00027674
00027674loc_27674:
00027674mov x0, xzr
00027678ldur x29, [sp-8]
0002767cldr x30, [sp], 48
00027680ret x30
00027684
00027684loc_27684:
00027684stp x0, x1, [sp+8]
00027688mov x3, x30
0002768cbl runtime.morestack_noctxt.abi0
00027690ldp x0, x1, [sp+8]
00027694b 0x275c0
00027698udf 0
0002769cudf 0
000275c0
000276a0
000276a0runtime.postMallocgcDebug: ; void runtime.postMallocgcDebug(void * x, uintptr elemsize, internal/abi.Type * typ)
000276a0ldr x16, [x28+16]
000276a4subs xzr, sp, x16
000276a8b.ls 0x2773c
000276acstr x30, [sp-64]!
000276b0stur x29, [sp-8]
000276b4sub x29, sp, 8
000276b8str x0, [sp+72]
000276bcstr x2, [sp+88]
000276c0adrp x27, 0xa24000
000276c4ldrb w3, [x27+3552]
000276c8tbz w3, 0, 0x276f4
000276ccadrp x27, 0xa24000
000276d0ldr x3, [x27+3560]
000276d4ldr x4, [x28+160]
000276d8subs xzr, x4, x3
000276dcb.ne 0x276f4
000276e0adrp x27, 0xa24000
000276e4ldr x3, [x27+3576]
000276e8add x1, x3, x1
000276ecadrp x27, 0xa24000
000276f0str x1, [x27+3576]
000276f4
000276f4loc_276f4:
000276f4bl runtime.traceAllocFreeEnabled
000276f8tbz w0, 0, 0x27730
000276fcbl runtime.traceAcquire
00027700str x0, [sp+48]
00027704str x1, [sp+40]
00027708bl runtime.traceLocker.ok
0002770ctbz w0, 0, 0x27730
00027710ldr x2, [sp+72]
00027714ldr x0, [sp+48]
00027718ldr x1, [sp+40]
0002771cldr x3, [sp+88]
00027720bl runtime.traceLocker.HeapObjectAlloc
00027724ldr x0, [sp+48]
00027728ldr x1, [sp+40]
0002772cbl runtime.traceRelease
00027730
00027730loc_27730:
00027730ldur x29, [sp-8]
00027734ldr x30, [sp], 64
00027738ret x30
0002773c
0002773cloc_2773c:
0002773cstp x0, x1, [sp+8]
00027740str x2, [sp+24]
00027744mov x3, x30
00027748bl runtime.morestack_noctxt.abi0
0002774cldp x0, x1, [sp+8]
00027750ldr x2, [sp+24]
00027754b 0x276a0
00027758udf 0
0002775cudf 0
000276a0
000276a0runtime.postMallocgcDebug: ; void runtime.postMallocgcDebug(void * x, uintptr elemsize, internal/abi.Type * typ)
000276a0ldr x16, [x28+16]
000276a4subs xzr, sp, x16
000276a8b.ls 0x2773c
000276acstr x30, [sp-64]!
000276b0stur x29, [sp-8]
000276b4sub x29, sp, 8
000276b8str x0, [sp+72]
000276bcstr x2, [sp+88]
000276c0adrp x27, 0xa24000
000276c4ldrb w3, [x27+3552]
000276c8tbz w3, 0, 0x276f4
000276ccadrp x27, 0xa24000
000276d0ldr x3, [x27+3560]
000276d4ldr x4, [x28+160]
000276d8subs xzr, x4, x3
000276dcb.ne 0x276f4
000276e0adrp x27, 0xa24000
000276e4ldr x3, [x27+3576]
000276e8add x1, x3, x1
000276ecadrp x27, 0xa24000
000276f0str x1, [x27+3576]
000276f4
000276f4loc_276f4:
000276f4bl runtime.traceAllocFreeEnabled
000276f8tbz w0, 0, 0x27730
000276fcbl runtime.traceAcquire
00027700str x0, [sp+48]
00027704str x1, [sp+40]
00027708bl runtime.traceLocker.ok
0002770ctbz w0, 0, 0x27730
00027710ldr x2, [sp+72]
00027714ldr x0, [sp+48]
00027718ldr x1, [sp+40]
0002771cldr x3, [sp+88]
00027720bl runtime.traceLocker.HeapObjectAlloc
00027724ldr x0, [sp+48]
00027728ldr x1, [sp+40]
0002772cbl runtime.traceRelease
00027730
00027730loc_27730:
00027730ldur x29, [sp-8]
00027734ldr x30, [sp], 64
00027738ret x30
0002773c
0002773cloc_2773c:
0002773cstp x0, x1, [sp+8]
00027740str x2, [sp+24]
00027744mov x3, x30
00027748bl runtime.morestack_noctxt.abi0
0002774cldp x0, x1, [sp+8]
00027750ldr x2, [sp+24]
00027754b 0x276a0
00027758udf 0
0002775cudf 0
000276a0
00027760
00027760runtime.deductAssistCredit: ; void runtime.deductAssistCredit(uintptr size)
00027760ldr x16, [x28+16]
00027764subs xzr, sp, x16
00027768b.ls 0x277b0
0002776cstr x30, [sp-32]!
00027770stur x29, [sp-8]
00027774sub x29, sp, 8
00027778ldr x1, [x28+48]
0002777cldr x1, [x1+192]
00027780cbnz x1, 0x2778c
00027784str x28, [sp+16]
00027788ldr x1, [sp+16]
0002778c
0002778cloc_2778c:
0002778cldr x2, [x1+432]
00027790sub x2, x2, x0
00027794str x2, [x1+432]
00027798tbz x2, 63, 0x277a4
0002779cmov x0, x1
000277a0bl runtime.gcAssistAlloc
000277a4
000277a4loc_277a4:
000277a4ldur x29, [sp-8]
000277a8ldr x30, [sp], 32
000277acret x30
000277b0
000277b0loc_277b0:
000277b0str x0, [sp+8]
000277b4mov x3, x30
000277b8bl runtime.morestack_noctxt.abi0
000277bcldr x0, [sp+8]
000277c0b 0x27760
000277c4udf 0
000277c8udf 0
000277ccudf 0
00027760
00027760runtime.deductAssistCredit: ; void runtime.deductAssistCredit(uintptr size)
00027760ldr x16, [x28+16]
00027764subs xzr, sp, x16
00027768b.ls 0x277b0
0002776cstr x30, [sp-32]!
00027770stur x29, [sp-8]
00027774sub x29, sp, 8
00027778ldr x1, [x28+48]
0002777cldr x1, [x1+192]
00027780cbnz x1, 0x2778c
00027784str x28, [sp+16]
00027788ldr x1, [sp+16]
0002778c
0002778cloc_2778c:
0002778cldr x2, [x1+432]
00027790sub x2, x2, x0
00027794str x2, [x1+432]
00027798tbz x2, 63, 0x277a4
0002779cmov x0, x1
000277a0bl runtime.gcAssistAlloc
000277a4
000277a4loc_277a4:
000277a4ldur x29, [sp-8]
000277a8ldr x30, [sp], 32
000277acret x30
000277b0
000277b0loc_277b0:
000277b0str x0, [sp+8]
000277b4mov x3, x30
000277b8bl runtime.morestack_noctxt.abi0
000277bcldr x0, [sp+8]
000277c0b 0x27760
000277c4udf 0
000277c8udf 0
000277ccudf 0
00027760
000277d0
000277d0runtime.memclrNoHeapPointersChunked: ; void runtime.memclrNoHeapPointersChunked(uintptr size, void * x)
000277d0ldr x16, [x28+16]
000277d4subs xzr, sp, x16
000277d8b.ls 0x2784c
000277dcstr x30, [sp-48]!
000277e0stur x29, [sp-8]
000277e4sub x29, sp, 8
000277e8add x2, x1, x0
000277ecstr x2, [sp+24]
000277f0b 0x2781c
000277f4
000277f4loc_277f4:
000277f4sub x2, x2, x1
000277f8mov x0, x1
000277fcadd x3, x1, 0x40000
00027800str x3, [sp+32]
00027804subs xzr, x2, 0x40000
00027808orr x3, xzr, 0x40000
0002780ccsel x1, x3, x2, hi
00027810bl runtime.memclrNoHeapPointers
00027814ldr x2, [sp+24]
00027818ldr x1, [sp+32]
0002781c
0002781cloc_2781c:
0002781csubs xzr, x1, x2
00027820b.hs 0x27840
00027824ldrb w3, [x28+185]
00027828tbz w3, 0, 0x277f4
0002782cstr x1, [sp+32]
00027830bl runtime.goschedguarded
00027834ldr x1, [sp+32]
00027838ldr x2, [sp+24]
0002783cb 0x277f4
00027840
00027840loc_27840:
00027840ldur x29, [sp-8]
00027844ldr x30, [sp], 48
00027848ret x30
0002784c
0002784cloc_2784c:
0002784cstp x0, x1, [sp+8]
00027850mov x3, x30
00027854bl runtime.morestack_noctxt.abi0
00027858ldp x0, x1, [sp+8]
0002785cb 0x277d0
000277d0
000277d0runtime.memclrNoHeapPointersChunked: ; void runtime.memclrNoHeapPointersChunked(uintptr size, void * x)
000277d0ldr x16, [x28+16]
000277d4subs xzr, sp, x16
000277d8b.ls 0x2784c
000277dcstr x30, [sp-48]!
000277e0stur x29, [sp-8]
000277e4sub x29, sp, 8
000277e8add x2, x1, x0
000277ecstr x2, [sp+24]
000277f0b 0x2781c
000277f4
000277f4loc_277f4:
000277f4sub x2, x2, x1
000277f8mov x0, x1
000277fcadd x3, x1, 0x40000
00027800str x3, [sp+32]
00027804subs xzr, x2, 0x40000
00027808orr x3, xzr, 0x40000
0002780ccsel x1, x3, x2, hi
00027810bl runtime.memclrNoHeapPointers
00027814ldr x2, [sp+24]
00027818ldr x1, [sp+32]
0002781c
0002781cloc_2781c:
0002781csubs xzr, x1, x2
00027820b.hs 0x27840
00027824ldrb w3, [x28+185]
00027828tbz w3, 0, 0x277f4
0002782cstr x1, [sp+32]
00027830bl runtime.goschedguarded
00027834ldr x1, [sp+32]
00027838ldr x2, [sp+24]
0002783cb 0x277f4
00027840
00027840loc_27840:
00027840ldur x29, [sp-8]
00027844ldr x30, [sp], 48
00027848ret x30
0002784c
0002784cloc_2784c:
0002784cstp x0, x1, [sp+8]
00027850mov x3, x30
00027854bl runtime.morestack_noctxt.abi0
00027858ldp x0, x1, [sp+8]
0002785cb 0x277d0
000277d0
00027860
00027860runtime.newobject: ; void runtime.newobject(internal/abi.Type * typ)
00027860ldr x16, [x28+16]
00027864subs xzr, sp, x16
00027868b.ls 0x27898
0002786cstr x30, [sp-48]!
00027870stur x29, [sp-8]
00027874sub x29, sp, 8
00027878ldr x3, [x0]
0002787cmov x1, x0
00027880orr x2, xzr, 1
00027884mov x0, x3
00027888bl runtime.mallocgc
0002788cldur x29, [sp-8]
00027890ldr x30, [sp], 48
00027894ret x30
00027898
00027898loc_27898:
00027898str x0, [sp+8]
0002789cmov x3, x30
000278a0bl runtime.morestack_noctxt.abi0
000278a4ldr x0, [sp+8]
000278a8b 0x27860
000278acudf 0
00027860
00027860runtime.newobject: ; void runtime.newobject(internal/abi.Type * typ)
00027860ldr x16, [x28+16]
00027864subs xzr, sp, x16
00027868b.ls 0x27898
0002786cstr x30, [sp-48]!
00027870stur x29, [sp-8]
00027874sub x29, sp, 8
00027878ldr x3, [x0]
0002787cmov x1, x0
00027880orr x2, xzr, 1
00027884mov x0, x3
00027888bl runtime.mallocgc
0002788cldur x29, [sp-8]
00027890ldr x30, [sp], 48
00027894ret x30
00027898
00027898loc_27898:
00027898str x0, [sp+8]
0002789cmov x3, x30
000278a0bl runtime.morestack_noctxt.abi0
000278a4ldr x0, [sp+8]
000278a8b 0x27860
000278acudf 0
00027860
000278b0
000278b0runtime.profilealloc: ; void runtime.profilealloc(runtime.m * mp, void * x, uintptr size)
000278b0ldr x16, [x28+16]
000278b4subs xzr, sp, x16
000278b8b.ls 0x27928
000278bcstr x30, [sp-48]!
000278c0stur x29, [sp-8]
000278c4sub x29, sp, 8
000278c8str x0, [sp+56]
000278ccstr x1, [sp+64]
000278d0str x2, [sp+72]
000278d4bl runtime.getMCache
000278d8cbz x0, 0x27914
000278dcstr x0, [sp+32]
000278e0adrp x27, 0x999000
000278e4ldr x1, [x27+1688]
000278e8str x1, [x0+8]
000278ecbl runtime.nextSample
000278f0ldr x1, [sp+32]
000278f4str x0, [x1]
000278f8ldr x0, [sp+56]
000278fcldr x1, [sp+64]
00027900ldr x2, [sp+72]
00027904bl runtime.mProf_Malloc
00027908ldur x29, [sp-8]
0002790cldr x30, [sp], 48
00027910ret x30
00027914
00027914loc_27914:
00027914adrp x0, 0x6a4000
00027918add x0, x0, 1298
0002791corr x1, xzr, 56
00027920bl runtime.throw
00027924hint
00027928
00027928loc_27928:
00027928stp x0, x1, [sp+8]
0002792cstr x2, [sp+24]
00027930mov x3, x30
00027934bl runtime.morestack_noctxt.abi0
00027938ldp x0, x1, [sp+8]
0002793cldr x2, [sp+24]
00027940b 0x278b0
00027944udf 0
00027948udf 0
0002794cudf 0
000278b0
000278b0runtime.profilealloc: ; void runtime.profilealloc(runtime.m * mp, void * x, uintptr size)
000278b0ldr x16, [x28+16]
000278b4subs xzr, sp, x16
000278b8b.ls 0x27928
000278bcstr x30, [sp-48]!
000278c0stur x29, [sp-8]
000278c4sub x29, sp, 8
000278c8str x0, [sp+56]
000278ccstr x1, [sp+64]
000278d0str x2, [sp+72]
000278d4bl runtime.getMCache
000278d8cbz x0, 0x27914
000278dcstr x0, [sp+32]
000278e0adrp x27, 0x999000
000278e4ldr x1, [x27+1688]
000278e8str x1, [x0+8]
000278ecbl runtime.nextSample
000278f0ldr x1, [sp+32]
000278f4str x0, [x1]
000278f8ldr x0, [sp+56]
000278fcldr x1, [sp+64]
00027900ldr x2, [sp+72]
00027904bl runtime.mProf_Malloc
00027908ldur x29, [sp-8]
0002790cldr x30, [sp], 48
00027910ret x30
00027914
00027914loc_27914:
00027914adrp x0, 0x6a4000
00027918add x0, x0, 1298
0002791corr x1, xzr, 56
00027920bl runtime.throw
00027924hint
00027928
00027928loc_27928:
00027928stp x0, x1, [sp+8]
0002792cstr x2, [sp+24]
00027930mov x3, x30
00027934bl runtime.morestack_noctxt.abi0
00027938ldp x0, x1, [sp+8]
0002793cldr x2, [sp+24]
00027940b 0x278b0
00027944udf 0
00027948udf 0
0002794cudf 0
000278b0
00027950
00027950runtime.nextSample: ; void runtime.nextSample(void)
00027950ldr x16, [x28+16]
00027954subs xzr, sp, x16
00027958b.ls 0x279b0
0002795cstr x30, [sp-32]!
00027960stur x29, [sp-8]
00027964sub x29, sp, 8
00027968adrp x27, 0x999000
0002796cldr x0, [x27+1688]
00027970cbz x0, 0x279a0
00027974subs xzr, x0, 1
00027978b.ne 0x2798c
0002797cmov x0, xzr
00027980ldur x29, [sp-8]
00027984ldr x30, [sp], 32
00027988ret x30
0002798c
0002798cloc_2798c:
0002798cbl runtime.fastexprand
00027990sbfm x0, x0, 0, 31
00027994ldur x29, [sp-8]
00027998ldr x30, [sp], 32
0002799cret x30
000279a0
000279a0loc_279a0:
000279a0movn x0, 0x8000000000000000
000279a4ldur x29, [sp-8]
000279a8ldr x30, [sp], 32
000279acret x30
000279b0
000279b0loc_279b0:
000279b0mov x3, x30
000279b4bl runtime.morestack_noctxt.abi0
000279b8b 0x27950
000279bcudf 0
00027950
00027950runtime.nextSample: ; void runtime.nextSample(void)
00027950ldr x16, [x28+16]
00027954subs xzr, sp, x16
00027958b.ls 0x279b0
0002795cstr x30, [sp-32]!
00027960stur x29, [sp-8]
00027964sub x29, sp, 8
00027968adrp x27, 0x999000
0002796cldr x0, [x27+1688]
00027970cbz x0, 0x279a0
00027974subs xzr, x0, 1
00027978b.ne 0x2798c
0002797cmov x0, xzr
00027980ldur x29, [sp-8]
00027984ldr x30, [sp], 32
00027988ret x30
0002798c
0002798cloc_2798c:
0002798cbl runtime.fastexprand
00027990sbfm x0, x0, 0, 31
00027994ldur x29, [sp-8]
00027998ldr x30, [sp], 32
0002799cret x30
000279a0
000279a0loc_279a0:
000279a0movn x0, 0x8000000000000000
000279a4ldur x29, [sp-8]
000279a8ldr x30, [sp], 32
000279acret x30
000279b0
000279b0loc_279b0:
000279b0mov x3, x30
000279b4bl runtime.morestack_noctxt.abi0
000279b8b 0x27950
000279bcudf 0
00027950
000279c0
000279c0runtime.fastexprand: ; void runtime.fastexprand(int mean)
000279c0ldr x16, [x28+16]
000279c4subs xzr, sp, x16
000279c8b.ls 0x27a5c
000279ccstr x30, [sp-32]!
000279d0stur x29, [sp-8]
000279d4sub x29, sp, 8
000279d8movz x1, 0x7000000
000279dcsubs xzr, x0, x1
000279e0b.le 0x279ec
000279e4movz x0, 0x7000000
000279e8b 0x279f0
000279ec
000279ecloc_279ec:
000279eccbz x0, 0x27a4c
000279f0
000279f0loc_279f0:
000279f0str x0, [sp+16]
000279f4movz x0, 0x4000000
000279f8bl runtime.cheaprandn
000279fcadd x1, x0, 1
00027a00mov w1, w1
00027a04scvtf d0, x1
00027a08bl runtime.fastlog2
00027a0cfmov d1
00027a10fsub d0, d0, d1
00027a14fcmp d0
00027a18b.le 0x27a20
00027a1cfmov d0, xzr
00027a20
00027a20loc_27a20:
00027a20ldr x1, [sp+16]
00027a24scvtf d1, x1
00027a28adrp x27, 0x6e9000
00027a2cldr d2, [x27+3272]
00027a30fmul d1, d2, d1
00027a34fmul d0, d0, d1
00027a38fcvtzs w1, d0
00027a3cadd x0, x1, 1
00027a40ldur x29, [sp-8]
00027a44ldr x30, [sp], 32
00027a48ret x30
00027a4c
00027a4cloc_27a4c:
00027a4cmov x0, xzr
00027a50ldur x29, [sp-8]
00027a54ldr x30, [sp], 32
00027a58ret x30
00027a5c
00027a5cloc_27a5c:
00027a5cstr x0, [sp+8]
00027a60mov x3, x30
00027a64bl runtime.morestack_noctxt.abi0
00027a68ldr x0, [sp+8]
00027a6cb 0x279c0
000279c0
000279c0runtime.fastexprand: ; void runtime.fastexprand(int mean)
000279c0ldr x16, [x28+16]
000279c4subs xzr, sp, x16
000279c8b.ls 0x27a5c
000279ccstr x30, [sp-32]!
000279d0stur x29, [sp-8]
000279d4sub x29, sp, 8
000279d8movz x1, 0x7000000
000279dcsubs xzr, x0, x1
000279e0b.le 0x279ec
000279e4movz x0, 0x7000000
000279e8b 0x279f0
000279ec
000279ecloc_279ec:
000279eccbz x0, 0x27a4c
000279f0
000279f0loc_279f0:
000279f0str x0, [sp+16]
000279f4movz x0, 0x4000000
000279f8bl runtime.cheaprandn
000279fcadd x1, x0, 1
00027a00mov w1, w1
00027a04scvtf d0, x1
00027a08bl runtime.fastlog2
00027a0cfmov d1
00027a10fsub d0, d0, d1
00027a14fcmp d0
00027a18b.le 0x27a20
00027a1cfmov d0, xzr
00027a20
00027a20loc_27a20:
00027a20ldr x1, [sp+16]
00027a24scvtf d1, x1
00027a28adrp x27, 0x6e9000
00027a2cldr d2, [x27+3272]
00027a30fmul d1, d2, d1
00027a34fmul d0, d0, d1
00027a38fcvtzs w1, d0
00027a3cadd x0, x1, 1
00027a40ldur x29, [sp-8]
00027a44ldr x30, [sp], 32
00027a48ret x30
00027a4c
00027a4cloc_27a4c:
00027a4cmov x0, xzr
00027a50ldur x29, [sp-8]
00027a54ldr x30, [sp], 32
00027a58ret x30
00027a5c
00027a5cloc_27a5c:
00027a5cstr x0, [sp+8]
00027a60mov x3, x30
00027a64bl runtime.morestack_noctxt.abi0
00027a68ldr x0, [sp+8]
00027a6cb 0x279c0
000279c0
00027a70
00027a70runtime.persistentalloc: ; void runtime.persistentalloc(uintptr size, uintptr align, runtime.sysMemStat * sysStat)
00027a70str x30, [sp-80]!
00027a74stur x29, [sp-8]
00027a78sub x29, sp, 8
00027a7cstr xzr, [sp+24]
00027a80adrp x3, 0
00027a84add x3, x3, 2752
00027a88str x3, [sp+32]
00027a8cadd x3, sp, 24
00027a90str x3, [sp+40]
00027a94str x0, [sp+48]
00027a98str x1, [sp+56]
00027a9cstr x2, [sp+64]
00027aa0add x0, sp, 32
00027aa4str x0, [sp+8]
00027aa8bl runtime.systemstack.abi0
00027aacldr x0, [sp+24]
00027ab0ldur x29, [sp-8]
00027ab4ldr x30, [sp], 80
00027ab8ret x30
00027abcudf 0
00027a70
00027a70runtime.persistentalloc: ; void runtime.persistentalloc(uintptr size, uintptr align, runtime.sysMemStat * sysStat)
00027a70str x30, [sp-80]!
00027a74stur x29, [sp-8]
00027a78sub x29, sp, 8
00027a7cstr xzr, [sp+24]
00027a80adrp x3, 0
00027a84add x3, x3, 2752
00027a88str x3, [sp+32]
00027a8cadd x3, sp, 24
00027a90str x3, [sp+40]
00027a94str x0, [sp+48]
00027a98str x1, [sp+56]
00027a9cstr x2, [sp+64]
00027aa0add x0, sp, 32
00027aa4str x0, [sp+8]
00027aa8bl runtime.systemstack.abi0
00027aacldr x0, [sp+24]
00027ab0ldur x29, [sp-8]
00027ab4ldr x30, [sp], 80
00027ab8ret x30
00027abcudf 0
00027a70
00027ac0
00027ac0runtime.persistentalloc.func1: ; void runtime.persistentalloc.func1(void)
00027ac0ldr x16, [x28+16]
00027ac4subs xzr, sp, x16
00027ac8b.ls 0x27b04
00027accstr x30, [sp-48]!
00027ad0stur x29, [sp-8]
00027ad4sub x29, sp, 8
00027ad8ldr x0, [x26+16]
00027adcldr x1, [x26+24]
00027ae0ldr x2, [x26+32]
00027ae4ldr x3, [x26+8]
00027ae8str x3, [sp+32]
00027aecbl runtime.persistentalloc1
00027af0ldr x3, [sp+32]
00027af4str x0, [x3]
00027af8ldur x29, [sp-8]
00027afcldr x30, [sp], 48
00027b00ret x30
00027b04
00027b04loc_27b04:
00027b04mov x3, x30
00027b08bl runtime.morestack.abi0
00027b0cb 0x27ac0
00027ac0
00027ac0runtime.persistentalloc.func1: ; void runtime.persistentalloc.func1(void)
00027ac0ldr x16, [x28+16]
00027ac4subs xzr, sp, x16
00027ac8b.ls 0x27b04
00027accstr x30, [sp-48]!
00027ad0stur x29, [sp-8]
00027ad4sub x29, sp, 8
00027ad8ldr x0, [x26+16]
00027adcldr x1, [x26+24]
00027ae0ldr x2, [x26+32]
00027ae4ldr x3, [x26+8]
00027ae8str x3, [sp+32]
00027aecbl runtime.persistentalloc1
00027af0ldr x3, [sp+32]
00027af4str x0, [x3]
00027af8ldur x29, [sp-8]
00027afcldr x30, [sp], 48
00027b00ret x30
00027b04
00027b04loc_27b04:
00027b04mov x3, x30
00027b08bl runtime.morestack.abi0
00027b0cb 0x27ac0
00027ac0
00027b10
00027b10runtime.persistentalloc1: ; void runtime.persistentalloc1(uintptr size, uintptr align, runtime.sysMemStat * sysStat)
00027b10ldr x16, [x28+24]
00027b14subs xzr, sp, x16
00027b18b.ls 0x27d78
00027b1cstr x30, [sp-80]!
00027b20stur x29, [sp-8]
00027b24sub x29, sp, 8
00027b28cbz x0, 0x27d64
00027b2ccbz x1, 0x27b48
00027b30sub x3, x1, 1
00027b34ands xzr, x1, x3
00027b38b.ne 0x27d54
00027b3csubs xzr, x1, 8192
00027b40b.ls 0x27b4c
00027b44b 0x27d44
00027b48
00027b48loc_27b48:
00027b48orr x1, xzr, 8
00027b4c
00027b4cloc_27b4c:
00027b4csubs xzr, x0, 0x10000
00027b50b.hs 0x27bf4
00027b54str x0, [sp+88]
00027b58str x2, [sp+104]
00027b5cstr x1, [sp+40]
00027b60bl runtime.acquirem
00027b64str x0, [sp+56]
00027b68cbz x0, 0x27b8c
00027b6cldr x1, [x0+208]
00027b70cbz x1, 0x27b8c
00027b74mov x0, x1
00027b78bl runtime.puintptr.ptr
00027b7cldrsb x27, [x0]
00027b80movz x1, 4624
00027b84add x1, x0, x1
00027b88b 0x27ba0
00027b8c
00027b8cloc_27b8c:
00027b8cadrp x0, 0xa24000
00027b90add x0, x0, 3136
00027b94bl runtime.lock
00027b98adrp x1, 0xa24000
00027b9cadd x1, x1, 3144
00027ba0
00027ba0loc_27ba0:
00027ba0str x1, [sp+48]
00027ba4ldr x0, [x1+8]
00027ba8ldr x1, [sp+40]
00027bacbl runtime.alignUp
00027bb0ldr x2, [sp+48]
00027bb4str x0, [x2+8]
00027bb8ldr x3, [sp+88]
00027bbcadd x4, x3, x0
00027bc0subs xzr, x4, 0x40000
00027bc4b.hi 0x27bd0
00027bc8ldr x4, [x2]
00027bcccbnz x4, 0x27c08
00027bd0
00027bd0loc_27bd0:
00027bd0orr x0, xzr, 0x40000
00027bd4adrp x1, 0xa2a000
00027bd8add x1, x1, 544
00027bdcbl runtime.sysAlloc
00027be0ldr x2, [sp+48]
00027be4str x0, [x2]
00027be8ldr x3, [x2]
00027beccbz x3, 0x27d14
00027bf0b 0x27c94
00027bf4
00027bf4loc_27bf4:
00027bf4mov x1, x2
00027bf8bl runtime.sysAlloc
00027bfcldur x29, [sp-8]
00027c00ldr x30, [sp], 80
00027c04ret x30
00027c08
00027c08loc_27c08:
00027c08ldr x0, [x2]
00027c0cldr x1, [x2+8]
00027c10bl runtime.(*notInHeap).add
00027c14str x0, [sp+32]
00027c18ldr x2, [sp+48]
00027c1cldr x3, [x2+8]
00027c20ldr x4, [sp+88]
00027c24add x3, x4, x3
00027c28str x3, [x2+8]
00027c2cldr x0, [sp+56]
00027c30bl runtime.releasem
00027c34ldr x2, [sp+48]
00027c38adrp x3, 0xa24000
00027c3cadd x3, x3, 3144
00027c40subs xzr, x2, x3
00027c44b.ne 0x27c54
00027c48adrp x0, 0xa24000
00027c4cadd x0, x0, 3136
00027c50bl runtime.unlock
00027c54
00027c54loc_27c54:
00027c54ldr x0, [sp+104]
00027c58adrp x2, 0xa2a000
00027c5cadd x2, x2, 544
00027c60subs xzr, x0, x2
00027c64b.eq 0x27c84
00027c68ldr x1, [sp+88]
00027c6cbl runtime.(*sysMemStat).add
00027c70ldr x2, [sp+88]
00027c74sub x1, xzr, x2
00027c78adrp x0, 0xa2a000
00027c7cadd x0, x0, 544
00027c80bl runtime.(*sysMemStat).add
00027c84
00027c84loc_27c84:
00027c84ldr x0, [sp+32]
00027c88ldur x29, [sp-8]
00027c8cldr x30, [sp], 80
00027c90ret x30
00027c94
00027c94loc_27c94:
00027c94adrp x27, 0xa24000
00027c98ldr x3, [x27+1784]
00027c9cldr x4, [x2]
00027ca0str x3, [x4]
00027ca4ldr x4, [x2]
00027ca8str x4, [sp+64]
00027cacldr x4, [sp+64]
00027cb0adrp x27, 0xa24000
00027cb4ldrb w5, [x27+1516]
00027cb8tbz w5, 0, 0x27cd8
00027cbcadrp x5, 0xa24000
00027cc0add x5, x5, 1784
00027cc4mov x27, x3
00027cc8casal x27, x4, [x5]
00027cccsubs xzr, x27, x3
00027cd0cset x6, eq
00027cd4b 0x27cf8
00027cd8
00027cd8loc_27cd8:
00027cd8adrp x5, 0xa24000
00027cdcadd x5, x5, 1784
00027ce0
00027ce0loc_27ce0:
00027ce0ldaxr x27, [x5]
00027ce4subs xzr, x27, x3
00027ce8b.ne 0x27cf4
00027cecstlxr w27, x4, [x5]
00027cf0cbnz x27, 0x27ce0
00027cf4
00027cf4loc_27cf4:
00027cf4cset x6, eq
00027cf8
00027cf8loc_27cf8:
00027cf8tbz w6, 0, 0x27c94
00027cfcorr x0, xzr, 8
00027d00ldr x1, [sp+40]
00027d04bl runtime.alignUp
00027d08ldr x2, [sp+48]
00027d0cstr x0, [x2+8]
00027d10b 0x27c08
00027d14
00027d14loc_27d14:
00027d14adrp x3, 0xa24000
00027d18add x3, x3, 3144
00027d1csubs xzr, x2, x3
00027d20b.eq 0x27d34
00027d24
00027d24loc_27d24:
00027d24adrp x0, 0x696000
00027d28add x0, x0, 2401
00027d2corr x1, xzr, 31
00027d30bl runtime.throw
00027d34
00027d34loc_27d34:
00027d34adrp x0, 0xa24000
00027d38add x0, x0, 3136
00027d3cbl runtime.unlock
00027d40b 0x27d24
00027d44
00027d44loc_27d44:
00027d44adrp x0, 0x699000
00027d48add x0, x0, 2071
00027d4cmovz x1, 35
00027d50bl runtime.throw
00027d54
00027d54loc_27d54:
00027d54adrp x0, 0x69e000
00027d58add x0, x0, 697
00027d5cmovz x1, 42
00027d60bl runtime.throw
00027d64
00027d64loc_27d64:
00027d64adrp x0, 0x693000
00027d68add x0, x0, 565
00027d6cmovz x1, 26
00027d70bl runtime.throw
00027d74hint
00027d78
00027d78loc_27d78:
00027d78stp x0, x1, [sp+8]
00027d7cstr x2, [sp+24]
00027d80mov x3, x30
00027d84bl runtime.morestackc.abi0
00027d88ldp x0, x1, [sp+8]
00027d8cldr x2, [sp+24]
00027d90b 0x27b10
00027d94udf 0
00027d98udf 0
00027d9cudf 0
00027b10
00027b10runtime.persistentalloc1: ; void runtime.persistentalloc1(uintptr size, uintptr align, runtime.sysMemStat * sysStat)
00027b10ldr x16, [x28+24]
00027b14subs xzr, sp, x16
00027b18b.ls 0x27d78
00027b1cstr x30, [sp-80]!
00027b20stur x29, [sp-8]
00027b24sub x29, sp, 8
00027b28cbz x0, 0x27d64
00027b2ccbz x1, 0x27b48
00027b30sub x3, x1, 1
00027b34ands xzr, x1, x3
00027b38b.ne 0x27d54
00027b3csubs xzr, x1, 8192
00027b40b.ls 0x27b4c
00027b44b 0x27d44
00027b48
00027b48loc_27b48:
00027b48orr x1, xzr, 8
00027b4c
00027b4cloc_27b4c:
00027b4csubs xzr, x0, 0x10000
00027b50b.hs 0x27bf4
00027b54str x0, [sp+88]
00027b58str x2, [sp+104]
00027b5cstr x1, [sp+40]
00027b60bl runtime.acquirem
00027b64str x0, [sp+56]
00027b68cbz x0, 0x27b8c
00027b6cldr x1, [x0+208]
00027b70cbz x1, 0x27b8c
00027b74mov x0, x1
00027b78bl runtime.puintptr.ptr
00027b7cldrsb x27, [x0]
00027b80movz x1, 4624
00027b84add x1, x0, x1
00027b88b 0x27ba0
00027b8c
00027b8cloc_27b8c:
00027b8cadrp x0, 0xa24000
00027b90add x0, x0, 3136
00027b94bl runtime.lock
00027b98adrp x1, 0xa24000
00027b9cadd x1, x1, 3144
00027ba0
00027ba0loc_27ba0:
00027ba0str x1, [sp+48]
00027ba4ldr x0, [x1+8]
00027ba8ldr x1, [sp+40]
00027bacbl runtime.alignUp
00027bb0ldr x2, [sp+48]
00027bb4str x0, [x2+8]
00027bb8ldr x3, [sp+88]
00027bbcadd x4, x3, x0
00027bc0subs xzr, x4, 0x40000
00027bc4b.hi 0x27bd0
00027bc8ldr x4, [x2]
00027bcccbnz x4, 0x27c08
00027bd0
00027bd0loc_27bd0:
00027bd0orr x0, xzr, 0x40000
00027bd4adrp x1, 0xa2a000
00027bd8add x1, x1, 544
00027bdcbl runtime.sysAlloc
00027be0ldr x2, [sp+48]
00027be4str x0, [x2]
00027be8ldr x3, [x2]
00027beccbz x3, 0x27d14
00027bf0b 0x27c94
00027bf4
00027bf4loc_27bf4:
00027bf4mov x1, x2
00027bf8bl runtime.sysAlloc
00027bfcldur x29, [sp-8]
00027c00ldr x30, [sp], 80
00027c04ret x30
00027c08
00027c08loc_27c08:
00027c08ldr x0, [x2]
00027c0cldr x1, [x2+8]
00027c10bl runtime.(*notInHeap).add
00027c14str x0, [sp+32]
00027c18ldr x2, [sp+48]
00027c1cldr x3, [x2+8]
00027c20ldr x4, [sp+88]
00027c24add x3, x4, x3
00027c28str x3, [x2+8]
00027c2cldr x0, [sp+56]
00027c30bl runtime.releasem
00027c34ldr x2, [sp+48]
00027c38adrp x3, 0xa24000
00027c3cadd x3, x3, 3144
00027c40subs xzr, x2, x3
00027c44b.ne 0x27c54
00027c48adrp x0, 0xa24000
00027c4cadd x0, x0, 3136
00027c50bl runtime.unlock
00027c54
00027c54loc_27c54:
00027c54ldr x0, [sp+104]
00027c58adrp x2, 0xa2a000
00027c5cadd x2, x2, 544
00027c60subs xzr, x0, x2
00027c64b.eq 0x27c84
00027c68ldr x1, [sp+88]
00027c6cbl runtime.(*sysMemStat).add
00027c70ldr x2, [sp+88]
00027c74sub x1, xzr, x2
00027c78adrp x0, 0xa2a000
00027c7cadd x0, x0, 544
00027c80bl runtime.(*sysMemStat).add
00027c84
00027c84loc_27c84:
00027c84ldr x0, [sp+32]
00027c88ldur x29, [sp-8]
00027c8cldr x30, [sp], 80
00027c90ret x30
00027c94
00027c94loc_27c94:
00027c94adrp x27, 0xa24000
00027c98ldr x3, [x27+1784]
00027c9cldr x4, [x2]
00027ca0str x3, [x4]
00027ca4ldr x4, [x2]
00027ca8str x4, [sp+64]
00027cacldr x4, [sp+64]
00027cb0adrp x27, 0xa24000
00027cb4ldrb w5, [x27+1516]
00027cb8tbz w5, 0, 0x27cd8
00027cbcadrp x5, 0xa24000
00027cc0add x5, x5, 1784
00027cc4mov x27, x3
00027cc8casal x27, x4, [x5]
00027cccsubs xzr, x27, x3
00027cd0cset x6, eq
00027cd4b 0x27cf8
00027cd8
00027cd8loc_27cd8:
00027cd8adrp x5, 0xa24000
00027cdcadd x5, x5, 1784
00027ce0
00027ce0loc_27ce0:
00027ce0ldaxr x27, [x5]
00027ce4subs xzr, x27, x3
00027ce8b.ne 0x27cf4
00027cecstlxr w27, x4, [x5]
00027cf0cbnz x27, 0x27ce0
00027cf4
00027cf4loc_27cf4:
00027cf4cset x6, eq
00027cf8
00027cf8loc_27cf8:
00027cf8tbz w6, 0, 0x27c94
00027cfcorr x0, xzr, 8
00027d00ldr x1, [sp+40]
00027d04bl runtime.alignUp
00027d08ldr x2, [sp+48]
00027d0cstr x0, [x2+8]
00027d10b 0x27c08
00027d14
00027d14loc_27d14:
00027d14adrp x3, 0xa24000
00027d18add x3, x3, 3144
00027d1csubs xzr, x2, x3
00027d20b.eq 0x27d34
00027d24
00027d24loc_27d24:
00027d24adrp x0, 0x696000
00027d28add x0, x0, 2401
00027d2corr x1, xzr, 31
00027d30bl runtime.throw
00027d34
00027d34loc_27d34:
00027d34adrp x0, 0xa24000
00027d38add x0, x0, 3136
00027d3cbl runtime.unlock
00027d40b 0x27d24
00027d44
00027d44loc_27d44:
00027d44adrp x0, 0x699000
00027d48add x0, x0, 2071
00027d4cmovz x1, 35
00027d50bl runtime.throw
00027d54
00027d54loc_27d54:
00027d54adrp x0, 0x69e000
00027d58add x0, x0, 697
00027d5cmovz x1, 42
00027d60bl runtime.throw
00027d64
00027d64loc_27d64:
00027d64adrp x0, 0x693000
00027d68add x0, x0, 565
00027d6cmovz x1, 26
00027d70bl runtime.throw
00027d74hint
00027d78
00027d78loc_27d78:
00027d78stp x0, x1, [sp+8]
00027d7cstr x2, [sp+24]
00027d80mov x3, x30
00027d84bl runtime.morestackc.abi0
00027d88ldp x0, x1, [sp+8]
00027d8cldr x2, [sp+24]
00027d90b 0x27b10
00027d94udf 0
00027d98udf 0
00027d9cudf 0
00027b10
00027da0
00027da0runtime.(*linearAlloc).alloc: ; void runtime.(*linearAlloc).alloc(runtime.linearAlloc * l, uintptr size, uintptr align, runtime.sysMemStat * sysStat)
00027da0ldr x16, [x28+16]
00027da4subs xzr, sp, x16
00027da8b.ls 0x27e70
00027dacstr x30, [sp-64]!
00027db0stur x29, [sp-8]
00027db4sub x29, sp, 8
00027db8str x0, [sp+72]
00027dbcstr x1, [sp+80]
00027dc0str x3, [sp+96]
00027dc4ldr x0, [x0]
00027dc8mov x1, x2
00027dccbl runtime.alignUp
00027dd0ldr x2, [sp+80]
00027dd4add x2, x0, x2
00027dd8ldr x3, [sp+72]
00027ddcldr x4, [x3+16]
00027de0subs xzr, x4, x2
00027de4b.lo 0x27e60
00027de8str x0, [sp+40]
00027decstr x2, [x3]
00027df0adrp x27, 0xa24000
00027df4ldr x1, [x27+1760]
00027df8sub x0, x2, 1
00027dfcbl runtime.alignUp
00027e00ldr x2, [sp+72]
00027e04ldr x3, [x2+8]
00027e08subs xzr, x0, x3
00027e0cb.ls 0x27e50
00027e10ldrb w4, [x2+24]
00027e14tbz w4, 0, 0x27e4c
00027e18str x0, [sp+32]
00027e1csub x1, x0, x3
00027e20str x1, [sp+48]
00027e24mov x0, x3
00027e28ldr x2, [sp+96]
00027e2cbl runtime.sysMap
00027e30ldr x3, [sp+72]
00027e34ldr x0, [x3+8]
00027e38ldr x1, [sp+48]
00027e3cmov x2, x1
00027e40bl runtime.sysUsed
00027e44ldr x0, [sp+32]
00027e48ldr x2, [sp+72]
00027e4c
00027e4cloc_27e4c:
00027e4cstr x0, [x2+8]
00027e50
00027e50loc_27e50:
00027e50ldr x0, [sp+40]
00027e54ldur x29, [sp-8]
00027e58ldr x30, [sp], 64
00027e5cret x30
00027e60
00027e60loc_27e60:
00027e60mov x0, xzr
00027e64ldur x29, [sp-8]
00027e68ldr x30, [sp], 64
00027e6cret x30
00027e70
00027e70loc_27e70:
00027e70stp x0, x1, [sp+8]
00027e74stp x2, x3, [sp+24]
00027e78mov x3, x30
00027e7cbl runtime.morestack_noctxt.abi0
00027e80ldp x0, x1, [sp+8]
00027e84ldp x2, x3, [sp+24]
00027e88b 0x27da0
00027e8cudf 0
00027da0
00027da0runtime.(*linearAlloc).alloc: ; void runtime.(*linearAlloc).alloc(runtime.linearAlloc * l, uintptr size, uintptr align, runtime.sysMemStat * sysStat)
00027da0ldr x16, [x28+16]
00027da4subs xzr, sp, x16
00027da8b.ls 0x27e70
00027dacstr x30, [sp-64]!
00027db0stur x29, [sp-8]
00027db4sub x29, sp, 8
00027db8str x0, [sp+72]
00027dbcstr x1, [sp+80]
00027dc0str x3, [sp+96]
00027dc4ldr x0, [x0]
00027dc8mov x1, x2
00027dccbl runtime.alignUp
00027dd0ldr x2, [sp+80]
00027dd4add x2, x0, x2
00027dd8ldr x3, [sp+72]
00027ddcldr x4, [x3+16]
00027de0subs xzr, x4, x2
00027de4b.lo 0x27e60
00027de8str x0, [sp+40]
00027decstr x2, [x3]
00027df0adrp x27, 0xa24000
00027df4ldr x1, [x27+1760]
00027df8sub x0, x2, 1
00027dfcbl runtime.alignUp
00027e00ldr x2, [sp+72]
00027e04ldr x3, [x2+8]
00027e08subs xzr, x0, x3
00027e0cb.ls 0x27e50
00027e10ldrb w4, [x2+24]
00027e14tbz w4, 0, 0x27e4c
00027e18str x0, [sp+32]
00027e1csub x1, x0, x3
00027e20str x1, [sp+48]
00027e24mov x0, x3
00027e28ldr x2, [sp+96]
00027e2cbl runtime.sysMap
00027e30ldr x3, [sp+72]
00027e34ldr x0, [x3+8]
00027e38ldr x1, [sp+48]
00027e3cmov x2, x1
00027e40bl runtime.sysUsed
00027e44ldr x0, [sp+32]
00027e48ldr x2, [sp+72]
00027e4c
00027e4cloc_27e4c:
00027e4cstr x0, [x2+8]
00027e50
00027e50loc_27e50:
00027e50ldr x0, [sp+40]
00027e54ldur x29, [sp-8]
00027e58ldr x30, [sp], 64
00027e5cret x30
00027e60
00027e60loc_27e60:
00027e60mov x0, xzr
00027e64ldur x29, [sp-8]
00027e68ldr x30, [sp], 64
00027e6cret x30
00027e70
00027e70loc_27e70:
00027e70stp x0, x1, [sp+8]
00027e74stp x2, x3, [sp+24]
00027e78mov x3, x30
00027e7cbl runtime.morestack_noctxt.abi0
00027e80ldp x0, x1, [sp+8]
00027e84ldp x2, x3, [sp+24]
00027e88b 0x27da0
00027e8cudf 0
00027da0
00027e90
00027e90runtime.(*notInHeap).add: ; void runtime.(*notInHeap).add(runtime.notInHeap * p, uintptr bytes)
00027e90add x0, x0, x1
00027e94ret x30
00027e98udf 0
00027e9cudf 0
00027e90
00027e90runtime.(*notInHeap).add: ; void runtime.(*notInHeap).add(runtime.notInHeap * p, uintptr bytes)
00027e90add x0, x0, x1
00027e94ret x30
00027e98udf 0
00027e9cudf 0
00027e90
00027ea0
00027ea0runtime.mapIterStart: ; void runtime.mapIterStart(internal/abi.SwissMapType * t, internal/runtime/maps.Map * m, internal/runtime/maps.Iter * it)
00027ea0ldr x16, [x28+16]
00027ea4subs xzr, sp, x16
00027ea8b.ls 0x27ee8
00027eacstr x30, [sp-48]!
00027eb0stur x29, [sp-8]
00027eb4sub x29, sp, 8
00027eb8str x2, [sp+72]
00027ebcmov x3, x0
00027ec0mov x0, x2
00027ec4mov x4, x1
00027ec8mov x1, x3
00027eccmov x2, x4
00027ed0bl internal/runtime/maps.(*Iter).Init
00027ed4ldr x0, [sp+72]
00027ed8bl internal/runtime/maps.(*Iter).Next
00027edcldur x29, [sp-8]
00027ee0ldr x30, [sp], 48
00027ee4ret x30
00027ee8
00027ee8loc_27ee8:
00027ee8stp x0, x1, [sp+8]
00027eecstr x2, [sp+24]
00027ef0mov x3, x30
00027ef4bl runtime.morestack_noctxt.abi0
00027ef8ldp x0, x1, [sp+8]
00027efcldr x2, [sp+24]
00027f00b 0x27ea0
00027f04udf 0
00027f08udf 0
00027f0cudf 0
00027ea0
00027ea0runtime.mapIterStart: ; void runtime.mapIterStart(internal/abi.SwissMapType * t, internal/runtime/maps.Map * m, internal/runtime/maps.Iter * it)
00027ea0ldr x16, [x28+16]
00027ea4subs xzr, sp, x16
00027ea8b.ls 0x27ee8
00027eacstr x30, [sp-48]!
00027eb0stur x29, [sp-8]
00027eb4sub x29, sp, 8
00027eb8str x2, [sp+72]
00027ebcmov x3, x0
00027ec0mov x0, x2
00027ec4mov x4, x1
00027ec8mov x1, x3
00027eccmov x2, x4
00027ed0bl internal/runtime/maps.(*Iter).Init
00027ed4ldr x0, [sp+72]
00027ed8bl internal/runtime/maps.(*Iter).Next
00027edcldur x29, [sp-8]
00027ee0ldr x30, [sp], 48
00027ee4ret x30
00027ee8
00027ee8loc_27ee8:
00027ee8stp x0, x1, [sp+8]
00027eecstr x2, [sp+24]
00027ef0mov x3, x30
00027ef4bl runtime.morestack_noctxt.abi0
00027ef8ldp x0, x1, [sp+8]
00027efcldr x2, [sp+24]
00027f00b 0x27ea0
00027f04udf 0
00027f08udf 0
00027f0cudf 0
00027ea0
00027f10
00027f10runtime.mapIterNext: ; void runtime.mapIterNext(internal/runtime/maps.Iter * it)
00027f10ldr x16, [x28+16]
00027f14subs xzr, sp, x16
00027f18b.ls 0x27f38
00027f1cstr x30, [sp-32]!
00027f20stur x29, [sp-8]
00027f24sub x29, sp, 8
00027f28bl internal/runtime/maps.(*Iter).Next
00027f2cldur x29, [sp-8]
00027f30ldr x30, [sp], 32
00027f34ret x30
00027f38
00027f38loc_27f38:
00027f38str x0, [sp+8]
00027f3cmov x3, x30
00027f40bl runtime.morestack_noctxt.abi0
00027f44ldr x0, [sp+8]
00027f48b 0x27f10
00027f4cudf 0
00027f10
00027f10runtime.mapIterNext: ; void runtime.mapIterNext(internal/runtime/maps.Iter * it)
00027f10ldr x16, [x28+16]
00027f14subs xzr, sp, x16
00027f18b.ls 0x27f38
00027f1cstr x30, [sp-32]!
00027f20stur x29, [sp-8]
00027f24sub x29, sp, 8
00027f28bl internal/runtime/maps.(*Iter).Next
00027f2cldur x29, [sp-8]
00027f30ldr x30, [sp], 32
00027f34ret x30
00027f38
00027f38loc_27f38:
00027f38str x0, [sp+8]
00027f3cmov x3, x30
00027f40bl runtime.morestack_noctxt.abi0
00027f44ldr x0, [sp+8]
00027f48b 0x27f10
00027f4cudf 0
00027f10
00027f50
00027f50runtime.mapclone2: ; void runtime.mapclone2(internal/abi.SwissMapType * t, internal/runtime/maps.Map * src)
00027f50ldr x16, [x28+16]
00027f54sub x17, sp, 32
00027f58subs xzr, x17, x16
00027f5cb.ls 0x28010
00027f60str x30, [sp-160]!
00027f64stur x29, [sp-8]
00027f68sub x29, sp, 8
00027f6cstr x0, [sp+168]
00027f70str x1, [sp+176]
00027f74mov x0, x1
00027f78bl internal/runtime/maps.(*Map).Used
00027f7cmov x1, x0
00027f80mov x2, xzr
00027f84ldr x0, [sp+168]
00027f88bl runtime.makemap
00027f8cstr x0, [sp+136]
00027f90add x20, sp, 40
00027f94adr x27, 16
00027f98stp x29, x27, [sp-24]
00027f9csub x29, sp, 24
00027fa0bl fn_87cf8
00027fa4sub x29, sp, 8
00027fa8add x0, sp, 40
00027facldr x1, [sp+168]
00027fb0ldr x2, [sp+176]
00027fb4bl internal/runtime/maps.(*Iter).Init
00027fb8add x0, sp, 40
00027fbcbl internal/runtime/maps.(*Iter).Next
00027fc0b 0x27ff4
00027fc4
00027fc4loc_27fc4:
00027fc4add x0, sp, 40
00027fc8bl internal/runtime/maps.(*Iter).Key
00027fccstr x0, [sp+144]
00027fd0add x0, sp, 40
00027fd4bl internal/runtime/maps.(*Iter).Elem
00027fd8ldr x1, [sp+168]
00027fdcldr x2, [sp+144]
00027fe0mov x3, x0
00027fe4ldr x0, [sp+136]
00027fe8bl internal/runtime/maps.(*Map).Put
00027fecadd x0, sp, 40
00027ff0bl internal/runtime/maps.(*Iter).Next
00027ff4
00027ff4loc_27ff4:
00027ff4add x0, sp, 40
00027ff8bl internal/runtime/maps.(*Iter).Key
00027ffccbnz x0, 0x27fc4
00028000ldr x0, [sp+136]
00028004ldur x29, [sp-8]
00028008ldr x30, [sp], 160
0002800cret x30
00028010
00028010loc_28010:
00028010stp x0, x1, [sp+8]
00028014mov x3, x30
00028018bl runtime.morestack_noctxt.abi0
0002801cldp x0, x1, [sp+8]
00028020b 0x27f50
00028024udf 0
00028028udf 0
0002802cudf 0
00027f50
00027f50runtime.mapclone2: ; void runtime.mapclone2(internal/abi.SwissMapType * t, internal/runtime/maps.Map * src)
00027f50ldr x16, [x28+16]
00027f54sub x17, sp, 32
00027f58subs xzr, x17, x16
00027f5cb.ls 0x28010
00027f60str x30, [sp-160]!
00027f64stur x29, [sp-8]
00027f68sub x29, sp, 8
00027f6cstr x0, [sp+168]
00027f70str x1, [sp+176]
00027f74mov x0, x1
00027f78bl internal/runtime/maps.(*Map).Used
00027f7cmov x1, x0
00027f80mov x2, xzr
00027f84ldr x0, [sp+168]
00027f88bl runtime.makemap
00027f8cstr x0, [sp+136]
00027f90add x20, sp, 40
00027f94adr x27, 16
00027f98stp x29, x27, [sp-24]
00027f9csub x29, sp, 24
00027fa0bl fn_87cf8
00027fa4sub x29, sp, 8
00027fa8add x0, sp, 40
00027facldr x1, [sp+168]
00027fb0ldr x2, [sp+176]
00027fb4bl internal/runtime/maps.(*Iter).Init
00027fb8add x0, sp, 40
00027fbcbl internal/runtime/maps.(*Iter).Next
00027fc0b 0x27ff4
00027fc4
00027fc4loc_27fc4:
00027fc4add x0, sp, 40
00027fc8bl internal/runtime/maps.(*Iter).Key
00027fccstr x0, [sp+144]
00027fd0add x0, sp, 40
00027fd4bl internal/runtime/maps.(*Iter).Elem
00027fd8ldr x1, [sp+168]
00027fdcldr x2, [sp+144]
00027fe0mov x3, x0
00027fe4ldr x0, [sp+136]
00027fe8bl internal/runtime/maps.(*Map).Put
00027fecadd x0, sp, 40
00027ff0bl internal/runtime/maps.(*Iter).Next
00027ff4
00027ff4loc_27ff4:
00027ff4add x0, sp, 40
00027ff8bl internal/runtime/maps.(*Iter).Key
00027ffccbnz x0, 0x27fc4
00028000ldr x0, [sp+136]
00028004ldur x29, [sp-8]
00028008ldr x30, [sp], 160
0002800cret x30
00028010
00028010loc_28010:
00028010stp x0, x1, [sp+8]
00028014mov x3, x30
00028018bl runtime.morestack_noctxt.abi0
0002801cldp x0, x1, [sp+8]
00028020b 0x27f50
00028024udf 0
00028028udf 0
0002802cudf 0
00027f50
00028030
00028030runtime.wbZero: ; void runtime.wbZero(internal/abi.Type * typ, void * dst)
00028030str x30, [sp-48]!
00028034stur x29, [sp-8]
00028038sub x29, sp, 8
0002803cldr x2, [x0+8]
00028040mov x3, x0
00028044mov x0, x1
00028048mov x1, xzr
0002804cbl runtime.bulkBarrierPreWrite
00028050ldur x29, [sp-8]
00028054ldr x30, [sp], 48
00028058ret x30
0002805cudf 0
00028030
00028030runtime.wbZero: ; void runtime.wbZero(internal/abi.Type * typ, void * dst)
00028030str x30, [sp-48]!
00028034stur x29, [sp-8]
00028038sub x29, sp, 8
0002803cldr x2, [x0+8]
00028040mov x3, x0
00028044mov x0, x1
00028048mov x1, xzr
0002804cbl runtime.bulkBarrierPreWrite
00028050ldur x29, [sp-8]
00028054ldr x30, [sp], 48
00028058ret x30
0002805cudf 0
00028030
00028060
00028060runtime.wbMove: ; void runtime.wbMove(internal/abi.Type * typ, void * dst, void * src)
00028060str x30, [sp-48]!
00028064stur x29, [sp-8]
00028068sub x29, sp, 8
0002806cldr x4, [x0+8]
00028070mov x3, x0
00028074mov x0, x1
00028078mov x1, x2
0002807cmov x2, x4
00028080bl runtime.bulkBarrierPreWrite
00028084ldur x29, [sp-8]
00028088ldr x30, [sp], 48
0002808cret x30
00028060
00028060runtime.wbMove: ; void runtime.wbMove(internal/abi.Type * typ, void * dst, void * src)
00028060str x30, [sp-48]!
00028064stur x29, [sp-8]
00028068sub x29, sp, 8
0002806cldr x4, [x0+8]
00028070mov x3, x0
00028074mov x0, x1
00028078mov x1, x2
0002807cmov x2, x4
00028080bl runtime.bulkBarrierPreWrite
00028084ldur x29, [sp-8]
00028088ldr x30, [sp], 48
0002808cret x30
00028060
00028090
00028090runtime.reflectcallmove: ; void runtime.reflectcallmove(internal/abi.Type * typ, void * dst, void * src, uintptr size, internal/abi.RegArgs * regs)
00028090str x30, [sp-64]!
00028094stur x29, [sp-8]
00028098sub x29, sp, 8
0002809cstr x1, [sp+80]
000280a0str x2, [sp+88]
000280a4str x3, [sp+96]
000280a8str x4, [sp+104]
000280acadrp x27, 0xa23000
000280b0ldrb w5, [x27+3056]
000280b4tbz w5, 0, 0x280dc
000280b8cbnz x0, 0x280c4
000280bcmov x0, xzr
000280c0b 0x280e0
000280c4
000280c4loc_280c4:
000280c4bl internal/abi.(*Type).Pointers
000280c8ldr x1, [sp+80]
000280ccldr x2, [sp+88]
000280d0ldr x3, [sp+96]
000280d4ldr x4, [sp+104]
000280d8b 0x280e0
000280dc
000280dcloc_280dc:
000280dcmov x0, xzr
000280e0
000280e0loc_280e0:
000280e0tbz w0, 0, 0x2810c
000280e4subs xzr, x3, 8
000280e8b.lo 0x2810c
000280ecmov x0, x1
000280f0mov x1, x2
000280f4mov x2, x3
000280f8mov x3, xzr
000280fcbl runtime.bulkBarrierPreWrite
00028100ldr x1, [sp+80]
00028104ldr x2, [sp+88]
00028108ldr x3, [sp+96]
0002810c
0002810cloc_2810c:
0002810cmov x0, x1
00028110mov x1, x2
00028114mov x2, x3
00028118bl runtime.memmove
0002811cmov x0, xzr
00028120b 0x28128
00028124
00028124loc_28124:
00028124add x0, x2, 1
00028128
00028128loc_28128:
00028128subs xzr, x0, 16
0002812cb.ge 0x28190
00028130str x0, [sp+48]
00028134ldr x2, [sp+104]
00028138ldrsb x27, [x2]
0002813cadd x2, x2, 384
00028140mov x1, x0
00028144mov x0, x2
00028148bl internal/abi.(*IntArgRegBitmap).Get
0002814ctbz w0, 0, 0x28184
00028150ldr x2, [sp+48]
00028154ldr x3, [sp+104]
00028158ldr x4, [x3+3*x2]
0002815cadd x5, x3, 256
00028160adrp x27, 0xa23000
00028164ldr w6, [x27+3056]
00028168cbz w6, 0x2817c
0002816cbl runtime.gcWriteBarrier2
00028170str x4, [x25]
00028174ldr x6, [x5+3*x2]
00028178str x6, [x25+8]
0002817c
0002817cloc_2817c:
0002817cstr x4, [x5+3*x2]
00028180b 0x28124
00028184
00028184loc_28184:
00028184ldr x2, [sp+48]
00028188ldr x3, [sp+104]
0002818cb 0x28124
00028190
00028190loc_28190:
00028190ldur x29, [sp-8]
00028194ldr x30, [sp], 64
00028198ret x30
0002819cudf 0
00028090
00028090runtime.reflectcallmove: ; void runtime.reflectcallmove(internal/abi.Type * typ, void * dst, void * src, uintptr size, internal/abi.RegArgs * regs)
00028090str x30, [sp-64]!
00028094stur x29, [sp-8]
00028098sub x29, sp, 8
0002809cstr x1, [sp+80]
000280a0str x2, [sp+88]
000280a4str x3, [sp+96]
000280a8str x4, [sp+104]
000280acadrp x27, 0xa23000
000280b0ldrb w5, [x27+3056]
000280b4tbz w5, 0, 0x280dc
000280b8cbnz x0, 0x280c4
000280bcmov x0, xzr
000280c0b 0x280e0
000280c4
000280c4loc_280c4:
000280c4bl internal/abi.(*Type).Pointers
000280c8ldr x1, [sp+80]
000280ccldr x2, [sp+88]
000280d0ldr x3, [sp+96]
000280d4ldr x4, [sp+104]
000280d8b 0x280e0
000280dc
000280dcloc_280dc:
000280dcmov x0, xzr
000280e0
000280e0loc_280e0:
000280e0tbz w0, 0, 0x2810c
000280e4subs xzr, x3, 8
000280e8b.lo 0x2810c
000280ecmov x0, x1
000280f0mov x1, x2
000280f4mov x2, x3
000280f8mov x3, xzr
000280fcbl runtime.bulkBarrierPreWrite
00028100ldr x1, [sp+80]
00028104ldr x2, [sp+88]
00028108ldr x3, [sp+96]
0002810c
0002810cloc_2810c:
0002810cmov x0, x1
00028110mov x1, x2
00028114mov x2, x3
00028118bl runtime.memmove
0002811cmov x0, xzr
00028120b 0x28128
00028124
00028124loc_28124:
00028124add x0, x2, 1
00028128
00028128loc_28128:
00028128subs xzr, x0, 16
0002812cb.ge 0x28190
00028130str x0, [sp+48]
00028134ldr x2, [sp+104]
00028138ldrsb x27, [x2]
0002813cadd x2, x2, 384
00028140mov x1, x0
00028144mov x0, x2
00028148bl internal/abi.(*IntArgRegBitmap).Get
0002814ctbz w0, 0, 0x28184
00028150ldr x2, [sp+48]
00028154ldr x3, [sp+104]
00028158ldr x4, [x3+3*x2]
0002815cadd x5, x3, 256
00028160adrp x27, 0xa23000
00028164ldr w6, [x27+3056]
00028168cbz w6, 0x2817c
0002816cbl runtime.gcWriteBarrier2
00028170str x4, [x25]
00028174ldr x6, [x5+3*x2]
00028178str x6, [x25+8]
0002817c
0002817cloc_2817c:
0002817cstr x4, [x5+3*x2]
00028180b 0x28124
00028184
00028184loc_28184:
00028184ldr x2, [sp+48]
00028188ldr x3, [sp+104]
0002818cb 0x28124
00028190
00028190loc_28190:
00028190ldur x29, [sp-8]
00028194ldr x30, [sp], 64
00028198ret x30
0002819cudf 0
00028090
000281a0
000281a0runtime.typedmemclr: ; void runtime.typedmemclr(internal/abi.Type * typ, void * ptr)
000281a0str x30, [sp-48]!
000281a4stur x29, [sp-8]
000281a8sub x29, sp, 8
000281acadrp x27, 0xa23000
000281b0ldrb w2, [x27+3056]
000281b4tbz w2, 0, 0x281f8
000281b8str x0, [sp+56]
000281bcstr x1, [sp+64]
000281c0bl internal/abi.(*Type).Pointers
000281c4tbnz w0, 0, 0x281d4
000281c8ldr x0, [sp+56]
000281ccldr x1, [sp+64]
000281d0b 0x281f8
000281d4
000281d4loc_281d4:
000281d4ldr x0, [sp+64]
000281d8mov x4, x0
000281dcldr x3, [sp+56]
000281e0ldr x2, [x3+8]
000281e4mov x0, x4
000281e8mov x1, xzr
000281ecbl runtime.bulkBarrierPreWrite
000281f0ldr x0, [sp+56]
000281f4ldr x1, [sp+64]
000281f8
000281f8loc_281f8:
000281f8ldr x2, [x0]
000281fcmov x0, x1
00028200mov x1, x2
00028204bl runtime.memclrNoHeapPointers
00028208ldur x29, [sp-8]
0002820cldr x30, [sp], 48
00028210ret x30
00028214udf 0
00028218udf 0
0002821cudf 0
000281a0
000281a0runtime.typedmemclr: ; void runtime.typedmemclr(internal/abi.Type * typ, void * ptr)
000281a0str x30, [sp-48]!
000281a4stur x29, [sp-8]
000281a8sub x29, sp, 8
000281acadrp x27, 0xa23000
000281b0ldrb w2, [x27+3056]
000281b4tbz w2, 0, 0x281f8
000281b8str x0, [sp+56]
000281bcstr x1, [sp+64]
000281c0bl internal/abi.(*Type).Pointers
000281c4tbnz w0, 0, 0x281d4
000281c8ldr x0, [sp+56]
000281ccldr x1, [sp+64]
000281d0b 0x281f8
000281d4
000281d4loc_281d4:
000281d4ldr x0, [sp+64]
000281d8mov x4, x0
000281dcldr x3, [sp+56]
000281e0ldr x2, [x3+8]
000281e4mov x0, x4
000281e8mov x1, xzr
000281ecbl runtime.bulkBarrierPreWrite
000281f0ldr x0, [sp+56]
000281f4ldr x1, [sp+64]
000281f8
000281f8loc_281f8:
000281f8ldr x2, [x0]
000281fcmov x0, x1
00028200mov x1, x2
00028204bl runtime.memclrNoHeapPointers
00028208ldur x29, [sp-8]
0002820cldr x30, [sp], 48
00028210ret x30
00028214udf 0
00028218udf 0
0002821cudf 0
000281a0
00028220
00028220runtime.heapBitsInSpan: ; void runtime.heapBitsInSpan(uintptr userSize)
00028220subs xzr, x0, 512
00028224cset x0, ls
00028228ret x30
0002822cudf 0
00028220
00028220runtime.heapBitsInSpan: ; void runtime.heapBitsInSpan(uintptr userSize)
00028220subs xzr, x0, 512
00028224cset x0, ls
00028228ret x30
0002822cudf 0
00028220
00028230
00028230runtime.(*mspan).typePointersOf: ; void runtime.(*mspan).typePointersOf(runtime.mspan * span, uintptr addr, uintptr size)
00028230str x30, [sp-80]!
00028234stur x29, [sp-8]
00028238sub x29, sp, 8
0002823cstr x0, [sp+88]
00028240str x1, [sp+96]
00028244str x2, [sp+104]
00028248bl runtime.(*mspan).objBase
0002824cstr x0, [sp+64]
00028250mov x1, x0
00028254ldr x0, [sp+88]
00028258bl runtime.(*mspan).typePointersOfUnchecked
0002825cldr x4, [sp+64]
00028260ldr x5, [sp+96]
00028264subs xzr, x4, x5
00028268b.ne 0x2828c
0002826cldr x6, [sp+88]
00028270ldr x6, [x6+104]
00028274ldr x7, [sp+104]
00028278subs xzr, x7, x6
0002827cb.ne 0x28290
00028280ldur x29, [sp-8]
00028284ldr x30, [sp], 80
00028288ret x30
0002828c
0002828cloc_2828c:
0002828cldr x7, [sp+104]
00028290
00028290loc_28290:
00028290sub x4, x5, x1
00028294add x5, x5, x7
00028298bl runtime.typePointers.fastForward
0002829cldur x29, [sp-8]
000282a0ldr x30, [sp], 80
000282a4ret x30
000282a8udf 0
000282acudf 0
00028230
00028230runtime.(*mspan).typePointersOf: ; void runtime.(*mspan).typePointersOf(runtime.mspan * span, uintptr addr, uintptr size)
00028230str x30, [sp-80]!
00028234stur x29, [sp-8]
00028238sub x29, sp, 8
0002823cstr x0, [sp+88]
00028240str x1, [sp+96]
00028244str x2, [sp+104]
00028248bl runtime.(*mspan).objBase
0002824cstr x0, [sp+64]
00028250mov x1, x0
00028254ldr x0, [sp+88]
00028258bl runtime.(*mspan).typePointersOfUnchecked
0002825cldr x4, [sp+64]
00028260ldr x5, [sp+96]
00028264subs xzr, x4, x5
00028268b.ne 0x2828c
0002826cldr x6, [sp+88]
00028270ldr x6, [x6+104]
00028274ldr x7, [sp+104]
00028278subs xzr, x7, x6
0002827cb.ne 0x28290
00028280ldur x29, [sp-8]
00028284ldr x30, [sp], 80
00028288ret x30
0002828c
0002828cloc_2828c:
0002828cldr x7, [sp+104]
00028290
00028290loc_28290:
00028290sub x4, x5, x1
00028294add x5, x5, x7
00028298bl runtime.typePointers.fastForward
0002829cldur x29, [sp-8]
000282a0ldr x30, [sp], 80
000282a4ret x30
000282a8udf 0
000282acudf 0
00028230
000282b0
000282b0runtime.(*mspan).typePointersOfUnchecked: ; void runtime.(*mspan).typePointersOfUnchecked(runtime.mspan * span, uintptr addr)
000282b0str x30, [sp-64]!
000282b4stur x29, [sp-8]
000282b8sub x29, sp, 8
000282bcstr x0, [sp+72]
000282c0str x1, [sp+80]
000282c4ldrb w0, [x0+98]
000282c8strb w0, [sp+39]
000282ccbl runtime.spanClass.noscan
000282d0tbnz w0, 0, 0x28390
000282d4ldr x1, [sp+72]
000282d8ldr x0, [x1+104]
000282dcbl runtime.heapBitsInSpan
000282e0tbnz w0, 0, 0x28368
000282e4ldrb w0, [sp+39]
000282e8bl runtime.spanClass.sizeclass
000282ecubfm x1, x0, 0, 7
000282f0cbz w1, 0x28308
000282f4ldr x2, [sp+80]
000282f8mov x3, x2
000282fcldr x2, [x2]
00028300add x1, x3, 8
00028304b 0x2831c
00028308
00028308loc_28308:
00028308ldr x4, [sp+72]
0002830cldr x4, [x4+152]
00028310cbz x4, 0x2834c
00028314mov x2, x4
00028318ldr x1, [sp+80]
0002831c
0002831cloc_2831c:
0002831cstr x2, [sp+48]
00028320str x1, [sp+40]
00028324mov x0, x2
00028328bl runtime.getGCMask
0002832cbl runtime.readUintptr
00028330ldr x1, [sp+40]
00028334mov x2, x0
00028338ldr x3, [sp+48]
0002833cmov x0, x1
00028340ldur x29, [sp-8]
00028344ldr x30, [sp], 64
00028348ret x30
0002834c
0002834cloc_2834c:
0002834cmov x0, xzr
00028350mov x1, x0
00028354mov x2, x0
00028358mov x3, xzr
0002835cldur x29, [sp-8]
00028360ldr x30, [sp], 64
00028364ret x30
00028368
00028368loc_28368:
00028368ldr x0, [sp+72]
0002836cldr x1, [sp+80]
00028370bl runtime.(*mspan).heapBitsSmallForAddr
00028374ldr x1, [sp+80]
00028378mov x2, x0
0002837cmov x3, xzr
00028380mov x0, x1
00028384ldur x29, [sp-8]
00028388ldr x30, [sp], 64
0002838cret x30
00028390
00028390loc_28390:
00028390mov x0, xzr
00028394mov x1, x0
00028398mov x2, x0
0002839cmov x3, xzr
000283a0ldur x29, [sp-8]
000283a4ldr x30, [sp], 64
000283a8ret x30
000283acudf 0
000282b0
000282b0runtime.(*mspan).typePointersOfUnchecked: ; void runtime.(*mspan).typePointersOfUnchecked(runtime.mspan * span, uintptr addr)
000282b0str x30, [sp-64]!
000282b4stur x29, [sp-8]
000282b8sub x29, sp, 8
000282bcstr x0, [sp+72]
000282c0str x1, [sp+80]
000282c4ldrb w0, [x0+98]
000282c8strb w0, [sp+39]
000282ccbl runtime.spanClass.noscan
000282d0tbnz w0, 0, 0x28390
000282d4ldr x1, [sp+72]
000282d8ldr x0, [x1+104]
000282dcbl runtime.heapBitsInSpan
000282e0tbnz w0, 0, 0x28368
000282e4ldrb w0, [sp+39]
000282e8bl runtime.spanClass.sizeclass
000282ecubfm x1, x0, 0, 7
000282f0cbz w1, 0x28308
000282f4ldr x2, [sp+80]
000282f8mov x3, x2
000282fcldr x2, [x2]
00028300add x1, x3, 8
00028304b 0x2831c
00028308
00028308loc_28308:
00028308ldr x4, [sp+72]
0002830cldr x4, [x4+152]
00028310cbz x4, 0x2834c
00028314mov x2, x4
00028318ldr x1, [sp+80]
0002831c
0002831cloc_2831c:
0002831cstr x2, [sp+48]
00028320str x1, [sp+40]
00028324mov x0, x2
00028328bl runtime.getGCMask
0002832cbl runtime.readUintptr
00028330ldr x1, [sp+40]
00028334mov x2, x0
00028338ldr x3, [sp+48]
0002833cmov x0, x1
00028340ldur x29, [sp-8]
00028344ldr x30, [sp], 64
00028348ret x30
0002834c
0002834cloc_2834c:
0002834cmov x0, xzr
00028350mov x1, x0
00028354mov x2, x0
00028358mov x3, xzr
0002835cldur x29, [sp-8]
00028360ldr x30, [sp], 64
00028364ret x30
00028368
00028368loc_28368:
00028368ldr x0, [sp+72]
0002836cldr x1, [sp+80]
00028370bl runtime.(*mspan).heapBitsSmallForAddr
00028374ldr x1, [sp+80]
00028378mov x2, x0
0002837cmov x3, xzr
00028380mov x0, x1
00028384ldur x29, [sp-8]
00028388ldr x30, [sp], 64
0002838cret x30
00028390
00028390loc_28390:
00028390mov x0, xzr
00028394mov x1, x0
00028398mov x2, x0
0002839cmov x3, xzr
000283a0ldur x29, [sp-8]
000283a4ldr x30, [sp], 64
000283a8ret x30
000283acudf 0
000282b0
000283b0
000283b0runtime.(*mspan).typePointersOfType: ; void runtime.(*mspan).typePointersOfType(runtime.mspan * span, internal/abi.Type * typ, uintptr addr)
000283b0str x30, [sp-32]!
000283b4stur x29, [sp-8]
000283b8sub x29, sp, 8
000283bcstr x1, [sp+48]
000283c0str x2, [sp+56]
000283c4ldrb w0, [x0+98]
000283c8bl runtime.spanClass.noscan
000283cctbz w0, 0, 0x283ec
000283d0mov x0, xzr
000283d4mov x1, x0
000283d8mov x2, x0
000283dcmov x3, xzr
000283e0ldur x29, [sp-8]
000283e4ldr x30, [sp], 32
000283e8ret x30
000283ec
000283ecloc_283ec:
000283ecldr x0, [sp+48]
000283f0bl runtime.getGCMask
000283f4bl runtime.readUintptr
000283f8ldr x1, [sp+56]
000283fcmov x2, x0
00028400ldr x3, [sp+48]
00028404mov x0, x1
00028408ldur x29, [sp-8]
0002840cldr x30, [sp], 32
00028410ret x30
00028414udf 0
00028418udf 0
0002841cudf 0
000283b0
000283b0runtime.(*mspan).typePointersOfType: ; void runtime.(*mspan).typePointersOfType(runtime.mspan * span, internal/abi.Type * typ, uintptr addr)
000283b0str x30, [sp-32]!
000283b4stur x29, [sp-8]
000283b8sub x29, sp, 8
000283bcstr x1, [sp+48]
000283c0str x2, [sp+56]
000283c4ldrb w0, [x0+98]
000283c8bl runtime.spanClass.noscan
000283cctbz w0, 0, 0x283ec
000283d0mov x0, xzr
000283d4mov x1, x0
000283d8mov x2, x0
000283dcmov x3, xzr
000283e0ldur x29, [sp-8]
000283e4ldr x30, [sp], 32
000283e8ret x30
000283ec
000283ecloc_283ec:
000283ecldr x0, [sp+48]
000283f0bl runtime.getGCMask
000283f4bl runtime.readUintptr
000283f8ldr x1, [sp+56]
000283fcmov x2, x0
00028400ldr x3, [sp+48]
00028404mov x0, x1
00028408ldur x29, [sp-8]
0002840cldr x30, [sp], 32
00028410ret x30
00028414udf 0
00028418udf 0
0002841cudf 0
000283b0
00028420
00028420runtime.typePointers.nextFast: ; void runtime.typePointers.nextFast(runtime.typePointers tp)
00028420str x3, [sp+32]
00028424cbnz x2, 0x28430
00028428mov x4, xzr
0002842cret x30
00028430
00028430loc_28430:
00028430rbit x5, x2
00028434clz x5, x5
00028438orr x6, xzr, 1
0002843clslv x6, x6, x5
00028440eor x2, x2, x6
00028444add x4, x1, x5, lsl #3
00028448ret x30
0002844cudf 0
00028420
00028420runtime.typePointers.nextFast: ; void runtime.typePointers.nextFast(runtime.typePointers tp)
00028420str x3, [sp+32]
00028424cbnz x2, 0x28430
00028428mov x4, xzr
0002842cret x30
00028430
00028430loc_28430:
00028430rbit x5, x2
00028434clz x5, x5
00028438orr x6, xzr, 1
0002843clslv x6, x6, x5
00028440eor x2, x2, x6
00028444add x4, x1, x5, lsl #3
00028448ret x30
0002844cudf 0
00028420
00028450
00028450runtime.typePointers.next: ; void runtime.typePointers.next(runtime.typePointers tp, uintptr limit)
00028450str x30, [sp-80]!
00028454stur x29, [sp-8]
00028458sub x29, sp, 8
0002845cstr x3, [sp+112]
00028460str x4, [sp+120]
00028464str x3, [sp+64]
00028468b 0x28484
0002846c
0002846cloc_2846c:
0002846cldr x5, [sp+64]
00028470ldr x6, [sp+56]
00028474mov x3, x5
00028478ldr x4, [sp+120]
0002847cmov x2, x0
00028480mov x0, x6
00028484
00028484loc_28484:
00028484cbnz x2, 0x28584
00028488cbz x3, 0x28564
0002848cadd x5, x1, 512
00028490ldr x6, [x3+8]
00028494add x6, x6, x0
00028498subs xzr, x5, x6
0002849cb.lo 0x284b0
000284a0ldr x6, [x3]
000284a4add x0, x6, x0
000284a8mov x1, x0
000284acb 0x284b8
000284b0
000284b0loc_284b0:
000284b0mov x1, x0
000284b4mov x0, x5
000284b8
000284b8loc_284b8:
000284b8subs xzr, x4, x0
000284bcb.ls 0x28544
000284c0str x1, [sp+56]
000284c4str x0, [sp+48]
000284c8mov x0, x3
000284ccbl runtime.getGCMask
000284d0ldr x1, [sp+48]
000284d4ldr x2, [sp+56]
000284d8sub x1, x1, x2
000284dcubfm x1, x1, 6, 63
000284e0bl runtime.addb
000284e4bl runtime.readUintptr
000284e8ldr x1, [sp+48]
000284ecadd x2, x1, 512
000284f0ldr x3, [sp+120]
000284f4subs xzr, x3, x2
000284f8b.hs 0x28538
000284fcsub x5, x1, x3
00028500add x5, x5, 512
00028504ubfm x6, x5, 3, 63
00028508orr x7, xzr, 1
0002850clslv x8, x7, x6
00028510orr x9, xzr, 64
00028514sub x5, x9, x5, lsr #3
00028518subs xzr, x6, 64
0002851ccsel x6, x8, xzr, lo
00028520sub x6, x6, 1
00028524lslv x6, x6, x5
00028528subs xzr, x5, 64
0002852ccsel x5, x6, xzr, lo
00028530bic x0, x0, x5
00028534b 0x2846c
00028538
00028538loc_28538:
00028538orr x7, xzr, 1
0002853corr x9, xzr, 64
00028540b 0x2846c
00028544
00028544loc_28544:
00028544mov x0, xzr
00028548mov x1, x0
0002854cmov x2, x0
00028550mov x3, xzr
00028554mov x4, x0
00028558ldur x29, [sp-8]
0002855cldr x30, [sp], 80
00028560ret x30
00028564
00028564loc_28564:
00028564mov x0, xzr
00028568mov x1, x0
0002856cmov x2, x0
00028570mov x3, xzr
00028574mov x4, x0
00028578ldur x29, [sp-8]
0002857cldr x30, [sp], 80
00028580ret x30
00028584
00028584loc_28584:
00028584bl runtime.typePointers.nextFast
00028588ldur x29, [sp-8]
0002858cldr x30, [sp], 80
00028590ret x30
00028594udf 0
00028598udf 0
0002859cudf 0
00028450
00028450runtime.typePointers.next: ; void runtime.typePointers.next(runtime.typePointers tp, uintptr limit)
00028450str x30, [sp-80]!
00028454stur x29, [sp-8]
00028458sub x29, sp, 8
0002845cstr x3, [sp+112]
00028460str x4, [sp+120]
00028464str x3, [sp+64]
00028468b 0x28484
0002846c
0002846cloc_2846c:
0002846cldr x5, [sp+64]
00028470ldr x6, [sp+56]
00028474mov x3, x5
00028478ldr x4, [sp+120]
0002847cmov x2, x0
00028480mov x0, x6
00028484
00028484loc_28484:
00028484cbnz x2, 0x28584
00028488cbz x3, 0x28564
0002848cadd x5, x1, 512
00028490ldr x6, [x3+8]
00028494add x6, x6, x0
00028498subs xzr, x5, x6
0002849cb.lo 0x284b0
000284a0ldr x6, [x3]
000284a4add x0, x6, x0
000284a8mov x1, x0
000284acb 0x284b8
000284b0
000284b0loc_284b0:
000284b0mov x1, x0
000284b4mov x0, x5
000284b8
000284b8loc_284b8:
000284b8subs xzr, x4, x0
000284bcb.ls 0x28544
000284c0str x1, [sp+56]
000284c4str x0, [sp+48]
000284c8mov x0, x3
000284ccbl runtime.getGCMask
000284d0ldr x1, [sp+48]
000284d4ldr x2, [sp+56]
000284d8sub x1, x1, x2
000284dcubfm x1, x1, 6, 63
000284e0bl runtime.addb
000284e4bl runtime.readUintptr
000284e8ldr x1, [sp+48]
000284ecadd x2, x1, 512
000284f0ldr x3, [sp+120]
000284f4subs xzr, x3, x2
000284f8b.hs 0x28538
000284fcsub x5, x1, x3
00028500add x5, x5, 512
00028504ubfm x6, x5, 3, 63
00028508orr x7, xzr, 1
0002850clslv x8, x7, x6
00028510orr x9, xzr, 64
00028514sub x5, x9, x5, lsr #3
00028518subs xzr, x6, 64
0002851ccsel x6, x8, xzr, lo
00028520sub x6, x6, 1
00028524lslv x6, x6, x5
00028528subs xzr, x5, 64
0002852ccsel x5, x6, xzr, lo
00028530bic x0, x0, x5
00028534b 0x2846c
00028538
00028538loc_28538:
00028538orr x7, xzr, 1
0002853corr x9, xzr, 64
00028540b 0x2846c
00028544
00028544loc_28544:
00028544mov x0, xzr
00028548mov x1, x0
0002854cmov x2, x0
00028550mov x3, xzr
00028554mov x4, x0
00028558ldur x29, [sp-8]
0002855cldr x30, [sp], 80
00028560ret x30
00028564
00028564loc_28564:
00028564mov x0, xzr
00028568mov x1, x0
0002856cmov x2, x0
00028570mov x3, xzr
00028574mov x4, x0
00028578ldur x29, [sp-8]
0002857cldr x30, [sp], 80
00028580ret x30
00028584
00028584loc_28584:
00028584bl runtime.typePointers.nextFast
00028588ldur x29, [sp-8]
0002858cldr x30, [sp], 80
00028590ret x30
00028594udf 0
00028598udf 0
0002859cudf 0
00028450
000285a0
000285a0runtime.typePointers.fastForward: ; void runtime.typePointers.fastForward(runtime.typePointers tp, uintptr n, uintptr limit)
000285a0str x30, [sp-80]!
000285a4stur x29, [sp-8]
000285a8sub x29, sp, 8
000285acstr x3, [sp+112]
000285b0add x6, x1, x4
000285b4subs xzr, x5, x6
000285b8b.ls 0x287ac
000285bccbz x3, 0x2873c
000285c0str x5, [sp+128]
000285c4str x6, [sp+32]
000285c8str x3, [sp+64]
000285ccldr x2, [x3]
000285d0subs xzr, x4, x2
000285d4b.lo 0x2860c
000285d8sub x7, x1, x0
000285dcadd x7, x4, x7
000285e0cbz x2, 0x287c8
000285e4udiv x3, x7, x2
000285e8madd x2, x3, x2, xzr
000285ecadd x3, x2, x0
000285f0str x3, [sp+56]
000285f4sub x0, x4, x2
000285f8orr x1, xzr, 512
000285fcbl runtime.alignDown
00028600ldr x2, [sp+56]
00028604add x3, x2, x0
00028608b 0x2862c
0002860c
0002860cloc_2860c:
0002860cstr x1, [sp+56]
00028610str x0, [sp+48]
00028614mov x0, x4
00028618orr x1, xzr, 512
0002861cbl runtime.alignDown
00028620ldr x2, [sp+56]
00028624add x3, x2, x0
00028628ldr x2, [sp+48]
0002862c
0002862cloc_2862c:
0002862cstr x2, [sp+56]
00028630sub x1, x3, x2
00028634ldr x0, [sp+64]
00028638ldr x4, [x0+8]
0002863csubs xzr, x4, x1
00028640b.hi 0x28690
00028644ldr x1, [x0]
00028648str x1, [sp+48]
0002864cbl runtime.getGCMask
00028650bl runtime.readUintptr
00028654ldr x1, [sp+48]
00028658ldr x2, [sp+56]
0002865cadd x1, x1, x2
00028660ldr x2, [sp+128]
00028664subs xzr, x2, x1
00028668b.ls 0x28674
0002866cmov x3, x1
00028670b 0x286e0
00028674
00028674loc_28674:
00028674mov x0, xzr
00028678mov x1, x0
0002867cmov x2, x0
00028680mov x3, xzr
00028684ldur x29, [sp-8]
00028688ldr x30, [sp], 80
0002868cret x30
00028690
00028690loc_28690:
00028690str x3, [sp+48]
00028694str x1, [sp+40]
00028698bl runtime.getGCMask
0002869cldr x1, [sp+40]
000286a0ubfm x1, x1, 6, 63
000286a4bl runtime.addb
000286a8bl runtime.readUintptr
000286acldr x1, [sp+32]
000286b0ldr x2, [sp+48]
000286b4sub x1, x1, x2
000286b8ubfm x1, x1, 3, 63
000286bcorr x3, xzr, 1
000286c0lslv x4, x3, x1
000286c4subs xzr, x1, 64
000286c8csel x1, x4, xzr, lo
000286ccsub x1, xzr, x1
000286d0and x0, x0, x1
000286d4ldr x2, [sp+128]
000286d8ldr x1, [sp+48]
000286dcldr x3, [sp+56]
000286e0
000286e0loc_286e0:
000286e0add x4, x1, 512
000286e4subs xzr, x2, x4
000286e8b.hs 0x28724
000286ecsub x4, x1, x2
000286f0add x4, x4, 512
000286f4ubfm x5, x4, 3, 63
000286f8orr x6, xzr, 1
000286fclslv x6, x6, x5
00028700orr x7, xzr, 64
00028704sub x4, x7, x4, lsr #3
00028708subs xzr, x5, 64
0002870ccsel x5, x6, xzr, lo
00028710sub x5, x5, 1
00028714lslv x5, x5, x4
00028718subs xzr, x4, 64
0002871ccsel x4, x5, xzr, lo
00028720bic x0, x0, x4
00028724
00028724loc_28724:
00028724mov x2, x0
00028728mov x0, x3
0002872cldr x3, [sp+64]
00028730ldur x29, [sp-8]
00028734ldr x30, [sp], 80
00028738ret x30
0002873c
0002873cloc_2873c:
0002873cubfm x4, x4, 3, 63
00028740orr x6, xzr, 1
00028744lslv x7, x6, x4
00028748add x8, x1, 512
0002874csubs xzr, x4, 64
00028750csel x4, x7, xzr, lo
00028754sub x4, xzr, x4
00028758and x4, x2, x4
0002875csubs xzr, x5, x8
00028760b.hs 0x28798
00028764sub x5, x1, x5
00028768add x5, x5, 512
0002876cubfm x7, x5, 3, 63
00028770lslv x6, x6, x7
00028774orr x8, xzr, 64
00028778sub x5, x8, x5, lsr #3
0002877csubs xzr, x7, 64
00028780csel x6, x6, xzr, lo
00028784sub x6, x6, 1
00028788lslv x6, x6, x5
0002878csubs xzr, x5, 64
00028790csel x5, x6, xzr, lo
00028794bic x4, x4, x5
00028798
00028798loc_28798:
00028798mov x2, x4
0002879cmov x3, xzr
000287a0ldur x29, [sp-8]
000287a4ldr x30, [sp], 80
000287a8ret x30
000287ac
000287acloc_287ac:
000287acmov x0, xzr
000287b0mov x1, x0
000287b4mov x2, x0
000287b8mov x3, xzr
000287bcldur x29, [sp-8]
000287c0ldr x30, [sp], 80
000287c4ret x30
000287c8
000287c8loc_287c8:
000287c8bl runtime.panicdivide
000287cchint
000285a0
000285a0runtime.typePointers.fastForward: ; void runtime.typePointers.fastForward(runtime.typePointers tp, uintptr n, uintptr limit)
000285a0str x30, [sp-80]!
000285a4stur x29, [sp-8]
000285a8sub x29, sp, 8
000285acstr x3, [sp+112]
000285b0add x6, x1, x4
000285b4subs xzr, x5, x6
000285b8b.ls 0x287ac
000285bccbz x3, 0x2873c
000285c0str x5, [sp+128]
000285c4str x6, [sp+32]
000285c8str x3, [sp+64]
000285ccldr x2, [x3]
000285d0subs xzr, x4, x2
000285d4b.lo 0x2860c
000285d8sub x7, x1, x0
000285dcadd x7, x4, x7
000285e0cbz x2, 0x287c8
000285e4udiv x3, x7, x2
000285e8madd x2, x3, x2, xzr
000285ecadd x3, x2, x0
000285f0str x3, [sp+56]
000285f4sub x0, x4, x2
000285f8orr x1, xzr, 512
000285fcbl runtime.alignDown
00028600ldr x2, [sp+56]
00028604add x3, x2, x0
00028608b 0x2862c
0002860c
0002860cloc_2860c:
0002860cstr x1, [sp+56]
00028610str x0, [sp+48]
00028614mov x0, x4
00028618orr x1, xzr, 512
0002861cbl runtime.alignDown
00028620ldr x2, [sp+56]
00028624add x3, x2, x0
00028628ldr x2, [sp+48]
0002862c
0002862cloc_2862c:
0002862cstr x2, [sp+56]
00028630sub x1, x3, x2
00028634ldr x0, [sp+64]
00028638ldr x4, [x0+8]
0002863csubs xzr, x4, x1
00028640b.hi 0x28690
00028644ldr x1, [x0]
00028648str x1, [sp+48]
0002864cbl runtime.getGCMask
00028650bl runtime.readUintptr
00028654ldr x1, [sp+48]
00028658ldr x2, [sp+56]
0002865cadd x1, x1, x2
00028660ldr x2, [sp+128]
00028664subs xzr, x2, x1
00028668b.ls 0x28674
0002866cmov x3, x1
00028670b 0x286e0
00028674
00028674loc_28674:
00028674mov x0, xzr
00028678mov x1, x0
0002867cmov x2, x0
00028680mov x3, xzr
00028684ldur x29, [sp-8]
00028688ldr x30, [sp], 80
0002868cret x30
00028690
00028690loc_28690:
00028690str x3, [sp+48]
00028694str x1, [sp+40]
00028698bl runtime.getGCMask
0002869cldr x1, [sp+40]
000286a0ubfm x1, x1, 6, 63
000286a4bl runtime.addb
000286a8bl runtime.readUintptr
000286acldr x1, [sp+32]
000286b0ldr x2, [sp+48]
000286b4sub x1, x1, x2
000286b8ubfm x1, x1, 3, 63
000286bcorr x3, xzr, 1
000286c0lslv x4, x3, x1
000286c4subs xzr, x1, 64
000286c8csel x1, x4, xzr, lo
000286ccsub x1, xzr, x1
000286d0and x0, x0, x1
000286d4ldr x2, [sp+128]
000286d8ldr x1, [sp+48]
000286dcldr x3, [sp+56]
000286e0
000286e0loc_286e0:
000286e0add x4, x1, 512
000286e4subs xzr, x2, x4
000286e8b.hs 0x28724
000286ecsub x4, x1, x2
000286f0add x4, x4, 512
000286f4ubfm x5, x4, 3, 63
000286f8orr x6, xzr, 1
000286fclslv x6, x6, x5
00028700orr x7, xzr, 64
00028704sub x4, x7, x4, lsr #3
00028708subs xzr, x5, 64
0002870ccsel x5, x6, xzr, lo
00028710sub x5, x5, 1
00028714lslv x5, x5, x4
00028718subs xzr, x4, 64
0002871ccsel x4, x5, xzr, lo
00028720bic x0, x0, x4
00028724
00028724loc_28724:
00028724mov x2, x0
00028728mov x0, x3
0002872cldr x3, [sp+64]
00028730ldur x29, [sp-8]
00028734ldr x30, [sp], 80
00028738ret x30
0002873c
0002873cloc_2873c:
0002873cubfm x4, x4, 3, 63
00028740orr x6, xzr, 1
00028744lslv x7, x6, x4
00028748add x8, x1, 512
0002874csubs xzr, x4, 64
00028750csel x4, x7, xzr, lo
00028754sub x4, xzr, x4
00028758and x4, x2, x4
0002875csubs xzr, x5, x8
00028760b.hs 0x28798
00028764sub x5, x1, x5
00028768add x5, x5, 512
0002876cubfm x7, x5, 3, 63
00028770lslv x6, x6, x7
00028774orr x8, xzr, 64
00028778sub x5, x8, x5, lsr #3
0002877csubs xzr, x7, 64
00028780csel x6, x6, xzr, lo
00028784sub x6, x6, 1
00028788lslv x6, x6, x5
0002878csubs xzr, x5, 64
00028790csel x5, x6, xzr, lo
00028794bic x4, x4, x5
00028798
00028798loc_28798:
00028798mov x2, x4
0002879cmov x3, xzr
000287a0ldur x29, [sp-8]
000287a4ldr x30, [sp], 80
000287a8ret x30
000287ac
000287acloc_287ac:
000287acmov x0, xzr
000287b0mov x1, x0
000287b4mov x2, x0
000287b8mov x3, xzr
000287bcldur x29, [sp-8]
000287c0ldr x30, [sp], 80
000287c4ret x30
000287c8
000287c8loc_287c8:
000287c8bl runtime.panicdivide
000287cchint
000285a0
000287d0
000287d0runtime.(*mspan).objBase: ; void runtime.(*mspan).objBase(runtime.mspan * span, uintptr addr)
000287d0str x30, [sp-48]!
000287d4stur x29, [sp-8]
000287d8sub x29, sp, 8
000287dcstr x0, [sp+56]
000287e0str x1, [sp+64]
000287e4bl runtime.(*mspan).base
000287e8str x0, [sp+32]
000287ecldr x0, [sp+56]
000287f0ldr x1, [sp+64]
000287f4bl runtime.(*mspan).objIndex
000287f8ldr x1, [sp+56]
000287fcldr x1, [x1+104]
00028800ldr x2, [sp+32]
00028804madd x0, x1, x0, x2
00028808ldur x29, [sp-8]
0002880cldr x30, [sp], 48
00028810ret x30
00028814udf 0
00028818udf 0
0002881cudf 0
000287d0
000287d0runtime.(*mspan).objBase: ; void runtime.(*mspan).objBase(runtime.mspan * span, uintptr addr)
000287d0str x30, [sp-48]!
000287d4stur x29, [sp-8]
000287d8sub x29, sp, 8
000287dcstr x0, [sp+56]
000287e0str x1, [sp+64]
000287e4bl runtime.(*mspan).base
000287e8str x0, [sp+32]
000287ecldr x0, [sp+56]
000287f0ldr x1, [sp+64]
000287f4bl runtime.(*mspan).objIndex
000287f8ldr x1, [sp+56]
000287fcldr x1, [x1+104]
00028800ldr x2, [sp+32]
00028804madd x0, x1, x0, x2
00028808ldur x29, [sp-8]
0002880cldr x30, [sp], 48
00028810ret x30
00028814udf 0
00028818udf 0
0002881cudf 0
000287d0
00028820
00028820runtime.bulkBarrierPreWrite: ; void runtime.bulkBarrierPreWrite(uintptr dst, uintptr src, uintptr size, internal/abi.Type * typ)
00028820str x30, [sp-128]!
00028824stur x29, [sp-8]
00028828sub x29, sp, 8
0002882corr x4, x1, x0
00028830orr x4, x2, x4
00028834ands xzr, x4, 7
00028838b.ne 0x28aa8
0002883cadrp x27, 0xa23000
00028840ldrb w4, [x27+3056]
00028844tbz w4, 0, 0x2891c
00028848str x0, [sp+136]
0002884cstr x1, [sp+144]
00028850str x2, [sp+152]
00028854str x3, [sp+160]
00028858bl runtime.spanOf
0002885ccbnz x0, 0x28870
00028860bl runtime.activeModules
00028864ldr x2, [sp+136]
00028868mov x3, xzr
0002886cb 0x289f8
00028870
00028870loc_28870:
00028870str x0, [sp+56]
00028874add x0, x0, 99
00028878bl runtime.(*mSpanStateBox).get
0002887cubfm x1, x0, 0, 7
00028880subs wzr, w1, 1
00028884b.eq 0x28894
00028888ldr x1, [sp+136]
0002888corr x2, xzr, 1
00028890b 0x288a8
00028894
00028894loc_28894:
00028894ldr x0, [sp+56]
00028898bl runtime.(*mspan).base
0002889cldr x1, [sp+136]
000288a0subs xzr, x0, x1
000288a4cset x2, hi
000288a8
000288a8loc_288a8:
000288a8tbnz w2, 0, 0x288bc
000288acldr x2, [sp+56]
000288b0ldr x3, [x2+112]
000288b4subs xzr, x1, x3
000288b8b.lo 0x288c8
000288bc
000288bcloc_288bc:
000288bcldur x29, [sp-8]
000288c0ldr x30, [sp], 128
000288c4ret x30
000288c8
000288c8loc_288c8:
000288c8ldr x1, [x28+48]
000288ccldr x0, [x1+208]
000288d0bl runtime.puintptr.ptr
000288d4ldrsb x27, [x0]
000288d8movz x1, 4720
000288dcadd x1, x0, x1
000288e0str x1, [sp+88]
000288e4ldr x0, [sp+160]
000288e8cbz x0, 0x28900
000288ecmov x1, x0
000288f0ldr x2, [sp+136]
000288f4ldr x0, [sp+56]
000288f8bl runtime.(*mspan).typePointersOfType
000288fcb 0x28910
00028900
00028900loc_28900:
00028900ldr x0, [sp+56]
00028904ldr x1, [sp+136]
00028908ldr x2, [sp+152]
0002890cbl runtime.(*mspan).typePointersOf
00028910
00028910loc_28910:
00028910ldr x4, [sp+144]
00028914cbz x4, 0x289dc
00028918b 0x28984
0002891c
0002891cloc_2891c:
0002891cldur x29, [sp-8]
00028920ldr x30, [sp], 128
00028924ret x30
00028928
00028928loc_28928:
00028928str x2, [sp+80]
0002892cstr x0, [sp+72]
00028930str x1, [sp+64]
00028934str x3, [sp+112]
00028938mov x1, x4
0002893cstr x4, [sp+104]
00028940ldr x2, [sp+136]
00028944sub x1, x1, x2
00028948ldr x2, [sp+144]
0002894cadd x1, x2, x1
00028950str x1, [sp+96]
00028954ldr x0, [sp+88]
00028958bl runtime.(*wbBuf).get2
0002895cldr x1, [sp+104]
00028960ldr x1, [x1]
00028964str x1, [x0]
00028968ldr x1, [sp+96]
0002896cldr x1, [x1]
00028970str x1, [x0+8]
00028974ldr x2, [sp+80]
00028978ldr x1, [sp+64]
0002897cldr x0, [sp+72]
00028980ldr x3, [sp+112]
00028984
00028984loc_28984:
00028984ldr x5, [sp+152]
00028988ldr x6, [sp+136]
0002898cadd x4, x5, x6
00028990bl runtime.typePointers.next
00028994cbnz x4, 0x28928
00028998
00028998loc_28998:
00028998ldur x29, [sp-8]
0002899cldr x30, [sp], 128
000289a0ret x30
000289a4
000289a4loc_289a4:
000289a4str x0, [sp+80]
000289a8str x1, [sp+72]
000289acstr x2, [sp+64]
000289b0str x3, [sp+112]
000289b4str x4, [sp+104]
000289b8ldr x0, [sp+88]
000289bcbl runtime.(*wbBuf).get1
000289c0ldr x1, [sp+104]
000289c4ldr x1, [x1]
000289c8str x1, [x0]
000289ccldr x2, [sp+64]
000289d0ldr x1, [sp+72]
000289d4ldr x0, [sp+80]
000289d8ldr x3, [sp+112]
000289dc
000289dcloc_289dc:
000289dcldr x5, [sp+152]
000289e0ldr x6, [sp+136]
000289e4add x4, x5, x6
000289e8bl runtime.typePointers.next
000289eccbnz x4, 0x289a4
000289f0b 0x28998
000289f4
000289f4loc_289f4:
000289f4add x3, x3, 1
000289f8
000289f8loc_289f8:
000289f8subs xzr, x1, x3
000289fcb.le 0x28a40
00028a00ldr x5, [x0+3*x3]
00028a04ldr x6, [x5+208]
00028a08subs xzr, x2, x6
00028a0cb.lo 0x289f4
00028a10ldr x7, [x5+216]
00028a14subs xzr, x2, x7
00028a18b.hs 0x289f4
00028a1csub x3, x2, x6
00028a20ldr x4, [x5+544]
00028a24mov x0, x2
00028a28ldr x1, [sp+144]
00028a2cldr x2, [sp+152]
00028a30bl runtime.bulkBarrierBitmap
00028a34ldur x29, [sp-8]
00028a38ldr x30, [sp], 128
00028a3cret x30
00028a40
00028a40loc_28a40:
00028a40bl runtime.activeModules
00028a44ldr x2, [sp+136]
00028a48mov x3, xzr
00028a4cb 0x28a54
00028a50
00028a50loc_28a50:
00028a50add x3, x3, 1
00028a54
00028a54loc_28a54:
00028a54subs xzr, x1, x3
00028a58b.le 0x28a9c
00028a5cldr x5, [x0+3*x3]
00028a60ldr x6, [x5+224]
00028a64subs xzr, x2, x6
00028a68b.lo 0x28a50
00028a6cldr x7, [x5+232]
00028a70subs xzr, x2, x7
00028a74b.hs 0x28a50
00028a78sub x3, x2, x6
00028a7cldr x4, [x5+560]
00028a80mov x0, x2
00028a84ldr x1, [sp+144]
00028a88ldr x2, [sp+152]
00028a8cbl runtime.bulkBarrierBitmap
00028a90ldur x29, [sp-8]
00028a94ldr x30, [sp], 128
00028a98ret x30
00028a9c
00028a9cloc_28a9c:
00028a9cldur x29, [sp-8]
00028aa0ldr x30, [sp], 128
00028aa4ret x30
00028aa8
00028aa8loc_28aa8:
00028aa8adrp x0, 0x69b000
00028aacadd x0, x0, 3915
00028ab0movz x1, 40
00028ab4bl runtime.throw
00028ab8hint
00028abcudf 0
00028820
00028820runtime.bulkBarrierPreWrite: ; void runtime.bulkBarrierPreWrite(uintptr dst, uintptr src, uintptr size, internal/abi.Type * typ)
00028820str x30, [sp-128]!
00028824stur x29, [sp-8]
00028828sub x29, sp, 8
0002882corr x4, x1, x0
00028830orr x4, x2, x4
00028834ands xzr, x4, 7
00028838b.ne 0x28aa8
0002883cadrp x27, 0xa23000
00028840ldrb w4, [x27+3056]
00028844tbz w4, 0, 0x2891c
00028848str x0, [sp+136]
0002884cstr x1, [sp+144]
00028850str x2, [sp+152]
00028854str x3, [sp+160]
00028858bl runtime.spanOf
0002885ccbnz x0, 0x28870
00028860bl runtime.activeModules
00028864ldr x2, [sp+136]
00028868mov x3, xzr
0002886cb 0x289f8
00028870
00028870loc_28870:
00028870str x0, [sp+56]
00028874add x0, x0, 99
00028878bl runtime.(*mSpanStateBox).get
0002887cubfm x1, x0, 0, 7
00028880subs wzr, w1, 1
00028884b.eq 0x28894
00028888ldr x1, [sp+136]
0002888corr x2, xzr, 1
00028890b 0x288a8
00028894
00028894loc_28894:
00028894ldr x0, [sp+56]
00028898bl runtime.(*mspan).base
0002889cldr x1, [sp+136]
000288a0subs xzr, x0, x1
000288a4cset x2, hi
000288a8
000288a8loc_288a8:
000288a8tbnz w2, 0, 0x288bc
000288acldr x2, [sp+56]
000288b0ldr x3, [x2+112]
000288b4subs xzr, x1, x3
000288b8b.lo 0x288c8
000288bc
000288bcloc_288bc:
000288bcldur x29, [sp-8]
000288c0ldr x30, [sp], 128
000288c4ret x30
000288c8
000288c8loc_288c8:
000288c8ldr x1, [x28+48]
000288ccldr x0, [x1+208]
000288d0bl runtime.puintptr.ptr
000288d4ldrsb x27, [x0]
000288d8movz x1, 4720
000288dcadd x1, x0, x1
000288e0str x1, [sp+88]
000288e4ldr x0, [sp+160]
000288e8cbz x0, 0x28900
000288ecmov x1, x0
000288f0ldr x2, [sp+136]
000288f4ldr x0, [sp+56]
000288f8bl runtime.(*mspan).typePointersOfType
000288fcb 0x28910
00028900
00028900loc_28900:
00028900ldr x0, [sp+56]
00028904ldr x1, [sp+136]
00028908ldr x2, [sp+152]
0002890cbl runtime.(*mspan).typePointersOf
00028910
00028910loc_28910:
00028910ldr x4, [sp+144]
00028914cbz x4, 0x289dc
00028918b 0x28984
0002891c
0002891cloc_2891c:
0002891cldur x29, [sp-8]
00028920ldr x30, [sp], 128
00028924ret x30
00028928
00028928loc_28928:
00028928str x2, [sp+80]
0002892cstr x0, [sp+72]
00028930str x1, [sp+64]
00028934str x3, [sp+112]
00028938mov x1, x4
0002893cstr x4, [sp+104]
00028940ldr x2, [sp+136]
00028944sub x1, x1, x2
00028948ldr x2, [sp+144]
0002894cadd x1, x2, x1
00028950str x1, [sp+96]
00028954ldr x0, [sp+88]
00028958bl runtime.(*wbBuf).get2
0002895cldr x1, [sp+104]
00028960ldr x1, [x1]
00028964str x1, [x0]
00028968ldr x1, [sp+96]
0002896cldr x1, [x1]
00028970str x1, [x0+8]
00028974ldr x2, [sp+80]
00028978ldr x1, [sp+64]
0002897cldr x0, [sp+72]
00028980ldr x3, [sp+112]
00028984
00028984loc_28984:
00028984ldr x5, [sp+152]
00028988ldr x6, [sp+136]
0002898cadd x4, x5, x6
00028990bl runtime.typePointers.next
00028994cbnz x4, 0x28928
00028998
00028998loc_28998:
00028998ldur x29, [sp-8]
0002899cldr x30, [sp], 128
000289a0ret x30
000289a4
000289a4loc_289a4:
000289a4str x0, [sp+80]
000289a8str x1, [sp+72]
000289acstr x2, [sp+64]
000289b0str x3, [sp+112]
000289b4str x4, [sp+104]
000289b8ldr x0, [sp+88]
000289bcbl runtime.(*wbBuf).get1
000289c0ldr x1, [sp+104]
000289c4ldr x1, [x1]
000289c8str x1, [x0]
000289ccldr x2, [sp+64]
000289d0ldr x1, [sp+72]
000289d4ldr x0, [sp+80]
000289d8ldr x3, [sp+112]
000289dc
000289dcloc_289dc:
000289dcldr x5, [sp+152]
000289e0ldr x6, [sp+136]
000289e4add x4, x5, x6
000289e8bl runtime.typePointers.next
000289eccbnz x4, 0x289a4
000289f0b 0x28998
000289f4
000289f4loc_289f4:
000289f4add x3, x3, 1
000289f8
000289f8loc_289f8:
000289f8subs xzr, x1, x3
000289fcb.le 0x28a40
00028a00ldr x5, [x0+3*x3]
00028a04ldr x6, [x5+208]
00028a08subs xzr, x2, x6
00028a0cb.lo 0x289f4
00028a10ldr x7, [x5+216]
00028a14subs xzr, x2, x7
00028a18b.hs 0x289f4
00028a1csub x3, x2, x6
00028a20ldr x4, [x5+544]
00028a24mov x0, x2
00028a28ldr x1, [sp+144]
00028a2cldr x2, [sp+152]
00028a30bl runtime.bulkBarrierBitmap
00028a34ldur x29, [sp-8]
00028a38ldr x30, [sp], 128
00028a3cret x30
00028a40
00028a40loc_28a40:
00028a40bl runtime.activeModules
00028a44ldr x2, [sp+136]
00028a48mov x3, xzr
00028a4cb 0x28a54
00028a50
00028a50loc_28a50:
00028a50add x3, x3, 1
00028a54
00028a54loc_28a54:
00028a54subs xzr, x1, x3
00028a58b.le 0x28a9c
00028a5cldr x5, [x0+3*x3]
00028a60ldr x6, [x5+224]
00028a64subs xzr, x2, x6
00028a68b.lo 0x28a50
00028a6cldr x7, [x5+232]
00028a70subs xzr, x2, x7
00028a74b.hs 0x28a50
00028a78sub x3, x2, x6
00028a7cldr x4, [x5+560]
00028a80mov x0, x2
00028a84ldr x1, [sp+144]
00028a88ldr x2, [sp+152]
00028a8cbl runtime.bulkBarrierBitmap
00028a90ldur x29, [sp-8]
00028a94ldr x30, [sp], 128
00028a98ret x30
00028a9c
00028a9cloc_28a9c:
00028a9cldur x29, [sp-8]
00028aa0ldr x30, [sp], 128
00028aa4ret x30
00028aa8
00028aa8loc_28aa8:
00028aa8adrp x0, 0x69b000
00028aacadd x0, x0, 3915
00028ab0movz x1, 40
00028ab4bl runtime.throw
00028ab8hint
00028abcudf 0
00028820
00028ac0
00028ac0runtime.bulkBarrierPreWriteSrcOnly: ; void runtime.bulkBarrierPreWriteSrcOnly(uintptr dst, uintptr src, uintptr size, internal/abi.Type * typ)
00028ac0str x30, [sp-112]!
00028ac4stur x29, [sp-8]
00028ac8sub x29, sp, 8
00028accorr x4, x1, x0
00028ad0orr x4, x2, x4
00028ad4ands xzr, x4, 7
00028ad8b.ne 0x28bc0
00028adcadrp x27, 0xa23000
00028ae0ldrb w4, [x27+3056]
00028ae4tbz w4, 0, 0x28b4c
00028ae8str x0, [sp+120]
00028aecstr x1, [sp+128]
00028af0str x2, [sp+136]
00028af4str x3, [sp+144]
00028af8ldr x1, [x28+48]
00028afcldr x0, [x1+208]
00028b00bl runtime.puintptr.ptr
00028b04str x0, [sp+96]
00028b08ldrsb x27, [x0]
00028b0cldr x0, [sp+120]
00028b10bl runtime.spanOf
00028b14ldr x1, [sp+96]
00028b18movz x2, 4720
00028b1cadd x1, x1, x2
00028b20str x1, [sp+72]
00028b24ldr x2, [sp+144]
00028b28cbz x2, 0x28b3c
00028b2cmov x1, x2
00028b30ldr x2, [sp+120]
00028b34bl runtime.(*mspan).typePointersOfType
00028b38b 0x28ba0
00028b3c
00028b3cloc_28b3c:
00028b3cldr x1, [sp+120]
00028b40ldr x2, [sp+136]
00028b44bl runtime.(*mspan).typePointersOf
00028b48b 0x28ba0
00028b4c
00028b4cloc_28b4c:
00028b4cldur x29, [sp-8]
00028b50ldr x30, [sp], 112
00028b54ret x30
00028b58
00028b58loc_28b58:
00028b58str x3, [sp+88]
00028b5cstr x2, [sp+64]
00028b60str x1, [sp+56]
00028b64str x0, [sp+48]
00028b68ldr x1, [sp+120]
00028b6csub x1, x4, x1
00028b70ldr x2, [sp+128]
00028b74add x1, x1, x2
00028b78str x1, [sp+80]
00028b7cldr x0, [sp+72]
00028b80bl runtime.(*wbBuf).get1
00028b84ldr x1, [sp+80]
00028b88ldr x1, [x1]
00028b8cstr x1, [x0]
00028b90ldr x2, [sp+64]
00028b94ldr x1, [sp+56]
00028b98ldr x0, [sp+48]
00028b9cldr x3, [sp+88]
00028ba0
00028ba0loc_28ba0:
00028ba0ldr x5, [sp+136]
00028ba4ldr x6, [sp+120]
00028ba8add x4, x5, x6
00028bacbl runtime.typePointers.next
00028bb0cbnz x4, 0x28b58
00028bb4ldur x29, [sp-8]
00028bb8ldr x30, [sp], 112
00028bbcret x30
00028bc0
00028bc0loc_28bc0:
00028bc0adrp x0, 0x69b000
00028bc4add x0, x0, 3915
00028bc8movz x1, 40
00028bccbl runtime.throw
00028bd0hint
00028bd4udf 0
00028bd8udf 0
00028bdcudf 0
00028ac0
00028ac0runtime.bulkBarrierPreWriteSrcOnly: ; void runtime.bulkBarrierPreWriteSrcOnly(uintptr dst, uintptr src, uintptr size, internal/abi.Type * typ)
00028ac0str x30, [sp-112]!
00028ac4stur x29, [sp-8]
00028ac8sub x29, sp, 8
00028accorr x4, x1, x0
00028ad0orr x4, x2, x4
00028ad4ands xzr, x4, 7
00028ad8b.ne 0x28bc0
00028adcadrp x27, 0xa23000
00028ae0ldrb w4, [x27+3056]
00028ae4tbz w4, 0, 0x28b4c
00028ae8str x0, [sp+120]
00028aecstr x1, [sp+128]
00028af0str x2, [sp+136]
00028af4str x3, [sp+144]
00028af8ldr x1, [x28+48]
00028afcldr x0, [x1+208]
00028b00bl runtime.puintptr.ptr
00028b04str x0, [sp+96]
00028b08ldrsb x27, [x0]
00028b0cldr x0, [sp+120]
00028b10bl runtime.spanOf
00028b14ldr x1, [sp+96]
00028b18movz x2, 4720
00028b1cadd x1, x1, x2
00028b20str x1, [sp+72]
00028b24ldr x2, [sp+144]
00028b28cbz x2, 0x28b3c
00028b2cmov x1, x2
00028b30ldr x2, [sp+120]
00028b34bl runtime.(*mspan).typePointersOfType
00028b38b 0x28ba0
00028b3c
00028b3cloc_28b3c:
00028b3cldr x1, [sp+120]
00028b40ldr x2, [sp+136]
00028b44bl runtime.(*mspan).typePointersOf
00028b48b 0x28ba0
00028b4c
00028b4cloc_28b4c:
00028b4cldur x29, [sp-8]
00028b50ldr x30, [sp], 112
00028b54ret x30
00028b58
00028b58loc_28b58:
00028b58str x3, [sp+88]
00028b5cstr x2, [sp+64]
00028b60str x1, [sp+56]
00028b64str x0, [sp+48]
00028b68ldr x1, [sp+120]
00028b6csub x1, x4, x1
00028b70ldr x2, [sp+128]
00028b74add x1, x1, x2
00028b78str x1, [sp+80]
00028b7cldr x0, [sp+72]
00028b80bl runtime.(*wbBuf).get1
00028b84ldr x1, [sp+80]
00028b88ldr x1, [x1]
00028b8cstr x1, [x0]
00028b90ldr x2, [sp+64]
00028b94ldr x1, [sp+56]
00028b98ldr x0, [sp+48]
00028b9cldr x3, [sp+88]
00028ba0
00028ba0loc_28ba0:
00028ba0ldr x5, [sp+136]
00028ba4ldr x6, [sp+120]
00028ba8add x4, x5, x6
00028bacbl runtime.typePointers.next
00028bb0cbnz x4, 0x28b58
00028bb4ldur x29, [sp-8]
00028bb8ldr x30, [sp], 112
00028bbcret x30
00028bc0
00028bc0loc_28bc0:
00028bc0adrp x0, 0x69b000
00028bc4add x0, x0, 3915
00028bc8movz x1, 40
00028bccbl runtime.throw
00028bd0hint
00028bd4udf 0
00028bd8udf 0
00028bdcudf 0
00028ac0
00028be0
00028be0runtime.(*mspan).initHeapBits: ; void runtime.(*mspan).initHeapBits(runtime.mspan * s)
00028be0ldr x16, [x28+16]
00028be4subs xzr, sp, x16
00028be8b.ls 0x28cac
00028becstr x30, [sp-32]!
00028bf0stur x29, [sp-8]
00028bf4sub x29, sp, 8
00028bf8str x0, [sp+40]
00028bfcldrb w0, [x0+98]
00028c00bl runtime.spanClass.noscan
00028c04tbz w0, 0, 0x28c10
00028c08mov x1, xzr
00028c0cb 0x28c28
00028c10
00028c10loc_28c10:
00028c10ldr x1, [sp+40]
00028c14ldrb w0, [x1+98]
00028c18bl runtime.spanClass.sizeclass
00028c1cubfm x1, x0, 0, 7
00028c20subs wzr, w1, 1
00028c24cset x1, eq
00028c28
00028c28loc_28c28:
00028c28tbz w1, 0, 0x28c3c
00028c2cldr x0, [sp+40]
00028c30bl runtime.(*mspan).heapBits
00028c34mov x2, xzr
00028c38b 0x28ca0
00028c3c
00028c3cloc_28c3c:
00028c3cldr x1, [sp+40]
00028c40ldrb w0, [x1+98]
00028c44bl runtime.spanClass.noscan
00028c48tbz w0, 0, 0x28c54
00028c4cmov x0, xzr
00028c50b 0x28c60
00028c54
00028c54loc_28c54:
00028c54ldr x1, [sp+40]
00028c58ldr x0, [x1+104]
00028c5cbl runtime.heapBitsInSpan
00028c60
00028c60loc_28c60:
00028c60tbz w0, 0, 0x28c6c
00028c64ldr x0, [sp+40]
00028c68b 0x28c78
00028c6c
00028c6cloc_28c6c:
00028c6cldr x0, [sp+40]
00028c70ldrb w1, [x0+101]
00028c74tbz w1, 0, 0x28c88
00028c78
00028c78loc_28c78:
00028c78bl runtime.(*mspan).heapBits
00028c7ccbz x1, 0x28c88
00028c80ubfm x1, x1, 61, 60
00028c84bl runtime.memclrNoHeapPointers
00028c88
00028c88loc_28c88:
00028c88ldur x29, [sp-8]
00028c8cldr x30, [sp], 32
00028c90ret x30
00028c94
00028c94loc_28c94:
00028c94movn x3, 0
00028c98str x3, [x0+3*x2]
00028c9cadd x2, x2, 1
00028ca0
00028ca0loc_28ca0:
00028ca0subs xzr, x1, x2
00028ca4b.gt 0x28c94
00028ca8b 0x28c88
00028cac
00028cacloc_28cac:
00028cacstr x0, [sp+8]
00028cb0mov x3, x30
00028cb4bl runtime.morestack_noctxt.abi0
00028cb8ldr x0, [sp+8]
00028cbcb 0x28be0
00028be0
00028be0runtime.(*mspan).initHeapBits: ; void runtime.(*mspan).initHeapBits(runtime.mspan * s)
00028be0ldr x16, [x28+16]
00028be4subs xzr, sp, x16
00028be8b.ls 0x28cac
00028becstr x30, [sp-32]!
00028bf0stur x29, [sp-8]
00028bf4sub x29, sp, 8
00028bf8str x0, [sp+40]
00028bfcldrb w0, [x0+98]
00028c00bl runtime.spanClass.noscan
00028c04tbz w0, 0, 0x28c10
00028c08mov x1, xzr
00028c0cb 0x28c28
00028c10
00028c10loc_28c10:
00028c10ldr x1, [sp+40]
00028c14ldrb w0, [x1+98]
00028c18bl runtime.spanClass.sizeclass
00028c1cubfm x1, x0, 0, 7
00028c20subs wzr, w1, 1
00028c24cset x1, eq
00028c28
00028c28loc_28c28:
00028c28tbz w1, 0, 0x28c3c
00028c2cldr x0, [sp+40]
00028c30bl runtime.(*mspan).heapBits
00028c34mov x2, xzr
00028c38b 0x28ca0
00028c3c
00028c3cloc_28c3c:
00028c3cldr x1, [sp+40]
00028c40ldrb w0, [x1+98]
00028c44bl runtime.spanClass.noscan
00028c48tbz w0, 0, 0x28c54
00028c4cmov x0, xzr
00028c50b 0x28c60
00028c54
00028c54loc_28c54:
00028c54ldr x1, [sp+40]
00028c58ldr x0, [x1+104]
00028c5cbl runtime.heapBitsInSpan
00028c60
00028c60loc_28c60:
00028c60tbz w0, 0, 0x28c6c
00028c64ldr x0, [sp+40]
00028c68b 0x28c78
00028c6c
00028c6cloc_28c6c:
00028c6cldr x0, [sp+40]
00028c70ldrb w1, [x0+101]
00028c74tbz w1, 0, 0x28c88
00028c78
00028c78loc_28c78:
00028c78bl runtime.(*mspan).heapBits
00028c7ccbz x1, 0x28c88
00028c80ubfm x1, x1, 61, 60
00028c84bl runtime.memclrNoHeapPointers
00028c88
00028c88loc_28c88:
00028c88ldur x29, [sp-8]
00028c8cldr x30, [sp], 32
00028c90ret x30
00028c94
00028c94loc_28c94:
00028c94movn x3, 0
00028c98str x3, [x0+3*x2]
00028c9cadd x2, x2, 1
00028ca0
00028ca0loc_28ca0:
00028ca0subs xzr, x1, x2
00028ca4b.gt 0x28c94
00028ca8b 0x28c88
00028cac
00028cacloc_28cac:
00028cacstr x0, [sp+8]
00028cb0mov x3, x30
00028cb4bl runtime.morestack_noctxt.abi0
00028cb8ldr x0, [sp+8]
00028cbcb 0x28be0
00028be0
00028cc0
00028cc0runtime.(*mspan).heapBits: ; void runtime.(*mspan).heapBits(runtime.mspan * span)
00028cc0str x30, [sp-32]!
00028cc4stur x29, [sp-8]
00028cc8sub x29, sp, 8
00028cccldr x1, [x0+32]
00028cd0subs xzr, x1, 1
00028cd4b.ne 0x28cf0
00028cd8bl runtime.(*mspan).base
00028cdcorr x1, xzr, 8192
00028ce0bl runtime.heapBitsSlice
00028ce4ldur x29, [sp-8]
00028ce8ldr x30, [sp], 32
00028cecret x30
00028cf0
00028cf0loc_28cf0:
00028cf0str x0, [sp+40]
00028cf4bl runtime.(*mspan).base
00028cf8ldr x1, [sp+40]
00028cfcldr x1, [x1+32]
00028d00ubfm x1, x1, 51, 50
00028d04bl runtime.heapBitsSlice
00028d08ldur x29, [sp-8]
00028d0cldr x30, [sp], 32
00028d10ret x30
00028d14udf 0
00028d18udf 0
00028d1cudf 0
00028cc0
00028cc0runtime.(*mspan).heapBits: ; void runtime.(*mspan).heapBits(runtime.mspan * span)
00028cc0str x30, [sp-32]!
00028cc4stur x29, [sp-8]
00028cc8sub x29, sp, 8
00028cccldr x1, [x0+32]
00028cd0subs xzr, x1, 1
00028cd4b.ne 0x28cf0
00028cd8bl runtime.(*mspan).base
00028cdcorr x1, xzr, 8192
00028ce0bl runtime.heapBitsSlice
00028ce4ldur x29, [sp-8]
00028ce8ldr x30, [sp], 32
00028cecret x30
00028cf0
00028cf0loc_28cf0:
00028cf0str x0, [sp+40]
00028cf4bl runtime.(*mspan).base
00028cf8ldr x1, [sp+40]
00028cfcldr x1, [x1+32]
00028d00ubfm x1, x1, 51, 50
00028d04bl runtime.heapBitsSlice
00028d08ldur x29, [sp-8]
00028d0cldr x30, [sp], 32
00028d10ret x30
00028d14udf 0
00028d18udf 0
00028d1cudf 0
00028cc0
00028d20
00028d20runtime.heapBitsSlice: ; void runtime.heapBitsSlice(uintptr spanBase, uintptr spanSize)
00028d20str x30, [sp-48]!
00028d24stur x29, [sp-8]
00028d28sub x29, sp, 8
00028d2cstp xzr, xzr, [sp+16]
00028d30str xzr, [sp+32]
00028d34ubfm x3, x1, 9, 63
00028d38add x4, x0, x1
00028d3csub x4, x4, x1, lsr #6
00028d40str x4, [sp+16]
00028d44str x3, [sp+24]
00028d48str x3, [sp+32]
00028d4cldr x0, [sp+16]
00028d50ldr x1, [sp+24]
00028d54ldr x2, [sp+32]
00028d58add x29, sp, 40
00028d5cadd sp, sp, 48
00028d60ret x30
00028d64udf 0
00028d68udf 0
00028d6cudf 0
00028d20
00028d20runtime.heapBitsSlice: ; void runtime.heapBitsSlice(uintptr spanBase, uintptr spanSize)
00028d20str x30, [sp-48]!
00028d24stur x29, [sp-8]
00028d28sub x29, sp, 8
00028d2cstp xzr, xzr, [sp+16]
00028d30str xzr, [sp+32]
00028d34ubfm x3, x1, 9, 63
00028d38add x4, x0, x1
00028d3csub x4, x4, x1, lsr #6
00028d40str x4, [sp+16]
00028d44str x3, [sp+24]
00028d48str x3, [sp+32]
00028d4cldr x0, [sp+16]
00028d50ldr x1, [sp+24]
00028d54ldr x2, [sp+32]
00028d58add x29, sp, 40
00028d5cadd sp, sp, 48
00028d60ret x30
00028d64udf 0
00028d68udf 0
00028d6cudf 0
00028d20
00028d70
00028d70runtime.(*mspan).heapBitsSmallForAddr: ; void runtime.(*mspan).heapBitsSmallForAddr(runtime.mspan * span, uintptr addr)
00028d70str x30, [sp-80]!
00028d74stur x29, [sp-8]
00028d78sub x29, sp, 8
00028d7cstr x0, [sp+88]
00028d80str x1, [sp+96]
00028d84ldr x1, [x0+32]
00028d88str x1, [sp+48]
00028d8cbl runtime.(*mspan).base
00028d90ldr x1, [sp+48]
00028d94ubfm x2, x1, 51, 50
00028d98add x1, x0, x1, lsl #13
00028d9csub x1, x1, x2, lsr #6
00028da0str x1, [sp+64]
00028da4ldr x0, [sp+88]
00028da8bl runtime.(*mspan).base
00028dacstr x0, [sp+48]
00028db0ldr x0, [sp+88]
00028db4bl runtime.(*mspan).base
00028db8ldr x1, [sp+96]
00028dbcldr x2, [sp+48]
00028dc0sub x2, x1, x2
00028dc4ubfm x2, x2, 9, 63
00028dc8str x2, [sp+32]
00028dccsub x1, x1, x0
00028dd0str x1, [sp+48]
00028dd4ubfm x1, x1, 3, 8
00028dd8str x1, [sp+24]
00028ddcldr x1, [sp+88]
00028de0ldr x1, [x1+104]
00028de4str x1, [sp+40]
00028de8ubfm x1, x2, 61, 60
00028decldr x0, [sp+64]
00028df0bl runtime.addb
00028df4str x0, [sp+56]
00028df8ldr x1, [sp+32]
00028dfcadd x1, x1, 1
00028e00ubfm x1, x1, 61, 60
00028e04ldr x0, [sp+64]
00028e08bl runtime.addb
00028e0cldr x1, [sp+24]
00028e10ldr x2, [sp+40]
00028e14add x3, x1, x2, lsr #3
00028e18ldr x4, [sp+48]
00028e1cubfm x4, x4, 3, 63
00028e20subs xzr, x3, 64
00028e24b.ls 0x28e70
00028e28orr x2, xzr, 64
00028e2csub x1, x2, x1
00028e30sub x2, x3, 64
00028e34ldr x3, [sp+56]
00028e38ldr x3, [x3]
00028e3clsrv x3, x3, x4
00028e40ldr x4, [x0]
00028e44orr x5, xzr, 1
00028e48lslv x5, x5, x2
00028e4csubs xzr, x2, 64
00028e50csel x2, x5, xzr, lo
00028e54sub x2, x2, 1
00028e58and x2, x2, x4
00028e5clslv x2, x2, x1
00028e60subs xzr, x1, 64
00028e64csel x1, x2, xzr, lo
00028e68orr x1, x3, x1
00028e6cb 0x28e98
00028e70
00028e70loc_28e70:
00028e70ubfm x2, x2, 3, 63
00028e74ldr x3, [sp+56]
00028e78ldr x3, [x3]
00028e7clsrv x3, x3, x4
00028e80orr x4, xzr, 1
00028e84lslv x4, x4, x2
00028e88subs xzr, x2, 64
00028e8ccsel x2, x4, xzr, lo
00028e90sub x2, x2, 1
00028e94and x1, x2, x3
00028e98
00028e98loc_28e98:
00028e98mov x0, x1
00028e9cldur x29, [sp-8]
00028ea0ldr x30, [sp], 80
00028ea4ret x30
00028ea8udf 0
00028eacudf 0
00028d70
00028d70runtime.(*mspan).heapBitsSmallForAddr: ; void runtime.(*mspan).heapBitsSmallForAddr(runtime.mspan * span, uintptr addr)
00028d70str x30, [sp-80]!
00028d74stur x29, [sp-8]
00028d78sub x29, sp, 8
00028d7cstr x0, [sp+88]
00028d80str x1, [sp+96]
00028d84ldr x1, [x0+32]
00028d88str x1, [sp+48]
00028d8cbl runtime.(*mspan).base
00028d90ldr x1, [sp+48]
00028d94ubfm x2, x1, 51, 50
00028d98add x1, x0, x1, lsl #13
00028d9csub x1, x1, x2, lsr #6
00028da0str x1, [sp+64]
00028da4ldr x0, [sp+88]
00028da8bl runtime.(*mspan).base
00028dacstr x0, [sp+48]
00028db0ldr x0, [sp+88]
00028db4bl runtime.(*mspan).base
00028db8ldr x1, [sp+96]
00028dbcldr x2, [sp+48]
00028dc0sub x2, x1, x2
00028dc4ubfm x2, x2, 9, 63
00028dc8str x2, [sp+32]
00028dccsub x1, x1, x0
00028dd0str x1, [sp+48]
00028dd4ubfm x1, x1, 3, 8
00028dd8str x1, [sp+24]
00028ddcldr x1, [sp+88]
00028de0ldr x1, [x1+104]
00028de4str x1, [sp+40]
00028de8ubfm x1, x2, 61, 60
00028decldr x0, [sp+64]
00028df0bl runtime.addb
00028df4str x0, [sp+56]
00028df8ldr x1, [sp+32]
00028dfcadd x1, x1, 1
00028e00ubfm x1, x1, 61, 60
00028e04ldr x0, [sp+64]
00028e08bl runtime.addb
00028e0cldr x1, [sp+24]
00028e10ldr x2, [sp+40]
00028e14add x3, x1, x2, lsr #3
00028e18ldr x4, [sp+48]
00028e1cubfm x4, x4, 3, 63
00028e20subs xzr, x3, 64
00028e24b.ls 0x28e70
00028e28orr x2, xzr, 64
00028e2csub x1, x2, x1
00028e30sub x2, x3, 64
00028e34ldr x3, [sp+56]
00028e38ldr x3, [x3]
00028e3clsrv x3, x3, x4
00028e40ldr x4, [x0]
00028e44orr x5, xzr, 1
00028e48lslv x5, x5, x2
00028e4csubs xzr, x2, 64
00028e50csel x2, x5, xzr, lo
00028e54sub x2, x2, 1
00028e58and x2, x2, x4
00028e5clslv x2, x2, x1
00028e60subs xzr, x1, 64
00028e64csel x1, x2, xzr, lo
00028e68orr x1, x3, x1
00028e6cb 0x28e98
00028e70
00028e70loc_28e70:
00028e70ubfm x2, x2, 3, 63
00028e74ldr x3, [sp+56]
00028e78ldr x3, [x3]
00028e7clsrv x3, x3, x4
00028e80orr x4, xzr, 1
00028e84lslv x4, x4, x2
00028e88subs xzr, x2, 64
00028e8ccsel x2, x4, xzr, lo
00028e90sub x2, x2, 1
00028e94and x1, x2, x3
00028e98
00028e98loc_28e98:
00028e98mov x0, x1
00028e9cldur x29, [sp-8]
00028ea0ldr x30, [sp], 80
00028ea4ret x30
00028ea8udf 0
00028eacudf 0
00028d70
00028eb0
00028eb0runtime.(*mspan).writeHeapBitsSmall: ; void runtime.(*mspan).writeHeapBitsSmall(runtime.mspan * span, uintptr x, uintptr dataSize, internal/abi.Type * typ)
00028eb0str x30, [sp-112]!
00028eb4stur x29, [sp-8]
00028eb8sub x29, sp, 8
00028ebcstr x0, [sp+120]
00028ec0str x1, [sp+128]
00028ec4str x2, [sp+136]
00028ec8str x3, [sp+144]
00028eccmov x0, x3
00028ed0bl runtime.getGCMask
00028ed4bl runtime.readUintptr
00028ed8ldr x1, [sp+144]
00028edcldr x2, [x1]
00028ee0ldr x1, [x1+8]
00028ee4subs xzr, x2, 8
00028ee8b.eq 0x28efc
00028eecldr x3, [sp+136]
00028ef0mov x4, x2
00028ef4mov x5, x0
00028ef8b 0x29084
00028efc
00028efcloc_28efc:
00028efcldr x2, [sp+136]
00028f00ubfm x2, x2, 3, 63
00028f04orr x3, xzr, 1
00028f08lslv x4, x3, x2
00028f0csubs xzr, x2, 64
00028f10csel x2, x4, xzr, lo
00028f14sub x2, x2, 1
00028f18
00028f18loc_28f18:
00028f18str x2, [sp+32]
00028f1cstr x1, [sp+80]
00028f20ldr x0, [sp+120]
00028f24bl runtime.(*mspan).base
00028f28movz x1, 8064
00028f2cadd x1, x1, x0
00028f30str x1, [sp+88]
00028f34ldr x0, [sp+120]
00028f38bl runtime.(*mspan).base
00028f3cldr x1, [sp+128]
00028f40sub x1, x1, x0
00028f44ubfm x2, x1, 3, 8
00028f48ldr x3, [sp+120]
00028f4cldr x3, [x3+104]
00028f50add x4, x2, x3, lsr #3
00028f54ubfm x5, x1, 3, 63
00028f58str x5, [sp+40]
00028f5cubfm x1, x1, 9, 63
00028f60subs xzr, x4, 64
00028f64b.ls 0x2900c
00028f68str x1, [sp+48]
00028f6corr x3, xzr, 64
00028f70sub x2, x3, x2
00028f74str x2, [sp+64]
00028f78sub x2, x4, 64
00028f7cstr x2, [sp+56]
00028f80ubfm x1, x1, 61, 60
00028f84ldr x0, [sp+88]
00028f88bl runtime.add
00028f8cstr x0, [sp+96]
00028f90ldr x2, [sp+48]
00028f94add x2, x2, 1
00028f98ubfm x1, x2, 61, 60
00028f9cldr x0, [sp+88]
00028fa0bl runtime.add
00028fa4ldr x2, [sp+96]
00028fa8ldr x3, [x2]
00028facmovn x4, 0
00028fb0ldr x5, [sp+64]
00028fb4lsrv x4, x4, x5
00028fb8ldr x6, [sp+32]
00028fbcldr x7, [sp+40]
00028fc0lslv x7, x6, x7
00028fc4orr x8, xzr, 1
00028fc8ldr x9, [sp+56]
00028fcclslv x8, x8, x9
00028fd0lsrv x6, x6, x5
00028fd4subs xzr, x9, 64
00028fd8csel x8, x8, xzr, lo
00028fdcsub x8, xzr, x8
00028fe0subs xzr, x5, 64
00028fe4csel x4, x4, xzr, lo
00028fe8csel x5, x6, xzr, lo
00028fecand x3, x3, x4
00028ff0orr x3, x3, x7
00028ff4str x3, [x2]
00028ff8ldr x2, [x0]
00028ffcand x2, x8, x2
00029000orr x2, x2, x5
00029004str x2, [x0]
00029008b 0x29058
0002900c
0002900cloc_2900c:
0002900cubfm x2, x3, 3, 63
00029010str x2, [sp+72]
00029014ubfm x1, x1, 61, 60
00029018ldr x0, [sp+88]
0002901cbl runtime.add
00029020ldr x2, [x0]
00029024orr x3, xzr, 1
00029028ldr x4, [sp+72]
0002902clslv x3, x3, x4
00029030ldr x5, [sp+32]
00029034ldr x6, [sp+40]
00029038lslv x5, x5, x6
0002903csubs xzr, x4, 64
00029040csel x3, x3, xzr, lo
00029044sub x3, x3, 1
00029048lslv x3, x3, x6
0002904cbic x2, x2, x3
00029050orr x2, x2, x5
00029054str x2, [x0]
00029058
00029058loc_29058:
00029058ldr x0, [sp+80]
0002905cldur x29, [sp-8]
00029060ldr x30, [sp], 112
00029064ret x30
00029068
00029068loc_29068:
00029068ubfm x6, x2, 3, 63
0002906clslv x7, x5, x6
00029070add x2, x2, x4
00029074add x1, x1, x4
00029078subs xzr, x6, 64
0002907ccsel x6, x7, xzr, lo
00029080orr x0, x0, x6
00029084
00029084loc_29084:
00029084subs xzr, x3, x2
00029088b.hi 0x29068
0002908cmov x2, x0
00029090b 0x28f18
00029094udf 0
00029098udf 0
0002909cudf 0
00028eb0
00028eb0runtime.(*mspan).writeHeapBitsSmall: ; void runtime.(*mspan).writeHeapBitsSmall(runtime.mspan * span, uintptr x, uintptr dataSize, internal/abi.Type * typ)
00028eb0str x30, [sp-112]!
00028eb4stur x29, [sp-8]
00028eb8sub x29, sp, 8
00028ebcstr x0, [sp+120]
00028ec0str x1, [sp+128]
00028ec4str x2, [sp+136]
00028ec8str x3, [sp+144]
00028eccmov x0, x3
00028ed0bl runtime.getGCMask
00028ed4bl runtime.readUintptr
00028ed8ldr x1, [sp+144]
00028edcldr x2, [x1]
00028ee0ldr x1, [x1+8]
00028ee4subs xzr, x2, 8
00028ee8b.eq 0x28efc
00028eecldr x3, [sp+136]
00028ef0mov x4, x2
00028ef4mov x5, x0
00028ef8b 0x29084
00028efc
00028efcloc_28efc:
00028efcldr x2, [sp+136]
00028f00ubfm x2, x2, 3, 63
00028f04orr x3, xzr, 1
00028f08lslv x4, x3, x2
00028f0csubs xzr, x2, 64
00028f10csel x2, x4, xzr, lo
00028f14sub x2, x2, 1
00028f18
00028f18loc_28f18:
00028f18str x2, [sp+32]
00028f1cstr x1, [sp+80]
00028f20ldr x0, [sp+120]
00028f24bl runtime.(*mspan).base
00028f28movz x1, 8064
00028f2cadd x1, x1, x0
00028f30str x1, [sp+88]
00028f34ldr x0, [sp+120]
00028f38bl runtime.(*mspan).base
00028f3cldr x1, [sp+128]
00028f40sub x1, x1, x0
00028f44ubfm x2, x1, 3, 8
00028f48ldr x3, [sp+120]
00028f4cldr x3, [x3+104]
00028f50add x4, x2, x3, lsr #3
00028f54ubfm x5, x1, 3, 63
00028f58str x5, [sp+40]
00028f5cubfm x1, x1, 9, 63
00028f60subs xzr, x4, 64
00028f64b.ls 0x2900c
00028f68str x1, [sp+48]
00028f6corr x3, xzr, 64
00028f70sub x2, x3, x2
00028f74str x2, [sp+64]
00028f78sub x2, x4, 64
00028f7cstr x2, [sp+56]
00028f80ubfm x1, x1, 61, 60
00028f84ldr x0, [sp+88]
00028f88bl runtime.add
00028f8cstr x0, [sp+96]
00028f90ldr x2, [sp+48]
00028f94add x2, x2, 1
00028f98ubfm x1, x2, 61, 60
00028f9cldr x0, [sp+88]
00028fa0bl runtime.add
00028fa4ldr x2, [sp+96]
00028fa8ldr x3, [x2]
00028facmovn x4, 0
00028fb0ldr x5, [sp+64]
00028fb4lsrv x4, x4, x5
00028fb8ldr x6, [sp+32]
00028fbcldr x7, [sp+40]
00028fc0lslv x7, x6, x7
00028fc4orr x8, xzr, 1
00028fc8ldr x9, [sp+56]
00028fcclslv x8, x8, x9
00028fd0lsrv x6, x6, x5
00028fd4subs xzr, x9, 64
00028fd8csel x8, x8, xzr, lo
00028fdcsub x8, xzr, x8
00028fe0subs xzr, x5, 64
00028fe4csel x4, x4, xzr, lo
00028fe8csel x5, x6, xzr, lo
00028fecand x3, x3, x4
00028ff0orr x3, x3, x7
00028ff4str x3, [x2]
00028ff8ldr x2, [x0]
00028ffcand x2, x8, x2
00029000orr x2, x2, x5
00029004str x2, [x0]
00029008b 0x29058
0002900c
0002900cloc_2900c:
0002900cubfm x2, x3, 3, 63
00029010str x2, [sp+72]
00029014ubfm x1, x1, 61, 60
00029018ldr x0, [sp+88]
0002901cbl runtime.add
00029020ldr x2, [x0]
00029024orr x3, xzr, 1
00029028ldr x4, [sp+72]
0002902clslv x3, x3, x4
00029030ldr x5, [sp+32]
00029034ldr x6, [sp+40]
00029038lslv x5, x5, x6
0002903csubs xzr, x4, 64
00029040csel x3, x3, xzr, lo
00029044sub x3, x3, 1
00029048lslv x3, x3, x6
0002904cbic x2, x2, x3
00029050orr x2, x2, x5
00029054str x2, [x0]
00029058
00029058loc_29058:
00029058ldr x0, [sp+80]
0002905cldur x29, [sp-8]
00029060ldr x30, [sp], 112
00029064ret x30
00029068
00029068loc_29068:
00029068ubfm x6, x2, 3, 63
0002906clslv x7, x5, x6
00029070add x2, x2, x4
00029074add x1, x1, x4
00029078subs xzr, x6, 64
0002907ccsel x6, x7, xzr, lo
00029080orr x0, x0, x6
00029084
00029084loc_29084:
00029084subs xzr, x3, x2
00029088b.hi 0x29068
0002908cmov x2, x0
00029090b 0x28f18
00029094udf 0
00029098udf 0
0002909cudf 0
00028eb0
000290a0
000290a0runtime.heapSetTypeNoHeader: ; void runtime.heapSetTypeNoHeader(uintptr x, uintptr dataSize, internal/abi.Type * typ, runtime.mspan * span)
000290a0ldr x16, [x28+16]
000290a4subs xzr, sp, x16
000290a8b.ls 0x290e4
000290acstr x30, [sp-48]!
000290b0stur x29, [sp-8]
000290b4sub x29, sp, 8
000290b8mov x4, x0
000290bcmov x0, x3
000290c0mov x5, x1
000290c4mov x1, x4
000290c8mov x6, x2
000290ccmov x2, x5
000290d0mov x3, x6
000290d4bl runtime.(*mspan).writeHeapBitsSmall
000290d8ldur x29, [sp-8]
000290dcldr x30, [sp], 48
000290e0ret x30
000290e4
000290e4loc_290e4:
000290e4stp x0, x1, [sp+8]
000290e8stp x2, x3, [sp+24]
000290ecmov x3, x30
000290f0bl runtime.morestack_noctxt.abi0
000290f4ldp x0, x1, [sp+8]
000290f8ldp x2, x3, [sp+24]
000290fcb 0x290a0
000290a0
000290a0runtime.heapSetTypeNoHeader: ; void runtime.heapSetTypeNoHeader(uintptr x, uintptr dataSize, internal/abi.Type * typ, runtime.mspan * span)
000290a0ldr x16, [x28+16]
000290a4subs xzr, sp, x16
000290a8b.ls 0x290e4
000290acstr x30, [sp-48]!
000290b0stur x29, [sp-8]
000290b4sub x29, sp, 8
000290b8mov x4, x0
000290bcmov x0, x3
000290c0mov x5, x1
000290c4mov x1, x4
000290c8mov x6, x2
000290ccmov x2, x5
000290d0mov x3, x6
000290d4bl runtime.(*mspan).writeHeapBitsSmall
000290d8ldur x29, [sp-8]
000290dcldr x30, [sp], 48
000290e0ret x30
000290e4
000290e4loc_290e4:
000290e4stp x0, x1, [sp+8]
000290e8stp x2, x3, [sp+24]
000290ecmov x3, x30
000290f0bl runtime.morestack_noctxt.abi0
000290f4ldp x0, x1, [sp+8]
000290f8ldp x2, x3, [sp+24]
000290fcb 0x290a0
000290a0
00029100
00029100runtime.heapSetTypeSmallHeader: ; void runtime.heapSetTypeSmallHeader(uintptr x, uintptr dataSize, internal/abi.Type * typ, internal/abi.Type ** header, runtime.mspan * span)
00029100ldr x16, [x28+16]
00029104subs xzr, sp, x16
00029108b.ls 0x2914c
0002910cstr x30, [sp-16]!
00029110stur x29, [sp-8]
00029114sub x29, sp, 8
00029118ldrsb x27, [x3]
0002911cadrp x27, 0xa22000
00029120ldr w1, [x27+3056]
00029124cbz w1, 0x29138
00029128bl runtime.gcWriteBarrier2
0002912cstr x2, [x25]
00029130ldr x1, [x3]
00029134str x1, [x25+8]
00029138
00029138loc_29138:
00029138str x2, [x3]
0002913cldr x0, [x4+104]
00029140ldur x29, [sp-8]
00029144ldr x30, [sp], 16
00029148ret x30
0002914c
0002914cloc_2914c:
0002914cstp x0, x1, [sp+8]
00029150stp x2, x3, [sp+24]
00029154str x4, [sp+40]
00029158mov x3, x30
0002915cbl runtime.morestack_noctxt.abi0
00029160ldp x0, x1, [sp+8]
00029164ldp x2, x3, [sp+24]
00029168ldr x4, [sp+40]
0002916cb 0x29100
00029100
00029100runtime.heapSetTypeSmallHeader: ; void runtime.heapSetTypeSmallHeader(uintptr x, uintptr dataSize, internal/abi.Type * typ, internal/abi.Type ** header, runtime.mspan * span)
00029100ldr x16, [x28+16]
00029104subs xzr, sp, x16
00029108b.ls 0x2914c
0002910cstr x30, [sp-16]!
00029110stur x29, [sp-8]
00029114sub x29, sp, 8
00029118ldrsb x27, [x3]
0002911cadrp x27, 0xa22000
00029120ldr w1, [x27+3056]
00029124cbz w1, 0x29138
00029128bl runtime.gcWriteBarrier2
0002912cstr x2, [x25]
00029130ldr x1, [x3]
00029134str x1, [x25+8]
00029138
00029138loc_29138:
00029138str x2, [x3]
0002913cldr x0, [x4+104]
00029140ldur x29, [sp-8]
00029144ldr x30, [sp], 16
00029148ret x30
0002914c
0002914cloc_2914c:
0002914cstp x0, x1, [sp+8]
00029150stp x2, x3, [sp+24]
00029154str x4, [sp+40]
00029158mov x3, x30
0002915cbl runtime.morestack_noctxt.abi0
00029160ldp x0, x1, [sp+8]
00029164ldp x2, x3, [sp+24]
00029168ldr x4, [sp+40]
0002916cb 0x29100
00029100
00029170
00029170runtime.heapSetTypeLarge: ; void runtime.heapSetTypeLarge(uintptr x, uintptr dataSize, internal/abi.Type * typ, runtime.mspan * span)
00029170ldr x16, [x28+16]
00029174subs xzr, sp, x16
00029178b.ls 0x291bc
0002917cstr x30, [sp-16]!
00029180stur x29, [sp-8]
00029184sub x29, sp, 8
00029188ldrsb x27, [x3]
0002918cadrp x27, 0xa22000
00029190ldr w1, [x27+3056]
00029194cbz w1, 0x291a8
00029198bl runtime.gcWriteBarrier2
0002919cstr x2, [x25]
000291a0ldr x1, [x3+152]
000291a4str x1, [x25+8]
000291a8
000291a8loc_291a8:
000291a8str x2, [x3+152]
000291acldr x0, [x3+104]
000291b0ldur x29, [sp-8]
000291b4ldr x30, [sp], 16
000291b8ret x30
000291bc
000291bcloc_291bc:
000291bcstp x0, x1, [sp+8]
000291c0stp x2, x3, [sp+24]
000291c4mov x3, x30
000291c8bl runtime.morestack_noctxt.abi0
000291ccldp x0, x1, [sp+8]
000291d0ldp x2, x3, [sp+24]
000291d4b 0x29170
000291d8udf 0
000291dcudf 0
00029170
00029170runtime.heapSetTypeLarge: ; void runtime.heapSetTypeLarge(uintptr x, uintptr dataSize, internal/abi.Type * typ, runtime.mspan * span)
00029170ldr x16, [x28+16]
00029174subs xzr, sp, x16
00029178b.ls 0x291bc
0002917cstr x30, [sp-16]!
00029180stur x29, [sp-8]
00029184sub x29, sp, 8
00029188ldrsb x27, [x3]
0002918cadrp x27, 0xa22000
00029190ldr w1, [x27+3056]
00029194cbz w1, 0x291a8
00029198bl runtime.gcWriteBarrier2
0002919cstr x2, [x25]
000291a0ldr x1, [x3+152]
000291a4str x1, [x25+8]
000291a8
000291a8loc_291a8:
000291a8str x2, [x3+152]
000291acldr x0, [x3+104]
000291b0ldur x29, [sp-8]
000291b4ldr x30, [sp], 16
000291b8ret x30
000291bc
000291bcloc_291bc:
000291bcstp x0, x1, [sp+8]
000291c0stp x2, x3, [sp+24]
000291c4mov x3, x30
000291c8bl runtime.morestack_noctxt.abi0
000291ccldp x0, x1, [sp+8]
000291d0ldp x2, x3, [sp+24]
000291d4b 0x29170
000291d8udf 0
000291dcudf 0
00029170
000291e0
000291e0runtime.addb: ; void runtime.addb(uint8 * p, uintptr n)
000291e0add x0, x0, x1
000291e4ret x30
000291e8udf 0
000291ecudf 0
000291e0
000291e0runtime.addb: ; void runtime.addb(uint8 * p, uintptr n)
000291e0add x0, x0, x1
000291e4ret x30
000291e8udf 0
000291ecudf 0
000291e0
000291f0
000291f0runtime.subtractb: ; void runtime.subtractb(uint8 * p, uintptr n)
000291f0sub x0, x0, x1
000291f4ret x30
000291f8udf 0
000291fcudf 0
000291f0
000291f0runtime.subtractb: ; void runtime.subtractb(uint8 * p, uintptr n)
000291f0sub x0, x0, x1
000291f4ret x30
000291f8udf 0
000291fcudf 0
000291f0
00029200
00029200runtime.add1: ; void runtime.add1(uint8 * p)
00029200add x0, x0, 1
00029204ret x30
00029208udf 0
0002920cudf 0
00029200
00029200runtime.add1: ; void runtime.add1(uint8 * p)
00029200add x0, x0, 1
00029204ret x30
00029208udf 0
0002920cudf 0
00029200
00029210
00029210runtime.subtract1: ; void runtime.subtract1(uint8 * p)
00029210sub x0, x0, 1
00029214ret x30
00029218udf 0
0002921cudf 0
00029210
00029210runtime.subtract1: ; void runtime.subtract1(uint8 * p)
00029210sub x0, x0, 1
00029214ret x30
00029218udf 0
0002921cudf 0
00029210
00029220
00029220runtime.(*mspan).allocBitsForIndex: ; void runtime.(*mspan).allocBitsForIndex(runtime.mspan * s, uintptr allocBitIndex)
00029220str x30, [sp-32]!
00029224stur x29, [sp-8]
00029228sub x29, sp, 8
0002922cstr x1, [sp+48]
00029230ldr x0, [x0+64]
00029234bl runtime.(*gcBits).bitp
00029238ldr x2, [sp+48]
0002923cldur x29, [sp-8]
00029240ldr x30, [sp], 32
00029244ret x30
00029248udf 0
0002924cudf 0
00029220
00029220runtime.(*mspan).allocBitsForIndex: ; void runtime.(*mspan).allocBitsForIndex(runtime.mspan * s, uintptr allocBitIndex)
00029220str x30, [sp-32]!
00029224stur x29, [sp-8]
00029228sub x29, sp, 8
0002922cstr x1, [sp+48]
00029230ldr x0, [x0+64]
00029234bl runtime.(*gcBits).bitp
00029238ldr x2, [sp+48]
0002923cldur x29, [sp-8]
00029240ldr x30, [sp], 32
00029244ret x30
00029248udf 0
0002924cudf 0
00029220
00029250
00029250runtime.(*mspan).refillAllocCache: ; void runtime.(*mspan).refillAllocCache(runtime.mspan * s, uint16 whichByte)
00029250ldr x16, [x28+16]
00029254subs xzr, sp, x16
00029258b.ls 0x29294
0002925cstr x30, [sp-32]!
00029260stur x29, [sp-8]
00029264sub x29, sp, 8
00029268str x0, [sp+40]
0002926cldr x0, [x0+64]
00029270ubfm x1, x1, 0, 15
00029274bl runtime.(*gcBits).bytep
00029278ldr x2, [x0]
0002927corn x2, xzr, x2
00029280ldr x3, [sp+40]
00029284str x2, [x3+56]
00029288ldur x29, [sp-8]
0002928cldr x30, [sp], 32
00029290ret x30
00029294
00029294loc_29294:
00029294str x0, [sp+8]
00029298strh w1, [sp+16]
0002929cmov x3, x30
000292a0bl runtime.morestack_noctxt.abi0
000292a4ldr x0, [sp+8]
000292a8ldrh w1, [sp+16]
000292acb 0x29250
00029250
00029250runtime.(*mspan).refillAllocCache: ; void runtime.(*mspan).refillAllocCache(runtime.mspan * s, uint16 whichByte)
00029250ldr x16, [x28+16]
00029254subs xzr, sp, x16
00029258b.ls 0x29294
0002925cstr x30, [sp-32]!
00029260stur x29, [sp-8]
00029264sub x29, sp, 8
00029268str x0, [sp+40]
0002926cldr x0, [x0+64]
00029270ubfm x1, x1, 0, 15
00029274bl runtime.(*gcBits).bytep
00029278ldr x2, [x0]
0002927corn x2, xzr, x2
00029280ldr x3, [sp+40]
00029284str x2, [x3+56]
00029288ldur x29, [sp-8]
0002928cldr x30, [sp], 32
00029290ret x30
00029294
00029294loc_29294:
00029294str x0, [sp+8]
00029298strh w1, [sp+16]
0002929cmov x3, x30
000292a0bl runtime.morestack_noctxt.abi0
000292a4ldr x0, [sp+8]
000292a8ldrh w1, [sp+16]
000292acb 0x29250
00029250
000292b0
000292b0runtime.(*mspan).nextFreeIndex: ; void runtime.(*mspan).nextFreeIndex(runtime.mspan * s)
000292b0ldr x16, [x28+16]
000292b4subs xzr, sp, x16
000292b8b.ls 0x29408
000292bcstr x30, [sp-48]!
000292c0stur x29, [sp-8]
000292c4sub x29, sp, 8
000292c8ldrh w2, [x0+48]
000292ccldrh w3, [x0+50]
000292d0mov x4, x3
000292d4mov x5, x2
000292d8subs wzr, w5, w4
000292dcb.eq 0x29300
000292e0b.hi 0x293f4
000292e4str x0, [sp+56]
000292e8strh w3, [sp+30]
000292ecstr w4, [sp+36]
000292f0ldr x5, [x0+56]
000292f4rbit x5, x5
000292f8clz x5, x5
000292fcb 0x29344
00029300
00029300loc_29300:
00029300mov x0, x2
00029304ldur x29, [sp-8]
00029308ldr x30, [sp], 48
0002930cret x30
00029310
00029310loc_29310:
00029310and x2, x2, -64
00029314strh w2, [sp+32]
00029318ubfm x1, x2, 3, 15
0002931cbl runtime.(*mspan).refillAllocCache
00029320ldr x0, [sp+56]
00029324ldr x2, [x0+56]
00029328rbit x2, x2
0002932cclz x5, x2
00029330ldr w2, [sp+36]
00029334ldrh w3, [sp+32]
00029338ldrh w3, [sp+30]
0002933cmov x4, x2
00029340ldrh w2, [sp+32]
00029344
00029344loc_29344:
00029344subs xzr, x5, 64
00029348b.ne 0x29370
0002934cadd x2, x2, 64
00029350and x5, x2, 65472
00029354subs wzr, w4, w5
00029358b.hi 0x29310
0002935cstrh w3, [x0+48]
00029360mov x0, x3
00029364ldur x29, [sp-8]
00029368ldr x30, [sp], 48
0002936cret x30
00029370
00029370loc_29370:
00029370add x2, x2, x5
00029374ubfm x6, x2, 0, 15
00029378subs wzr, w4, w6
0002937cb.ls 0x293e0
00029380ldr x3, [x0+56]
00029384add x5, x5, 1
00029388lsrv x3, x3, x5
0002938cadd x6, x2, 1
00029390subs xzr, x5, 64
00029394csel x3, x3, xzr, lo
00029398str x3, [x0+56]
0002939cands wzr, w6, 63
000293a0b.ne 0x293cc
000293a4ubfm x3, x6, 0, 15
000293a8subs wzr, w3, w4
000293acb.eq 0x293cc
000293b0strh w2, [sp+34]
000293b4strh w6, [sp+32]
000293b8ubfm x1, x6, 3, 15
000293bcbl runtime.(*mspan).refillAllocCache
000293c0ldr x0, [sp+56]
000293c4ldrh w2, [sp+34]
000293c8ldrh w6, [sp+32]
000293cc
000293ccloc_293cc:
000293ccstrh w6, [x0+48]
000293d0mov x0, x2
000293d4ldur x29, [sp-8]
000293d8ldr x30, [sp], 48
000293dcret x30
000293e0
000293e0loc_293e0:
000293e0strh w3, [x0+48]
000293e4mov x0, x3
000293e8ldur x29, [sp-8]
000293ecldr x30, [sp], 48
000293f0ret x30
000293f4
000293f4loc_293f4:
000293f4adrp x0, 0x68e000
000293f8add x0, x0, 2468
000293fcmovz x1, 22
00029400bl runtime.throw
00029404hint
00029408
00029408loc_29408:
00029408str x0, [sp+8]
0002940cmov x3, x30
00029410bl runtime.morestack_noctxt.abi0
00029414ldr x0, [sp+8]
00029418b 0x292b0
0002941cudf 0
000292b0
000292b0runtime.(*mspan).nextFreeIndex: ; void runtime.(*mspan).nextFreeIndex(runtime.mspan * s)
000292b0ldr x16, [x28+16]
000292b4subs xzr, sp, x16
000292b8b.ls 0x29408
000292bcstr x30, [sp-48]!
000292c0stur x29, [sp-8]
000292c4sub x29, sp, 8
000292c8ldrh w2, [x0+48]
000292ccldrh w3, [x0+50]
000292d0mov x4, x3
000292d4mov x5, x2
000292d8subs wzr, w5, w4
000292dcb.eq 0x29300
000292e0b.hi 0x293f4
000292e4str x0, [sp+56]
000292e8strh w3, [sp+30]
000292ecstr w4, [sp+36]
000292f0ldr x5, [x0+56]
000292f4rbit x5, x5
000292f8clz x5, x5
000292fcb 0x29344
00029300
00029300loc_29300:
00029300mov x0, x2
00029304ldur x29, [sp-8]
00029308ldr x30, [sp], 48
0002930cret x30
00029310
00029310loc_29310:
00029310and x2, x2, -64
00029314strh w2, [sp+32]
00029318ubfm x1, x2, 3, 15
0002931cbl runtime.(*mspan).refillAllocCache
00029320ldr x0, [sp+56]
00029324ldr x2, [x0+56]
00029328rbit x2, x2
0002932cclz x5, x2
00029330ldr w2, [sp+36]
00029334ldrh w3, [sp+32]
00029338ldrh w3, [sp+30]
0002933cmov x4, x2
00029340ldrh w2, [sp+32]
00029344
00029344loc_29344:
00029344subs xzr, x5, 64
00029348b.ne 0x29370
0002934cadd x2, x2, 64
00029350and x5, x2, 65472
00029354subs wzr, w4, w5
00029358b.hi 0x29310
0002935cstrh w3, [x0+48]
00029360mov x0, x3
00029364ldur x29, [sp-8]
00029368ldr x30, [sp], 48
0002936cret x30
00029370
00029370loc_29370:
00029370add x2, x2, x5
00029374ubfm x6, x2, 0, 15
00029378subs wzr, w4, w6
0002937cb.ls 0x293e0
00029380ldr x3, [x0+56]
00029384add x5, x5, 1
00029388lsrv x3, x3, x5
0002938cadd x6, x2, 1
00029390subs xzr, x5, 64
00029394csel x3, x3, xzr, lo
00029398str x3, [x0+56]
0002939cands wzr, w6, 63
000293a0b.ne 0x293cc
000293a4ubfm x3, x6, 0, 15
000293a8subs wzr, w3, w4
000293acb.eq 0x293cc
000293b0strh w2, [sp+34]
000293b4strh w6, [sp+32]
000293b8ubfm x1, x6, 3, 15
000293bcbl runtime.(*mspan).refillAllocCache
000293c0ldr x0, [sp+56]
000293c4ldrh w2, [sp+34]
000293c8ldrh w6, [sp+32]
000293cc
000293ccloc_293cc:
000293ccstrh w6, [x0+48]
000293d0mov x0, x2
000293d4ldur x29, [sp-8]
000293d8ldr x30, [sp], 48
000293dcret x30
000293e0
000293e0loc_293e0:
000293e0strh w3, [x0+48]
000293e4mov x0, x3
000293e8ldur x29, [sp-8]
000293ecldr x30, [sp], 48
000293f0ret x30
000293f4
000293f4loc_293f4:
000293f4adrp x0, 0x68e000
000293f8add x0, x0, 2468
000293fcmovz x1, 22
00029400bl runtime.throw
00029404hint
00029408
00029408loc_29408:
00029408str x0, [sp+8]
0002940cmov x3, x30
00029410bl runtime.morestack_noctxt.abi0
00029414ldr x0, [sp+8]
00029418b 0x292b0
0002941cudf 0
000292b0
00029420
00029420runtime.(*mspan).isFree: ; void runtime.(*mspan).isFree(runtime.mspan * s, uintptr index)
00029420ldr x16, [x28+16]
00029424subs xzr, sp, x16
00029428b.ls 0x2947c
0002942cstr x30, [sp-32]!
00029430stur x29, [sp-8]
00029434sub x29, sp, 8
00029438ldrh w2, [x0+52]
0002943csubs xzr, x1, x2
00029440b.hs 0x29454
00029444mov x0, xzr
00029448ldur x29, [sp-8]
0002944cldr x30, [sp], 32
00029450ret x30
00029454
00029454loc_29454:
00029454ldr x0, [x0+64]
00029458bl runtime.(*gcBits).bitp
0002945cldrb w2, [x0]
00029460and x2, x2, x1
00029464ubfm x2, x2, 0, 7
00029468subs wzr, w2, 0
0002946ccset x0, eq
00029470ldur x29, [sp-8]
00029474ldr x30, [sp], 32
00029478ret x30
0002947c
0002947cloc_2947c:
0002947cstp x0, x1, [sp+8]
00029480mov x3, x30
00029484bl runtime.morestack_noctxt.abi0
00029488ldp x0, x1, [sp+8]
0002948cb 0x29420
00029420
00029420runtime.(*mspan).isFree: ; void runtime.(*mspan).isFree(runtime.mspan * s, uintptr index)
00029420ldr x16, [x28+16]
00029424subs xzr, sp, x16
00029428b.ls 0x2947c
0002942cstr x30, [sp-32]!
00029430stur x29, [sp-8]
00029434sub x29, sp, 8
00029438ldrh w2, [x0+52]
0002943csubs xzr, x1, x2
00029440b.hs 0x29454
00029444mov x0, xzr
00029448ldur x29, [sp-8]
0002944cldr x30, [sp], 32
00029450ret x30
00029454
00029454loc_29454:
00029454ldr x0, [x0+64]
00029458bl runtime.(*gcBits).bitp
0002945cldrb w2, [x0]
00029460and x2, x2, x1
00029464ubfm x2, x2, 0, 7
00029468subs wzr, w2, 0
0002946ccset x0, eq
00029470ldur x29, [sp-8]
00029474ldr x30, [sp], 32
00029478ret x30
0002947c
0002947cloc_2947c:
0002947cstp x0, x1, [sp+8]
00029480mov x3, x30
00029484bl runtime.morestack_noctxt.abi0
00029488ldp x0, x1, [sp+8]
0002948cb 0x29420
00029420
00029490
00029490runtime.(*mspan).divideByElemSize: ; void runtime.(*mspan).divideByElemSize(runtime.mspan * s, uintptr n)
00029490ldr w2, [x0+92]
00029494madd x1, x1, x2, xzr
00029498ubfm x0, x1, 32, 63
0002949cret x30
00029490
00029490runtime.(*mspan).divideByElemSize: ; void runtime.(*mspan).divideByElemSize(runtime.mspan * s, uintptr n)
00029490ldr w2, [x0+92]
00029494madd x1, x1, x2, xzr
00029498ubfm x0, x1, 32, 63
0002949cret x30
00029490
000294a0
000294a0runtime.(*mspan).objIndex: ; void runtime.(*mspan).objIndex(runtime.mspan * s, uintptr p)
000294a0str x30, [sp-32]!
000294a4stur x29, [sp-8]
000294a8sub x29, sp, 8
000294acstr x0, [sp+40]
000294b0str x1, [sp+48]
000294b4bl runtime.(*mspan).base
000294b8ldr x1, [sp+48]
000294bcsub x1, x1, x0
000294c0ldr x0, [sp+40]
000294c4bl runtime.(*mspan).divideByElemSize
000294c8ldur x29, [sp-8]
000294ccldr x30, [sp], 32
000294d0ret x30
000294d4udf 0
000294d8udf 0
000294dcudf 0
000294a0
000294a0runtime.(*mspan).objIndex: ; void runtime.(*mspan).objIndex(runtime.mspan * s, uintptr p)
000294a0str x30, [sp-32]!
000294a4stur x29, [sp-8]
000294a8sub x29, sp, 8
000294acstr x0, [sp+40]
000294b0str x1, [sp+48]
000294b4bl runtime.(*mspan).base
000294b8ldr x1, [sp+48]
000294bcsub x1, x1, x0
000294c0ldr x0, [sp+40]
000294c4bl runtime.(*mspan).divideByElemSize
000294c8ldur x29, [sp-8]
000294ccldr x30, [sp], 32
000294d0ret x30
000294d4udf 0
000294d8udf 0
000294dcudf 0
000294a0
000294e0
000294e0runtime.(*mspan).markBitsForIndex: ; void runtime.(*mspan).markBitsForIndex(runtime.mspan * s, uintptr objIndex)
000294e0ldr x16, [x28+16]
000294e4subs xzr, sp, x16
000294e8b.ls 0x29514
000294ecstr x30, [sp-32]!
000294f0stur x29, [sp-8]
000294f4sub x29, sp, 8
000294f8str x1, [sp+48]
000294fcldr x0, [x0+72]
00029500bl runtime.(*gcBits).bitp
00029504ldr x2, [sp+48]
00029508ldur x29, [sp-8]
0002950cldr x30, [sp], 32
00029510ret x30
00029514
00029514loc_29514:
00029514stp x0, x1, [sp+8]
00029518mov x3, x30
0002951cbl runtime.morestack_noctxt.abi0
00029520ldp x0, x1, [sp+8]
00029524b 0x294e0
00029528udf 0
0002952cudf 0
000294e0
000294e0runtime.(*mspan).markBitsForIndex: ; void runtime.(*mspan).markBitsForIndex(runtime.mspan * s, uintptr objIndex)
000294e0ldr x16, [x28+16]
000294e4subs xzr, sp, x16
000294e8b.ls 0x29514
000294ecstr x30, [sp-32]!
000294f0stur x29, [sp-8]
000294f4sub x29, sp, 8
000294f8str x1, [sp+48]
000294fcldr x0, [x0+72]
00029500bl runtime.(*gcBits).bitp
00029504ldr x2, [sp+48]
00029508ldur x29, [sp-8]
0002950cldr x30, [sp], 32
00029510ret x30
00029514
00029514loc_29514:
00029514stp x0, x1, [sp+8]
00029518mov x3, x30
0002951cbl runtime.morestack_noctxt.abi0
00029520ldp x0, x1, [sp+8]
00029524b 0x294e0
00029528udf 0
0002952cudf 0
000294e0
00029530
00029530runtime.(*mspan).markBitsForBase: ; void runtime.(*mspan).markBitsForBase(runtime.mspan * s)
00029530ldr x0, [x0+72]
00029534ldrsb x27, [x0]
00029538orr x1, xzr, 1
0002953cmov x2, xzr
00029540ret x30
00029544udf 0
00029548udf 0
0002954cudf 0
00029530
00029530runtime.(*mspan).markBitsForBase: ; void runtime.(*mspan).markBitsForBase(runtime.mspan * s)
00029530ldr x0, [x0+72]
00029534ldrsb x27, [x0]
00029538orr x1, xzr, 1
0002953cmov x2, xzr
00029540ret x30
00029544udf 0
00029548udf 0
0002954cudf 0
00029530
00029550
00029550runtime.markBits.isMarked: ; void runtime.markBits.isMarked(runtime.markBits m)
00029550str x0, [sp+8]
00029554ldrb w2, [x0]
00029558and x1, x2, x1
0002955cubfm x1, x1, 0, 7
00029560subs wzr, w1, 0
00029564cset x0, ne
00029568ret x30
0002956cudf 0
00029550
00029550runtime.markBits.isMarked: ; void runtime.markBits.isMarked(runtime.markBits m)
00029550str x0, [sp+8]
00029554ldrb w2, [x0]
00029558and x1, x2, x1
0002955cubfm x1, x1, 0, 7
00029560subs wzr, w1, 0
00029564cset x0, ne
00029568ret x30
0002956cudf 0
00029550
00029570
00029570runtime.markBits.setMarked: ; void runtime.markBits.setMarked(runtime.markBits m)
00029570str x0, [sp+8]
00029574adrp x27, 0xa22000
00029578ldrb w2, [x27+1516]
0002957ctbz w2, 0, 0x29588
00029580ldsetalb w1, w2, [x0]
00029584b 0x29598
00029588
00029588loc_29588:
00029588ldaxrb w3, [x0]
0002958corr x2, x3, x1
00029590stlxrb w27, w2, [x0]
00029594cbnz x27, 0x29588
00029598
00029598loc_29598:
00029598ret x30
0002959cudf 0
00029570
00029570runtime.markBits.setMarked: ; void runtime.markBits.setMarked(runtime.markBits m)
00029570str x0, [sp+8]
00029574adrp x27, 0xa22000
00029578ldrb w2, [x27+1516]
0002957ctbz w2, 0, 0x29588
00029580ldsetalb w1, w2, [x0]
00029584b 0x29598
00029588
00029588loc_29588:
00029588ldaxrb w3, [x0]
0002958corr x2, x3, x1
00029590stlxrb w27, w2, [x0]
00029594cbnz x27, 0x29588
00029598
00029598loc_29598:
00029598ret x30
0002959cudf 0
00029570
Loading..