File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
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
000295a0
000295a0runtime.markBits.setMarkedNonAtomic: ; void runtime.markBits.setMarkedNonAtomic(runtime.markBits m)
000295a0str x0, [sp+8]
000295a4ldrb w2, [x0]
000295a8orr x1, x2, x1
000295acstrb w1, [x0]
000295b0ret x30
000295b4udf 0
000295b8udf 0
000295bcudf 0
000295a0
000295a0runtime.markBits.setMarkedNonAtomic: ; void runtime.markBits.setMarkedNonAtomic(runtime.markBits m)
000295a0str x0, [sp+8]
000295a4ldrb w2, [x0]
000295a8orr x1, x2, x1
000295acstrb w1, [x0]
000295b0ret x30
000295b4udf 0
000295b8udf 0
000295bcudf 0
000295a0
000295c0
000295c0runtime.(*markBits).advance: ; void runtime.(*markBits).advance(runtime.markBits * m)
000295c0ldr x16, [x28+16]
000295c4subs xzr, sp, x16
000295c8b.ls 0x2963c
000295ccstr x30, [sp-16]!
000295d0stur x29, [sp-8]
000295d4sub x29, sp, 8
000295d8ldrb w1, [x0+8]
000295dcmov x2, x1
000295e0subs wzr, w2, 128
000295e4b.ne 0x2961c
000295e8ldr x1, [x0]
000295ecadd x1, x1, 1
000295f0adrp x27, 0xa22000
000295f4ldr w2, [x27+3056]
000295f8cbz w2, 0x2960c
000295fcbl runtime.gcWriteBarrier2
00029600str x1, [x25]
00029604ldr x2, [x0]
00029608str x2, [x25+8]
0002960c
0002960cloc_2960c:
0002960cstr x1, [x0]
00029610orr x1, xzr, 1
00029614strb w1, [x0+8]
00029618b 0x29624
0002961c
0002961cloc_2961c:
0002961cubfm x1, x1, 63, 62
00029620strb w1, [x0+8]
00029624
00029624loc_29624:
00029624ldr x1, [x0+16]
00029628add x1, x1, 1
0002962cstr x1, [x0+16]
00029630ldur x29, [sp-8]
00029634ldr x30, [sp], 16
00029638ret x30
0002963c
0002963cloc_2963c:
0002963cstr x0, [sp+8]
00029640mov x3, x30
00029644bl runtime.morestack_noctxt.abi0
00029648ldr x0, [sp+8]
0002964cb 0x295c0
000295c0
000295c0runtime.(*markBits).advance: ; void runtime.(*markBits).advance(runtime.markBits * m)
000295c0ldr x16, [x28+16]
000295c4subs xzr, sp, x16
000295c8b.ls 0x2963c
000295ccstr x30, [sp-16]!
000295d0stur x29, [sp-8]
000295d4sub x29, sp, 8
000295d8ldrb w1, [x0+8]
000295dcmov x2, x1
000295e0subs wzr, w2, 128
000295e4b.ne 0x2961c
000295e8ldr x1, [x0]
000295ecadd x1, x1, 1
000295f0adrp x27, 0xa22000
000295f4ldr w2, [x27+3056]
000295f8cbz w2, 0x2960c
000295fcbl runtime.gcWriteBarrier2
00029600str x1, [x25]
00029604ldr x2, [x0]
00029608str x2, [x25+8]
0002960c
0002960cloc_2960c:
0002960cstr x1, [x0]
00029610orr x1, xzr, 1
00029614strb w1, [x0+8]
00029618b 0x29624
0002961c
0002961cloc_2961c:
0002961cubfm x1, x1, 63, 62
00029620strb w1, [x0+8]
00029624
00029624loc_29624:
00029624ldr x1, [x0+16]
00029628add x1, x1, 1
0002962cstr x1, [x0+16]
00029630ldur x29, [sp-8]
00029634ldr x30, [sp], 16
00029638ret x30
0002963c
0002963cloc_2963c:
0002963cstr x0, [sp+8]
00029640mov x3, x30
00029644bl runtime.morestack_noctxt.abi0
00029648ldr x0, [sp+8]
0002964cb 0x295c0
000295c0
00029650
00029650runtime.badPointer: ; void runtime.badPointer(runtime.mspan * s, uintptr p, uintptr refBase, uintptr refOff)
00029650ldr x16, [x28+16]
00029654subs xzr, sp, x16
00029658b.ls 0x297f8
0002965cstr x30, [sp-80]!
00029660stur x29, [sp-8]
00029664sub x29, sp, 8
00029668str x0, [sp+88]
0002966cstr x1, [sp+96]
00029670str x2, [sp+104]
00029674str x3, [sp+112]
00029678bl runtime.printlock
0002967cbl runtime.printlock
00029680adrp x0, 0x68c000
00029684add x0, x0, 132
00029688movz x1, 17
0002968cbl runtime.printstring
00029690ldr x0, [sp+96]
00029694bl runtime.printhex
00029698bl runtime.printunlock
0002969cldr x0, [sp+88]
000296a0cbnz x0, 0x29738
000296a4
000296a4loc_296a4:
000296a4bl runtime.printlock
000296a8bl runtime.printnl
000296acbl runtime.printunlock
000296b0ldr x0, [sp+104]
000296b4cbnz x0, 0x296d4
000296b8
000296b8loc_296b8:
000296b8ldr x2, [x28+48]
000296bcorr x3, xzr, 2
000296c0strb w3, [x2+290]
000296c4adrp x0, 0x6a3000
000296c8add x0, x0, 3194
000296ccorr x1, xzr, 62
000296d0bl runtime.throw
000296d4
000296d4loc_296d4:
000296d4bl runtime.printlock
000296d8adrp x0, 0x693000
000296dcadd x0, x0, 3998
000296e0orr x1, xzr, 30
000296e4bl runtime.printstring
000296e8ldr x0, [sp+104]
000296ecbl runtime.printhex
000296f0adrp x0, 0x6e6000
000296f4add x0, x0, 696
000296f8orr x1, xzr, 1
000296fcbl runtime.printstring
00029700ldr x0, [sp+112]
00029704bl runtime.printhex
00029708adrp x0, 0x686000
0002970cadd x0, x0, 4061
00029710orr x1, xzr, 2
00029714bl runtime.printstring
00029718bl runtime.printunlock
0002971cadrp x0, 0x687000
00029720add x0, x0, 2389
00029724orr x1, xzr, 6
00029728ldr x2, [sp+104]
0002972cldr x3, [sp+112]
00029730bl runtime.gcDumpObject
00029734b 0x296b8
00029738
00029738loc_29738:
00029738add x0, x0, 99
0002973cbl runtime.(*mSpanStateBox).get
00029740strb w0, [sp+47]
00029744ubfm x1, x0, 0, 7
00029748subs wzr, w1, 1
0002974cb.eq 0x297dc
00029750bl runtime.printlock
00029754adrp x0, 0x68d000
00029758add x0, x0, 2367
0002975cmovz x1, 20
00029760bl runtime.printstring
00029764bl runtime.printunlock
00029768
00029768loc_29768:
00029768ldr x0, [sp+88]
0002976cbl runtime.(*mspan).base
00029770str x0, [sp+64]
00029774ldrb w1, [sp+47]
00029778str x1, [sp+56]
0002977cldr x1, [sp+88]
00029780ldr x1, [x1+112]
00029784str x1, [sp+48]
00029788bl runtime.printlock
0002978cadrp x0, 0x68a000
00029790add x0, x0, 1407
00029794movz x1, 13
00029798bl runtime.printstring
0002979cldr x0, [sp+64]
000297a0bl runtime.printhex
000297a4adrp x0, 0x689000
000297a8add x0, x0, 3712
000297acorr x1, xzr, 12
000297b0bl runtime.printstring
000297b4ldr x0, [sp+48]
000297b8bl runtime.printhex
000297bcadrp x0, 0x689000
000297c0add x0, x0, 3724
000297c4orr x1, xzr, 12
000297c8bl runtime.printstring
000297ccldr x0, [sp+56]
000297d0bl runtime.printuint
000297d4bl runtime.printunlock
000297d8b 0x296a4
000297dc
000297dcloc_297dc:
000297dcbl runtime.printlock
000297e0adrp x0, 0x690000
000297e4add x0, x0, 2054
000297e8movz x1, 25
000297ecbl runtime.printstring
000297f0bl runtime.printunlock
000297f4b 0x29768
000297f8
000297f8loc_297f8:
000297f8stp x0, x1, [sp+8]
000297fcstp x2, x3, [sp+24]
00029800mov x3, x30
00029804bl runtime.morestack_noctxt.abi0
00029808ldp x0, x1, [sp+8]
0002980cldp x2, x3, [sp+24]
00029810b 0x29650
00029814udf 0
00029818udf 0
0002981cudf 0
00029650
00029650runtime.badPointer: ; void runtime.badPointer(runtime.mspan * s, uintptr p, uintptr refBase, uintptr refOff)
00029650ldr x16, [x28+16]
00029654subs xzr, sp, x16
00029658b.ls 0x297f8
0002965cstr x30, [sp-80]!
00029660stur x29, [sp-8]
00029664sub x29, sp, 8
00029668str x0, [sp+88]
0002966cstr x1, [sp+96]
00029670str x2, [sp+104]
00029674str x3, [sp+112]
00029678bl runtime.printlock
0002967cbl runtime.printlock
00029680adrp x0, 0x68c000
00029684add x0, x0, 132
00029688movz x1, 17
0002968cbl runtime.printstring
00029690ldr x0, [sp+96]
00029694bl runtime.printhex
00029698bl runtime.printunlock
0002969cldr x0, [sp+88]
000296a0cbnz x0, 0x29738
000296a4
000296a4loc_296a4:
000296a4bl runtime.printlock
000296a8bl runtime.printnl
000296acbl runtime.printunlock
000296b0ldr x0, [sp+104]
000296b4cbnz x0, 0x296d4
000296b8
000296b8loc_296b8:
000296b8ldr x2, [x28+48]
000296bcorr x3, xzr, 2
000296c0strb w3, [x2+290]
000296c4adrp x0, 0x6a3000
000296c8add x0, x0, 3194
000296ccorr x1, xzr, 62
000296d0bl runtime.throw
000296d4
000296d4loc_296d4:
000296d4bl runtime.printlock
000296d8adrp x0, 0x693000
000296dcadd x0, x0, 3998
000296e0orr x1, xzr, 30
000296e4bl runtime.printstring
000296e8ldr x0, [sp+104]
000296ecbl runtime.printhex
000296f0adrp x0, 0x6e6000
000296f4add x0, x0, 696
000296f8orr x1, xzr, 1
000296fcbl runtime.printstring
00029700ldr x0, [sp+112]
00029704bl runtime.printhex
00029708adrp x0, 0x686000
0002970cadd x0, x0, 4061
00029710orr x1, xzr, 2
00029714bl runtime.printstring
00029718bl runtime.printunlock
0002971cadrp x0, 0x687000
00029720add x0, x0, 2389
00029724orr x1, xzr, 6
00029728ldr x2, [sp+104]
0002972cldr x3, [sp+112]
00029730bl runtime.gcDumpObject
00029734b 0x296b8
00029738
00029738loc_29738:
00029738add x0, x0, 99
0002973cbl runtime.(*mSpanStateBox).get
00029740strb w0, [sp+47]
00029744ubfm x1, x0, 0, 7
00029748subs wzr, w1, 1
0002974cb.eq 0x297dc
00029750bl runtime.printlock
00029754adrp x0, 0x68d000
00029758add x0, x0, 2367
0002975cmovz x1, 20
00029760bl runtime.printstring
00029764bl runtime.printunlock
00029768
00029768loc_29768:
00029768ldr x0, [sp+88]
0002976cbl runtime.(*mspan).base
00029770str x0, [sp+64]
00029774ldrb w1, [sp+47]
00029778str x1, [sp+56]
0002977cldr x1, [sp+88]
00029780ldr x1, [x1+112]
00029784str x1, [sp+48]
00029788bl runtime.printlock
0002978cadrp x0, 0x68a000
00029790add x0, x0, 1407
00029794movz x1, 13
00029798bl runtime.printstring
0002979cldr x0, [sp+64]
000297a0bl runtime.printhex
000297a4adrp x0, 0x689000
000297a8add x0, x0, 3712
000297acorr x1, xzr, 12
000297b0bl runtime.printstring
000297b4ldr x0, [sp+48]
000297b8bl runtime.printhex
000297bcadrp x0, 0x689000
000297c0add x0, x0, 3724
000297c4orr x1, xzr, 12
000297c8bl runtime.printstring
000297ccldr x0, [sp+56]
000297d0bl runtime.printuint
000297d4bl runtime.printunlock
000297d8b 0x296a4
000297dc
000297dcloc_297dc:
000297dcbl runtime.printlock
000297e0adrp x0, 0x690000
000297e4add x0, x0, 2054
000297e8movz x1, 25
000297ecbl runtime.printstring
000297f0bl runtime.printunlock
000297f4b 0x29768
000297f8
000297f8loc_297f8:
000297f8stp x0, x1, [sp+8]
000297fcstp x2, x3, [sp+24]
00029800mov x3, x30
00029804bl runtime.morestack_noctxt.abi0
00029808ldp x0, x1, [sp+8]
0002980cldp x2, x3, [sp+24]
00029810b 0x29650
00029814udf 0
00029818udf 0
0002981cudf 0
00029650
00029820
00029820runtime.bulkBarrierBitmap: ; void runtime.bulkBarrierBitmap(uintptr dst, uintptr src, uintptr size, uintptr maskOffset, uint8 * bits)
00029820str x30, [sp-96]!
00029824stur x29, [sp-8]
00029828sub x29, sp, 8
0002982cstr x0, [sp+104]
00029830str x1, [sp+112]
00029834str x2, [sp+120]
00029838str x3, [sp+128]
0002983cubfm x1, x3, 6, 63
00029840mov x0, x4
00029844bl runtime.addb
00029848str x0, [sp+80]
0002984cldr x2, [sp+128]
00029850ubfm x2, x2, 3, 5
00029854str x2, [sp+40]
00029858ldr x2, [x28+48]
0002985cldr x0, [x2+208]
00029860bl runtime.puintptr.ptr
00029864ldrsb x27, [x0]
00029868orr x2, xzr, 1
0002986cldr x3, [sp+40]
00029870lslv x2, x2, x3
00029874movz x3, 4720
00029878add x0, x0, x3
0002987cstr x0, [sp+48]
00029880ldr x3, [sp+120]
00029884ldr x4, [sp+80]
00029888mov x1, xzr
0002988cb 0x29894
00029890
00029890loc_29890:
00029890add x1, x1, 8
00029894
00029894loc_29894:
00029894subs xzr, x3, x1
00029898b.ls 0x29970
0002989cstr x1, [sp+32]
000298a0ubfm x5, x2, 0, 7
000298a4cbnz w5, 0x298f0
000298a8strb w2, [sp+30]
000298acmov x0, x4
000298b0orr x1, xzr, 1
000298b4bl runtime.addb
000298b8ldrb w2, [x0]
000298bccbnz w2, 0x298dc
000298c0ldr x3, [sp+32]
000298c4add x1, x3, 56
000298c8ldr x3, [sp+120]
000298ccldrb w2, [sp+30]
000298d0mov x4, x0
000298d4ldr x0, [sp+48]
000298d8b 0x29890
000298dc
000298dcloc_298dc:
000298dcldr x1, [sp+32]
000298e0ldr x3, [sp+120]
000298e4mov x4, x0
000298e8orr x2, xzr, 1
000298ecldr x0, [sp+48]
000298f0
000298f0loc_298f0:
000298f0ldrb w5, [x4]
000298f4and x5, x5, x2
000298f8ubfm x5, x5, 0, 7
000298fccbz w5, 0x29968
00029900str x4, [sp+72]
00029904strb w2, [sp+31]
00029908ldr x5, [sp+104]
0002990cadd x6, x1, x5
00029910str x6, [sp+64]
00029914ldr x7, [sp+112]
00029918cbnz x7, 0x29930
0002991cbl runtime.(*wbBuf).get1
00029920ldr x1, [sp+64]
00029924ldr x1, [x1]
00029928str x1, [x0]
0002992cb 0x29954
00029930
00029930loc_29930:
00029930add x1, x1, x7
00029934str x1, [sp+56]
00029938bl runtime.(*wbBuf).get2
0002993cldr x1, [sp+64]
00029940ldr x1, [x1]
00029944str x1, [x0]
00029948ldr x1, [sp+56]
0002994cldr x1, [x1]
00029950str x1, [x0+8]
00029954
00029954loc_29954:
00029954ldr x0, [sp+48]
00029958ldr x1, [sp+32]
0002995cldrb w2, [sp+31]
00029960ldr x3, [sp+120]
00029964ldr x4, [sp+72]
00029968
00029968loc_29968:
00029968ubfm x2, x2, 63, 62
0002996cb 0x29890
00029970
00029970loc_29970:
00029970ldur x29, [sp-8]
00029974ldr x30, [sp], 96
00029978ret x30
0002997cudf 0
00029820
00029820runtime.bulkBarrierBitmap: ; void runtime.bulkBarrierBitmap(uintptr dst, uintptr src, uintptr size, uintptr maskOffset, uint8 * bits)
00029820str x30, [sp-96]!
00029824stur x29, [sp-8]
00029828sub x29, sp, 8
0002982cstr x0, [sp+104]
00029830str x1, [sp+112]
00029834str x2, [sp+120]
00029838str x3, [sp+128]
0002983cubfm x1, x3, 6, 63
00029840mov x0, x4
00029844bl runtime.addb
00029848str x0, [sp+80]
0002984cldr x2, [sp+128]
00029850ubfm x2, x2, 3, 5
00029854str x2, [sp+40]
00029858ldr x2, [x28+48]
0002985cldr x0, [x2+208]
00029860bl runtime.puintptr.ptr
00029864ldrsb x27, [x0]
00029868orr x2, xzr, 1
0002986cldr x3, [sp+40]
00029870lslv x2, x2, x3
00029874movz x3, 4720
00029878add x0, x0, x3
0002987cstr x0, [sp+48]
00029880ldr x3, [sp+120]
00029884ldr x4, [sp+80]
00029888mov x1, xzr
0002988cb 0x29894
00029890
00029890loc_29890:
00029890add x1, x1, 8
00029894
00029894loc_29894:
00029894subs xzr, x3, x1
00029898b.ls 0x29970
0002989cstr x1, [sp+32]
000298a0ubfm x5, x2, 0, 7
000298a4cbnz w5, 0x298f0
000298a8strb w2, [sp+30]
000298acmov x0, x4
000298b0orr x1, xzr, 1
000298b4bl runtime.addb
000298b8ldrb w2, [x0]
000298bccbnz w2, 0x298dc
000298c0ldr x3, [sp+32]
000298c4add x1, x3, 56
000298c8ldr x3, [sp+120]
000298ccldrb w2, [sp+30]
000298d0mov x4, x0
000298d4ldr x0, [sp+48]
000298d8b 0x29890
000298dc
000298dcloc_298dc:
000298dcldr x1, [sp+32]
000298e0ldr x3, [sp+120]
000298e4mov x4, x0
000298e8orr x2, xzr, 1
000298ecldr x0, [sp+48]
000298f0
000298f0loc_298f0:
000298f0ldrb w5, [x4]
000298f4and x5, x5, x2
000298f8ubfm x5, x5, 0, 7
000298fccbz w5, 0x29968
00029900str x4, [sp+72]
00029904strb w2, [sp+31]
00029908ldr x5, [sp+104]
0002990cadd x6, x1, x5
00029910str x6, [sp+64]
00029914ldr x7, [sp+112]
00029918cbnz x7, 0x29930
0002991cbl runtime.(*wbBuf).get1
00029920ldr x1, [sp+64]
00029924ldr x1, [x1]
00029928str x1, [x0]
0002992cb 0x29954
00029930
00029930loc_29930:
00029930add x1, x1, x7
00029934str x1, [sp+56]
00029938bl runtime.(*wbBuf).get2
0002993cldr x1, [sp+64]
00029940ldr x1, [x1]
00029944str x1, [x0]
00029948ldr x1, [sp+56]
0002994cldr x1, [x1]
00029950str x1, [x0+8]
00029954
00029954loc_29954:
00029954ldr x0, [sp+48]
00029958ldr x1, [sp+32]
0002995cldrb w2, [sp+31]
00029960ldr x3, [sp+120]
00029964ldr x4, [sp+72]
00029968
00029968loc_29968:
00029968ubfm x2, x2, 63, 62
0002996cb 0x29890
00029970
00029970loc_29970:
00029970ldur x29, [sp-8]
00029974ldr x30, [sp], 96
00029978ret x30
0002997cudf 0
00029820
00029980
00029980runtime.typeBitsBulkBarrier: ; void runtime.typeBitsBulkBarrier(internal/abi.Type * typ, uintptr dst, uintptr src, uintptr size)
00029980str x30, [sp-112]!
00029984stur x29, [sp-8]
00029988sub x29, sp, 8
0002998ccbz x0, 0x29b34
00029990str x0, [sp+120]
00029994ldr x4, [x0]
00029998subs xzr, x3, x4
0002999cb.ne 0x29aac
000299a0adrp x27, 0xa22000
000299a4ldrb w3, [x27+3056]
000299a8tbz w3, 0, 0x299ec
000299acstr x1, [sp+128]
000299b0str x2, [sp+136]
000299b4bl runtime.getGCMask
000299b8str x0, [sp+64]
000299bcldr x1, [x28+48]
000299c0ldr x0, [x1+208]
000299c4bl runtime.puintptr.ptr
000299c8ldrsb x27, [x0]
000299ccmovz x1, 4720
000299d0add x0, x0, x1
000299d4str x0, [sp+72]
000299d8ldr x1, [sp+120]
000299dcldr x2, [sp+64]
000299e0mov x3, xzr
000299e4mov x4, xzr
000299e8b 0x299fc
000299ec
000299ecloc_299ec:
000299ecldur x29, [sp-8]
000299f0ldr x30, [sp], 112
000299f4ret x30
000299f8
000299f8loc_299f8:
000299f8add x3, x3, 8
000299fc
000299fcloc_299fc:
000299fcldr x5, [x1+8]
00029a00subs xzr, x3, x5
00029a04b.hs 0x29aa0
00029a08str x3, [sp+40]
00029a0cands xzr, x3, 63
00029a10b.eq 0x29a1c
00029a14ubfm x4, x4, 1, 31
00029a18b 0x29a48
00029a1c
00029a1cloc_29a1c:
00029a1cldrb w3, [x2]
00029a20strb w3, [sp+35]
00029a24mov x0, x2
00029a28orr x1, xzr, 1
00029a2cbl runtime.addb
00029a30ldrb w2, [sp+35]
00029a34mov x4, x2
00029a38ldr x1, [sp+120]
00029a3cldr x3, [sp+40]
00029a40mov x2, x0
00029a44ldr x0, [sp+72]
00029a48
00029a48loc_29a48:
00029a48tbz w4, 0, 0x299f8
00029a4cstr w4, [sp+36]
00029a50str x2, [sp+96]
00029a54ldr x1, [sp+128]
00029a58add x1, x3, x1
00029a5cstr x1, [sp+88]
00029a60ldr x1, [sp+136]
00029a64add x1, x3, x1
00029a68str x1, [sp+80]
00029a6cbl runtime.(*wbBuf).get2
00029a70ldr x1, [sp+88]
00029a74ldr x1, [x1]
00029a78str x1, [x0]
00029a7cldr x1, [sp+80]
00029a80ldr x1, [x1]
00029a84str x1, [x0+8]
00029a88ldr x0, [sp+72]
00029a8cldr x1, [sp+120]
00029a90ldr x2, [sp+96]
00029a94ldr x3, [sp+40]
00029a98ldr w4, [sp+36]
00029a9cb 0x299f8
00029aa0
00029aa0loc_29aa0:
00029aa0ldur x29, [sp-8]
00029aa4ldr x30, [sp], 112
00029aa8ret x30
00029aac
00029aacloc_29aac:
00029aacstr x3, [sp+144]
00029ab0bl runtime.toRType
00029ab4bl runtime.rtype.string
00029ab8str x0, [sp+96]
00029abcstr x1, [sp+56]
00029ac0ldr x1, [sp+120]
00029ac4ldr x1, [x1]
00029ac8str x1, [sp+48]
00029accbl runtime.printlock
00029ad0adrp x0, 0x69a000
00029ad4add x0, x0, 3955
00029ad8movz x1, 40
00029adcbl runtime.printstring
00029ae0ldr x0, [sp+96]
00029ae4ldr x1, [sp+56]
00029ae8bl runtime.printstring
00029aecadrp x0, 0x689000
00029af0add x0, x0, 1933
00029af4movz x1, 11
00029af8bl runtime.printstring
00029afcldr x0, [sp+48]
00029b00bl runtime.printuint
00029b04adrp x0, 0x68c000
00029b08add x0, x0, 2201
00029b0cmovz x1, 18
00029b10bl runtime.printstring
00029b14ldr x0, [sp+144]
00029b18bl runtime.printuint
00029b1cbl runtime.printnl
00029b20bl runtime.printunlock
00029b24adrp x0, 0x698000
00029b28add x0, x0, 1129
00029b2cmovz x1, 36
00029b30bl runtime.throw
00029b34
00029b34loc_29b34:
00029b34adrp x0, 0x69b000
00029b38add x0, x0, 2741
00029b3cmovz x1, 41
00029b40bl runtime.throw
00029b44hint
00029b48udf 0
00029b4cudf 0
00029980
00029980runtime.typeBitsBulkBarrier: ; void runtime.typeBitsBulkBarrier(internal/abi.Type * typ, uintptr dst, uintptr src, uintptr size)
00029980str x30, [sp-112]!
00029984stur x29, [sp-8]
00029988sub x29, sp, 8
0002998ccbz x0, 0x29b34
00029990str x0, [sp+120]
00029994ldr x4, [x0]
00029998subs xzr, x3, x4
0002999cb.ne 0x29aac
000299a0adrp x27, 0xa22000
000299a4ldrb w3, [x27+3056]
000299a8tbz w3, 0, 0x299ec
000299acstr x1, [sp+128]
000299b0str x2, [sp+136]
000299b4bl runtime.getGCMask
000299b8str x0, [sp+64]
000299bcldr x1, [x28+48]
000299c0ldr x0, [x1+208]
000299c4bl runtime.puintptr.ptr
000299c8ldrsb x27, [x0]
000299ccmovz x1, 4720
000299d0add x0, x0, x1
000299d4str x0, [sp+72]
000299d8ldr x1, [sp+120]
000299dcldr x2, [sp+64]
000299e0mov x3, xzr
000299e4mov x4, xzr
000299e8b 0x299fc
000299ec
000299ecloc_299ec:
000299ecldur x29, [sp-8]
000299f0ldr x30, [sp], 112
000299f4ret x30
000299f8
000299f8loc_299f8:
000299f8add x3, x3, 8
000299fc
000299fcloc_299fc:
000299fcldr x5, [x1+8]
00029a00subs xzr, x3, x5
00029a04b.hs 0x29aa0
00029a08str x3, [sp+40]
00029a0cands xzr, x3, 63
00029a10b.eq 0x29a1c
00029a14ubfm x4, x4, 1, 31
00029a18b 0x29a48
00029a1c
00029a1cloc_29a1c:
00029a1cldrb w3, [x2]
00029a20strb w3, [sp+35]
00029a24mov x0, x2
00029a28orr x1, xzr, 1
00029a2cbl runtime.addb
00029a30ldrb w2, [sp+35]
00029a34mov x4, x2
00029a38ldr x1, [sp+120]
00029a3cldr x3, [sp+40]
00029a40mov x2, x0
00029a44ldr x0, [sp+72]
00029a48
00029a48loc_29a48:
00029a48tbz w4, 0, 0x299f8
00029a4cstr w4, [sp+36]
00029a50str x2, [sp+96]
00029a54ldr x1, [sp+128]
00029a58add x1, x3, x1
00029a5cstr x1, [sp+88]
00029a60ldr x1, [sp+136]
00029a64add x1, x3, x1
00029a68str x1, [sp+80]
00029a6cbl runtime.(*wbBuf).get2
00029a70ldr x1, [sp+88]
00029a74ldr x1, [x1]
00029a78str x1, [x0]
00029a7cldr x1, [sp+80]
00029a80ldr x1, [x1]
00029a84str x1, [x0+8]
00029a88ldr x0, [sp+72]
00029a8cldr x1, [sp+120]
00029a90ldr x2, [sp+96]
00029a94ldr x3, [sp+40]
00029a98ldr w4, [sp+36]
00029a9cb 0x299f8
00029aa0
00029aa0loc_29aa0:
00029aa0ldur x29, [sp-8]
00029aa4ldr x30, [sp], 112
00029aa8ret x30
00029aac
00029aacloc_29aac:
00029aacstr x3, [sp+144]
00029ab0bl runtime.toRType
00029ab4bl runtime.rtype.string
00029ab8str x0, [sp+96]
00029abcstr x1, [sp+56]
00029ac0ldr x1, [sp+120]
00029ac4ldr x1, [x1]
00029ac8str x1, [sp+48]
00029accbl runtime.printlock
00029ad0adrp x0, 0x69a000
00029ad4add x0, x0, 3955
00029ad8movz x1, 40
00029adcbl runtime.printstring
00029ae0ldr x0, [sp+96]
00029ae4ldr x1, [sp+56]
00029ae8bl runtime.printstring
00029aecadrp x0, 0x689000
00029af0add x0, x0, 1933
00029af4movz x1, 11
00029af8bl runtime.printstring
00029afcldr x0, [sp+48]
00029b00bl runtime.printuint
00029b04adrp x0, 0x68c000
00029b08add x0, x0, 2201
00029b0cmovz x1, 18
00029b10bl runtime.printstring
00029b14ldr x0, [sp+144]
00029b18bl runtime.printuint
00029b1cbl runtime.printnl
00029b20bl runtime.printunlock
00029b24adrp x0, 0x698000
00029b28add x0, x0, 1129
00029b2cmovz x1, 36
00029b30bl runtime.throw
00029b34
00029b34loc_29b34:
00029b34adrp x0, 0x69b000
00029b38add x0, x0, 2741
00029b3cmovz x1, 41
00029b40bl runtime.throw
00029b44hint
00029b48udf 0
00029b4cudf 0
00029980
00029b50
00029b50runtime.(*mspan).countAlloc: ; void runtime.(*mspan).countAlloc(runtime.mspan * s)
00029b50ldr x16, [x28+16]
00029b54subs xzr, sp, x16
00029b58b.ls 0x29be0
00029b5cstr x30, [sp-64]!
00029b60stur x29, [sp-8]
00029b64sub x29, sp, 8
00029b68str x0, [sp+72]
00029b6cldrh w2, [x0+50]
00029b70mov x0, x2
00029b74orr x1, xzr, 8
00029b78bl runtime.divRoundUp
00029b7cstr x0, [sp+48]
00029b80mov x1, xzr
00029b84mov x2, xzr
00029b88b 0x29bc8
00029b8c
00029b8cloc_29b8c:
00029b8cstr x1, [sp+32]
00029b90str x2, [sp+40]
00029b94ldr x2, [sp+72]
00029b98ldr x0, [x2+72]
00029b9cbl runtime.(*gcBits).bytep
00029ba0ldr x2, [x0]
00029ba4fmov d0, x2
00029ba8cnt v0.8b, v0.8b
00029bacuaddlv h0, v0.8b
00029bb0fmov x2, d0
00029bb4ldr x3, [sp+32]
00029bb8add x1, x3, 8
00029bbcldr x3, [sp+40]
00029bc0add x2, x3, x2
00029bc4ldr x0, [sp+48]
00029bc8
00029bc8loc_29bc8:
00029bc8subs xzr, x0, x1
00029bccb.hi 0x29b8c
00029bd0mov x0, x2
00029bd4ldur x29, [sp-8]
00029bd8ldr x30, [sp], 64
00029bdcret x30
00029be0
00029be0loc_29be0:
00029be0str x0, [sp+8]
00029be4mov x3, x30
00029be8bl runtime.morestack_noctxt.abi0
00029becldr x0, [sp+8]
00029bf0b 0x29b50
00029bf4udf 0
00029bf8udf 0
00029bfcudf 0
00029b50
00029b50runtime.(*mspan).countAlloc: ; void runtime.(*mspan).countAlloc(runtime.mspan * s)
00029b50ldr x16, [x28+16]
00029b54subs xzr, sp, x16
00029b58b.ls 0x29be0
00029b5cstr x30, [sp-64]!
00029b60stur x29, [sp-8]
00029b64sub x29, sp, 8
00029b68str x0, [sp+72]
00029b6cldrh w2, [x0+50]
00029b70mov x0, x2
00029b74orr x1, xzr, 8
00029b78bl runtime.divRoundUp
00029b7cstr x0, [sp+48]
00029b80mov x1, xzr
00029b84mov x2, xzr
00029b88b 0x29bc8
00029b8c
00029b8cloc_29b8c:
00029b8cstr x1, [sp+32]
00029b90str x2, [sp+40]
00029b94ldr x2, [sp+72]
00029b98ldr x0, [x2+72]
00029b9cbl runtime.(*gcBits).bytep
00029ba0ldr x2, [x0]
00029ba4fmov d0, x2
00029ba8cnt v0.8b, v0.8b
00029bacuaddlv h0, v0.8b
00029bb0fmov x2, d0
00029bb4ldr x3, [sp+32]
00029bb8add x1, x3, 8
00029bbcldr x3, [sp+40]
00029bc0add x2, x3, x2
00029bc4ldr x0, [sp+48]
00029bc8
00029bc8loc_29bc8:
00029bc8subs xzr, x0, x1
00029bccb.hi 0x29b8c
00029bd0mov x0, x2
00029bd4ldur x29, [sp-8]
00029bd8ldr x30, [sp], 64
00029bdcret x30
00029be0
00029be0loc_29be0:
00029be0str x0, [sp+8]
00029be4mov x3, x30
00029be8bl runtime.morestack_noctxt.abi0
00029becldr x0, [sp+8]
00029bf0b 0x29b50
00029bf4udf 0
00029bf8udf 0
00029bfcudf 0
00029b50
00029c00
00029c00runtime.readUintptr: ; void runtime.readUintptr(uint8 * p)
00029c00ldr x0, [x0]
00029c04ret x30
00029c08udf 0
00029c0cudf 0
00029c00
00029c00runtime.readUintptr: ; void runtime.readUintptr(uint8 * p)
00029c00ldr x0, [x0]
00029c04ret x30
00029c08udf 0
00029c0cudf 0
00029c00
00029c10
00029c10runtime.progToPointerMask: ; void runtime.progToPointerMask(uint8 * prog, uintptr size)
00029c10ldr x16, [x28+16]
00029c14subs xzr, sp, x16
00029c18b.ls 0x29cd8
00029c1cstr x30, [sp-80]!
00029c20stur x29, [sp-8]
00029c24sub x29, sp, 8
00029c28str x0, [sp+88]
00029c2cubfm x3, x1, 3, 63
00029c30add x3, x3, 7
00029c34str x3, [sp+56]
00029c38ubfm x3, x3, 3, 63
00029c3cstr x3, [sp+40]
00029c40add x0, x3, 1
00029c44str x0, [sp+48]
00029c48orr x1, xzr, 1
00029c4cadrp x2, 0xa28000
00029c50add x2, x2, 528
00029c54bl runtime.persistentalloc
00029c58ldr x1, [sp+48]
00029c5cmovz x3, 0x40000000
00029c60subs xzr, x1, x3
00029c64b.hi 0x29ccc
00029c68ldr x2, [sp+56]
00029c6csubs xzr, x1, x2, lsr #3
00029c70b.ls 0x29cc4
00029c74str x0, [sp+64]
00029c78ldrsb x27, [x0]
00029c7cldr x2, [sp+40]
00029c80movn x3, 94
00029c84strb w3, [x0+x2]
00029c88mov x1, x0
00029c8cldr x0, [sp+88]
00029c90bl runtime.runGCProg
00029c94ldr x2, [sp+40]
00029c98ldr x1, [sp+64]
00029c9cldrb w2, [x1+x2]
00029ca0subs wzr, w2, 161
00029ca4b.ne 0x29cb4
00029ca8ldur x29, [sp-8]
00029cacldr x30, [sp], 80
00029cb0ret x30
00029cb4
00029cb4loc_29cb4:
00029cb4adrp x0, 0x691000
00029cb8add x0, x0, 3200
00029cbcmovz x1, 27
00029cc0bl runtime.throw
00029cc4
00029cc4loc_29cc4:
00029cc4ldr x0, [sp+40]
00029cc8bl runtime.panicIndex
00029ccc
00029cccloc_29ccc:
00029cccmovz x2, 0x40000000
00029cd0bl runtime.panicSliceAlenU
00029cd4hint
00029cd8
00029cd8loc_29cd8:
00029cd8stp x0, x1, [sp+8]
00029cdcmov x3, x30
00029ce0bl runtime.morestack_noctxt.abi0
00029ce4ldp x0, x1, [sp+8]
00029ce8b 0x29c10
00029cecudf 0
00029c10
00029c10runtime.progToPointerMask: ; void runtime.progToPointerMask(uint8 * prog, uintptr size)
00029c10ldr x16, [x28+16]
00029c14subs xzr, sp, x16
00029c18b.ls 0x29cd8
00029c1cstr x30, [sp-80]!
00029c20stur x29, [sp-8]
00029c24sub x29, sp, 8
00029c28str x0, [sp+88]
00029c2cubfm x3, x1, 3, 63
00029c30add x3, x3, 7
00029c34str x3, [sp+56]
00029c38ubfm x3, x3, 3, 63
00029c3cstr x3, [sp+40]
00029c40add x0, x3, 1
00029c44str x0, [sp+48]
00029c48orr x1, xzr, 1
00029c4cadrp x2, 0xa28000
00029c50add x2, x2, 528
00029c54bl runtime.persistentalloc
00029c58ldr x1, [sp+48]
00029c5cmovz x3, 0x40000000
00029c60subs xzr, x1, x3
00029c64b.hi 0x29ccc
00029c68ldr x2, [sp+56]
00029c6csubs xzr, x1, x2, lsr #3
00029c70b.ls 0x29cc4
00029c74str x0, [sp+64]
00029c78ldrsb x27, [x0]
00029c7cldr x2, [sp+40]
00029c80movn x3, 94
00029c84strb w3, [x0+x2]
00029c88mov x1, x0
00029c8cldr x0, [sp+88]
00029c90bl runtime.runGCProg
00029c94ldr x2, [sp+40]
00029c98ldr x1, [sp+64]
00029c9cldrb w2, [x1+x2]
00029ca0subs wzr, w2, 161
00029ca4b.ne 0x29cb4
00029ca8ldur x29, [sp-8]
00029cacldr x30, [sp], 80
00029cb0ret x30
00029cb4
00029cb4loc_29cb4:
00029cb4adrp x0, 0x691000
00029cb8add x0, x0, 3200
00029cbcmovz x1, 27
00029cc0bl runtime.throw
00029cc4
00029cc4loc_29cc4:
00029cc4ldr x0, [sp+40]
00029cc8bl runtime.panicIndex
00029ccc
00029cccloc_29ccc:
00029cccmovz x2, 0x40000000
00029cd0bl runtime.panicSliceAlenU
00029cd4hint
00029cd8
00029cd8loc_29cd8:
00029cd8stp x0, x1, [sp+8]
00029cdcmov x3, x30
00029ce0bl runtime.morestack_noctxt.abi0
00029ce4ldp x0, x1, [sp+8]
00029ce8b 0x29c10
00029cecudf 0
00029c10
00029cf0
00029cf0runtime.runGCProg: ; void runtime.runGCProg(uint8 * prog, uint8 * dst)
00029cf0ldr x16, [x28+16]
00029cf4sub x17, sp, 96
00029cf8subs xzr, x17, x16
00029cfcb.ls 0x2a2b8
00029d00str x30, [sp-224]!
00029d04stur x29, [sp-8]
00029d08sub x29, sp, 8
00029d0cstr x1, [sp+240]
00029d10mov x2, x1
00029d14mov x3, xzr
00029d18mov x4, xzr
00029d1cb 0x29d2c
00029d20
00029d20loc_29d20:
00029d20ldr x2, [sp+240]
00029d24mov x4, x1
00029d28mov x1, x6
00029d2c
00029d2cloc_29d2c:
00029d2cstr x0, [sp+184]
00029d30b 0x29eb4
00029d34
00029d34loc_29d34:
00029d34str x1, [sp+176]
00029d38ldrb w1, [x0]
00029d3cstrb w1, [sp+39]
00029d40bl runtime.add1
00029d44ldrb w1, [sp+39]
00029d48and x2, x1, 127
00029d4cmov x3, x1
00029d50tbnz w3, 7, 0x29d6c
00029d54cbz x2, 0x29ec8
00029d58str x2, [sp+96]
00029d5cmov x3, xzr
00029d60ldr x4, [sp+176]
00029d64ldr x5, [sp+136]
00029d68b 0x2a254
00029d6c
00029d6cloc_29d6c:
00029d6ccbnz x2, 0x29d7c
00029d70mov x1, xzr
00029d74mov x2, xzr
00029d78b 0x2a184
00029d7c
00029d7cloc_29d7c:
00029d7cstr x2, [sp+168]
00029d80mov x1, xzr
00029d84mov x3, xzr
00029d88b 0x29f00
00029d8c
00029d8cloc_29d8c:
00029d8cstr x0, [sp+208]
00029d90ldr x3, [sp+168]
00029d94madd x2, x3, x2, xzr
00029d98str x2, [sp+128]
00029d9csubs xzr, x3, 57
00029da0b.hi 0x29db8
00029da4ldr x0, [sp+176]
00029da8bl runtime.subtract1
00029dacldr x1, [sp+88]
00029db0ldr x2, [sp+136]
00029db4b 0x29fe0
00029db8
00029db8loc_29db8:
00029db8ldr x2, [sp+88]
00029dbcsub x2, x3, x2
00029dc0str x2, [sp+56]
00029dc4add x2, x2, 7
00029dc8ubfm x1, x2, 3, 63
00029dccldr x0, [sp+176]
00029dd0bl runtime.subtractb
00029dd4ldr x2, [sp+56]
00029dd8and x2, x2, 7
00029ddccbnz x2, 0x29df4
00029de0orr x2, xzr, 8
00029de4ldr x3, [sp+128]
00029de8ldr x4, [sp+88]
00029decldr x1, [sp+136]
00029df0b 0x29e34
00029df4
00029df4loc_29df4:
00029df4str x2, [sp+120]
00029df8ldrb w1, [x0]
00029dfcstrb w1, [sp+39]
00029e00bl runtime.add1
00029e04ldrb w1, [sp+39]
00029e08orr x2, xzr, 8
00029e0cldr x3, [sp+120]
00029e10sub x4, x2, x3
00029e14lsrv x1, x1, x4
00029e18ldr x4, [sp+88]
00029e1clslv x1, x1, x4
00029e20ldr x5, [sp+136]
00029e24orr x1, x5, x1
00029e28add x4, x3, x4
00029e2cldr x5, [sp+128]
00029e30sub x3, x5, x3
00029e34
00029e34loc_29e34:
00029e34str x3, [sp+128]
00029e38str x4, [sp+88]
00029e3cubfm x5, x3, 3, 63
00029e40ldr x6, [sp+176]
00029e44b 0x29fb0
00029e48
00029e48loc_29e48:
00029e48and x3, x3, 7
00029e4ccbz x3, 0x29e7c
00029e50ldrb w5, [x0]
00029e54orr x7, xzr, 1
00029e58lslv x8, x7, x3
00029e5csub x8, x8, 1
00029e60and x5, x8, x5
00029e64lslv x5, x5, x4
00029e68add x3, x3, x4
00029e6csubs xzr, x4, 64
00029e70csel x5, x5, xzr, lo
00029e74orr x1, x1, x5
00029e78b 0x29e84
00029e7c
00029e7cloc_29e7c:
00029e7corr x7, xzr, 1
00029e80mov x3, x4
00029e84
00029e84loc_29e84:
00029e84ldr x0, [sp+208]
00029e88b 0x29d20
00029e8c
00029e8cloc_29e8c:
00029e8cstrb w4, [x1]
00029e90mov x0, x1
00029e94bl runtime.add1
00029e98ldr x1, [sp+88]
00029e9csub x3, x1, 8
00029ea0ldr x1, [sp+136]
00029ea4ubfm x4, x1, 8, 63
00029ea8ldr x2, [sp+240]
00029eacmov x1, x0
00029eb0ldr x0, [sp+184]
00029eb4
00029eb4loc_29eb4:
00029eb4str x3, [sp+88]
00029eb8str x4, [sp+136]
00029ebcsubs xzr, x3, 8
00029ec0b.hs 0x29e8c
00029ec4b 0x29d34
00029ec8
00029ec8loc_29ec8:
00029ec8ldr x1, [sp+176]
00029eccmov x2, x1
00029ed0ldr x3, [sp+240]
00029ed4sub x2, x2, x3
00029ed8ldr x3, [sp+88]
00029edcsub x5, xzr, x3
00029ee0and x5, x5, 7
00029ee4add x0, x3, x2, lsl #3
00029ee8str x0, [sp+40]
00029eecadd x2, x5, x3
00029ef0ldr x3, [sp+136]
00029ef4b 0x2a1ec
00029ef8
00029ef8loc_29ef8:
00029ef8add x3, x3, 7
00029efcmov x1, x2
00029f00
00029f00loc_29f00:
00029f00str x3, [sp+64]
00029f04str x1, [sp+128]
00029f08ldrb w1, [x0]
00029f0cstrb w1, [sp+39]
00029f10bl runtime.add1
00029f14ldrb w1, [sp+39]
00029f18and x2, x1, 127
00029f1cldr x3, [sp+64]
00029f20lslv x2, x2, x3
00029f24subs xzr, x3, 64
00029f28csel x2, x2, xzr, lo
00029f2cldr x4, [sp+128]
00029f30orr x2, x4, x2
00029f34tbnz w1, 7, 0x29ef8
00029f38b 0x29d8c
00029f3c
00029f3cloc_29f3c:
00029f3cstr x5, [sp+104]
00029f40str x1, [sp+160]
00029f44str x6, [sp+200]
00029f48ldrb w1, [x0]
00029f4cstrb w1, [sp+39]
00029f50bl runtime.add1
00029f54str x0, [sp+176]
00029f58ldrb w1, [sp+39]
00029f5cldr x2, [sp+88]
00029f60lslv x1, x1, x2
00029f64ldr x3, [sp+104]
00029f68sub x3, x3, 1
00029f6cstr x3, [sp+104]
00029f70subs xzr, x2, 64
00029f74csel x1, x1, xzr, lo
00029f78ldr x2, [sp+160]
00029f7corr x1, x2, x1
00029f80str x1, [sp+136]
00029f84ldr x0, [sp+200]
00029f88strb w1, [x0]
00029f8cbl runtime.add1
00029f90ldr x1, [sp+136]
00029f94ubfm x1, x1, 8, 63
00029f98orr x2, xzr, 8
00029f9cldr x3, [sp+128]
00029fa0ldr x4, [sp+88]
00029fa4ldr x5, [sp+104]
00029fa8mov x6, x0
00029facldr x0, [sp+176]
00029fb0
00029fb0loc_29fb0:
00029fb0cbnz x5, 0x29f3c
00029fb4b 0x29e48
00029fb8
00029fb8loc_29fb8:
00029fb8str x1, [sp+80]
00029fbcstr x2, [sp+48]
00029fc0ldrb w1, [x0]
00029fc4strb w1, [sp+39]
00029fc8bl runtime.subtract1
00029fccldrb w1, [sp+39]
00029fd0ldr x2, [sp+48]
00029fd4orr x2, x1, x2, lsl #8
00029fd8ldr x1, [sp+80]
00029fdcadd x1, x1, 8
00029fe0
00029fe0loc_29fe0:
00029fe0ldr x3, [sp+168]
00029fe4subs xzr, x1, x3
00029fe8b.lo 0x29fb8
00029feccsel x4, x3, x1, hi
00029ff0sub x5, x1, x3
00029ff4lsrv x6, x2, x5
00029ff8subs xzr, x5, 64
00029ffccsel x5, x6, xzr, lo
0002a000subs xzr, x1, x3
0002a004csel x1, x5, x2, hi
0002a008subs xzr, x4, 1
0002a00cb.ne 0x2a02c
0002a010subs xzr, x1, 1
0002a014movz x2, 57
0002a018ldr x3, [sp+128]
0002a01ccsel x4, x2, x3, eq
0002a020movn x5, 0xfe00000000000000
0002a024csel x1, x5, x1, eq
0002a028b 0x2a04c
0002a02c
0002a02cloc_2a02c:
0002a02cadd x2, x4, x4
0002a030subs xzr, x2, 57
0002a034b.hi 0x2a040
0002a038mov x0, x4
0002a03cb 0x2a140
0002a040
0002a040loc_2a040:
0002a040movz x2, 57
0002a044ldr x3, [sp+128]
0002a048movn x5, 0xfe00000000000000
0002a04c
0002a04cloc_2a04c:
0002a04cstr x1, [sp+48]
0002a050str x4, [sp+80]
0002a054ldr x6, [sp+136]
0002a058ldr x7, [sp+88]
0002a05cldr x8, [sp+176]
0002a060b 0x2a06c
0002a064
0002a064loc_2a064:
0002a064sub x3, x3, x4
0002a068mov x7, x10
0002a06c
0002a06cloc_2a06c:
0002a06csubs xzr, x4, x3
0002a070b.hi 0x2a090
0002a074str x3, [sp+128]
0002a078lslv x9, x1, x7
0002a07cadd x10, x4, x7
0002a080subs xzr, x7, 64
0002a084csel x7, x9, xzr, lo
0002a088orr x6, x6, x7
0002a08cb 0x2a124
0002a090
0002a090loc_2a090:
0002a090cbz x3, 0x2a0c4
0002a094orr x4, xzr, 1
0002a098lslv x9, x4, x3
0002a09cadd x10, x7, x3
0002a0a0subs xzr, x3, 64
0002a0a4csel x3, x9, xzr, lo
0002a0a8sub x3, x3, 1
0002a0acand x1, x1, x3
0002a0b0lslv x1, x1, x7
0002a0b4subs xzr, x7, 64
0002a0b8csel x1, x1, xzr, lo
0002a0bcorr x6, x6, x1
0002a0c0b 0x2a0cc
0002a0c4
0002a0c4loc_2a0c4:
0002a0c4orr x4, xzr, 1
0002a0c8mov x10, x7
0002a0cc
0002a0ccloc_2a0cc:
0002a0ccorr x2, xzr, 8
0002a0d0orr x7, xzr, 1
0002a0d4mov x3, x10
0002a0d8ldr x0, [sp+208]
0002a0dcmov x1, x6
0002a0e0mov x6, x8
0002a0e4b 0x29d20
0002a0e8
0002a0e8loc_2a0e8:
0002a0e8str x10, [sp+152]
0002a0ecstr x6, [sp+144]
0002a0f0strb w6, [x8]
0002a0f4mov x0, x8
0002a0f8bl runtime.add1
0002a0fcldr x1, [sp+144]
0002a100ubfm x6, x1, 8, 63
0002a104ldr x1, [sp+152]
0002a108sub x10, x1, 8
0002a10cldr x1, [sp+48]
0002a110movz x2, 57
0002a114ldr x3, [sp+128]
0002a118ldr x4, [sp+80]
0002a11cmovn x5, 0xfe00000000000000
0002a120mov x8, x0
0002a124
0002a124loc_2a124:
0002a124subs xzr, x10, 8
0002a128b.hs 0x2a0e8
0002a12cb 0x2a064
0002a130
0002a130loc_2a130:
0002a130lslv x2, x1, x4
0002a134csel x2, x2, xzr, lo
0002a138orr x1, x1, x2
0002a13cadd x4, x4, x4
0002a140
0002a140loc_2a140:
0002a140subs xzr, x4, 64
0002a144b.ls 0x2a130
0002a148cbz x0, 0x2a174
0002a14cmovz x2, 57
0002a150udiv x3, x2, x0
0002a154madd x4, x3, x0, xzr
0002a158orr x3, xzr, 1
0002a15clslv x5, x3, x4
0002a160subs xzr, x4, 64
0002a164csel x5, x5, xzr, lo
0002a168sub x5, x5, 1
0002a16cand x1, x1, x5
0002a170b 0x2a040
0002a174
0002a174loc_2a174:
0002a174bl runtime.panicdivide
0002a178
0002a178loc_2a178:
0002a178add x3, x3, 7
0002a17cmov x1, x2
0002a180mov x2, x3
0002a184
0002a184loc_2a184:
0002a184str x2, [sp+72]
0002a188str x1, [sp+168]
0002a18cldrb w1, [x0]
0002a190strb w1, [sp+39]
0002a194bl runtime.add1
0002a198ldrb w1, [sp+39]
0002a19cand x2, x1, 127
0002a1a0ldr x3, [sp+72]
0002a1a4lslv x2, x2, x3
0002a1a8subs xzr, x3, 64
0002a1accsel x2, x2, xzr, lo
0002a1b0ldr x4, [sp+168]
0002a1b4orr x2, x4, x2
0002a1b8tbnz w1, 7, 0x2a178
0002a1bcb 0x29d7c
0002a1c0
0002a1c0loc_2a1c0:
0002a1c0str x2, [sp+88]
0002a1c4str x3, [sp+136]
0002a1c8strb w3, [x1]
0002a1ccmov x0, x1
0002a1d0bl runtime.add1
0002a1d4ldr x1, [sp+88]
0002a1d8sub x2, x1, 8
0002a1dcldr x1, [sp+136]
0002a1e0ubfm x3, x1, 8, 63
0002a1e4mov x1, x0
0002a1e8ldr x0, [sp+40]
0002a1ec
0002a1ecloc_2a1ec:
0002a1eccbnz x2, 0x2a1c0
0002a1f0ldur x29, [sp-8]
0002a1f4ldr x30, [sp], 224
0002a1f8ret x30
0002a1fc
0002a1fcloc_2a1fc:
0002a1fcstr x3, [sp+112]
0002a200ldrb w1, [x0]
0002a204strb w1, [sp+38]
0002a208bl runtime.add1
0002a20cstr x0, [sp+184]
0002a210ldrb w1, [sp+38]
0002a214ldr x2, [sp+88]
0002a218lslv x1, x1, x2
0002a21cldr x2, [sp+136]
0002a220orr x1, x2, x1
0002a224str x1, [sp+136]
0002a228ldr x0, [sp+192]
0002a22cstrb w1, [x0]
0002a230bl runtime.add1
0002a234ldr x1, [sp+112]
0002a238add x3, x1, 1
0002a23cldr x1, [sp+136]
0002a240ubfm x5, x1, 8, 63
0002a244ldrb w1, [sp+39]
0002a248ldr x2, [sp+96]
0002a24cmov x4, x0
0002a250ldr x0, [sp+184]
0002a254
0002a254loc_2a254:
0002a254str x5, [sp+136]
0002a258str x4, [sp+192]
0002a25csubs xzr, x3, x2, lsr #3
0002a260b.lo 0x2a1fc
0002a264and x1, x1, 7
0002a268cbnz x1, 0x2a274
0002a26cldr x3, [sp+88]
0002a270b 0x2a2a4
0002a274
0002a274loc_2a274:
0002a274str x1, [sp+168]
0002a278ldrb w1, [x0]
0002a27cstrb w1, [sp+39]
0002a280bl runtime.add1
0002a284ldrb w1, [sp+39]
0002a288ldr x2, [sp+88]
0002a28clslv x1, x1, x2
0002a290ldr x3, [sp+136]
0002a294orr x5, x3, x1
0002a298ldr x1, [sp+168]
0002a29cadd x3, x1, x2
0002a2a0ldr x4, [sp+192]
0002a2a4
0002a2a4loc_2a2a4:
0002a2a4orr x2, xzr, 8
0002a2a8orr x7, xzr, 1
0002a2acmov x6, x4
0002a2b0mov x1, x5
0002a2b4b 0x29d20
0002a2b8
0002a2b8loc_2a2b8:
0002a2b8stp x0, x1, [sp+8]
0002a2bcmov x3, x30
0002a2c0bl runtime.morestack_noctxt.abi0
0002a2c4ldp x0, x1, [sp+8]
0002a2c8b 0x29cf0
0002a2ccudf 0
00029cf0
00029cf0runtime.runGCProg: ; void runtime.runGCProg(uint8 * prog, uint8 * dst)
00029cf0ldr x16, [x28+16]
00029cf4sub x17, sp, 96
00029cf8subs xzr, x17, x16
00029cfcb.ls 0x2a2b8
00029d00str x30, [sp-224]!
00029d04stur x29, [sp-8]
00029d08sub x29, sp, 8
00029d0cstr x1, [sp+240]
00029d10mov x2, x1
00029d14mov x3, xzr
00029d18mov x4, xzr
00029d1cb 0x29d2c
00029d20
00029d20loc_29d20:
00029d20ldr x2, [sp+240]
00029d24mov x4, x1
00029d28mov x1, x6
00029d2c
00029d2cloc_29d2c:
00029d2cstr x0, [sp+184]
00029d30b 0x29eb4
00029d34
00029d34loc_29d34:
00029d34str x1, [sp+176]
00029d38ldrb w1, [x0]
00029d3cstrb w1, [sp+39]
00029d40bl runtime.add1
00029d44ldrb w1, [sp+39]
00029d48and x2, x1, 127
00029d4cmov x3, x1
00029d50tbnz w3, 7, 0x29d6c
00029d54cbz x2, 0x29ec8
00029d58str x2, [sp+96]
00029d5cmov x3, xzr
00029d60ldr x4, [sp+176]
00029d64ldr x5, [sp+136]
00029d68b 0x2a254
00029d6c
00029d6cloc_29d6c:
00029d6ccbnz x2, 0x29d7c
00029d70mov x1, xzr
00029d74mov x2, xzr
00029d78b 0x2a184
00029d7c
00029d7cloc_29d7c:
00029d7cstr x2, [sp+168]
00029d80mov x1, xzr
00029d84mov x3, xzr
00029d88b 0x29f00
00029d8c
00029d8cloc_29d8c:
00029d8cstr x0, [sp+208]
00029d90ldr x3, [sp+168]
00029d94madd x2, x3, x2, xzr
00029d98str x2, [sp+128]
00029d9csubs xzr, x3, 57
00029da0b.hi 0x29db8
00029da4ldr x0, [sp+176]
00029da8bl runtime.subtract1
00029dacldr x1, [sp+88]
00029db0ldr x2, [sp+136]
00029db4b 0x29fe0
00029db8
00029db8loc_29db8:
00029db8ldr x2, [sp+88]
00029dbcsub x2, x3, x2
00029dc0str x2, [sp+56]
00029dc4add x2, x2, 7
00029dc8ubfm x1, x2, 3, 63
00029dccldr x0, [sp+176]
00029dd0bl runtime.subtractb
00029dd4ldr x2, [sp+56]
00029dd8and x2, x2, 7
00029ddccbnz x2, 0x29df4
00029de0orr x2, xzr, 8
00029de4ldr x3, [sp+128]
00029de8ldr x4, [sp+88]
00029decldr x1, [sp+136]
00029df0b 0x29e34
00029df4
00029df4loc_29df4:
00029df4str x2, [sp+120]
00029df8ldrb w1, [x0]
00029dfcstrb w1, [sp+39]
00029e00bl runtime.add1
00029e04ldrb w1, [sp+39]
00029e08orr x2, xzr, 8
00029e0cldr x3, [sp+120]
00029e10sub x4, x2, x3
00029e14lsrv x1, x1, x4
00029e18ldr x4, [sp+88]
00029e1clslv x1, x1, x4
00029e20ldr x5, [sp+136]
00029e24orr x1, x5, x1
00029e28add x4, x3, x4
00029e2cldr x5, [sp+128]
00029e30sub x3, x5, x3
00029e34
00029e34loc_29e34:
00029e34str x3, [sp+128]
00029e38str x4, [sp+88]
00029e3cubfm x5, x3, 3, 63
00029e40ldr x6, [sp+176]
00029e44b 0x29fb0
00029e48
00029e48loc_29e48:
00029e48and x3, x3, 7
00029e4ccbz x3, 0x29e7c
00029e50ldrb w5, [x0]
00029e54orr x7, xzr, 1
00029e58lslv x8, x7, x3
00029e5csub x8, x8, 1
00029e60and x5, x8, x5
00029e64lslv x5, x5, x4
00029e68add x3, x3, x4
00029e6csubs xzr, x4, 64
00029e70csel x5, x5, xzr, lo
00029e74orr x1, x1, x5
00029e78b 0x29e84
00029e7c
00029e7cloc_29e7c:
00029e7corr x7, xzr, 1
00029e80mov x3, x4
00029e84
00029e84loc_29e84:
00029e84ldr x0, [sp+208]
00029e88b 0x29d20
00029e8c
00029e8cloc_29e8c:
00029e8cstrb w4, [x1]
00029e90mov x0, x1
00029e94bl runtime.add1
00029e98ldr x1, [sp+88]
00029e9csub x3, x1, 8
00029ea0ldr x1, [sp+136]
00029ea4ubfm x4, x1, 8, 63
00029ea8ldr x2, [sp+240]
00029eacmov x1, x0
00029eb0ldr x0, [sp+184]
00029eb4
00029eb4loc_29eb4:
00029eb4str x3, [sp+88]
00029eb8str x4, [sp+136]
00029ebcsubs xzr, x3, 8
00029ec0b.hs 0x29e8c
00029ec4b 0x29d34
00029ec8
00029ec8loc_29ec8:
00029ec8ldr x1, [sp+176]
00029eccmov x2, x1
00029ed0ldr x3, [sp+240]
00029ed4sub x2, x2, x3
00029ed8ldr x3, [sp+88]
00029edcsub x5, xzr, x3
00029ee0and x5, x5, 7
00029ee4add x0, x3, x2, lsl #3
00029ee8str x0, [sp+40]
00029eecadd x2, x5, x3
00029ef0ldr x3, [sp+136]
00029ef4b 0x2a1ec
00029ef8
00029ef8loc_29ef8:
00029ef8add x3, x3, 7
00029efcmov x1, x2
00029f00
00029f00loc_29f00:
00029f00str x3, [sp+64]
00029f04str x1, [sp+128]
00029f08ldrb w1, [x0]
00029f0cstrb w1, [sp+39]
00029f10bl runtime.add1
00029f14ldrb w1, [sp+39]
00029f18and x2, x1, 127
00029f1cldr x3, [sp+64]
00029f20lslv x2, x2, x3
00029f24subs xzr, x3, 64
00029f28csel x2, x2, xzr, lo
00029f2cldr x4, [sp+128]
00029f30orr x2, x4, x2
00029f34tbnz w1, 7, 0x29ef8
00029f38b 0x29d8c
00029f3c
00029f3cloc_29f3c:
00029f3cstr x5, [sp+104]
00029f40str x1, [sp+160]
00029f44str x6, [sp+200]
00029f48ldrb w1, [x0]
00029f4cstrb w1, [sp+39]
00029f50bl runtime.add1
00029f54str x0, [sp+176]
00029f58ldrb w1, [sp+39]
00029f5cldr x2, [sp+88]
00029f60lslv x1, x1, x2
00029f64ldr x3, [sp+104]
00029f68sub x3, x3, 1
00029f6cstr x3, [sp+104]
00029f70subs xzr, x2, 64
00029f74csel x1, x1, xzr, lo
00029f78ldr x2, [sp+160]
00029f7corr x1, x2, x1
00029f80str x1, [sp+136]
00029f84ldr x0, [sp+200]
00029f88strb w1, [x0]
00029f8cbl runtime.add1
00029f90ldr x1, [sp+136]
00029f94ubfm x1, x1, 8, 63
00029f98orr x2, xzr, 8
00029f9cldr x3, [sp+128]
00029fa0ldr x4, [sp+88]
00029fa4ldr x5, [sp+104]
00029fa8mov x6, x0
00029facldr x0, [sp+176]
00029fb0
00029fb0loc_29fb0:
00029fb0cbnz x5, 0x29f3c
00029fb4b 0x29e48
00029fb8
00029fb8loc_29fb8:
00029fb8str x1, [sp+80]
00029fbcstr x2, [sp+48]
00029fc0ldrb w1, [x0]
00029fc4strb w1, [sp+39]
00029fc8bl runtime.subtract1
00029fccldrb w1, [sp+39]
00029fd0ldr x2, [sp+48]
00029fd4orr x2, x1, x2, lsl #8
00029fd8ldr x1, [sp+80]
00029fdcadd x1, x1, 8
00029fe0
00029fe0loc_29fe0:
00029fe0ldr x3, [sp+168]
00029fe4subs xzr, x1, x3
00029fe8b.lo 0x29fb8
00029feccsel x4, x3, x1, hi
00029ff0sub x5, x1, x3
00029ff4lsrv x6, x2, x5
00029ff8subs xzr, x5, 64
00029ffccsel x5, x6, xzr, lo
0002a000subs xzr, x1, x3
0002a004csel x1, x5, x2, hi
0002a008subs xzr, x4, 1
0002a00cb.ne 0x2a02c
0002a010subs xzr, x1, 1
0002a014movz x2, 57
0002a018ldr x3, [sp+128]
0002a01ccsel x4, x2, x3, eq
0002a020movn x5, 0xfe00000000000000
0002a024csel x1, x5, x1, eq
0002a028b 0x2a04c
0002a02c
0002a02cloc_2a02c:
0002a02cadd x2, x4, x4
0002a030subs xzr, x2, 57
0002a034b.hi 0x2a040
0002a038mov x0, x4
0002a03cb 0x2a140
0002a040
0002a040loc_2a040:
0002a040movz x2, 57
0002a044ldr x3, [sp+128]
0002a048movn x5, 0xfe00000000000000
0002a04c
0002a04cloc_2a04c:
0002a04cstr x1, [sp+48]
0002a050str x4, [sp+80]
0002a054ldr x6, [sp+136]
0002a058ldr x7, [sp+88]
0002a05cldr x8, [sp+176]
0002a060b 0x2a06c
0002a064
0002a064loc_2a064:
0002a064sub x3, x3, x4
0002a068mov x7, x10
0002a06c
0002a06cloc_2a06c:
0002a06csubs xzr, x4, x3
0002a070b.hi 0x2a090
0002a074str x3, [sp+128]
0002a078lslv x9, x1, x7
0002a07cadd x10, x4, x7
0002a080subs xzr, x7, 64
0002a084csel x7, x9, xzr, lo
0002a088orr x6, x6, x7
0002a08cb 0x2a124
0002a090
0002a090loc_2a090:
0002a090cbz x3, 0x2a0c4
0002a094orr x4, xzr, 1
0002a098lslv x9, x4, x3
0002a09cadd x10, x7, x3
0002a0a0subs xzr, x3, 64
0002a0a4csel x3, x9, xzr, lo
0002a0a8sub x3, x3, 1
0002a0acand x1, x1, x3
0002a0b0lslv x1, x1, x7
0002a0b4subs xzr, x7, 64
0002a0b8csel x1, x1, xzr, lo
0002a0bcorr x6, x6, x1
0002a0c0b 0x2a0cc
0002a0c4
0002a0c4loc_2a0c4:
0002a0c4orr x4, xzr, 1
0002a0c8mov x10, x7
0002a0cc
0002a0ccloc_2a0cc:
0002a0ccorr x2, xzr, 8
0002a0d0orr x7, xzr, 1
0002a0d4mov x3, x10
0002a0d8ldr x0, [sp+208]
0002a0dcmov x1, x6
0002a0e0mov x6, x8
0002a0e4b 0x29d20
0002a0e8
0002a0e8loc_2a0e8:
0002a0e8str x10, [sp+152]
0002a0ecstr x6, [sp+144]
0002a0f0strb w6, [x8]
0002a0f4mov x0, x8
0002a0f8bl runtime.add1
0002a0fcldr x1, [sp+144]
0002a100ubfm x6, x1, 8, 63
0002a104ldr x1, [sp+152]
0002a108sub x10, x1, 8
0002a10cldr x1, [sp+48]
0002a110movz x2, 57
0002a114ldr x3, [sp+128]
0002a118ldr x4, [sp+80]
0002a11cmovn x5, 0xfe00000000000000
0002a120mov x8, x0
0002a124
0002a124loc_2a124:
0002a124subs xzr, x10, 8
0002a128b.hs 0x2a0e8
0002a12cb 0x2a064
0002a130
0002a130loc_2a130:
0002a130lslv x2, x1, x4
0002a134csel x2, x2, xzr, lo
0002a138orr x1, x1, x2
0002a13cadd x4, x4, x4
0002a140
0002a140loc_2a140:
0002a140subs xzr, x4, 64
0002a144b.ls 0x2a130
0002a148cbz x0, 0x2a174
0002a14cmovz x2, 57
0002a150udiv x3, x2, x0
0002a154madd x4, x3, x0, xzr
0002a158orr x3, xzr, 1
0002a15clslv x5, x3, x4
0002a160subs xzr, x4, 64
0002a164csel x5, x5, xzr, lo
0002a168sub x5, x5, 1
0002a16cand x1, x1, x5
0002a170b 0x2a040
0002a174
0002a174loc_2a174:
0002a174bl runtime.panicdivide
0002a178
0002a178loc_2a178:
0002a178add x3, x3, 7
0002a17cmov x1, x2
0002a180mov x2, x3
0002a184
0002a184loc_2a184:
0002a184str x2, [sp+72]
0002a188str x1, [sp+168]
0002a18cldrb w1, [x0]
0002a190strb w1, [sp+39]
0002a194bl runtime.add1
0002a198ldrb w1, [sp+39]
0002a19cand x2, x1, 127
0002a1a0ldr x3, [sp+72]
0002a1a4lslv x2, x2, x3
0002a1a8subs xzr, x3, 64
0002a1accsel x2, x2, xzr, lo
0002a1b0ldr x4, [sp+168]
0002a1b4orr x2, x4, x2
0002a1b8tbnz w1, 7, 0x2a178
0002a1bcb 0x29d7c
0002a1c0
0002a1c0loc_2a1c0:
0002a1c0str x2, [sp+88]
0002a1c4str x3, [sp+136]
0002a1c8strb w3, [x1]
0002a1ccmov x0, x1
0002a1d0bl runtime.add1
0002a1d4ldr x1, [sp+88]
0002a1d8sub x2, x1, 8
0002a1dcldr x1, [sp+136]
0002a1e0ubfm x3, x1, 8, 63
0002a1e4mov x1, x0
0002a1e8ldr x0, [sp+40]
0002a1ec
0002a1ecloc_2a1ec:
0002a1eccbnz x2, 0x2a1c0
0002a1f0ldur x29, [sp-8]
0002a1f4ldr x30, [sp], 224
0002a1f8ret x30
0002a1fc
0002a1fcloc_2a1fc:
0002a1fcstr x3, [sp+112]
0002a200ldrb w1, [x0]
0002a204strb w1, [sp+38]
0002a208bl runtime.add1
0002a20cstr x0, [sp+184]
0002a210ldrb w1, [sp+38]
0002a214ldr x2, [sp+88]
0002a218lslv x1, x1, x2
0002a21cldr x2, [sp+136]
0002a220orr x1, x2, x1
0002a224str x1, [sp+136]
0002a228ldr x0, [sp+192]
0002a22cstrb w1, [x0]
0002a230bl runtime.add1
0002a234ldr x1, [sp+112]
0002a238add x3, x1, 1
0002a23cldr x1, [sp+136]
0002a240ubfm x5, x1, 8, 63
0002a244ldrb w1, [sp+39]
0002a248ldr x2, [sp+96]
0002a24cmov x4, x0
0002a250ldr x0, [sp+184]
0002a254
0002a254loc_2a254:
0002a254str x5, [sp+136]
0002a258str x4, [sp+192]
0002a25csubs xzr, x3, x2, lsr #3
0002a260b.lo 0x2a1fc
0002a264and x1, x1, 7
0002a268cbnz x1, 0x2a274
0002a26cldr x3, [sp+88]
0002a270b 0x2a2a4
0002a274
0002a274loc_2a274:
0002a274str x1, [sp+168]
0002a278ldrb w1, [x0]
0002a27cstrb w1, [sp+39]
0002a280bl runtime.add1
0002a284ldrb w1, [sp+39]
0002a288ldr x2, [sp+88]
0002a28clslv x1, x1, x2
0002a290ldr x3, [sp+136]
0002a294orr x5, x3, x1
0002a298ldr x1, [sp+168]
0002a29cadd x3, x1, x2
0002a2a0ldr x4, [sp+192]
0002a2a4
0002a2a4loc_2a2a4:
0002a2a4orr x2, xzr, 8
0002a2a8orr x7, xzr, 1
0002a2acmov x6, x4
0002a2b0mov x1, x5
0002a2b4b 0x29d20
0002a2b8
0002a2b8loc_2a2b8:
0002a2b8stp x0, x1, [sp+8]
0002a2bcmov x3, x30
0002a2c0bl runtime.morestack_noctxt.abi0
0002a2c4ldp x0, x1, [sp+8]
0002a2c8b 0x29cf0
0002a2ccudf 0
00029cf0
0002a2d0
0002a2d0runtime.gclinkptr.ptr: ; void runtime.gclinkptr.ptr(runtime.gclinkptr p)
0002a2d0ret x30
0002a2d4udf 0
0002a2d8udf 0
0002a2dcudf 0
0002a2d0
0002a2d0runtime.gclinkptr.ptr: ; void runtime.gclinkptr.ptr(runtime.gclinkptr p)
0002a2d0ret x30
0002a2d4udf 0
0002a2d8udf 0
0002a2dcudf 0
0002a2d0
0002a2e0
0002a2e0runtime.allocmcache: ; void runtime.allocmcache(void)
0002a2e0ldr x16, [x28+16]
0002a2e4subs xzr, sp, x16
0002a2e8b.ls 0x2a364
0002a2ecstr x30, [sp-48]!
0002a2f0stur x29, [sp-8]
0002a2f4sub x29, sp, 8
0002a2f8str xzr, [sp+16]
0002a2fcadrp x0, 0
0002a300add x0, x0, 880
0002a304str x0, [sp+24]
0002a308add x0, sp, 16
0002a30cstr x0, [sp+32]
0002a310add x0, sp, 24
0002a314str x0, [sp+8]
0002a318bl runtime.systemstack.abi0
0002a31cmov x0, xzr
0002a320b 0x2a340
0002a324
0002a324loc_2a324:
0002a324ldr x1, [sp+16]
0002a328ldrsb x27, [x1]
0002a32cadd x1, x1, 48
0002a330adrp x2, 0x9fa000
0002a334add x2, x2, 704
0002a338str x2, [x1+3*x0]
0002a33cadd x0, x0, 1
0002a340
0002a340loc_2a340:
0002a340subs xzr, x0, 136
0002a344b.lt 0x2a324
0002a348bl runtime.nextSample
0002a34cldr x1, [sp+16]
0002a350str x0, [x1]
0002a354ldr x0, [sp+16]
0002a358ldur x29, [sp-8]
0002a35cldr x30, [sp], 48
0002a360ret x30
0002a364
0002a364loc_2a364:
0002a364mov x3, x30
0002a368bl runtime.morestack_noctxt.abi0
0002a36cb 0x2a2e0
0002a2e0
0002a2e0runtime.allocmcache: ; void runtime.allocmcache(void)
0002a2e0ldr x16, [x28+16]
0002a2e4subs xzr, sp, x16
0002a2e8b.ls 0x2a364
0002a2ecstr x30, [sp-48]!
0002a2f0stur x29, [sp-8]
0002a2f4sub x29, sp, 8
0002a2f8str xzr, [sp+16]
0002a2fcadrp x0, 0
0002a300add x0, x0, 880
0002a304str x0, [sp+24]
0002a308add x0, sp, 16
0002a30cstr x0, [sp+32]
0002a310add x0, sp, 24
0002a314str x0, [sp+8]
0002a318bl runtime.systemstack.abi0
0002a31cmov x0, xzr
0002a320b 0x2a340
0002a324
0002a324loc_2a324:
0002a324ldr x1, [sp+16]
0002a328ldrsb x27, [x1]
0002a32cadd x1, x1, 48
0002a330adrp x2, 0x9fa000
0002a334add x2, x2, 704
0002a338str x2, [x1+3*x0]
0002a33cadd x0, x0, 1
0002a340
0002a340loc_2a340:
0002a340subs xzr, x0, 136
0002a344b.lt 0x2a324
0002a348bl runtime.nextSample
0002a34cldr x1, [sp+16]
0002a350str x0, [x1]
0002a354ldr x0, [sp+16]
0002a358ldur x29, [sp-8]
0002a35cldr x30, [sp], 48
0002a360ret x30
0002a364
0002a364loc_2a364:
0002a364mov x3, x30
0002a368bl runtime.morestack_noctxt.abi0
0002a36cb 0x2a2e0
0002a2e0
0002a370
0002a370runtime.allocmcache.func1: ; void runtime.allocmcache.func1(void)
0002a370ldr x16, [x28+16]
0002a374subs xzr, sp, x16
0002a378b.ls 0x2a3e0
0002a37cstr x30, [sp-48]!
0002a380stur x29, [sp-8]
0002a384sub x29, sp, 8
0002a388ldr x1, [x26+8]
0002a38cstr x1, [sp+32]
0002a390adrp x0, 0xa08000
0002a394add x0, x0, 2112
0002a398bl runtime.lock
0002a39cadrp x0, 0xa21000
0002a3a0add x0, x0, 848
0002a3a4bl runtime.(*fixalloc).alloc
0002a3a8ldr x1, [sp+32]
0002a3acstr x0, [x1]
0002a3b0ldr x1, [x1]
0002a3b4ldrsb x27, [x1]
0002a3b8add x0, x1, 1200
0002a3bcadrp x27, 0xa18000
0002a3c0ldr w1, [x27+2432]
0002a3c4bl internal/runtime/atomic.(*Uint32).Store
0002a3c8adrp x0, 0xa08000
0002a3ccadd x0, x0, 2112
0002a3d0bl runtime.unlock
0002a3d4ldur x29, [sp-8]
0002a3d8ldr x30, [sp], 48
0002a3dcret x30
0002a3e0
0002a3e0loc_2a3e0:
0002a3e0mov x3, x30
0002a3e4bl runtime.morestack.abi0
0002a3e8b 0x2a370
0002a3ecudf 0
0002a370
0002a370runtime.allocmcache.func1: ; void runtime.allocmcache.func1(void)
0002a370ldr x16, [x28+16]
0002a374subs xzr, sp, x16
0002a378b.ls 0x2a3e0
0002a37cstr x30, [sp-48]!
0002a380stur x29, [sp-8]
0002a384sub x29, sp, 8
0002a388ldr x1, [x26+8]
0002a38cstr x1, [sp+32]
0002a390adrp x0, 0xa08000
0002a394add x0, x0, 2112
0002a398bl runtime.lock
0002a39cadrp x0, 0xa21000
0002a3a0add x0, x0, 848
0002a3a4bl runtime.(*fixalloc).alloc
0002a3a8ldr x1, [sp+32]
0002a3acstr x0, [x1]
0002a3b0ldr x1, [x1]
0002a3b4ldrsb x27, [x1]
0002a3b8add x0, x1, 1200
0002a3bcadrp x27, 0xa18000
0002a3c0ldr w1, [x27+2432]
0002a3c4bl internal/runtime/atomic.(*Uint32).Store
0002a3c8adrp x0, 0xa08000
0002a3ccadd x0, x0, 2112
0002a3d0bl runtime.unlock
0002a3d4ldur x29, [sp-8]
0002a3d8ldr x30, [sp], 48
0002a3dcret x30
0002a3e0
0002a3e0loc_2a3e0:
0002a3e0mov x3, x30
0002a3e4bl runtime.morestack.abi0
0002a3e8b 0x2a370
0002a3ecudf 0
0002a370
0002a3f0
0002a3f0runtime.freemcache: ; void runtime.freemcache(runtime.mcache * c)
0002a3f0ldr x16, [x28+16]
0002a3f4subs xzr, sp, x16
0002a3f8b.ls 0x2a430
0002a3fcstr x30, [sp-48]!
0002a400stur x29, [sp-8]
0002a404sub x29, sp, 8
0002a408adrp x1, 0
0002a40cadd x1, x1, 1104
0002a410str x1, [sp+24]
0002a414str x0, [sp+32]
0002a418add x0, sp, 24
0002a41cstr x0, [sp+8]
0002a420bl runtime.systemstack.abi0
0002a424ldur x29, [sp-8]
0002a428ldr x30, [sp], 48
0002a42cret x30
0002a430
0002a430loc_2a430:
0002a430str x0, [sp+8]
0002a434mov x3, x30
0002a438bl runtime.morestack_noctxt.abi0
0002a43cldr x0, [sp+8]
0002a440b 0x2a3f0
0002a444udf 0
0002a448udf 0
0002a44cudf 0
0002a3f0
0002a3f0runtime.freemcache: ; void runtime.freemcache(runtime.mcache * c)
0002a3f0ldr x16, [x28+16]
0002a3f4subs xzr, sp, x16
0002a3f8b.ls 0x2a430
0002a3fcstr x30, [sp-48]!
0002a400stur x29, [sp-8]
0002a404sub x29, sp, 8
0002a408adrp x1, 0
0002a40cadd x1, x1, 1104
0002a410str x1, [sp+24]
0002a414str x0, [sp+32]
0002a418add x0, sp, 24
0002a41cstr x0, [sp+8]
0002a420bl runtime.systemstack.abi0
0002a424ldur x29, [sp-8]
0002a428ldr x30, [sp], 48
0002a42cret x30
0002a430
0002a430loc_2a430:
0002a430str x0, [sp+8]
0002a434mov x3, x30
0002a438bl runtime.morestack_noctxt.abi0
0002a43cldr x0, [sp+8]
0002a440b 0x2a3f0
0002a444udf 0
0002a448udf 0
0002a44cudf 0
0002a3f0
0002a450
0002a450runtime.freemcache.func1: ; void runtime.freemcache.func1(void)
0002a450ldr x16, [x28+16]
0002a454subs xzr, sp, x16
0002a458b.ls 0x2a4b0
0002a45cstr x30, [sp-48]!
0002a460stur x29, [sp-8]
0002a464sub x29, sp, 8
0002a468ldr x0, [x26+8]
0002a46cstr x0, [sp+32]
0002a470bl runtime.(*mcache).releaseAll
0002a474ldr x0, [sp+32]
0002a478bl runtime.stackcache_clear
0002a47cadrp x0, 0xa08000
0002a480add x0, x0, 2112
0002a484bl runtime.lock
0002a488adrp x0, 0xa21000
0002a48cadd x0, x0, 848
0002a490ldr x1, [sp+32]
0002a494bl runtime.(*fixalloc).free
0002a498adrp x0, 0xa08000
0002a49cadd x0, x0, 2112
0002a4a0bl runtime.unlock
0002a4a4ldur x29, [sp-8]
0002a4a8ldr x30, [sp], 48
0002a4acret x30
0002a4b0
0002a4b0loc_2a4b0:
0002a4b0mov x3, x30
0002a4b4bl runtime.morestack.abi0
0002a4b8b 0x2a450
0002a4bcudf 0
0002a450
0002a450runtime.freemcache.func1: ; void runtime.freemcache.func1(void)
0002a450ldr x16, [x28+16]
0002a454subs xzr, sp, x16
0002a458b.ls 0x2a4b0
0002a45cstr x30, [sp-48]!
0002a460stur x29, [sp-8]
0002a464sub x29, sp, 8
0002a468ldr x0, [x26+8]
0002a46cstr x0, [sp+32]
0002a470bl runtime.(*mcache).releaseAll
0002a474ldr x0, [sp+32]
0002a478bl runtime.stackcache_clear
0002a47cadrp x0, 0xa08000
0002a480add x0, x0, 2112
0002a484bl runtime.lock
0002a488adrp x0, 0xa21000
0002a48cadd x0, x0, 848
0002a490ldr x1, [sp+32]
0002a494bl runtime.(*fixalloc).free
0002a498adrp x0, 0xa08000
0002a49cadd x0, x0, 2112
0002a4a0bl runtime.unlock
0002a4a4ldur x29, [sp-8]
0002a4a8ldr x30, [sp], 48
0002a4acret x30
0002a4b0
0002a4b0loc_2a4b0:
0002a4b0mov x3, x30
0002a4b4bl runtime.morestack.abi0
0002a4b8b 0x2a450
0002a4bcudf 0
0002a450
0002a4c0
0002a4c0runtime.getMCache: ; void runtime.getMCache(runtime.m * mp)
0002a4c0ldr x16, [x28+16]
0002a4c4subs xzr, sp, x16
0002a4c8b.ls 0x2a504
0002a4ccstr x30, [sp-32]!
0002a4d0stur x29, [sp-8]
0002a4d4sub x29, sp, 8
0002a4d8ldr x0, [x0+208]
0002a4dcbl runtime.puintptr.ptr
0002a4e0cbz x0, 0x2a4ec
0002a4e4ldr x1, [x0+56]
0002a4e8b 0x2a4f4
0002a4ec
0002a4ecloc_2a4ec:
0002a4ecadrp x27, 0xa21000
0002a4f0ldr x1, [x27+1936]
0002a4f4
0002a4f4loc_2a4f4:
0002a4f4mov x0, x1
0002a4f8ldur x29, [sp-8]
0002a4fcldr x30, [sp], 32
0002a500ret x30
0002a504
0002a504loc_2a504:
0002a504str x0, [sp+8]
0002a508mov x3, x30
0002a50cbl runtime.morestack_noctxt.abi0
0002a510ldr x0, [sp+8]
0002a514b 0x2a4c0
0002a518udf 0
0002a51cudf 0
0002a4c0
0002a4c0runtime.getMCache: ; void runtime.getMCache(runtime.m * mp)
0002a4c0ldr x16, [x28+16]
0002a4c4subs xzr, sp, x16
0002a4c8b.ls 0x2a504
0002a4ccstr x30, [sp-32]!
0002a4d0stur x29, [sp-8]
0002a4d4sub x29, sp, 8
0002a4d8ldr x0, [x0+208]
0002a4dcbl runtime.puintptr.ptr
0002a4e0cbz x0, 0x2a4ec
0002a4e4ldr x1, [x0+56]
0002a4e8b 0x2a4f4
0002a4ec
0002a4ecloc_2a4ec:
0002a4ecadrp x27, 0xa21000
0002a4f0ldr x1, [x27+1936]
0002a4f4
0002a4f4loc_2a4f4:
0002a4f4mov x0, x1
0002a4f8ldur x29, [sp-8]
0002a4fcldr x30, [sp], 32
0002a500ret x30
0002a504
0002a504loc_2a504:
0002a504str x0, [sp+8]
0002a508mov x3, x30
0002a50cbl runtime.morestack_noctxt.abi0
0002a510ldr x0, [sp+8]
0002a514b 0x2a4c0
0002a518udf 0
0002a51cudf 0
0002a4c0
0002a520
0002a520runtime.(*mcache).refill: ; void runtime.(*mcache).refill(runtime.mcache * c, runtime.spanClass spc)
0002a520ldr x16, [x28+16]
0002a524subs xzr, sp, x16
0002a528b.ls 0x2a78c
0002a52cstr x30, [sp-96]!
0002a530stur x29, [sp-8]
0002a534sub x29, sp, 8
0002a538ubfm x2, x1, 0, 7
0002a53csubs xzr, x2, 136
0002a540b.hs 0x2a77c
0002a544ldrsb x27, [x0]
0002a548add x3, x0, 48
0002a54cldr x4, [x3+3*x2]
0002a550ldrh w5, [x4+96]
0002a554ldrh w6, [x4+50]
0002a558subs wzr, w6, w5
0002a55cb.ne 0x2a76c
0002a560str x0, [sp+104]
0002a564str x3, [sp+80]
0002a568str x2, [sp+64]
0002a56cadrp x5, 0x9fa000
0002a570add x5, x5, 704
0002a574subs xzr, x4, x5
0002a578b.eq 0x2a6a8
0002a57cldr w5, [x4+88]
0002a580adrp x27, 0xa18000
0002a584ldr w6, [x27+2432]
0002a588add x6, x6, 3
0002a58csubs wzr, w5, w6
0002a590b.ne 0x2a75c
0002a594strb w1, [sp+112]
0002a598str x4, [sp+48]
0002a59cadrp x3, 0xa18000
0002a5a0add x3, x3, 2824
0002a5a4add x0, x3, x2, lsl #8
0002a5a8mov x1, x4
0002a5acbl runtime.(*mcentral).uncacheSpan
0002a5b0adrp x0, 0xa26000
0002a5b4add x0, x0, 1056
0002a5b8bl runtime.(*consistentHeapStats).acquire
0002a5bcstr x0, [sp+72]
0002a5c0ldr x2, [sp+48]
0002a5c4ldrh w3, [x2+96]
0002a5c8str x3, [sp+56]
0002a5ccldrh w2, [x2+102]
0002a5d0strh w2, [sp+38]
0002a5d4ldrb w0, [sp+112]
0002a5d8bl runtime.spanClass.sizeclass
0002a5dcldrh w2, [sp+38]
0002a5e0sbfm x0, x0, 0, 7
0002a5e4ldr x3, [sp+56]
0002a5e8sub x2, x3, x2
0002a5ecsubs xzr, x0, 68
0002a5f0b.hs 0x2a754
0002a5f4ldr x1, [sp+72]
0002a5f8ldrsb x27, [x1]
0002a5fcadd x3, x1, 72
0002a600add x3, x3, x0, lsl #3
0002a604adrp x27, 0xa21000
0002a608ldrb w4, [x27+1516]
0002a60ctbz w4, 0, 0x2a61c
0002a610ldaddal x2, x4, [x3]
0002a614add x4, x4, x2
0002a618b 0x2a62c
0002a61c
0002a61cloc_2a61c:
0002a61cldaxr x4, [x3]
0002a620add x4, x4, x2
0002a624stlxr w27, x4, [x3]
0002a628cbnz x27, 0x2a61c
0002a62c
0002a62cloc_2a62c:
0002a62cstr x2, [sp+40]
0002a630ldrb w3, [sp+112]
0002a634subs wzr, w3, 5
0002a638b.ne 0x2a674
0002a63cadd x1, x1, 48
0002a640ldr x3, [sp+104]
0002a644ldr x4, [x3+40]
0002a648adrp x27, 0xa21000
0002a64cldrb w5, [x27+1516]
0002a650tbz w5, 0, 0x2a660
0002a654ldaddal x4, x5, [x1]
0002a658add x5, x5, x4
0002a65cb 0x2a670
0002a660
0002a660loc_2a660:
0002a660ldaxr x5, [x1]
0002a664add x5, x5, x4
0002a668stlxr w27, x5, [x1]
0002a66ccbnz x27, 0x2a660
0002a670
0002a670loc_2a670:
0002a670str xzr, [x3+40]
0002a674
0002a674loc_2a674:
0002a674adrp x0, 0xa26000
0002a678add x0, x0, 1056
0002a67cbl runtime.(*consistentHeapStats).release
0002a680ldr x1, [sp+48]
0002a684ldr x1, [x1+104]
0002a688ldr x2, [sp+40]
0002a68cmadd x1, x2, x1, xzr
0002a690adrp x0, 0xa22000
0002a694add x0, x0, 2792
0002a698bl internal/runtime/atomic.(*Uint64).Add
0002a69cldr x1, [sp+48]
0002a6a0strh wzr, [x1+102]
0002a6a4ldr x2, [sp+64]
0002a6a8
0002a6a8loc_2a6a8:
0002a6a8adrp x1, 0xa18000
0002a6acadd x1, x1, 2824
0002a6b0add x0, x1, x2, lsl #8
0002a6b4bl runtime.(*mcentral).cacheSpan
0002a6b8cbz x0, 0x2a744
0002a6bcldrh w3, [x0+96]
0002a6c0ldrh w4, [x0+50]
0002a6c4subs wzr, w3, w4
0002a6c8b.eq 0x2a734
0002a6ccstr x0, [sp+48]
0002a6d0adrp x27, 0xa18000
0002a6d4ldr w3, [x27+2432]
0002a6d8add x3, x3, 3
0002a6dcstr w3, [x0+88]
0002a6e0ldrh w3, [x0+96]
0002a6e4strh w3, [x0+102]
0002a6e8ldrh w3, [x0+96]
0002a6ecldr x4, [x0+104]
0002a6f0ldr x5, [x0+32]
0002a6f4ubfm x5, x5, 51, 50
0002a6f8msub x1, x4, x3, x5
0002a6fcldr x3, [sp+104]
0002a700ldr x2, [x3+16]
0002a704adrp x0, 0xa22000
0002a708add x0, x0, 2496
0002a70cbl runtime.(*gcControllerState).update
0002a710ldr x3, [sp+104]
0002a714str xzr, [x3+16]
0002a718ldr x3, [sp+64]
0002a71cldr x4, [sp+48]
0002a720ldr x5, [sp+80]
0002a724str x4, [x5+3*x3]
0002a728ldur x29, [sp-8]
0002a72cldr x30, [sp], 96
0002a730ret x30
0002a734
0002a734loc_2a734:
0002a734adrp x0, 0x68d000
0002a738add x0, x0, 2512
0002a73cmovz x1, 22
0002a740bl runtime.throw
0002a744
0002a744loc_2a744:
0002a744adrp x0, 0x689000
0002a748add x0, x0, 1368
0002a74cmovz x1, 13
0002a750bl runtime.throw
0002a754
0002a754loc_2a754:
0002a754movz x1, 68
0002a758bl runtime.panicIndex
0002a75c
0002a75cloc_2a75c:
0002a75cadrp x0, 0x68d000
0002a760add x0, x0, 2490
0002a764movz x1, 22
0002a768bl runtime.throw
0002a76c
0002a76cloc_2a76c:
0002a76cadrp x0, 0x699000
0002a770add x0, x0, 3995
0002a774movz x1, 40
0002a778bl runtime.throw
0002a77c
0002a77cloc_2a77c:
0002a77cmov x0, x2
0002a780movz x1, 136
0002a784bl runtime.panicIndex
0002a788hint
0002a78c
0002a78cloc_2a78c:
0002a78cstr x0, [sp+8]
0002a790strb w1, [sp+16]
0002a794mov x3, x30
0002a798bl runtime.morestack_noctxt.abi0
0002a79cldr x0, [sp+8]
0002a7a0ldrb w1, [sp+16]
0002a7a4b 0x2a520
0002a7a8udf 0
0002a7acudf 0
0002a520
0002a520runtime.(*mcache).refill: ; void runtime.(*mcache).refill(runtime.mcache * c, runtime.spanClass spc)
0002a520ldr x16, [x28+16]
0002a524subs xzr, sp, x16
0002a528b.ls 0x2a78c
0002a52cstr x30, [sp-96]!
0002a530stur x29, [sp-8]
0002a534sub x29, sp, 8
0002a538ubfm x2, x1, 0, 7
0002a53csubs xzr, x2, 136
0002a540b.hs 0x2a77c
0002a544ldrsb x27, [x0]
0002a548add x3, x0, 48
0002a54cldr x4, [x3+3*x2]
0002a550ldrh w5, [x4+96]
0002a554ldrh w6, [x4+50]
0002a558subs wzr, w6, w5
0002a55cb.ne 0x2a76c
0002a560str x0, [sp+104]
0002a564str x3, [sp+80]
0002a568str x2, [sp+64]
0002a56cadrp x5, 0x9fa000
0002a570add x5, x5, 704
0002a574subs xzr, x4, x5
0002a578b.eq 0x2a6a8
0002a57cldr w5, [x4+88]
0002a580adrp x27, 0xa18000
0002a584ldr w6, [x27+2432]
0002a588add x6, x6, 3
0002a58csubs wzr, w5, w6
0002a590b.ne 0x2a75c
0002a594strb w1, [sp+112]
0002a598str x4, [sp+48]
0002a59cadrp x3, 0xa18000
0002a5a0add x3, x3, 2824
0002a5a4add x0, x3, x2, lsl #8
0002a5a8mov x1, x4
0002a5acbl runtime.(*mcentral).uncacheSpan
0002a5b0adrp x0, 0xa26000
0002a5b4add x0, x0, 1056
0002a5b8bl runtime.(*consistentHeapStats).acquire
0002a5bcstr x0, [sp+72]
0002a5c0ldr x2, [sp+48]
0002a5c4ldrh w3, [x2+96]
0002a5c8str x3, [sp+56]
0002a5ccldrh w2, [x2+102]
0002a5d0strh w2, [sp+38]
0002a5d4ldrb w0, [sp+112]
0002a5d8bl runtime.spanClass.sizeclass
0002a5dcldrh w2, [sp+38]
0002a5e0sbfm x0, x0, 0, 7
0002a5e4ldr x3, [sp+56]
0002a5e8sub x2, x3, x2
0002a5ecsubs xzr, x0, 68
0002a5f0b.hs 0x2a754
0002a5f4ldr x1, [sp+72]
0002a5f8ldrsb x27, [x1]
0002a5fcadd x3, x1, 72
0002a600add x3, x3, x0, lsl #3
0002a604adrp x27, 0xa21000
0002a608ldrb w4, [x27+1516]
0002a60ctbz w4, 0, 0x2a61c
0002a610ldaddal x2, x4, [x3]
0002a614add x4, x4, x2
0002a618b 0x2a62c
0002a61c
0002a61cloc_2a61c:
0002a61cldaxr x4, [x3]
0002a620add x4, x4, x2
0002a624stlxr w27, x4, [x3]
0002a628cbnz x27, 0x2a61c
0002a62c
0002a62cloc_2a62c:
0002a62cstr x2, [sp+40]
0002a630ldrb w3, [sp+112]
0002a634subs wzr, w3, 5
0002a638b.ne 0x2a674
0002a63cadd x1, x1, 48
0002a640ldr x3, [sp+104]
0002a644ldr x4, [x3+40]
0002a648adrp x27, 0xa21000
0002a64cldrb w5, [x27+1516]
0002a650tbz w5, 0, 0x2a660
0002a654ldaddal x4, x5, [x1]
0002a658add x5, x5, x4
0002a65cb 0x2a670
0002a660
0002a660loc_2a660:
0002a660ldaxr x5, [x1]
0002a664add x5, x5, x4
0002a668stlxr w27, x5, [x1]
0002a66ccbnz x27, 0x2a660
0002a670
0002a670loc_2a670:
0002a670str xzr, [x3+40]
0002a674
0002a674loc_2a674:
0002a674adrp x0, 0xa26000
0002a678add x0, x0, 1056
0002a67cbl runtime.(*consistentHeapStats).release
0002a680ldr x1, [sp+48]
0002a684ldr x1, [x1+104]
0002a688ldr x2, [sp+40]
0002a68cmadd x1, x2, x1, xzr
0002a690adrp x0, 0xa22000
0002a694add x0, x0, 2792
0002a698bl internal/runtime/atomic.(*Uint64).Add
0002a69cldr x1, [sp+48]
0002a6a0strh wzr, [x1+102]
0002a6a4ldr x2, [sp+64]
0002a6a8
0002a6a8loc_2a6a8:
0002a6a8adrp x1, 0xa18000
0002a6acadd x1, x1, 2824
0002a6b0add x0, x1, x2, lsl #8
0002a6b4bl runtime.(*mcentral).cacheSpan
0002a6b8cbz x0, 0x2a744
0002a6bcldrh w3, [x0+96]
0002a6c0ldrh w4, [x0+50]
0002a6c4subs wzr, w3, w4
0002a6c8b.eq 0x2a734
0002a6ccstr x0, [sp+48]
0002a6d0adrp x27, 0xa18000
0002a6d4ldr w3, [x27+2432]
0002a6d8add x3, x3, 3
0002a6dcstr w3, [x0+88]
0002a6e0ldrh w3, [x0+96]
0002a6e4strh w3, [x0+102]
0002a6e8ldrh w3, [x0+96]
0002a6ecldr x4, [x0+104]
0002a6f0ldr x5, [x0+32]
0002a6f4ubfm x5, x5, 51, 50
0002a6f8msub x1, x4, x3, x5
0002a6fcldr x3, [sp+104]
0002a700ldr x2, [x3+16]
0002a704adrp x0, 0xa22000
0002a708add x0, x0, 2496
0002a70cbl runtime.(*gcControllerState).update
0002a710ldr x3, [sp+104]
0002a714str xzr, [x3+16]
0002a718ldr x3, [sp+64]
0002a71cldr x4, [sp+48]
0002a720ldr x5, [sp+80]
0002a724str x4, [x5+3*x3]
0002a728ldur x29, [sp-8]
0002a72cldr x30, [sp], 96
0002a730ret x30
0002a734
0002a734loc_2a734:
0002a734adrp x0, 0x68d000
0002a738add x0, x0, 2512
0002a73cmovz x1, 22
0002a740bl runtime.throw
0002a744
0002a744loc_2a744:
0002a744adrp x0, 0x689000
0002a748add x0, x0, 1368
0002a74cmovz x1, 13
0002a750bl runtime.throw
0002a754
0002a754loc_2a754:
0002a754movz x1, 68
0002a758bl runtime.panicIndex
0002a75c
0002a75cloc_2a75c:
0002a75cadrp x0, 0x68d000
0002a760add x0, x0, 2490
0002a764movz x1, 22
0002a768bl runtime.throw
0002a76c
0002a76cloc_2a76c:
0002a76cadrp x0, 0x699000
0002a770add x0, x0, 3995
0002a774movz x1, 40
0002a778bl runtime.throw
0002a77c
0002a77cloc_2a77c:
0002a77cmov x0, x2
0002a780movz x1, 136
0002a784bl runtime.panicIndex
0002a788hint
0002a78c
0002a78cloc_2a78c:
0002a78cstr x0, [sp+8]
0002a790strb w1, [sp+16]
0002a794mov x3, x30
0002a798bl runtime.morestack_noctxt.abi0
0002a79cldr x0, [sp+8]
0002a7a0ldrb w1, [sp+16]
0002a7a4b 0x2a520
0002a7a8udf 0
0002a7acudf 0
0002a520
0002a7b0
0002a7b0runtime.(*mcache).allocLarge: ; void runtime.(*mcache).allocLarge(runtime.mcache * c, uintptr size, bool noscan)
0002a7b0ldr x16, [x28+16]
0002a7b4subs xzr, sp, x16
0002a7b8b.ls 0x2a960
0002a7bcstr x30, [sp-80]!
0002a7c0stur x29, [sp-8]
0002a7c4sub x29, sp, 8
0002a7c8add x3, x1, 8192
0002a7ccsubs xzr, x1, x3
0002a7d0b.hi 0x2a94c
0002a7d4str x1, [sp+96]
0002a7d8strb w2, [sp+104]
0002a7dcubfm x2, x1, 13, 63
0002a7e0and x3, x1, 8191
0002a7e4subs xzr, x3, 0
0002a7e8cinc x1, x2, ne
0002a7ecstr x1, [sp+56]
0002a7f0ubfm x0, x1, 51, 50
0002a7f4str x0, [sp+64]
0002a7f8bl runtime.deductSweepCredit
0002a7fcmov x0, xzr
0002a800ldrb w1, [sp+104]
0002a804bl runtime.makeSpanClass
0002a808strb w0, [sp+47]
0002a80cldr x1, [sp+56]
0002a810mov x2, x0
0002a814adrp x0, 0xa08000
0002a818add x0, x0, 2112
0002a81cbl runtime.(*mheap).alloc
0002a820cbz x0, 0x2a93c
0002a824str x0, [sp+48]
0002a828adrp x0, 0xa26000
0002a82cadd x0, x0, 1056
0002a830bl runtime.(*consistentHeapStats).acquire
0002a834ldrsb x27, [x0]
0002a838add x1, x0, 56
0002a83cadrp x27, 0xa21000
0002a840ldrb w2, [x27+1516]
0002a844tbz w2, 0, 0x2a858
0002a848ldr x2, [sp+64]
0002a84cldaddal x2, x3, [x1]
0002a850add x3, x3, x2
0002a854b 0x2a86c
0002a858
0002a858loc_2a858:
0002a858ldr x2, [sp+64]
0002a85c
0002a85cloc_2a85c:
0002a85cldaxr x3, [x1]
0002a860add x3, x3, x2
0002a864stlxr w27, x3, [x1]
0002a868cbnz x27, 0x2a85c
0002a86c
0002a86cloc_2a86c:
0002a86cadd x1, x0, 64
0002a870adrp x27, 0xa21000
0002a874ldrb w3, [x27+1516]
0002a878tbz w3, 0, 0x2a88c
0002a87corr x3, xzr, 1
0002a880ldaddal x3, x4, [x1]
0002a884add x4, x4, x3
0002a888b 0x2a8a0
0002a88c
0002a88cloc_2a88c:
0002a88corr x3, xzr, 1
0002a890
0002a890loc_2a890:
0002a890ldaxr x4, [x1]
0002a894add x4, x4, x3
0002a898stlxr w27, x4, [x1]
0002a89ccbnz x27, 0x2a890
0002a8a0
0002a8a0loc_2a8a0:
0002a8a0adrp x0, 0xa26000
0002a8a4add x0, x0, 1056
0002a8a8bl runtime.(*consistentHeapStats).release
0002a8acadrp x0, 0xa22000
0002a8b0add x0, x0, 2792
0002a8b4ldr x1, [sp+64]
0002a8b8bl internal/runtime/atomic.(*Uint64).Add
0002a8bcldr x1, [sp+48]
0002a8c0ldr x1, [x1+32]
0002a8c4ubfm x1, x1, 51, 50
0002a8c8adrp x0, 0xa22000
0002a8ccadd x0, x0, 2496
0002a8d0mov x2, xzr
0002a8d4bl runtime.(*gcControllerState).update
0002a8d8ldrb w1, [sp+47]
0002a8dcmov x0, x1
0002a8e0subs xzr, x0, 136
0002a8e4b.hs 0x2a934
0002a8e8adrp x2, 0xa18000
0002a8ecadd x2, x2, 2824
0002a8f0add x0, x2, x0, lsl #8
0002a8f4adrp x27, 0xa18000
0002a8f8ldr w1, [x27+2432]
0002a8fcbl runtime.(*mcentral).fullSwept
0002a900ldr x1, [sp+48]
0002a904bl runtime.(*spanSet).push
0002a908ldr x0, [sp+48]
0002a90cbl runtime.(*mspan).base
0002a910ldr x2, [sp+96]
0002a914add x2, x2, x0
0002a918ldr x0, [sp+48]
0002a91cstr x2, [x0+112]
0002a920bl runtime.(*mspan).initHeapBits
0002a924ldr x0, [sp+48]
0002a928ldur x29, [sp-8]
0002a92cldr x30, [sp], 80
0002a930ret x30
0002a934
0002a934loc_2a934:
0002a934movz x1, 136
0002a938bl runtime.panicIndex
0002a93c
0002a93cloc_2a93c:
0002a93cadrp x0, 0x689000
0002a940add x0, x0, 1368
0002a944movz x1, 13
0002a948bl runtime.throw
0002a94c
0002a94cloc_2a94c:
0002a94cadrp x0, 0x689000
0002a950add x0, x0, 1368
0002a954movz x1, 13
0002a958bl runtime.throw
0002a95chint
0002a960
0002a960loc_2a960:
0002a960stp x0, x1, [sp+8]
0002a964strb w2, [sp+24]
0002a968mov x3, x30
0002a96cbl runtime.morestack_noctxt.abi0
0002a970ldp x0, x1, [sp+8]
0002a974ldrb w2, [sp+24]
0002a978b 0x2a7b0
0002a97cudf 0
0002a7b0
0002a7b0runtime.(*mcache).allocLarge: ; void runtime.(*mcache).allocLarge(runtime.mcache * c, uintptr size, bool noscan)
0002a7b0ldr x16, [x28+16]
0002a7b4subs xzr, sp, x16
0002a7b8b.ls 0x2a960
0002a7bcstr x30, [sp-80]!
0002a7c0stur x29, [sp-8]
0002a7c4sub x29, sp, 8
0002a7c8add x3, x1, 8192
0002a7ccsubs xzr, x1, x3
0002a7d0b.hi 0x2a94c
0002a7d4str x1, [sp+96]
0002a7d8strb w2, [sp+104]
0002a7dcubfm x2, x1, 13, 63
0002a7e0and x3, x1, 8191
0002a7e4subs xzr, x3, 0
0002a7e8cinc x1, x2, ne
0002a7ecstr x1, [sp+56]
0002a7f0ubfm x0, x1, 51, 50
0002a7f4str x0, [sp+64]
0002a7f8bl runtime.deductSweepCredit
0002a7fcmov x0, xzr
0002a800ldrb w1, [sp+104]
0002a804bl runtime.makeSpanClass
0002a808strb w0, [sp+47]
0002a80cldr x1, [sp+56]
0002a810mov x2, x0
0002a814adrp x0, 0xa08000
0002a818add x0, x0, 2112
0002a81cbl runtime.(*mheap).alloc
0002a820cbz x0, 0x2a93c
0002a824str x0, [sp+48]
0002a828adrp x0, 0xa26000
0002a82cadd x0, x0, 1056
0002a830bl runtime.(*consistentHeapStats).acquire
0002a834ldrsb x27, [x0]
0002a838add x1, x0, 56
0002a83cadrp x27, 0xa21000
0002a840ldrb w2, [x27+1516]
0002a844tbz w2, 0, 0x2a858
0002a848ldr x2, [sp+64]
0002a84cldaddal x2, x3, [x1]
0002a850add x3, x3, x2
0002a854b 0x2a86c
0002a858
0002a858loc_2a858:
0002a858ldr x2, [sp+64]
0002a85c
0002a85cloc_2a85c:
0002a85cldaxr x3, [x1]
0002a860add x3, x3, x2
0002a864stlxr w27, x3, [x1]
0002a868cbnz x27, 0x2a85c
0002a86c
0002a86cloc_2a86c:
0002a86cadd x1, x0, 64
0002a870adrp x27, 0xa21000
0002a874ldrb w3, [x27+1516]
0002a878tbz w3, 0, 0x2a88c
0002a87corr x3, xzr, 1
0002a880ldaddal x3, x4, [x1]
0002a884add x4, x4, x3
0002a888b 0x2a8a0
0002a88c
0002a88cloc_2a88c:
0002a88corr x3, xzr, 1
0002a890
0002a890loc_2a890:
0002a890ldaxr x4, [x1]
0002a894add x4, x4, x3
0002a898stlxr w27, x4, [x1]
0002a89ccbnz x27, 0x2a890
0002a8a0
0002a8a0loc_2a8a0:
0002a8a0adrp x0, 0xa26000
0002a8a4add x0, x0, 1056
0002a8a8bl runtime.(*consistentHeapStats).release
0002a8acadrp x0, 0xa22000
0002a8b0add x0, x0, 2792
0002a8b4ldr x1, [sp+64]
0002a8b8bl internal/runtime/atomic.(*Uint64).Add
0002a8bcldr x1, [sp+48]
0002a8c0ldr x1, [x1+32]
0002a8c4ubfm x1, x1, 51, 50
0002a8c8adrp x0, 0xa22000
0002a8ccadd x0, x0, 2496
0002a8d0mov x2, xzr
0002a8d4bl runtime.(*gcControllerState).update
0002a8d8ldrb w1, [sp+47]
0002a8dcmov x0, x1
0002a8e0subs xzr, x0, 136
0002a8e4b.hs 0x2a934
0002a8e8adrp x2, 0xa18000
0002a8ecadd x2, x2, 2824
0002a8f0add x0, x2, x0, lsl #8
0002a8f4adrp x27, 0xa18000
0002a8f8ldr w1, [x27+2432]
0002a8fcbl runtime.(*mcentral).fullSwept
0002a900ldr x1, [sp+48]
0002a904bl runtime.(*spanSet).push
0002a908ldr x0, [sp+48]
0002a90cbl runtime.(*mspan).base
0002a910ldr x2, [sp+96]
0002a914add x2, x2, x0
0002a918ldr x0, [sp+48]
0002a91cstr x2, [x0+112]
0002a920bl runtime.(*mspan).initHeapBits
0002a924ldr x0, [sp+48]
0002a928ldur x29, [sp-8]
0002a92cldr x30, [sp], 80
0002a930ret x30
0002a934
0002a934loc_2a934:
0002a934movz x1, 136
0002a938bl runtime.panicIndex
0002a93c
0002a93cloc_2a93c:
0002a93cadrp x0, 0x689000
0002a940add x0, x0, 1368
0002a944movz x1, 13
0002a948bl runtime.throw
0002a94c
0002a94cloc_2a94c:
0002a94cadrp x0, 0x689000
0002a950add x0, x0, 1368
0002a954movz x1, 13
0002a958bl runtime.throw
0002a95chint
0002a960
0002a960loc_2a960:
0002a960stp x0, x1, [sp+8]
0002a964strb w2, [sp+24]
0002a968mov x3, x30
0002a96cbl runtime.morestack_noctxt.abi0
0002a970ldp x0, x1, [sp+8]
0002a974ldrb w2, [sp+24]
0002a978b 0x2a7b0
0002a97cudf 0
0002a7b0
Loading..