File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
0003d930
0003d930runtime.(*mheap).allocNeedsZero: ; void runtime.(*mheap).allocNeedsZero(runtime.mheap * h, uintptr base, uintptr npage)
0003d930ldr x16, [x28+16]
0003d934subs xzr, sp, x16
0003d938b.ls 0x3da9c
0003d93cstr x30, [sp-80]!
0003d940stur x29, [sp-8]
0003d944sub x29, sp, 8
0003d948str x0, [sp+88]
0003d94cmov x3, xzr
0003d950b 0x3d96c
0003d954
0003d954loc_3d954:
0003d954sub x4, x8, x6
0003d958add x1, x4, x5
0003d95csub x4, x7, x4, lsr #13
0003d960mov x0, x2
0003d964mov x2, x4
0003d968mov x3, x9
0003d96c
0003d96cloc_3d96c:
0003d96ccbz x2, 0x3da0c
0003d970str x2, [sp+64]
0003d974strb w3, [sp+39]
0003d978str x1, [sp+56]
0003d97cmov x0, x1
0003d980bl runtime.arenaIndex
0003d984str x0, [sp+40]
0003d988bl runtime.arenaIdx.l1
0003d98cstr x0, [sp+48]
0003d990ldr x0, [sp+40]
0003d994bl runtime.arenaIdx.l2
0003d998ldr x1, [sp+48]
0003d99csubs xzr, x1, 1
0003d9a0b.hs 0x3da8c
0003d9a4subs xzr, x0, 0x400000
0003d9a8b.hs 0x3da84
0003d9acldr x2, [sp+88]
0003d9b0ldrsb x27, [x2]
0003d9b4add x27, x2, 0x10000
0003d9b8ldr x3, [x27+536]
0003d9bcldrsb x27, [x3]
0003d9c0ldr x3, [x3+3*x0]
0003d9c4ldrsb x27, [x3]
0003d9c8movz x4, 3080
0003d9ccmovk x4, 0x10000
0003d9d0add x3, x3, x4
0003d9d4ldar x4, [x3]
0003d9d8ldr x5, [sp+56]
0003d9dcand x6, x5, 0x3ffffff
0003d9e0ldr x7, [sp+64]
0003d9e4add x8, x6, x7, lsl #13
0003d9e8subs xzr, x4, x6
0003d9eccset x9, hi
0003d9f0ldrb w10, [sp+39]
0003d9f4orr x9, x9, x10
0003d9f8movz x10, 0x4000000
0003d9fcsubs xzr, x8, x10
0003da00movz x10, 0x4000000
0003da04csel x8, x10, x8, hi
0003da08b 0x3da1c
0003da0c
0003da0cloc_3da0c:
0003da0cmov x0, x3
0003da10ldur x29, [sp-8]
0003da14ldr x30, [sp], 80
0003da18ret x30
0003da1c
0003da1cloc_3da1c:
0003da1csubs xzr, x4, x8
0003da20b.hs 0x3d954
0003da24adrp x27, 0xa0e000
0003da28ldrb w11, [x27+1516]
0003da2ctbz w11, 0, 0x3da44
0003da30mov x27, x4
0003da34casal x27, x8, [x3]
0003da38subs xzr, x27, x4
0003da3ccset x11, eq
0003da40b 0x3da5c
0003da44
0003da44loc_3da44:
0003da44ldaxr x27, [x3]
0003da48subs xzr, x27, x4
0003da4cb.ne 0x3da58
0003da50stlxr w27, x8, [x3]
0003da54cbnz x27, 0x3da44
0003da58
0003da58loc_3da58:
0003da58cset x11, eq
0003da5c
0003da5cloc_3da5c:
0003da5ctbnz w11, 0, 0x3d954
0003da60ldar x4, [x3]
0003da64subs xzr, x4, x8
0003da68b.hi 0x3da1c
0003da6csubs xzr, x4, x6
0003da70b.ls 0x3da1c
0003da74adrp x0, 0x68c000
0003da78add x0, x0, 2260
0003da7cmovz x1, 51
0003da80bl runtime.throw
0003da84
0003da84loc_3da84:
0003da84orr x1, xzr, 0x400000
0003da88bl runtime.panicIndexU
0003da8c
0003da8cloc_3da8c:
0003da8cmov x0, x1
0003da90orr x1, xzr, 1
0003da94bl runtime.panicIndexU
0003da98hint
0003da9c
0003da9cloc_3da9c:
0003da9cstp x0, x1, [sp+8]
0003daa0str x2, [sp+24]
0003daa4mov x3, x30
0003daa8bl runtime.morestack_noctxt.abi0
0003daacldp x0, x1, [sp+8]
0003dab0ldr x2, [sp+24]
0003dab4b 0x3d930
0003dab8udf 0
0003dabcudf 0
0003d930
0003d930runtime.(*mheap).allocNeedsZero: ; void runtime.(*mheap).allocNeedsZero(runtime.mheap * h, uintptr base, uintptr npage)
0003d930ldr x16, [x28+16]
0003d934subs xzr, sp, x16
0003d938b.ls 0x3da9c
0003d93cstr x30, [sp-80]!
0003d940stur x29, [sp-8]
0003d944sub x29, sp, 8
0003d948str x0, [sp+88]
0003d94cmov x3, xzr
0003d950b 0x3d96c
0003d954
0003d954loc_3d954:
0003d954sub x4, x8, x6
0003d958add x1, x4, x5
0003d95csub x4, x7, x4, lsr #13
0003d960mov x0, x2
0003d964mov x2, x4
0003d968mov x3, x9
0003d96c
0003d96cloc_3d96c:
0003d96ccbz x2, 0x3da0c
0003d970str x2, [sp+64]
0003d974strb w3, [sp+39]
0003d978str x1, [sp+56]
0003d97cmov x0, x1
0003d980bl runtime.arenaIndex
0003d984str x0, [sp+40]
0003d988bl runtime.arenaIdx.l1
0003d98cstr x0, [sp+48]
0003d990ldr x0, [sp+40]
0003d994bl runtime.arenaIdx.l2
0003d998ldr x1, [sp+48]
0003d99csubs xzr, x1, 1
0003d9a0b.hs 0x3da8c
0003d9a4subs xzr, x0, 0x400000
0003d9a8b.hs 0x3da84
0003d9acldr x2, [sp+88]
0003d9b0ldrsb x27, [x2]
0003d9b4add x27, x2, 0x10000
0003d9b8ldr x3, [x27+536]
0003d9bcldrsb x27, [x3]
0003d9c0ldr x3, [x3+3*x0]
0003d9c4ldrsb x27, [x3]
0003d9c8movz x4, 3080
0003d9ccmovk x4, 0x10000
0003d9d0add x3, x3, x4
0003d9d4ldar x4, [x3]
0003d9d8ldr x5, [sp+56]
0003d9dcand x6, x5, 0x3ffffff
0003d9e0ldr x7, [sp+64]
0003d9e4add x8, x6, x7, lsl #13
0003d9e8subs xzr, x4, x6
0003d9eccset x9, hi
0003d9f0ldrb w10, [sp+39]
0003d9f4orr x9, x9, x10
0003d9f8movz x10, 0x4000000
0003d9fcsubs xzr, x8, x10
0003da00movz x10, 0x4000000
0003da04csel x8, x10, x8, hi
0003da08b 0x3da1c
0003da0c
0003da0cloc_3da0c:
0003da0cmov x0, x3
0003da10ldur x29, [sp-8]
0003da14ldr x30, [sp], 80
0003da18ret x30
0003da1c
0003da1cloc_3da1c:
0003da1csubs xzr, x4, x8
0003da20b.hs 0x3d954
0003da24adrp x27, 0xa0e000
0003da28ldrb w11, [x27+1516]
0003da2ctbz w11, 0, 0x3da44
0003da30mov x27, x4
0003da34casal x27, x8, [x3]
0003da38subs xzr, x27, x4
0003da3ccset x11, eq
0003da40b 0x3da5c
0003da44
0003da44loc_3da44:
0003da44ldaxr x27, [x3]
0003da48subs xzr, x27, x4
0003da4cb.ne 0x3da58
0003da50stlxr w27, x8, [x3]
0003da54cbnz x27, 0x3da44
0003da58
0003da58loc_3da58:
0003da58cset x11, eq
0003da5c
0003da5cloc_3da5c:
0003da5ctbnz w11, 0, 0x3d954
0003da60ldar x4, [x3]
0003da64subs xzr, x4, x8
0003da68b.hi 0x3da1c
0003da6csubs xzr, x4, x6
0003da70b.ls 0x3da1c
0003da74adrp x0, 0x68c000
0003da78add x0, x0, 2260
0003da7cmovz x1, 51
0003da80bl runtime.throw
0003da84
0003da84loc_3da84:
0003da84orr x1, xzr, 0x400000
0003da88bl runtime.panicIndexU
0003da8c
0003da8cloc_3da8c:
0003da8cmov x0, x1
0003da90orr x1, xzr, 1
0003da94bl runtime.panicIndexU
0003da98hint
0003da9c
0003da9cloc_3da9c:
0003da9cstp x0, x1, [sp+8]
0003daa0str x2, [sp+24]
0003daa4mov x3, x30
0003daa8bl runtime.morestack_noctxt.abi0
0003daacldp x0, x1, [sp+8]
0003dab0ldr x2, [sp+24]
0003dab4b 0x3d930
0003dab8udf 0
0003dabcudf 0
0003d930
0003dac0
0003dac0runtime.(*mheap).tryAllocMSpan: ; void runtime.(*mheap).tryAllocMSpan(runtime.mheap * h)
0003dac0ldr x16, [x28+24]
0003dac4subs xzr, sp, x16
0003dac8b.ls 0x3db38
0003daccstr x30, [sp-32]!
0003dad0stur x29, [sp-8]
0003dad4sub x29, sp, 8
0003dad8ldr x1, [x28+48]
0003dadcldr x0, [x1+208]
0003dae0bl runtime.puintptr.ptr
0003dae4cbz x0, 0x3db18
0003dae8ldr x2, [x0+3520]
0003daeccbz x2, 0x3db18
0003daf0sub x2, x2, 1
0003daf4subs xzr, x2, 128
0003daf8b.hs 0x3db28
0003dafcadd x1, x0, 3528
0003db00ldr x1, [x1+3*x2]
0003db04str x2, [x0+3520]
0003db08mov x0, x1
0003db0cldur x29, [sp-8]
0003db10ldr x30, [sp], 32
0003db14ret x30
0003db18
0003db18loc_3db18:
0003db18mov x0, xzr
0003db1cldur x29, [sp-8]
0003db20ldr x30, [sp], 32
0003db24ret x30
0003db28
0003db28loc_3db28:
0003db28mov x0, x2
0003db2corr x1, xzr, 128
0003db30bl runtime.panicIndex
0003db34hint
0003db38
0003db38loc_3db38:
0003db38mov x3, x30
0003db3cbl runtime.morestackc.abi0
0003db40b 0x3dac0
0003db44udf 0
0003db48udf 0
0003db4cudf 0
0003dac0
0003dac0runtime.(*mheap).tryAllocMSpan: ; void runtime.(*mheap).tryAllocMSpan(runtime.mheap * h)
0003dac0ldr x16, [x28+24]
0003dac4subs xzr, sp, x16
0003dac8b.ls 0x3db38
0003daccstr x30, [sp-32]!
0003dad0stur x29, [sp-8]
0003dad4sub x29, sp, 8
0003dad8ldr x1, [x28+48]
0003dadcldr x0, [x1+208]
0003dae0bl runtime.puintptr.ptr
0003dae4cbz x0, 0x3db18
0003dae8ldr x2, [x0+3520]
0003daeccbz x2, 0x3db18
0003daf0sub x2, x2, 1
0003daf4subs xzr, x2, 128
0003daf8b.hs 0x3db28
0003dafcadd x1, x0, 3528
0003db00ldr x1, [x1+3*x2]
0003db04str x2, [x0+3520]
0003db08mov x0, x1
0003db0cldur x29, [sp-8]
0003db10ldr x30, [sp], 32
0003db14ret x30
0003db18
0003db18loc_3db18:
0003db18mov x0, xzr
0003db1cldur x29, [sp-8]
0003db20ldr x30, [sp], 32
0003db24ret x30
0003db28
0003db28loc_3db28:
0003db28mov x0, x2
0003db2corr x1, xzr, 128
0003db30bl runtime.panicIndex
0003db34hint
0003db38
0003db38loc_3db38:
0003db38mov x3, x30
0003db3cbl runtime.morestackc.abi0
0003db40b 0x3dac0
0003db44udf 0
0003db48udf 0
0003db4cudf 0
0003dac0
0003db50
0003db50runtime.(*mheap).allocMSpanLocked: ; void runtime.(*mheap).allocMSpanLocked(runtime.mheap * h)
0003db50ldr x16, [x28+24]
0003db54subs xzr, sp, x16
0003db58b.ls 0x3dc38
0003db5cstr x30, [sp-64]!
0003db60stur x29, [sp-8]
0003db64sub x29, sp, 8
0003db68str x0, [sp+72]
0003db6cldrsb x27, [x0]
0003db70bl runtime.assertLockHeld
0003db74ldr x1, [x28+48]
0003db78ldr x0, [x1+208]
0003db7cbl runtime.puintptr.ptr
0003db80cbz x0, 0x3db98
0003db84ldr x2, [x0+3520]
0003db88cbnz x2, 0x3dbb8
0003db8cstr x0, [sp+40]
0003db90mov x1, xzr
0003db94b 0x3dc24
0003db98
0003db98loc_3db98:
0003db98ldr x1, [sp+72]
0003db9cmovz x2, 35528
0003dba0movk x2, 0x10000
0003dba4add x0, x1, x2
0003dba8bl runtime.(*fixalloc).alloc
0003dbacldur x29, [sp-8]
0003dbb0ldr x30, [sp], 64
0003dbb4ret x30
0003dbb8
0003dbb8loc_3dbb8:
0003dbb8ldr x2, [x0+3520]
0003dbbcsub x2, x2, 1
0003dbc0subs xzr, x2, 128
0003dbc4b.hs 0x3dbe4
0003dbc8add x1, x0, 3528
0003dbccldr x1, [x1+3*x2]
0003dbd0str x2, [x0+3520]
0003dbd4mov x0, x1
0003dbd8ldur x29, [sp-8]
0003dbdcldr x30, [sp], 64
0003dbe0ret x30
0003dbe4
0003dbe4loc_3dbe4:
0003dbe4mov x0, x2
0003dbe8orr x1, xzr, 128
0003dbecbl runtime.panicIndex
0003dbf0
0003dbf0loc_3dbf0:
0003dbf0str x1, [sp+32]
0003dbf4add x1, x0, 3528
0003dbf8str x1, [sp+48]
0003dbfcldr x1, [sp+72]
0003dc00movz x2, 35528
0003dc04movk x2, 0x10000
0003dc08add x0, x1, x2
0003dc0cbl runtime.(*fixalloc).alloc
0003dc10ldr x1, [sp+32]
0003dc14ldr x2, [sp+48]
0003dc18str x0, [x2+3*x1]
0003dc1cadd x1, x1, 1
0003dc20ldr x0, [sp+40]
0003dc24
0003dc24loc_3dc24:
0003dc24subs xzr, x1, 64
0003dc28b.lt 0x3dbf0
0003dc2corr x2, xzr, 64
0003dc30str x2, [x0+3520]
0003dc34b 0x3dbb8
0003dc38
0003dc38loc_3dc38:
0003dc38str x0, [sp+8]
0003dc3cmov x3, x30
0003dc40bl runtime.morestackc.abi0
0003dc44ldr x0, [sp+8]
0003dc48b 0x3db50
0003dc4cudf 0
0003db50
0003db50runtime.(*mheap).allocMSpanLocked: ; void runtime.(*mheap).allocMSpanLocked(runtime.mheap * h)
0003db50ldr x16, [x28+24]
0003db54subs xzr, sp, x16
0003db58b.ls 0x3dc38
0003db5cstr x30, [sp-64]!
0003db60stur x29, [sp-8]
0003db64sub x29, sp, 8
0003db68str x0, [sp+72]
0003db6cldrsb x27, [x0]
0003db70bl runtime.assertLockHeld
0003db74ldr x1, [x28+48]
0003db78ldr x0, [x1+208]
0003db7cbl runtime.puintptr.ptr
0003db80cbz x0, 0x3db98
0003db84ldr x2, [x0+3520]
0003db88cbnz x2, 0x3dbb8
0003db8cstr x0, [sp+40]
0003db90mov x1, xzr
0003db94b 0x3dc24
0003db98
0003db98loc_3db98:
0003db98ldr x1, [sp+72]
0003db9cmovz x2, 35528
0003dba0movk x2, 0x10000
0003dba4add x0, x1, x2
0003dba8bl runtime.(*fixalloc).alloc
0003dbacldur x29, [sp-8]
0003dbb0ldr x30, [sp], 64
0003dbb4ret x30
0003dbb8
0003dbb8loc_3dbb8:
0003dbb8ldr x2, [x0+3520]
0003dbbcsub x2, x2, 1
0003dbc0subs xzr, x2, 128
0003dbc4b.hs 0x3dbe4
0003dbc8add x1, x0, 3528
0003dbccldr x1, [x1+3*x2]
0003dbd0str x2, [x0+3520]
0003dbd4mov x0, x1
0003dbd8ldur x29, [sp-8]
0003dbdcldr x30, [sp], 64
0003dbe0ret x30
0003dbe4
0003dbe4loc_3dbe4:
0003dbe4mov x0, x2
0003dbe8orr x1, xzr, 128
0003dbecbl runtime.panicIndex
0003dbf0
0003dbf0loc_3dbf0:
0003dbf0str x1, [sp+32]
0003dbf4add x1, x0, 3528
0003dbf8str x1, [sp+48]
0003dbfcldr x1, [sp+72]
0003dc00movz x2, 35528
0003dc04movk x2, 0x10000
0003dc08add x0, x1, x2
0003dc0cbl runtime.(*fixalloc).alloc
0003dc10ldr x1, [sp+32]
0003dc14ldr x2, [sp+48]
0003dc18str x0, [x2+3*x1]
0003dc1cadd x1, x1, 1
0003dc20ldr x0, [sp+40]
0003dc24
0003dc24loc_3dc24:
0003dc24subs xzr, x1, 64
0003dc28b.lt 0x3dbf0
0003dc2corr x2, xzr, 64
0003dc30str x2, [x0+3520]
0003dc34b 0x3dbb8
0003dc38
0003dc38loc_3dc38:
0003dc38str x0, [sp+8]
0003dc3cmov x3, x30
0003dc40bl runtime.morestackc.abi0
0003dc44ldr x0, [sp+8]
0003dc48b 0x3db50
0003dc4cudf 0
0003db50
0003dc50
0003dc50runtime.(*mheap).freeMSpanLocked: ; void runtime.(*mheap).freeMSpanLocked(runtime.mheap * h, runtime.mspan * s)
0003dc50ldr x16, [x28+24]
0003dc54subs xzr, sp, x16
0003dc58b.ls 0x3dcf0
0003dc5cstr x30, [sp-32]!
0003dc60stur x29, [sp-8]
0003dc64sub x29, sp, 8
0003dc68str x0, [sp+40]
0003dc6cstr x1, [sp+48]
0003dc70ldrsb x27, [x0]
0003dc74bl runtime.assertLockHeld
0003dc78ldr x1, [x28+48]
0003dc7cldr x0, [x1+208]
0003dc80bl runtime.puintptr.ptr
0003dc84cbz x0, 0x3dcbc
0003dc88ldr x2, [x0+3520]
0003dc8csubs xzr, x2, 128
0003dc90b.ge 0x3dcbc
0003dc94b.hs 0x3dce0
0003dc98add x1, x0, 3528
0003dc9cldr x3, [sp+48]
0003dca0str x3, [x1+3*x2]
0003dca4ldr x1, [x0+3520]
0003dca8add x1, x1, 1
0003dcacstr x1, [x0+3520]
0003dcb0ldur x29, [sp-8]
0003dcb4ldr x30, [sp], 32
0003dcb8ret x30
0003dcbc
0003dcbcloc_3dcbc:
0003dcbcldr x2, [sp+40]
0003dcc0movz x3, 35528
0003dcc4movk x3, 0x10000
0003dcc8add x0, x2, x3
0003dcccldr x1, [sp+48]
0003dcd0bl runtime.(*fixalloc).free
0003dcd4ldur x29, [sp-8]
0003dcd8ldr x30, [sp], 32
0003dcdcret x30
0003dce0
0003dce0loc_3dce0:
0003dce0mov x0, x2
0003dce4orr x1, xzr, 128
0003dce8bl runtime.panicIndex
0003dcechint
0003dcf0
0003dcf0loc_3dcf0:
0003dcf0stp x0, x1, [sp+8]
0003dcf4mov x3, x30
0003dcf8bl runtime.morestackc.abi0
0003dcfcldp x0, x1, [sp+8]
0003dd00b 0x3dc50
0003dd04udf 0
0003dd08udf 0
0003dd0cudf 0
0003dc50
0003dc50runtime.(*mheap).freeMSpanLocked: ; void runtime.(*mheap).freeMSpanLocked(runtime.mheap * h, runtime.mspan * s)
0003dc50ldr x16, [x28+24]
0003dc54subs xzr, sp, x16
0003dc58b.ls 0x3dcf0
0003dc5cstr x30, [sp-32]!
0003dc60stur x29, [sp-8]
0003dc64sub x29, sp, 8
0003dc68str x0, [sp+40]
0003dc6cstr x1, [sp+48]
0003dc70ldrsb x27, [x0]
0003dc74bl runtime.assertLockHeld
0003dc78ldr x1, [x28+48]
0003dc7cldr x0, [x1+208]
0003dc80bl runtime.puintptr.ptr
0003dc84cbz x0, 0x3dcbc
0003dc88ldr x2, [x0+3520]
0003dc8csubs xzr, x2, 128
0003dc90b.ge 0x3dcbc
0003dc94b.hs 0x3dce0
0003dc98add x1, x0, 3528
0003dc9cldr x3, [sp+48]
0003dca0str x3, [x1+3*x2]
0003dca4ldr x1, [x0+3520]
0003dca8add x1, x1, 1
0003dcacstr x1, [x0+3520]
0003dcb0ldur x29, [sp-8]
0003dcb4ldr x30, [sp], 32
0003dcb8ret x30
0003dcbc
0003dcbcloc_3dcbc:
0003dcbcldr x2, [sp+40]
0003dcc0movz x3, 35528
0003dcc4movk x3, 0x10000
0003dcc8add x0, x2, x3
0003dcccldr x1, [sp+48]
0003dcd0bl runtime.(*fixalloc).free
0003dcd4ldur x29, [sp-8]
0003dcd8ldr x30, [sp], 32
0003dcdcret x30
0003dce0
0003dce0loc_3dce0:
0003dce0mov x0, x2
0003dce4orr x1, xzr, 128
0003dce8bl runtime.panicIndex
0003dcechint
0003dcf0
0003dcf0loc_3dcf0:
0003dcf0stp x0, x1, [sp+8]
0003dcf4mov x3, x30
0003dcf8bl runtime.morestackc.abi0
0003dcfcldp x0, x1, [sp+8]
0003dd00b 0x3dc50
0003dd04udf 0
0003dd08udf 0
0003dd0cudf 0
0003dc50
0003dd10
0003dd10runtime.(*mheap).allocSpan: ; void runtime.(*mheap).allocSpan(runtime.mheap * h, uintptr npages, runtime.spanAllocType typ, runtime.spanClass spanclass)
0003dd10ldr x16, [x28+24]
0003dd14sub x17, sp, 64
0003dd18subs xzr, x17, x16
0003dd1cb.ls 0x3e2ac
0003dd20str x30, [sp-192]!
0003dd24stur x29, [sp-8]
0003dd28sub x29, sp, 8
0003dd2cstr x0, [sp+200]
0003dd30str x1, [sp+208]
0003dd34strb w2, [sp+216]
0003dd38strb w3, [sp+217]
0003dd3cldr x1, [x28+48]
0003dd40ldr x0, [x1+208]
0003dd44bl runtime.puintptr.ptr
0003dd48str x0, [sp+144]
0003dd4ccbz x0, 0x3de04
0003dd50ldr x1, [sp+208]
0003dd54subs xzr, x1, 16
0003dd58b.hs 0x3ddf4
0003dd5cadd x0, x0, 64
0003dd60str x0, [sp+152]
0003dd64bl runtime.(*pageCache).empty
0003dd68tbz w0, 0, 0x3dd9c
0003dd6cldr x0, [sp+200]
0003dd70ldrsb x27, [x0]
0003dd74bl runtime.lock
0003dd78ldr x1, [sp+200]
0003dd7cadd x0, x1, 8
0003dd80bl runtime.(*pageAlloc).allocToCache
0003dd84ldr x3, [sp+144]
0003dd88str x0, [x3+64]
0003dd8cstr x1, [x3+72]
0003dd90str x2, [x3+80]
0003dd94ldr x0, [sp+200]
0003dd98bl runtime.unlock
0003dd9c
0003dd9cloc_3dd9c:
0003dd9cldr x0, [sp+152]
0003dda0ldr x1, [sp+208]
0003dda4bl runtime.(*pageCache).alloc
0003dda8cbz x0, 0x3dde0
0003ddacstr x0, [sp+120]
0003ddb0str x1, [sp+64]
0003ddb4ldr x0, [sp+200]
0003ddb8bl runtime.(*mheap).tryAllocMSpan
0003ddbccbz x0, 0x3ddd0
0003ddc0mov x1, xzr
0003ddc4ldr x2, [sp+120]
0003ddc8ldr x3, [sp+64]
0003ddccb 0x3ded8
0003ddd0
0003ddd0loc_3ddd0:
0003ddd0ldr x1, [sp+64]
0003ddd4mov x2, x0
0003ddd8ldr x0, [sp+120]
0003dddcb 0x3dde4
0003dde0
0003dde0loc_3dde0:
0003dde0mov x2, xzr
0003dde4
0003dde4loc_3dde4:
0003dde4mov x3, x2
0003dde8mov x4, x1
0003ddecmov x2, x0
0003ddf0b 0x3de10
0003ddf4
0003ddf4loc_3ddf4:
0003ddf4mov x2, xzr
0003ddf8mov x3, xzr
0003ddfcmov x4, xzr
0003de00b 0x3de10
0003de04
0003de04loc_3de04:
0003de04mov x2, xzr
0003de08mov x3, xzr
0003de0cmov x4, xzr
0003de10
0003de10loc_3de10:
0003de10str x4, [sp+64]
0003de14str x3, [sp+136]
0003de18str x2, [sp+120]
0003de1cldr x0, [sp+200]
0003de20ldrsb x27, [x0]
0003de24bl runtime.lock
0003de28ldr x0, [sp+120]
0003de2ccbz x0, 0x3de3c
0003de30mov x2, xzr
0003de34ldr x1, [sp+64]
0003de38b 0x3de9c
0003de3c
0003de3cloc_3de3c:
0003de3cldr x2, [sp+200]
0003de40add x0, x2, 8
0003de44str x0, [sp+176]
0003de48ldr x1, [sp+208]
0003de4cbl runtime.(*pageAlloc).alloc
0003de50cbz x0, 0x3de5c
0003de54mov x2, xzr
0003de58b 0x3de9c
0003de5c
0003de5cloc_3de5c:
0003de5cldr x0, [sp+200]
0003de60ldr x1, [sp+208]
0003de64bl runtime.(*mheap).grow
0003de68tbnz w1, 0, 0x3de84
0003de6cldr x0, [sp+200]
0003de70bl runtime.unlock
0003de74mov x0, xzr
0003de78ldur x29, [sp-8]
0003de7cldr x30, [sp], 192
0003de80ret x30
0003de84
0003de84loc_3de84:
0003de84str x0, [sp+96]
0003de88ldr x0, [sp+176]
0003de8cldr x1, [sp+208]
0003de90bl runtime.(*pageAlloc).alloc
0003de94cbz x0, 0x3e298
0003de98ldr x2, [sp+96]
0003de9c
0003de9cloc_3de9c:
0003de9cstr x1, [sp+64]
0003dea0str x0, [sp+120]
0003dea4str x2, [sp+96]
0003dea8ldr x3, [sp+136]
0003deaccbnz x3, 0x3debc
0003deb0ldr x0, [sp+200]
0003deb4bl runtime.(*mheap).allocMSpanLocked
0003deb8mov x3, x0
0003debc
0003debcloc_3debc:
0003debcstr x3, [sp+136]
0003dec0ldr x0, [sp+200]
0003dec4bl runtime.unlock
0003dec8ldr x1, [sp+96]
0003deccldr x0, [sp+136]
0003ded0ldr x2, [sp+120]
0003ded4ldr x3, [sp+64]
0003ded8
0003ded8loc_3ded8:
0003ded8str x3, [sp+64]
0003dedcstr x2, [sp+120]
0003dee0str x0, [sp+136]
0003dee4str x1, [sp+96]
0003dee8adrp x0, 0xa0f000
0003deecadd x0, x0, 2504
0003def0bl internal/runtime/atomic.(*Int64).Load
0003def4str x0, [sp+88]
0003def8adrp x0, 0xa0e000
0003defcadd x0, x0, 4032
0003df00bl runtime.(*gcCPULimiterState).limiting
0003df04tbz w0, 0, 0x3df14
0003df08mov x3, xzr
0003df0cmov x2, xzr
0003df10b 0x3df3c
0003df14
0003df14loc_3df14:
0003df14adrp x0, 0xa0f000
0003df18add x0, x0, 2808
0003df1cbl internal/runtime/atomic.(*Uint64).Load
0003df20ldr x1, [sp+64]
0003df24add x2, x1, x0
0003df28ldr x3, [sp+88]
0003df2csub x4, x2, x3
0003df30subs xzr, x3, x2
0003df34cset x2, lo
0003df38csel x3, x4, xzr, lo
0003df3c
0003df3cloc_3df3c:
0003df3cstrb w2, [sp+51]
0003df40str x3, [sp+112]
0003df44adrp x0, 0xa0e000
0003df48add x0, x0, 3488
0003df4cbl internal/runtime/atomic.(*Uint64).Load
0003df50adds xzr, x0, 1
0003df54b.eq 0x3dfa8
0003df58ldr x1, [sp+96]
0003df5ccbnz x1, 0x3df68
0003df60ldr x3, [sp+112]
0003df64b 0x3dfac
0003df68
0003df68loc_3df68:
0003df68str x0, [sp+104]
0003df6cbl runtime.heapRetained
0003df70ldr x1, [sp+96]
0003df74add x0, x1, x0
0003df78ldr x2, [sp+104]
0003df7csubs xzr, x2, x0
0003df80b.hs 0x3dfa0
0003df84sub x6, x0, x2
0003df88subs xzr, x1, x6
0003df8ccsel x6, x6, x1, hi
0003df90ldr x7, [sp+112]
0003df94subs xzr, x7, x6
0003df98csel x3, x6, x7, lo
0003df9cb 0x3dfac
0003dfa0
0003dfa0loc_3dfa0:
0003dfa0ldr x3, [sp+112]
0003dfa4b 0x3dfac
0003dfa8
0003dfa8loc_3dfa8:
0003dfa8ldr x3, [sp+112]
0003dfac
0003dfacloc_3dfac:
0003dfacldr x0, [sp+144]
0003dfb0cbz x0, 0x3e050
0003dfb4cbz x3, 0x3e050
0003dfb8str x3, [sp+112]
0003dfbcbl runtime.nanotime
0003dfc0str x0, [sp+56]
0003dfc4ldr x1, [sp+144]
0003dfc8movz x2, 4656
0003dfccadd x1, x1, x2
0003dfd0str x1, [sp+168]
0003dfd4mov x2, x0
0003dfd8mov x0, x1
0003dfdcorr x1, xzr, 3
0003dfe0bl runtime.(*limiterEvent).start
0003dfe4strb w0, [sp+50]
0003dfe8ldr x0, [sp+200]
0003dfecldrsb x27, [x0]
0003dff0add x0, x0, 8
0003dff4ldr x1, [sp+112]
0003dff8adrp x2, 0x69b000
0003dffcadd x2, x2, 1576
0003e000ldrb w3, [sp+51]
0003e004bl runtime.(*pageAlloc).scavenge
0003e008mov x1, x0
0003e00cadrp x0, 0xa04000
0003e010add x0, x0, 2392
0003e014bl internal/runtime/atomic.(*Uintptr).Add
0003e018bl runtime.nanotime
0003e01cldrb w1, [sp+50]
0003e020tbz w1, 0, 0x3e03c
0003e024str x0, [sp+72]
0003e028orr x1, xzr, 3
0003e02cmov x2, x0
0003e030ldr x0, [sp+168]
0003e034bl runtime.(*limiterEvent).stop
0003e038ldr x0, [sp+72]
0003e03c
0003e03cloc_3e03c:
0003e03cldr x2, [sp+56]
0003e040sub x1, x0, x2
0003e044adrp x0, 0xa0d000
0003e048add x0, x0, 3504
0003e04cbl internal/runtime/atomic.(*Int64).Add
0003e050
0003e050loc_3e050:
0003e050ldr x0, [sp+200]
0003e054ldr x1, [sp+136]
0003e058ldrb w2, [sp+216]
0003e05cldrb w3, [sp+217]
0003e060ldr x4, [sp+120]
0003e064ldr x5, [sp+208]
0003e068bl runtime.(*mheap).initSpan
0003e06cldr x6, [sp+208]
0003e070ubfm x1, x6, 51, 50
0003e074str x1, [sp+80]
0003e078ldr x0, [sp+64]
0003e07ccbz x0, 0x3e0ac
0003e080ldr x3, [sp+120]
0003e084mov x2, x0
0003e088mov x0, x3
0003e08cbl runtime.sysUsed
0003e090ldr x3, [sp+64]
0003e094sub x1, xzr, x3
0003e098adrp x0, 0xa0e000
0003e09cadd x0, x0, 2776
0003e0a0bl runtime.(*sysMemStat).add
0003e0a4ldr x0, [sp+64]
0003e0a8ldr x6, [sp+208]
0003e0ac
0003e0acloc_3e0ac:
0003e0acsub x1, x0, x6, lsl #13
0003e0b0adrp x0, 0xa0e000
0003e0b4add x0, x0, 2784
0003e0b8bl runtime.(*sysMemStat).add
0003e0bcldrb w2, [sp+216]
0003e0c0str w2, [sp+52]
0003e0c4cbnz w2, 0x3e0d8
0003e0c8adrp x0, 0xa0e000
0003e0ccadd x0, x0, 2768
0003e0d0ldr x1, [sp+80]
0003e0d4bl runtime.(*sysMemStat).add
0003e0d8
0003e0d8loc_3e0d8:
0003e0d8adrp x0, 0xa12000
0003e0dcadd x0, x0, 1056
0003e0e0bl runtime.(*consistentHeapStats).acquire
0003e0e4ldrsb x27, [x0]
0003e0e8adrp x27, 0xa0d000
0003e0ecldrb w1, [x27+1516]
0003e0f0tbz w1, 0, 0x3e104
0003e0f4ldr x1, [sp+64]
0003e0f8ldaddal x1, x2, [x0]
0003e0fcadd x2, x2, x1
0003e100b 0x3e118
0003e104
0003e104loc_3e104:
0003e104ldr x1, [sp+64]
0003e108
0003e108loc_3e108:
0003e108ldaxr x2, [x0]
0003e10cadd x2, x2, x1
0003e110stlxr w27, x2, [x0]
0003e114cbnz x27, 0x3e108
0003e118
0003e118loc_3e118:
0003e118add x2, x0, 8
0003e11csub x1, xzr, x1
0003e120adrp x27, 0xa0d000
0003e124ldrb w3, [x27+1516]
0003e128tbz w3, 0, 0x3e138
0003e12cldaddal x1, x3, [x2]
0003e130add x3, x3, x1
0003e134b 0x3e148
0003e138
0003e138loc_3e138:
0003e138ldaxr x3, [x2]
0003e13cadd x3, x3, x1
0003e140stlxr w27, x3, [x2]
0003e144cbnz x27, 0x3e138
0003e148
0003e148loc_3e148:
0003e148ldr w1, [sp+52]
0003e14csubs wzr, w1, 1
0003e150b.hi 0x3e1c8
0003e154cbnz w1, 0x3e190
0003e158add x1, x0, 16
0003e15cadrp x27, 0xa0d000
0003e160ldrb w2, [x27+1516]
0003e164tbz w2, 0, 0x3e178
0003e168ldr x2, [sp+80]
0003e16cldaddal x2, x3, [x1]
0003e170add x3, x3, x2
0003e174b 0x3e244
0003e178
0003e178loc_3e178:
0003e178ldr x2, [sp+80]
0003e17c
0003e17cloc_3e17c:
0003e17cldaxr x3, [x1]
0003e180add x3, x3, x2
0003e184stlxr w27, x3, [x1]
0003e188cbnz x27, 0x3e17c
0003e18cb 0x3e244
0003e190
0003e190loc_3e190:
0003e190add x1, x0, 24
0003e194adrp x27, 0xa0d000
0003e198ldrb w2, [x27+1516]
0003e19ctbz w2, 0, 0x3e1b0
0003e1a0ldr x2, [sp+80]
0003e1a4ldaddal x2, x3, [x1]
0003e1a8add x3, x3, x2
0003e1acb 0x3e244
0003e1b0
0003e1b0loc_3e1b0:
0003e1b0ldr x2, [sp+80]
0003e1b4
0003e1b4loc_3e1b4:
0003e1b4ldaxr x3, [x1]
0003e1b8add x3, x3, x2
0003e1bcstlxr w27, x3, [x1]
0003e1c0cbnz x27, 0x3e1b4
0003e1c4b 0x3e244
0003e1c8
0003e1c8loc_3e1c8:
0003e1c8subs wzr, w1, 2
0003e1ccb.ne 0x3e208
0003e1d0add x1, x0, 40
0003e1d4adrp x27, 0xa0d000
0003e1d8ldrb w2, [x27+1516]
0003e1dctbz w2, 0, 0x3e1f0
0003e1e0ldr x2, [sp+80]
0003e1e4ldaddal x2, x3, [x1]
0003e1e8add x3, x3, x2
0003e1ecb 0x3e244
0003e1f0
0003e1f0loc_3e1f0:
0003e1f0ldr x2, [sp+80]
0003e1f4
0003e1f4loc_3e1f4:
0003e1f4ldaxr x3, [x1]
0003e1f8add x3, x3, x2
0003e1fcstlxr w27, x3, [x1]
0003e200cbnz x27, 0x3e1f4
0003e204b 0x3e244
0003e208
0003e208loc_3e208:
0003e208subs wzr, w1, 3
0003e20cb.ne 0x3e244
0003e210add x1, x0, 32
0003e214adrp x27, 0xa0d000
0003e218ldrb w2, [x27+1516]
0003e21ctbz w2, 0, 0x3e230
0003e220ldr x2, [sp+80]
0003e224ldaddal x2, x3, [x1]
0003e228add x3, x3, x2
0003e22cb 0x3e244
0003e230
0003e230loc_3e230:
0003e230ldr x2, [sp+80]
0003e234
0003e234loc_3e234:
0003e234ldaxr x3, [x1]
0003e238add x3, x3, x2
0003e23cstlxr w27, x3, [x1]
0003e240cbnz x27, 0x3e234
0003e244
0003e244loc_3e244:
0003e244adrp x0, 0xa12000
0003e248add x0, x0, 1056
0003e24cbl runtime.(*consistentHeapStats).release
0003e250bl runtime.traceAllocFreeEnabled
0003e254tbz w0, 0, 0x3e288
0003e258bl runtime.traceAcquire
0003e25cstr x0, [sp+160]
0003e260str x1, [sp+128]
0003e264bl runtime.traceLocker.ok
0003e268tbz w0, 0, 0x3e288
0003e26cldr x0, [sp+160]
0003e270ldr x1, [sp+128]
0003e274ldr x2, [sp+136]
0003e278bl runtime.traceLocker.SpanAlloc
0003e27cldr x0, [sp+160]
0003e280ldr x1, [sp+128]
0003e284bl runtime.traceRelease
0003e288
0003e288loc_3e288:
0003e288ldr x0, [sp+136]
0003e28cldur x29, [sp-8]
0003e290ldr x30, [sp], 192
0003e294ret x30
0003e298
0003e298loc_3e298:
0003e298adrp x0, 0x687000
0003e29cadd x0, x0, 3139
0003e2a0movz x1, 43
0003e2a4bl runtime.throw
0003e2a8hint
0003e2ac
0003e2acloc_3e2ac:
0003e2acstp x0, x1, [sp+8]
0003e2b0strb w2, [sp+24]
0003e2b4strb w3, [sp+25]
0003e2b8mov x3, x30
0003e2bcbl runtime.morestackc.abi0
0003e2c0ldp x0, x1, [sp+8]
0003e2c4ldrb w2, [sp+24]
0003e2c8ldrb w3, [sp+25]
0003e2ccb 0x3dd10
0003dd10
0003dd10runtime.(*mheap).allocSpan: ; void runtime.(*mheap).allocSpan(runtime.mheap * h, uintptr npages, runtime.spanAllocType typ, runtime.spanClass spanclass)
0003dd10ldr x16, [x28+24]
0003dd14sub x17, sp, 64
0003dd18subs xzr, x17, x16
0003dd1cb.ls 0x3e2ac
0003dd20str x30, [sp-192]!
0003dd24stur x29, [sp-8]
0003dd28sub x29, sp, 8
0003dd2cstr x0, [sp+200]
0003dd30str x1, [sp+208]
0003dd34strb w2, [sp+216]
0003dd38strb w3, [sp+217]
0003dd3cldr x1, [x28+48]
0003dd40ldr x0, [x1+208]
0003dd44bl runtime.puintptr.ptr
0003dd48str x0, [sp+144]
0003dd4ccbz x0, 0x3de04
0003dd50ldr x1, [sp+208]
0003dd54subs xzr, x1, 16
0003dd58b.hs 0x3ddf4
0003dd5cadd x0, x0, 64
0003dd60str x0, [sp+152]
0003dd64bl runtime.(*pageCache).empty
0003dd68tbz w0, 0, 0x3dd9c
0003dd6cldr x0, [sp+200]
0003dd70ldrsb x27, [x0]
0003dd74bl runtime.lock
0003dd78ldr x1, [sp+200]
0003dd7cadd x0, x1, 8
0003dd80bl runtime.(*pageAlloc).allocToCache
0003dd84ldr x3, [sp+144]
0003dd88str x0, [x3+64]
0003dd8cstr x1, [x3+72]
0003dd90str x2, [x3+80]
0003dd94ldr x0, [sp+200]
0003dd98bl runtime.unlock
0003dd9c
0003dd9cloc_3dd9c:
0003dd9cldr x0, [sp+152]
0003dda0ldr x1, [sp+208]
0003dda4bl runtime.(*pageCache).alloc
0003dda8cbz x0, 0x3dde0
0003ddacstr x0, [sp+120]
0003ddb0str x1, [sp+64]
0003ddb4ldr x0, [sp+200]
0003ddb8bl runtime.(*mheap).tryAllocMSpan
0003ddbccbz x0, 0x3ddd0
0003ddc0mov x1, xzr
0003ddc4ldr x2, [sp+120]
0003ddc8ldr x3, [sp+64]
0003ddccb 0x3ded8
0003ddd0
0003ddd0loc_3ddd0:
0003ddd0ldr x1, [sp+64]
0003ddd4mov x2, x0
0003ddd8ldr x0, [sp+120]
0003dddcb 0x3dde4
0003dde0
0003dde0loc_3dde0:
0003dde0mov x2, xzr
0003dde4
0003dde4loc_3dde4:
0003dde4mov x3, x2
0003dde8mov x4, x1
0003ddecmov x2, x0
0003ddf0b 0x3de10
0003ddf4
0003ddf4loc_3ddf4:
0003ddf4mov x2, xzr
0003ddf8mov x3, xzr
0003ddfcmov x4, xzr
0003de00b 0x3de10
0003de04
0003de04loc_3de04:
0003de04mov x2, xzr
0003de08mov x3, xzr
0003de0cmov x4, xzr
0003de10
0003de10loc_3de10:
0003de10str x4, [sp+64]
0003de14str x3, [sp+136]
0003de18str x2, [sp+120]
0003de1cldr x0, [sp+200]
0003de20ldrsb x27, [x0]
0003de24bl runtime.lock
0003de28ldr x0, [sp+120]
0003de2ccbz x0, 0x3de3c
0003de30mov x2, xzr
0003de34ldr x1, [sp+64]
0003de38b 0x3de9c
0003de3c
0003de3cloc_3de3c:
0003de3cldr x2, [sp+200]
0003de40add x0, x2, 8
0003de44str x0, [sp+176]
0003de48ldr x1, [sp+208]
0003de4cbl runtime.(*pageAlloc).alloc
0003de50cbz x0, 0x3de5c
0003de54mov x2, xzr
0003de58b 0x3de9c
0003de5c
0003de5cloc_3de5c:
0003de5cldr x0, [sp+200]
0003de60ldr x1, [sp+208]
0003de64bl runtime.(*mheap).grow
0003de68tbnz w1, 0, 0x3de84
0003de6cldr x0, [sp+200]
0003de70bl runtime.unlock
0003de74mov x0, xzr
0003de78ldur x29, [sp-8]
0003de7cldr x30, [sp], 192
0003de80ret x30
0003de84
0003de84loc_3de84:
0003de84str x0, [sp+96]
0003de88ldr x0, [sp+176]
0003de8cldr x1, [sp+208]
0003de90bl runtime.(*pageAlloc).alloc
0003de94cbz x0, 0x3e298
0003de98ldr x2, [sp+96]
0003de9c
0003de9cloc_3de9c:
0003de9cstr x1, [sp+64]
0003dea0str x0, [sp+120]
0003dea4str x2, [sp+96]
0003dea8ldr x3, [sp+136]
0003deaccbnz x3, 0x3debc
0003deb0ldr x0, [sp+200]
0003deb4bl runtime.(*mheap).allocMSpanLocked
0003deb8mov x3, x0
0003debc
0003debcloc_3debc:
0003debcstr x3, [sp+136]
0003dec0ldr x0, [sp+200]
0003dec4bl runtime.unlock
0003dec8ldr x1, [sp+96]
0003deccldr x0, [sp+136]
0003ded0ldr x2, [sp+120]
0003ded4ldr x3, [sp+64]
0003ded8
0003ded8loc_3ded8:
0003ded8str x3, [sp+64]
0003dedcstr x2, [sp+120]
0003dee0str x0, [sp+136]
0003dee4str x1, [sp+96]
0003dee8adrp x0, 0xa0f000
0003deecadd x0, x0, 2504
0003def0bl internal/runtime/atomic.(*Int64).Load
0003def4str x0, [sp+88]
0003def8adrp x0, 0xa0e000
0003defcadd x0, x0, 4032
0003df00bl runtime.(*gcCPULimiterState).limiting
0003df04tbz w0, 0, 0x3df14
0003df08mov x3, xzr
0003df0cmov x2, xzr
0003df10b 0x3df3c
0003df14
0003df14loc_3df14:
0003df14adrp x0, 0xa0f000
0003df18add x0, x0, 2808
0003df1cbl internal/runtime/atomic.(*Uint64).Load
0003df20ldr x1, [sp+64]
0003df24add x2, x1, x0
0003df28ldr x3, [sp+88]
0003df2csub x4, x2, x3
0003df30subs xzr, x3, x2
0003df34cset x2, lo
0003df38csel x3, x4, xzr, lo
0003df3c
0003df3cloc_3df3c:
0003df3cstrb w2, [sp+51]
0003df40str x3, [sp+112]
0003df44adrp x0, 0xa0e000
0003df48add x0, x0, 3488
0003df4cbl internal/runtime/atomic.(*Uint64).Load
0003df50adds xzr, x0, 1
0003df54b.eq 0x3dfa8
0003df58ldr x1, [sp+96]
0003df5ccbnz x1, 0x3df68
0003df60ldr x3, [sp+112]
0003df64b 0x3dfac
0003df68
0003df68loc_3df68:
0003df68str x0, [sp+104]
0003df6cbl runtime.heapRetained
0003df70ldr x1, [sp+96]
0003df74add x0, x1, x0
0003df78ldr x2, [sp+104]
0003df7csubs xzr, x2, x0
0003df80b.hs 0x3dfa0
0003df84sub x6, x0, x2
0003df88subs xzr, x1, x6
0003df8ccsel x6, x6, x1, hi
0003df90ldr x7, [sp+112]
0003df94subs xzr, x7, x6
0003df98csel x3, x6, x7, lo
0003df9cb 0x3dfac
0003dfa0
0003dfa0loc_3dfa0:
0003dfa0ldr x3, [sp+112]
0003dfa4b 0x3dfac
0003dfa8
0003dfa8loc_3dfa8:
0003dfa8ldr x3, [sp+112]
0003dfac
0003dfacloc_3dfac:
0003dfacldr x0, [sp+144]
0003dfb0cbz x0, 0x3e050
0003dfb4cbz x3, 0x3e050
0003dfb8str x3, [sp+112]
0003dfbcbl runtime.nanotime
0003dfc0str x0, [sp+56]
0003dfc4ldr x1, [sp+144]
0003dfc8movz x2, 4656
0003dfccadd x1, x1, x2
0003dfd0str x1, [sp+168]
0003dfd4mov x2, x0
0003dfd8mov x0, x1
0003dfdcorr x1, xzr, 3
0003dfe0bl runtime.(*limiterEvent).start
0003dfe4strb w0, [sp+50]
0003dfe8ldr x0, [sp+200]
0003dfecldrsb x27, [x0]
0003dff0add x0, x0, 8
0003dff4ldr x1, [sp+112]
0003dff8adrp x2, 0x69b000
0003dffcadd x2, x2, 1576
0003e000ldrb w3, [sp+51]
0003e004bl runtime.(*pageAlloc).scavenge
0003e008mov x1, x0
0003e00cadrp x0, 0xa04000
0003e010add x0, x0, 2392
0003e014bl internal/runtime/atomic.(*Uintptr).Add
0003e018bl runtime.nanotime
0003e01cldrb w1, [sp+50]
0003e020tbz w1, 0, 0x3e03c
0003e024str x0, [sp+72]
0003e028orr x1, xzr, 3
0003e02cmov x2, x0
0003e030ldr x0, [sp+168]
0003e034bl runtime.(*limiterEvent).stop
0003e038ldr x0, [sp+72]
0003e03c
0003e03cloc_3e03c:
0003e03cldr x2, [sp+56]
0003e040sub x1, x0, x2
0003e044adrp x0, 0xa0d000
0003e048add x0, x0, 3504
0003e04cbl internal/runtime/atomic.(*Int64).Add
0003e050
0003e050loc_3e050:
0003e050ldr x0, [sp+200]
0003e054ldr x1, [sp+136]
0003e058ldrb w2, [sp+216]
0003e05cldrb w3, [sp+217]
0003e060ldr x4, [sp+120]
0003e064ldr x5, [sp+208]
0003e068bl runtime.(*mheap).initSpan
0003e06cldr x6, [sp+208]
0003e070ubfm x1, x6, 51, 50
0003e074str x1, [sp+80]
0003e078ldr x0, [sp+64]
0003e07ccbz x0, 0x3e0ac
0003e080ldr x3, [sp+120]
0003e084mov x2, x0
0003e088mov x0, x3
0003e08cbl runtime.sysUsed
0003e090ldr x3, [sp+64]
0003e094sub x1, xzr, x3
0003e098adrp x0, 0xa0e000
0003e09cadd x0, x0, 2776
0003e0a0bl runtime.(*sysMemStat).add
0003e0a4ldr x0, [sp+64]
0003e0a8ldr x6, [sp+208]
0003e0ac
0003e0acloc_3e0ac:
0003e0acsub x1, x0, x6, lsl #13
0003e0b0adrp x0, 0xa0e000
0003e0b4add x0, x0, 2784
0003e0b8bl runtime.(*sysMemStat).add
0003e0bcldrb w2, [sp+216]
0003e0c0str w2, [sp+52]
0003e0c4cbnz w2, 0x3e0d8
0003e0c8adrp x0, 0xa0e000
0003e0ccadd x0, x0, 2768
0003e0d0ldr x1, [sp+80]
0003e0d4bl runtime.(*sysMemStat).add
0003e0d8
0003e0d8loc_3e0d8:
0003e0d8adrp x0, 0xa12000
0003e0dcadd x0, x0, 1056
0003e0e0bl runtime.(*consistentHeapStats).acquire
0003e0e4ldrsb x27, [x0]
0003e0e8adrp x27, 0xa0d000
0003e0ecldrb w1, [x27+1516]
0003e0f0tbz w1, 0, 0x3e104
0003e0f4ldr x1, [sp+64]
0003e0f8ldaddal x1, x2, [x0]
0003e0fcadd x2, x2, x1
0003e100b 0x3e118
0003e104
0003e104loc_3e104:
0003e104ldr x1, [sp+64]
0003e108
0003e108loc_3e108:
0003e108ldaxr x2, [x0]
0003e10cadd x2, x2, x1
0003e110stlxr w27, x2, [x0]
0003e114cbnz x27, 0x3e108
0003e118
0003e118loc_3e118:
0003e118add x2, x0, 8
0003e11csub x1, xzr, x1
0003e120adrp x27, 0xa0d000
0003e124ldrb w3, [x27+1516]
0003e128tbz w3, 0, 0x3e138
0003e12cldaddal x1, x3, [x2]
0003e130add x3, x3, x1
0003e134b 0x3e148
0003e138
0003e138loc_3e138:
0003e138ldaxr x3, [x2]
0003e13cadd x3, x3, x1
0003e140stlxr w27, x3, [x2]
0003e144cbnz x27, 0x3e138
0003e148
0003e148loc_3e148:
0003e148ldr w1, [sp+52]
0003e14csubs wzr, w1, 1
0003e150b.hi 0x3e1c8
0003e154cbnz w1, 0x3e190
0003e158add x1, x0, 16
0003e15cadrp x27, 0xa0d000
0003e160ldrb w2, [x27+1516]
0003e164tbz w2, 0, 0x3e178
0003e168ldr x2, [sp+80]
0003e16cldaddal x2, x3, [x1]
0003e170add x3, x3, x2
0003e174b 0x3e244
0003e178
0003e178loc_3e178:
0003e178ldr x2, [sp+80]
0003e17c
0003e17cloc_3e17c:
0003e17cldaxr x3, [x1]
0003e180add x3, x3, x2
0003e184stlxr w27, x3, [x1]
0003e188cbnz x27, 0x3e17c
0003e18cb 0x3e244
0003e190
0003e190loc_3e190:
0003e190add x1, x0, 24
0003e194adrp x27, 0xa0d000
0003e198ldrb w2, [x27+1516]
0003e19ctbz w2, 0, 0x3e1b0
0003e1a0ldr x2, [sp+80]
0003e1a4ldaddal x2, x3, [x1]
0003e1a8add x3, x3, x2
0003e1acb 0x3e244
0003e1b0
0003e1b0loc_3e1b0:
0003e1b0ldr x2, [sp+80]
0003e1b4
0003e1b4loc_3e1b4:
0003e1b4ldaxr x3, [x1]
0003e1b8add x3, x3, x2
0003e1bcstlxr w27, x3, [x1]
0003e1c0cbnz x27, 0x3e1b4
0003e1c4b 0x3e244
0003e1c8
0003e1c8loc_3e1c8:
0003e1c8subs wzr, w1, 2
0003e1ccb.ne 0x3e208
0003e1d0add x1, x0, 40
0003e1d4adrp x27, 0xa0d000
0003e1d8ldrb w2, [x27+1516]
0003e1dctbz w2, 0, 0x3e1f0
0003e1e0ldr x2, [sp+80]
0003e1e4ldaddal x2, x3, [x1]
0003e1e8add x3, x3, x2
0003e1ecb 0x3e244
0003e1f0
0003e1f0loc_3e1f0:
0003e1f0ldr x2, [sp+80]
0003e1f4
0003e1f4loc_3e1f4:
0003e1f4ldaxr x3, [x1]
0003e1f8add x3, x3, x2
0003e1fcstlxr w27, x3, [x1]
0003e200cbnz x27, 0x3e1f4
0003e204b 0x3e244
0003e208
0003e208loc_3e208:
0003e208subs wzr, w1, 3
0003e20cb.ne 0x3e244
0003e210add x1, x0, 32
0003e214adrp x27, 0xa0d000
0003e218ldrb w2, [x27+1516]
0003e21ctbz w2, 0, 0x3e230
0003e220ldr x2, [sp+80]
0003e224ldaddal x2, x3, [x1]
0003e228add x3, x3, x2
0003e22cb 0x3e244
0003e230
0003e230loc_3e230:
0003e230ldr x2, [sp+80]
0003e234
0003e234loc_3e234:
0003e234ldaxr x3, [x1]
0003e238add x3, x3, x2
0003e23cstlxr w27, x3, [x1]
0003e240cbnz x27, 0x3e234
0003e244
0003e244loc_3e244:
0003e244adrp x0, 0xa12000
0003e248add x0, x0, 1056
0003e24cbl runtime.(*consistentHeapStats).release
0003e250bl runtime.traceAllocFreeEnabled
0003e254tbz w0, 0, 0x3e288
0003e258bl runtime.traceAcquire
0003e25cstr x0, [sp+160]
0003e260str x1, [sp+128]
0003e264bl runtime.traceLocker.ok
0003e268tbz w0, 0, 0x3e288
0003e26cldr x0, [sp+160]
0003e270ldr x1, [sp+128]
0003e274ldr x2, [sp+136]
0003e278bl runtime.traceLocker.SpanAlloc
0003e27cldr x0, [sp+160]
0003e280ldr x1, [sp+128]
0003e284bl runtime.traceRelease
0003e288
0003e288loc_3e288:
0003e288ldr x0, [sp+136]
0003e28cldur x29, [sp-8]
0003e290ldr x30, [sp], 192
0003e294ret x30
0003e298
0003e298loc_3e298:
0003e298adrp x0, 0x687000
0003e29cadd x0, x0, 3139
0003e2a0movz x1, 43
0003e2a4bl runtime.throw
0003e2a8hint
0003e2ac
0003e2acloc_3e2ac:
0003e2acstp x0, x1, [sp+8]
0003e2b0strb w2, [sp+24]
0003e2b4strb w3, [sp+25]
0003e2b8mov x3, x30
0003e2bcbl runtime.morestackc.abi0
0003e2c0ldp x0, x1, [sp+8]
0003e2c4ldrb w2, [sp+24]
0003e2c8ldrb w3, [sp+25]
0003e2ccb 0x3dd10
0003dd10
0003e2d0
0003e2d0runtime.(*mheap).initSpan: ; void runtime.(*mheap).initSpan(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ, runtime.spanClass spanclass, uintptr base, uintptr npages)
0003e2d0ldr x16, [x28+16]
0003e2d4subs xzr, sp, x16
0003e2d8b.ls 0x3e560
0003e2dcstr x30, [sp-64]!
0003e2e0stur x29, [sp-8]
0003e2e4sub x29, sp, 8
0003e2e8str x0, [sp+72]
0003e2ecstr x1, [sp+80]
0003e2f0strb w2, [sp+88]
0003e2f4strb w3, [sp+89]
0003e2f8str x4, [sp+96]
0003e2fcstr x5, [sp+104]
0003e300mov x0, x1
0003e304mov x1, x4
0003e308mov x2, x5
0003e30cbl runtime.(*mspan).init
0003e310ldr x0, [sp+72]
0003e314ldr x1, [sp+96]
0003e318ldr x2, [sp+104]
0003e31cbl runtime.(*mheap).allocNeedsZero
0003e320tbz w0, 0, 0x3e330
0003e324orr x1, xzr, 1
0003e328ldr x2, [sp+80]
0003e32cstrb w1, [x2+100]
0003e330
0003e330loc_3e330:
0003e330ldrb w0, [sp+88]
0003e334bl runtime.spanAllocType.manual
0003e338tbz w0, 0, 0x3e358
0003e33cldr x2, [sp+80]
0003e340str xzr, [x2+40]
0003e344strh wzr, [x2+50]
0003e348add x0, x2, 99
0003e34corr x1, xzr, 2
0003e350bl runtime.(*mSpanStateBox).set
0003e354b 0x3e4a8
0003e358
0003e358loc_3e358:
0003e358ldrb w0, [sp+89]
0003e35cldr x1, [sp+80]
0003e360strb w0, [x1+98]
0003e364bl runtime.spanClass.sizeclass
0003e368ldr x1, [sp+104]
0003e36cubfm x2, x1, 51, 50
0003e370ubfm x3, x0, 0, 7
0003e374cbnz w3, 0x3e390
0003e378ldr x3, [sp+80]
0003e37cstr x2, [x3+104]
0003e380orr x2, xzr, 1
0003e384strh w2, [x3+50]
0003e388str wzr, [x3+92]
0003e38cb 0x3e430
0003e390
0003e390loc_3e390:
0003e390sbfm x0, x0, 0, 7
0003e394subs xzr, x0, 68
0003e398b.hs 0x3e554
0003e39cstr x2, [sp+40]
0003e3a0str x0, [sp+48]
0003e3a4adrp x1, 0x987000
0003e3a8add x1, x1, 480
0003e3acldrh w1, [x1+x0]
0003e3b0ldr x2, [sp+80]
0003e3b4str x1, [x2+104]
0003e3b8ldrb w0, [x2+98]
0003e3bcbl runtime.spanClass.noscan
0003e3c0tbz w0, 0, 0x3e3cc
0003e3c4mov x0, xzr
0003e3c8b 0x3e3d8
0003e3cc
0003e3ccloc_3e3cc:
0003e3ccldr x1, [sp+80]
0003e3d0ldr x0, [x1+104]
0003e3d4bl runtime.heapBitsInSpan
0003e3d8
0003e3d8loc_3e3d8:
0003e3d8tbz w0, 0, 0x3e3fc
0003e3dcldr x1, [sp+40]
0003e3e0sub x1, x1, x1, lsr #6
0003e3e4ldr x2, [sp+80]
0003e3e8ldr x3, [x2+104]
0003e3eccbz x3, 0x3e550
0003e3f0udiv x1, x1, x3
0003e3f4strh w1, [x2+50]
0003e3f8b 0x3e418
0003e3fc
0003e3fcloc_3e3fc:
0003e3fcldr x1, [sp+80]
0003e400ldr x2, [x1+104]
0003e404cbz x2, 0x3e54c
0003e408ldr x3, [sp+40]
0003e40cudiv x2, x3, x2
0003e410strh w2, [x1+50]
0003e414mov x2, x1
0003e418
0003e418loc_3e418:
0003e418ldr x1, [sp+48]
0003e41cadrp x3, 0x988000
0003e420add x3, x3, 2368
0003e424ldr w1, [x3+2*x1]
0003e428str w1, [x2+92]
0003e42cmov x3, x2
0003e430
0003e430loc_3e430:
0003e430strh wzr, [x3+48]
0003e434strh wzr, [x3+52]
0003e438movn x1, 0
0003e43cstr x1, [x3+56]
0003e440ldrh w1, [x3+50]
0003e444mov x0, x1
0003e448bl runtime.newMarkBits
0003e44cldr x1, [sp+80]
0003e450str x0, [x1+72]
0003e454ldrh w1, [x1+50]
0003e458mov x0, x1
0003e45cbl runtime.newAllocBits
0003e460ldr x1, [sp+80]
0003e464str x0, [x1+64]
0003e468mov x0, x1
0003e46cbl runtime.(*mspan).base
0003e470ldr x1, [sp+80]
0003e474ldr x2, [x1+104]
0003e478ldrh w3, [x1+50]
0003e47cmadd x2, x3, x2, x0
0003e480str x2, [x1+112]
0003e484ldr x2, [sp+72]
0003e488ldrsb x27, [x2]
0003e48cadd x3, x1, 88
0003e490add x27, x2, 0x10000
0003e494ldr w2, [x27+320]
0003e498stlr w2, [x3]
0003e49cadd x0, x1, 99
0003e4a0orr x1, xzr, 1
0003e4a4bl runtime.(*mSpanStateBox).set
0003e4a8
0003e4a8loc_3e4a8:
0003e4a8ldr x0, [sp+80]
0003e4acbl runtime.(*mspan).base
0003e4b0mov x1, x0
0003e4b4ldr x2, [sp+104]
0003e4b8ldr x3, [sp+80]
0003e4bcldr x0, [sp+72]
0003e4c0bl runtime.(*mheap).setSpans
0003e4c4ldrb w0, [sp+88]
0003e4c8bl runtime.spanAllocType.manual
0003e4cctbnz w0, 0, 0x3e530
0003e4d0ldr x0, [sp+80]
0003e4d4bl runtime.(*mspan).base
0003e4d8bl runtime.pageIndexOf
0003e4dcsubs xzr, x1, 1024
0003e4e0b.hs 0x3e540
0003e4e4ldrsb x27, [x0]
0003e4e8add x3, x0, 0x10000
0003e4ecadd x3, x3, x1
0003e4f0adrp x27, 0xa0d000
0003e4f4ldrb w4, [x27+1516]
0003e4f8tbz w4, 0, 0x3e504
0003e4fcldsetalb w2, w4, [x3]
0003e500b 0x3e514
0003e504
0003e504loc_3e504:
0003e504ldaxrb w5, [x3]
0003e508orr x4, x5, x2
0003e50cstlxrb w27, w4, [x3]
0003e510cbnz x27, 0x3e504
0003e514
0003e514loc_3e514:
0003e514ldr x2, [sp+72]
0003e518ldrsb x27, [x2]
0003e51cmovz x3, 352
0003e520movk x3, 0x10000
0003e524add x0, x2, x3
0003e528ldr x1, [sp+104]
0003e52cbl internal/runtime/atomic.(*Uintptr).Add
0003e530
0003e530loc_3e530:
0003e530dmb
0003e534ldur x29, [sp-8]
0003e538ldr x30, [sp], 64
0003e53cret x30
0003e540
0003e540loc_3e540:
0003e540mov x0, x1
0003e544orr x1, xzr, 1024
0003e548bl runtime.panicIndexU
0003e54c
0003e54cloc_3e54c:
0003e54cbl runtime.panicdivide
0003e550
0003e550loc_3e550:
0003e550bl runtime.panicdivide
0003e554
0003e554loc_3e554:
0003e554movz x1, 68
0003e558bl runtime.panicIndex
0003e55chint
0003e560
0003e560loc_3e560:
0003e560stp x0, x1, [sp+8]
0003e564strb w2, [sp+24]
0003e568strb w3, [sp+25]
0003e56cstp x4, x5, [sp+32]
0003e570mov x3, x30
0003e574bl runtime.morestack_noctxt.abi0
0003e578ldp x0, x1, [sp+8]
0003e57cldrb w2, [sp+24]
0003e580ldrb w3, [sp+25]
0003e584ldp x4, x5, [sp+32]
0003e588b 0x3e2d0
0003e58cudf 0
0003e2d0
0003e2d0runtime.(*mheap).initSpan: ; void runtime.(*mheap).initSpan(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ, runtime.spanClass spanclass, uintptr base, uintptr npages)
0003e2d0ldr x16, [x28+16]
0003e2d4subs xzr, sp, x16
0003e2d8b.ls 0x3e560
0003e2dcstr x30, [sp-64]!
0003e2e0stur x29, [sp-8]
0003e2e4sub x29, sp, 8
0003e2e8str x0, [sp+72]
0003e2ecstr x1, [sp+80]
0003e2f0strb w2, [sp+88]
0003e2f4strb w3, [sp+89]
0003e2f8str x4, [sp+96]
0003e2fcstr x5, [sp+104]
0003e300mov x0, x1
0003e304mov x1, x4
0003e308mov x2, x5
0003e30cbl runtime.(*mspan).init
0003e310ldr x0, [sp+72]
0003e314ldr x1, [sp+96]
0003e318ldr x2, [sp+104]
0003e31cbl runtime.(*mheap).allocNeedsZero
0003e320tbz w0, 0, 0x3e330
0003e324orr x1, xzr, 1
0003e328ldr x2, [sp+80]
0003e32cstrb w1, [x2+100]
0003e330
0003e330loc_3e330:
0003e330ldrb w0, [sp+88]
0003e334bl runtime.spanAllocType.manual
0003e338tbz w0, 0, 0x3e358
0003e33cldr x2, [sp+80]
0003e340str xzr, [x2+40]
0003e344strh wzr, [x2+50]
0003e348add x0, x2, 99
0003e34corr x1, xzr, 2
0003e350bl runtime.(*mSpanStateBox).set
0003e354b 0x3e4a8
0003e358
0003e358loc_3e358:
0003e358ldrb w0, [sp+89]
0003e35cldr x1, [sp+80]
0003e360strb w0, [x1+98]
0003e364bl runtime.spanClass.sizeclass
0003e368ldr x1, [sp+104]
0003e36cubfm x2, x1, 51, 50
0003e370ubfm x3, x0, 0, 7
0003e374cbnz w3, 0x3e390
0003e378ldr x3, [sp+80]
0003e37cstr x2, [x3+104]
0003e380orr x2, xzr, 1
0003e384strh w2, [x3+50]
0003e388str wzr, [x3+92]
0003e38cb 0x3e430
0003e390
0003e390loc_3e390:
0003e390sbfm x0, x0, 0, 7
0003e394subs xzr, x0, 68
0003e398b.hs 0x3e554
0003e39cstr x2, [sp+40]
0003e3a0str x0, [sp+48]
0003e3a4adrp x1, 0x987000
0003e3a8add x1, x1, 480
0003e3acldrh w1, [x1+x0]
0003e3b0ldr x2, [sp+80]
0003e3b4str x1, [x2+104]
0003e3b8ldrb w0, [x2+98]
0003e3bcbl runtime.spanClass.noscan
0003e3c0tbz w0, 0, 0x3e3cc
0003e3c4mov x0, xzr
0003e3c8b 0x3e3d8
0003e3cc
0003e3ccloc_3e3cc:
0003e3ccldr x1, [sp+80]
0003e3d0ldr x0, [x1+104]
0003e3d4bl runtime.heapBitsInSpan
0003e3d8
0003e3d8loc_3e3d8:
0003e3d8tbz w0, 0, 0x3e3fc
0003e3dcldr x1, [sp+40]
0003e3e0sub x1, x1, x1, lsr #6
0003e3e4ldr x2, [sp+80]
0003e3e8ldr x3, [x2+104]
0003e3eccbz x3, 0x3e550
0003e3f0udiv x1, x1, x3
0003e3f4strh w1, [x2+50]
0003e3f8b 0x3e418
0003e3fc
0003e3fcloc_3e3fc:
0003e3fcldr x1, [sp+80]
0003e400ldr x2, [x1+104]
0003e404cbz x2, 0x3e54c
0003e408ldr x3, [sp+40]
0003e40cudiv x2, x3, x2
0003e410strh w2, [x1+50]
0003e414mov x2, x1
0003e418
0003e418loc_3e418:
0003e418ldr x1, [sp+48]
0003e41cadrp x3, 0x988000
0003e420add x3, x3, 2368
0003e424ldr w1, [x3+2*x1]
0003e428str w1, [x2+92]
0003e42cmov x3, x2
0003e430
0003e430loc_3e430:
0003e430strh wzr, [x3+48]
0003e434strh wzr, [x3+52]
0003e438movn x1, 0
0003e43cstr x1, [x3+56]
0003e440ldrh w1, [x3+50]
0003e444mov x0, x1
0003e448bl runtime.newMarkBits
0003e44cldr x1, [sp+80]
0003e450str x0, [x1+72]
0003e454ldrh w1, [x1+50]
0003e458mov x0, x1
0003e45cbl runtime.newAllocBits
0003e460ldr x1, [sp+80]
0003e464str x0, [x1+64]
0003e468mov x0, x1
0003e46cbl runtime.(*mspan).base
0003e470ldr x1, [sp+80]
0003e474ldr x2, [x1+104]
0003e478ldrh w3, [x1+50]
0003e47cmadd x2, x3, x2, x0
0003e480str x2, [x1+112]
0003e484ldr x2, [sp+72]
0003e488ldrsb x27, [x2]
0003e48cadd x3, x1, 88
0003e490add x27, x2, 0x10000
0003e494ldr w2, [x27+320]
0003e498stlr w2, [x3]
0003e49cadd x0, x1, 99
0003e4a0orr x1, xzr, 1
0003e4a4bl runtime.(*mSpanStateBox).set
0003e4a8
0003e4a8loc_3e4a8:
0003e4a8ldr x0, [sp+80]
0003e4acbl runtime.(*mspan).base
0003e4b0mov x1, x0
0003e4b4ldr x2, [sp+104]
0003e4b8ldr x3, [sp+80]
0003e4bcldr x0, [sp+72]
0003e4c0bl runtime.(*mheap).setSpans
0003e4c4ldrb w0, [sp+88]
0003e4c8bl runtime.spanAllocType.manual
0003e4cctbnz w0, 0, 0x3e530
0003e4d0ldr x0, [sp+80]
0003e4d4bl runtime.(*mspan).base
0003e4d8bl runtime.pageIndexOf
0003e4dcsubs xzr, x1, 1024
0003e4e0b.hs 0x3e540
0003e4e4ldrsb x27, [x0]
0003e4e8add x3, x0, 0x10000
0003e4ecadd x3, x3, x1
0003e4f0adrp x27, 0xa0d000
0003e4f4ldrb w4, [x27+1516]
0003e4f8tbz w4, 0, 0x3e504
0003e4fcldsetalb w2, w4, [x3]
0003e500b 0x3e514
0003e504
0003e504loc_3e504:
0003e504ldaxrb w5, [x3]
0003e508orr x4, x5, x2
0003e50cstlxrb w27, w4, [x3]
0003e510cbnz x27, 0x3e504
0003e514
0003e514loc_3e514:
0003e514ldr x2, [sp+72]
0003e518ldrsb x27, [x2]
0003e51cmovz x3, 352
0003e520movk x3, 0x10000
0003e524add x0, x2, x3
0003e528ldr x1, [sp+104]
0003e52cbl internal/runtime/atomic.(*Uintptr).Add
0003e530
0003e530loc_3e530:
0003e530dmb
0003e534ldur x29, [sp-8]
0003e538ldr x30, [sp], 64
0003e53cret x30
0003e540
0003e540loc_3e540:
0003e540mov x0, x1
0003e544orr x1, xzr, 1024
0003e548bl runtime.panicIndexU
0003e54c
0003e54cloc_3e54c:
0003e54cbl runtime.panicdivide
0003e550
0003e550loc_3e550:
0003e550bl runtime.panicdivide
0003e554
0003e554loc_3e554:
0003e554movz x1, 68
0003e558bl runtime.panicIndex
0003e55chint
0003e560
0003e560loc_3e560:
0003e560stp x0, x1, [sp+8]
0003e564strb w2, [sp+24]
0003e568strb w3, [sp+25]
0003e56cstp x4, x5, [sp+32]
0003e570mov x3, x30
0003e574bl runtime.morestack_noctxt.abi0
0003e578ldp x0, x1, [sp+8]
0003e57cldrb w2, [sp+24]
0003e580ldrb w3, [sp+25]
0003e584ldp x4, x5, [sp+32]
0003e588b 0x3e2d0
0003e58cudf 0
0003e2d0
0003e590
0003e590runtime.(*mheap).grow: ; void runtime.(*mheap).grow(runtime.mheap * h, uintptr npage)
0003e590ldr x16, [x28+16]
0003e594subs xzr, sp, x16
0003e598b.ls 0x3e8ac
0003e59cstr x30, [sp-128]!
0003e5a0stur x29, [sp-8]
0003e5a4sub x29, sp, 8
0003e5a8str x0, [sp+136]
0003e5acstr x1, [sp+144]
0003e5b0ldrsb x27, [x0]
0003e5b4bl runtime.assertLockHeld
0003e5b8ldr x0, [sp+144]
0003e5bcorr x1, xzr, 512
0003e5c0bl runtime.alignUp
0003e5c4str x0, [sp+104]
0003e5c8ldr x1, [sp+136]
0003e5ccadd x27, x1, 0x10000
0003e5d0ldr x1, [x27+696]
0003e5d4add x0, x1, x0, lsl #13
0003e5d8str x0, [sp+64]
0003e5dcadrp x27, 0xa0d000
0003e5e0ldr x1, [x27+1760]
0003e5e4bl runtime.alignUp
0003e5e8ldr x1, [sp+136]
0003e5ecadd x27, x1, 0x10000
0003e5f0ldr x2, [x27+704]
0003e5f4subs xzr, x0, x2
0003e5f8b.hi 0x3e610
0003e5fcadd x27, x1, 0x10000
0003e600ldr x4, [x27+696]
0003e604ldr x5, [sp+64]
0003e608subs xzr, x4, x5
0003e60cb.ls 0x3e7f4
0003e610
0003e610loc_3e610:
0003e610ldr x4, [sp+104]
0003e614ubfm x4, x4, 51, 50
0003e618str x4, [sp+72]
0003e61cmovz x5, 584
0003e620movk x5, 0x10000
0003e624add x2, x1, x5
0003e628mov x0, x1
0003e62cmov x1, x4
0003e630orr x3, xzr, 1
0003e634bl runtime.(*mheap).sysAlloc
0003e638cbz x0, 0x3e758
0003e63cmov x3, x0
0003e640ldr x4, [sp+136]
0003e644add x27, x4, 0x10000
0003e648ldr x5, [x27+704]
0003e64csubs xzr, x0, x5
0003e650b.ne 0x3e668
0003e654add x2, x0, x1
0003e658add x27, x4, 0x10000
0003e65cstr x2, [x27+704]
0003e660mov x0, xzr
0003e664b 0x3e72c
0003e668
0003e668loc_3e668:
0003e668add x27, x4, 0x10000
0003e66cldr x0, [x27+696]
0003e670sub x5, x5, x0
0003e674cbnz x5, 0x3e680
0003e678mov x0, xzr
0003e67cb 0x3e714
0003e680
0003e680loc_3e680:
0003e680str x3, [sp+112]
0003e684str x1, [sp+80]
0003e688str x5, [sp+56]
0003e68cmov x1, x5
0003e690adrp x2, 0xa0e000
0003e694add x2, x2, 2776
0003e698bl runtime.sysMap
0003e69cadrp x0, 0xa12000
0003e6a0add x0, x0, 1056
0003e6a4bl runtime.(*consistentHeapStats).acquire
0003e6a8ldrsb x27, [x0]
0003e6acadd x3, x0, 8
0003e6b0adrp x27, 0xa0d000
0003e6b4ldrb w4, [x27+1516]
0003e6b8tbz w4, 0, 0x3e6cc
0003e6bcldr x1, [sp+56]
0003e6c0ldaddal x1, x2, [x3]
0003e6c4add x2, x2, x1
0003e6c8b 0x3e6e0
0003e6cc
0003e6ccloc_3e6cc:
0003e6ccldr x1, [sp+56]
0003e6d0
0003e6d0loc_3e6d0:
0003e6d0ldaxr x2, [x3]
0003e6d4add x2, x2, x1
0003e6d8stlxr w27, x2, [x3]
0003e6dccbnz x27, 0x3e6d0
0003e6e0
0003e6e0loc_3e6e0:
0003e6e0adrp x0, 0xa12000
0003e6e4add x0, x0, 1056
0003e6e8bl runtime.(*consistentHeapStats).release
0003e6ecldr x1, [sp+136]
0003e6f0add x0, x1, 8
0003e6f4add x27, x1, 0x10000
0003e6f8ldr x1, [x27+696]
0003e6fcldr x2, [sp+56]
0003e700bl runtime.(*pageAlloc).grow
0003e704ldr x1, [sp+80]
0003e708ldr x3, [sp+112]
0003e70cldr x4, [sp+136]
0003e710ldr x0, [sp+56]
0003e714
0003e714loc_3e714:
0003e714mov x2, x3
0003e718add x27, x4, 0x10000
0003e71cstr x3, [x27+696]
0003e720add x2, x2, x1
0003e724add x27, x4, 0x10000
0003e728str x2, [x27+704]
0003e72c
0003e72cloc_3e72c:
0003e72cstr x0, [sp+48]
0003e730adrp x27, 0xa0d000
0003e734ldr x1, [x27+1760]
0003e738add x27, x4, 0x10000
0003e73cldr x2, [x27+696]
0003e740ldr x3, [sp+104]
0003e744add x0, x2, x3, lsl #13
0003e748bl runtime.alignUp
0003e74cldr x1, [sp+136]
0003e750ldr x2, [sp+48]
0003e754b 0x3e7f8
0003e758
0003e758loc_3e758:
0003e758adrp x0, 0xa0e000
0003e75cadd x0, x0, 2784
0003e760bl runtime.(*sysMemStat).load
0003e764str x0, [sp+96]
0003e768adrp x0, 0xa0e000
0003e76cadd x0, x0, 2776
0003e770bl runtime.(*sysMemStat).load
0003e774ldr x1, [sp+96]
0003e778add x1, x1, x0
0003e77cstr x1, [sp+96]
0003e780adrp x0, 0xa0e000
0003e784add x0, x0, 2768
0003e788bl runtime.(*sysMemStat).load
0003e78cstr x0, [sp+88]
0003e790bl runtime.printlock
0003e794adrp x0, 0x686000
0003e798add x0, x0, 139
0003e79cmovz x1, 40
0003e7a0bl runtime.printstring
0003e7a4ldr x0, [sp+72]
0003e7a8bl runtime.printuint
0003e7acadrp x0, 0x675000
0003e7b0add x0, x0, 1576
0003e7b4movz x1, 13
0003e7b8bl runtime.printstring
0003e7bcldr x1, [sp+96]
0003e7c0ldr x2, [sp+88]
0003e7c4add x0, x1, x2
0003e7c8bl runtime.printuint
0003e7ccadrp x0, 0x673000
0003e7d0add x0, x0, 2884
0003e7d4movz x1, 9
0003e7d8bl runtime.printstring
0003e7dcbl runtime.printunlock
0003e7e0mov x0, xzr
0003e7e4mov x1, xzr
0003e7e8ldur x29, [sp-8]
0003e7ecldr x30, [sp], 128
0003e7f0ret x30
0003e7f4
0003e7f4loc_3e7f4:
0003e7f4mov x2, xzr
0003e7f8
0003e7f8loc_3e7f8:
0003e7f8str x2, [sp+48]
0003e7fcadd x27, x1, 0x10000
0003e800ldr x3, [x27+696]
0003e804str x3, [sp+40]
0003e808add x27, x1, 0x10000
0003e80cstr x0, [x27+696]
0003e810mov x4, x3
0003e814sub x1, x0, x4
0003e818str x1, [sp+104]
0003e81cmov x0, x3
0003e820adrp x2, 0xa0e000
0003e824add x2, x2, 2776
0003e828bl runtime.sysMap
0003e82cadrp x0, 0xa12000
0003e830add x0, x0, 1056
0003e834bl runtime.(*consistentHeapStats).acquire
0003e838ldrsb x27, [x0]
0003e83cadd x3, x0, 8
0003e840adrp x27, 0xa0d000
0003e844ldrb w4, [x27+1516]
0003e848tbz w4, 0, 0x3e85c
0003e84cldr x1, [sp+104]
0003e850ldaddal x1, x2, [x3]
0003e854add x2, x2, x1
0003e858b 0x3e870
0003e85c
0003e85cloc_3e85c:
0003e85cldr x1, [sp+104]
0003e860
0003e860loc_3e860:
0003e860ldaxr x2, [x3]
0003e864add x2, x2, x1
0003e868stlxr w27, x2, [x3]
0003e86ccbnz x27, 0x3e860
0003e870
0003e870loc_3e870:
0003e870adrp x0, 0xa12000
0003e874add x0, x0, 1056
0003e878bl runtime.(*consistentHeapStats).release
0003e87cldr x1, [sp+136]
0003e880add x0, x1, 8
0003e884ldr x1, [sp+40]
0003e888ldr x2, [sp+104]
0003e88cbl runtime.(*pageAlloc).grow
0003e890ldr x1, [sp+48]
0003e894ldr x2, [sp+104]
0003e898add x0, x1, x2
0003e89corr x1, xzr, 1
0003e8a0ldur x29, [sp-8]
0003e8a4ldr x30, [sp], 128
0003e8a8ret x30
0003e8ac
0003e8acloc_3e8ac:
0003e8acstp x0, x1, [sp+8]
0003e8b0mov x3, x30
0003e8b4bl runtime.morestack_noctxt.abi0
0003e8b8ldp x0, x1, [sp+8]
0003e8bcb 0x3e590
0003e590
0003e590runtime.(*mheap).grow: ; void runtime.(*mheap).grow(runtime.mheap * h, uintptr npage)
0003e590ldr x16, [x28+16]
0003e594subs xzr, sp, x16
0003e598b.ls 0x3e8ac
0003e59cstr x30, [sp-128]!
0003e5a0stur x29, [sp-8]
0003e5a4sub x29, sp, 8
0003e5a8str x0, [sp+136]
0003e5acstr x1, [sp+144]
0003e5b0ldrsb x27, [x0]
0003e5b4bl runtime.assertLockHeld
0003e5b8ldr x0, [sp+144]
0003e5bcorr x1, xzr, 512
0003e5c0bl runtime.alignUp
0003e5c4str x0, [sp+104]
0003e5c8ldr x1, [sp+136]
0003e5ccadd x27, x1, 0x10000
0003e5d0ldr x1, [x27+696]
0003e5d4add x0, x1, x0, lsl #13
0003e5d8str x0, [sp+64]
0003e5dcadrp x27, 0xa0d000
0003e5e0ldr x1, [x27+1760]
0003e5e4bl runtime.alignUp
0003e5e8ldr x1, [sp+136]
0003e5ecadd x27, x1, 0x10000
0003e5f0ldr x2, [x27+704]
0003e5f4subs xzr, x0, x2
0003e5f8b.hi 0x3e610
0003e5fcadd x27, x1, 0x10000
0003e600ldr x4, [x27+696]
0003e604ldr x5, [sp+64]
0003e608subs xzr, x4, x5
0003e60cb.ls 0x3e7f4
0003e610
0003e610loc_3e610:
0003e610ldr x4, [sp+104]
0003e614ubfm x4, x4, 51, 50
0003e618str x4, [sp+72]
0003e61cmovz x5, 584
0003e620movk x5, 0x10000
0003e624add x2, x1, x5
0003e628mov x0, x1
0003e62cmov x1, x4
0003e630orr x3, xzr, 1
0003e634bl runtime.(*mheap).sysAlloc
0003e638cbz x0, 0x3e758
0003e63cmov x3, x0
0003e640ldr x4, [sp+136]
0003e644add x27, x4, 0x10000
0003e648ldr x5, [x27+704]
0003e64csubs xzr, x0, x5
0003e650b.ne 0x3e668
0003e654add x2, x0, x1
0003e658add x27, x4, 0x10000
0003e65cstr x2, [x27+704]
0003e660mov x0, xzr
0003e664b 0x3e72c
0003e668
0003e668loc_3e668:
0003e668add x27, x4, 0x10000
0003e66cldr x0, [x27+696]
0003e670sub x5, x5, x0
0003e674cbnz x5, 0x3e680
0003e678mov x0, xzr
0003e67cb 0x3e714
0003e680
0003e680loc_3e680:
0003e680str x3, [sp+112]
0003e684str x1, [sp+80]
0003e688str x5, [sp+56]
0003e68cmov x1, x5
0003e690adrp x2, 0xa0e000
0003e694add x2, x2, 2776
0003e698bl runtime.sysMap
0003e69cadrp x0, 0xa12000
0003e6a0add x0, x0, 1056
0003e6a4bl runtime.(*consistentHeapStats).acquire
0003e6a8ldrsb x27, [x0]
0003e6acadd x3, x0, 8
0003e6b0adrp x27, 0xa0d000
0003e6b4ldrb w4, [x27+1516]
0003e6b8tbz w4, 0, 0x3e6cc
0003e6bcldr x1, [sp+56]
0003e6c0ldaddal x1, x2, [x3]
0003e6c4add x2, x2, x1
0003e6c8b 0x3e6e0
0003e6cc
0003e6ccloc_3e6cc:
0003e6ccldr x1, [sp+56]
0003e6d0
0003e6d0loc_3e6d0:
0003e6d0ldaxr x2, [x3]
0003e6d4add x2, x2, x1
0003e6d8stlxr w27, x2, [x3]
0003e6dccbnz x27, 0x3e6d0
0003e6e0
0003e6e0loc_3e6e0:
0003e6e0adrp x0, 0xa12000
0003e6e4add x0, x0, 1056
0003e6e8bl runtime.(*consistentHeapStats).release
0003e6ecldr x1, [sp+136]
0003e6f0add x0, x1, 8
0003e6f4add x27, x1, 0x10000
0003e6f8ldr x1, [x27+696]
0003e6fcldr x2, [sp+56]
0003e700bl runtime.(*pageAlloc).grow
0003e704ldr x1, [sp+80]
0003e708ldr x3, [sp+112]
0003e70cldr x4, [sp+136]
0003e710ldr x0, [sp+56]
0003e714
0003e714loc_3e714:
0003e714mov x2, x3
0003e718add x27, x4, 0x10000
0003e71cstr x3, [x27+696]
0003e720add x2, x2, x1
0003e724add x27, x4, 0x10000
0003e728str x2, [x27+704]
0003e72c
0003e72cloc_3e72c:
0003e72cstr x0, [sp+48]
0003e730adrp x27, 0xa0d000
0003e734ldr x1, [x27+1760]
0003e738add x27, x4, 0x10000
0003e73cldr x2, [x27+696]
0003e740ldr x3, [sp+104]
0003e744add x0, x2, x3, lsl #13
0003e748bl runtime.alignUp
0003e74cldr x1, [sp+136]
0003e750ldr x2, [sp+48]
0003e754b 0x3e7f8
0003e758
0003e758loc_3e758:
0003e758adrp x0, 0xa0e000
0003e75cadd x0, x0, 2784
0003e760bl runtime.(*sysMemStat).load
0003e764str x0, [sp+96]
0003e768adrp x0, 0xa0e000
0003e76cadd x0, x0, 2776
0003e770bl runtime.(*sysMemStat).load
0003e774ldr x1, [sp+96]
0003e778add x1, x1, x0
0003e77cstr x1, [sp+96]
0003e780adrp x0, 0xa0e000
0003e784add x0, x0, 2768
0003e788bl runtime.(*sysMemStat).load
0003e78cstr x0, [sp+88]
0003e790bl runtime.printlock
0003e794adrp x0, 0x686000
0003e798add x0, x0, 139
0003e79cmovz x1, 40
0003e7a0bl runtime.printstring
0003e7a4ldr x0, [sp+72]
0003e7a8bl runtime.printuint
0003e7acadrp x0, 0x675000
0003e7b0add x0, x0, 1576
0003e7b4movz x1, 13
0003e7b8bl runtime.printstring
0003e7bcldr x1, [sp+96]
0003e7c0ldr x2, [sp+88]
0003e7c4add x0, x1, x2
0003e7c8bl runtime.printuint
0003e7ccadrp x0, 0x673000
0003e7d0add x0, x0, 2884
0003e7d4movz x1, 9
0003e7d8bl runtime.printstring
0003e7dcbl runtime.printunlock
0003e7e0mov x0, xzr
0003e7e4mov x1, xzr
0003e7e8ldur x29, [sp-8]
0003e7ecldr x30, [sp], 128
0003e7f0ret x30
0003e7f4
0003e7f4loc_3e7f4:
0003e7f4mov x2, xzr
0003e7f8
0003e7f8loc_3e7f8:
0003e7f8str x2, [sp+48]
0003e7fcadd x27, x1, 0x10000
0003e800ldr x3, [x27+696]
0003e804str x3, [sp+40]
0003e808add x27, x1, 0x10000
0003e80cstr x0, [x27+696]
0003e810mov x4, x3
0003e814sub x1, x0, x4
0003e818str x1, [sp+104]
0003e81cmov x0, x3
0003e820adrp x2, 0xa0e000
0003e824add x2, x2, 2776
0003e828bl runtime.sysMap
0003e82cadrp x0, 0xa12000
0003e830add x0, x0, 1056
0003e834bl runtime.(*consistentHeapStats).acquire
0003e838ldrsb x27, [x0]
0003e83cadd x3, x0, 8
0003e840adrp x27, 0xa0d000
0003e844ldrb w4, [x27+1516]
0003e848tbz w4, 0, 0x3e85c
0003e84cldr x1, [sp+104]
0003e850ldaddal x1, x2, [x3]
0003e854add x2, x2, x1
0003e858b 0x3e870
0003e85c
0003e85cloc_3e85c:
0003e85cldr x1, [sp+104]
0003e860
0003e860loc_3e860:
0003e860ldaxr x2, [x3]
0003e864add x2, x2, x1
0003e868stlxr w27, x2, [x3]
0003e86ccbnz x27, 0x3e860
0003e870
0003e870loc_3e870:
0003e870adrp x0, 0xa12000
0003e874add x0, x0, 1056
0003e878bl runtime.(*consistentHeapStats).release
0003e87cldr x1, [sp+136]
0003e880add x0, x1, 8
0003e884ldr x1, [sp+40]
0003e888ldr x2, [sp+104]
0003e88cbl runtime.(*pageAlloc).grow
0003e890ldr x1, [sp+48]
0003e894ldr x2, [sp+104]
0003e898add x0, x1, x2
0003e89corr x1, xzr, 1
0003e8a0ldur x29, [sp-8]
0003e8a4ldr x30, [sp], 128
0003e8a8ret x30
0003e8ac
0003e8acloc_3e8ac:
0003e8acstp x0, x1, [sp+8]
0003e8b0mov x3, x30
0003e8b4bl runtime.morestack_noctxt.abi0
0003e8b8ldp x0, x1, [sp+8]
0003e8bcb 0x3e590
0003e590
0003e8c0
0003e8c0runtime.(*mheap).freeSpan: ; void runtime.(*mheap).freeSpan(runtime.mheap * h, runtime.mspan * s)
0003e8c0ldr x16, [x28+16]
0003e8c4subs xzr, sp, x16
0003e8c8b.ls 0x3e904
0003e8ccstr x30, [sp-48]!
0003e8d0stur x29, [sp-8]
0003e8d4sub x29, sp, 8
0003e8d8adrp x2, 0
0003e8dcadd x2, x2, 2336
0003e8e0str x2, [sp+16]
0003e8e4str x1, [sp+24]
0003e8e8str x0, [sp+32]
0003e8ecadd x0, sp, 16
0003e8f0str x0, [sp+8]
0003e8f4bl runtime.systemstack.abi0
0003e8f8ldur x29, [sp-8]
0003e8fcldr x30, [sp], 48
0003e900ret x30
0003e904
0003e904loc_3e904:
0003e904stp x0, x1, [sp+8]
0003e908mov x3, x30
0003e90cbl runtime.morestack_noctxt.abi0
0003e910ldp x0, x1, [sp+8]
0003e914b 0x3e8c0
0003e918udf 0
0003e91cudf 0
0003e8c0
0003e8c0runtime.(*mheap).freeSpan: ; void runtime.(*mheap).freeSpan(runtime.mheap * h, runtime.mspan * s)
0003e8c0ldr x16, [x28+16]
0003e8c4subs xzr, sp, x16
0003e8c8b.ls 0x3e904
0003e8ccstr x30, [sp-48]!
0003e8d0stur x29, [sp-8]
0003e8d4sub x29, sp, 8
0003e8d8adrp x2, 0
0003e8dcadd x2, x2, 2336
0003e8e0str x2, [sp+16]
0003e8e4str x1, [sp+24]
0003e8e8str x0, [sp+32]
0003e8ecadd x0, sp, 16
0003e8f0str x0, [sp+8]
0003e8f4bl runtime.systemstack.abi0
0003e8f8ldur x29, [sp-8]
0003e8fcldr x30, [sp], 48
0003e900ret x30
0003e904
0003e904loc_3e904:
0003e904stp x0, x1, [sp+8]
0003e908mov x3, x30
0003e90cbl runtime.morestack_noctxt.abi0
0003e910ldp x0, x1, [sp+8]
0003e914b 0x3e8c0
0003e918udf 0
0003e91cudf 0
0003e8c0
0003e920
0003e920runtime.(*mheap).freeSpan.func1: ; void runtime.(*mheap).freeSpan.func1(void)
0003e920ldr x16, [x28+16]
0003e924subs xzr, sp, x16
0003e928b.ls 0x3e9b0
0003e92cstr x30, [sp-80]!
0003e930stur x29, [sp-8]
0003e934sub x29, sp, 8
0003e938ldr x0, [x26+16]
0003e93cstr x0, [sp+48]
0003e940ldr x0, [x26+8]
0003e944str x0, [sp+40]
0003e948bl runtime.traceAllocFreeEnabled
0003e94ctbz w0, 0, 0x3e980
0003e950bl runtime.traceAcquire
0003e954str x0, [sp+64]
0003e958str x1, [sp+56]
0003e95cbl runtime.traceLocker.ok
0003e960tbz w0, 0, 0x3e980
0003e964ldr x0, [sp+64]
0003e968ldr x1, [sp+56]
0003e96cldr x2, [sp+40]
0003e970bl runtime.traceLocker.SpanFree
0003e974ldr x0, [sp+64]
0003e978ldr x1, [sp+56]
0003e97cbl runtime.traceRelease
0003e980
0003e980loc_3e980:
0003e980ldr x0, [sp+48]
0003e984ldrsb x27, [x0]
0003e988bl runtime.lock
0003e98cldr x0, [sp+48]
0003e990ldr x1, [sp+40]
0003e994mov x2, xzr
0003e998bl runtime.(*mheap).freeSpanLocked
0003e99cldr x0, [sp+48]
0003e9a0bl runtime.unlock
0003e9a4ldur x29, [sp-8]
0003e9a8ldr x30, [sp], 80
0003e9acret x30
0003e9b0
0003e9b0loc_3e9b0:
0003e9b0mov x3, x30
0003e9b4bl runtime.morestack.abi0
0003e9b8b 0x3e920
0003e9bcudf 0
0003e920
0003e920runtime.(*mheap).freeSpan.func1: ; void runtime.(*mheap).freeSpan.func1(void)
0003e920ldr x16, [x28+16]
0003e924subs xzr, sp, x16
0003e928b.ls 0x3e9b0
0003e92cstr x30, [sp-80]!
0003e930stur x29, [sp-8]
0003e934sub x29, sp, 8
0003e938ldr x0, [x26+16]
0003e93cstr x0, [sp+48]
0003e940ldr x0, [x26+8]
0003e944str x0, [sp+40]
0003e948bl runtime.traceAllocFreeEnabled
0003e94ctbz w0, 0, 0x3e980
0003e950bl runtime.traceAcquire
0003e954str x0, [sp+64]
0003e958str x1, [sp+56]
0003e95cbl runtime.traceLocker.ok
0003e960tbz w0, 0, 0x3e980
0003e964ldr x0, [sp+64]
0003e968ldr x1, [sp+56]
0003e96cldr x2, [sp+40]
0003e970bl runtime.traceLocker.SpanFree
0003e974ldr x0, [sp+64]
0003e978ldr x1, [sp+56]
0003e97cbl runtime.traceRelease
0003e980
0003e980loc_3e980:
0003e980ldr x0, [sp+48]
0003e984ldrsb x27, [x0]
0003e988bl runtime.lock
0003e98cldr x0, [sp+48]
0003e990ldr x1, [sp+40]
0003e994mov x2, xzr
0003e998bl runtime.(*mheap).freeSpanLocked
0003e99cldr x0, [sp+48]
0003e9a0bl runtime.unlock
0003e9a4ldur x29, [sp-8]
0003e9a8ldr x30, [sp], 80
0003e9acret x30
0003e9b0
0003e9b0loc_3e9b0:
0003e9b0mov x3, x30
0003e9b4bl runtime.morestack.abi0
0003e9b8b 0x3e920
0003e9bcudf 0
0003e920
0003e9c0
0003e9c0runtime.(*mheap).freeManual: ; void runtime.(*mheap).freeManual(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ)
0003e9c0ldr x16, [x28+24]
0003e9c4subs xzr, sp, x16
0003e9c8b.ls 0x3ea58
0003e9ccstr x30, [sp-64]!
0003e9d0stur x29, [sp-8]
0003e9d4sub x29, sp, 8
0003e9d8str x0, [sp+72]
0003e9dcstr x1, [sp+80]
0003e9e0strb w2, [sp+88]
0003e9e4bl runtime.traceAllocFreeEnabled
0003e9e8tbz w0, 0, 0x3ea1c
0003e9ecbl runtime.traceAcquire
0003e9f0str x0, [sp+48]
0003e9f4str x1, [sp+40]
0003e9f8bl runtime.traceLocker.ok
0003e9fctbz w0, 0, 0x3ea1c
0003ea00ldr x0, [sp+48]
0003ea04ldr x1, [sp+40]
0003ea08ldr x2, [sp+80]
0003ea0cbl runtime.traceLocker.SpanFree
0003ea10ldr x0, [sp+48]
0003ea14ldr x1, [sp+40]
0003ea18bl runtime.traceRelease
0003ea1c
0003ea1cloc_3ea1c:
0003ea1corr x1, xzr, 1
0003ea20ldr x2, [sp+80]
0003ea24strb w1, [x2+100]
0003ea28ldr x0, [sp+72]
0003ea2cldrsb x27, [x0]
0003ea30bl runtime.lock
0003ea34ldr x0, [sp+72]
0003ea38ldr x1, [sp+80]
0003ea3cldrb w2, [sp+88]
0003ea40bl runtime.(*mheap).freeSpanLocked
0003ea44ldr x0, [sp+72]
0003ea48bl runtime.unlock
0003ea4cldur x29, [sp-8]
0003ea50ldr x30, [sp], 64
0003ea54ret x30
0003ea58
0003ea58loc_3ea58:
0003ea58stp x0, x1, [sp+8]
0003ea5cstrb w2, [sp+24]
0003ea60mov x3, x30
0003ea64bl runtime.morestackc.abi0
0003ea68ldp x0, x1, [sp+8]
0003ea6cldrb w2, [sp+24]
0003ea70b 0x3e9c0
0003ea74udf 0
0003ea78udf 0
0003ea7cudf 0
0003e9c0
0003e9c0runtime.(*mheap).freeManual: ; void runtime.(*mheap).freeManual(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ)
0003e9c0ldr x16, [x28+24]
0003e9c4subs xzr, sp, x16
0003e9c8b.ls 0x3ea58
0003e9ccstr x30, [sp-64]!
0003e9d0stur x29, [sp-8]
0003e9d4sub x29, sp, 8
0003e9d8str x0, [sp+72]
0003e9dcstr x1, [sp+80]
0003e9e0strb w2, [sp+88]
0003e9e4bl runtime.traceAllocFreeEnabled
0003e9e8tbz w0, 0, 0x3ea1c
0003e9ecbl runtime.traceAcquire
0003e9f0str x0, [sp+48]
0003e9f4str x1, [sp+40]
0003e9f8bl runtime.traceLocker.ok
0003e9fctbz w0, 0, 0x3ea1c
0003ea00ldr x0, [sp+48]
0003ea04ldr x1, [sp+40]
0003ea08ldr x2, [sp+80]
0003ea0cbl runtime.traceLocker.SpanFree
0003ea10ldr x0, [sp+48]
0003ea14ldr x1, [sp+40]
0003ea18bl runtime.traceRelease
0003ea1c
0003ea1cloc_3ea1c:
0003ea1corr x1, xzr, 1
0003ea20ldr x2, [sp+80]
0003ea24strb w1, [x2+100]
0003ea28ldr x0, [sp+72]
0003ea2cldrsb x27, [x0]
0003ea30bl runtime.lock
0003ea34ldr x0, [sp+72]
0003ea38ldr x1, [sp+80]
0003ea3cldrb w2, [sp+88]
0003ea40bl runtime.(*mheap).freeSpanLocked
0003ea44ldr x0, [sp+72]
0003ea48bl runtime.unlock
0003ea4cldur x29, [sp-8]
0003ea50ldr x30, [sp], 64
0003ea54ret x30
0003ea58
0003ea58loc_3ea58:
0003ea58stp x0, x1, [sp+8]
0003ea5cstrb w2, [sp+24]
0003ea60mov x3, x30
0003ea64bl runtime.morestackc.abi0
0003ea68ldp x0, x1, [sp+8]
0003ea6cldrb w2, [sp+24]
0003ea70b 0x3e9c0
0003ea74udf 0
0003ea78udf 0
0003ea7cudf 0
0003e9c0
0003ea80
0003ea80runtime.(*mheap).freeSpanLocked: ; void runtime.(*mheap).freeSpanLocked(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ)
0003ea80ldr x16, [x28+16]
0003ea84subs xzr, sp, x16
0003ea88b.ls 0x3ee28
0003ea8cstr x30, [sp-80]!
0003ea90stur x29, [sp-8]
0003ea94sub x29, sp, 8
0003ea98str x0, [sp+88]
0003ea9cstr x1, [sp+96]
0003eaa0strb w2, [sp+104]
0003eaa4ldrsb x27, [x0]
0003eaa8bl runtime.assertLockHeld
0003eaacldr x1, [sp+96]
0003eab0ldrsb x27, [x1]
0003eab4add x0, x1, 99
0003eab8str x0, [sp+64]
0003eabcbl runtime.(*mSpanStateBox).get
0003eac0ubfm x1, x0, 0, 7
0003eac4subs wzr, w1, 1
0003eac8b.ne 0x3eb68
0003eaccldr x0, [sp+96]
0003ead0ldrb w2, [x0+101]
0003ead4tbnz w2, 0, 0x3ee14
0003ead8ldrh w2, [x0+96]
0003eadccbnz w2, 0x3ed50
0003eae0ldr w2, [x0+88]
0003eae4ldr x3, [sp+88]
0003eae8add x27, x3, 0x10000
0003eaecldr w4, [x27+320]
0003eaf0subs wzr, w4, w2
0003eaf4b.ne 0x3ed50
0003eaf8movz x2, 352
0003eafcmovk x2, 0x10000
0003eb00add x2, x3, x2
0003eb04ldr x3, [x0+32]
0003eb08sub x1, xzr, x3
0003eb0cmov x0, x2
0003eb10bl internal/runtime/atomic.(*Uintptr).Add
0003eb14ldr x0, [sp+96]
0003eb18bl runtime.(*mspan).base
0003eb1cbl runtime.pageIndexOf
0003eb20subs xzr, x1, 1024
0003eb24b.hs 0x3ed44
0003eb28ldrsb x27, [x0]
0003eb2cadd x3, x0, 0x10000
0003eb30add x3, x3, x1
0003eb34orn x2, xzr, x2
0003eb38adrp x27, 0xa0d000
0003eb3cldrb w4, [x27+1516]
0003eb40tbz w4, 0, 0x3eb50
0003eb44orn x27, xzr, x2
0003eb48ldclralb w27, w4, [x3]
0003eb4cb 0x3eb60
0003eb50
0003eb50loc_3eb50:
0003eb50ldaxrb w5, [x3]
0003eb54and x4, x5, x2
0003eb58stlxrb w27, w4, [x3]
0003eb5ccbnz x27, 0x3eb50
0003eb60
0003eb60loc_3eb60:
0003eb60ldr x2, [sp+96]
0003eb64b 0x3eb7c
0003eb68
0003eb68loc_3eb68:
0003eb68subs wzr, w1, 2
0003eb6cb.ne 0x3ed34
0003eb70ldr x2, [sp+96]
0003eb74ldrh w3, [x2+96]
0003eb78cbnz w3, 0x3ed24
0003eb7c
0003eb7cloc_3eb7c:
0003eb7cldr x2, [x2+32]
0003eb80str x2, [sp+56]
0003eb84ubfm x1, x2, 51, 50
0003eb88adrp x0, 0xa0e000
0003eb8cadd x0, x0, 2784
0003eb90bl runtime.(*sysMemStat).add
0003eb94ldrb w2, [sp+104]
0003eb98str w2, [sp+36]
0003eb9ccbnz w2, 0x3ebb4
0003eba0ldr x2, [sp+56]
0003eba4sub x1, xzr, x2, lsl #13
0003eba8adrp x0, 0xa0e000
0003ebacadd x0, x0, 2768
0003ebb0bl runtime.(*sysMemStat).add
0003ebb4
0003ebb4loc_3ebb4:
0003ebb4adrp x0, 0xa12000
0003ebb8add x0, x0, 1056
0003ebbcbl runtime.(*consistentHeapStats).acquire
0003ebc0ldr w1, [sp+36]
0003ebc4subs wzr, w1, 1
0003ebc8b.hi 0x3ec48
0003ebcccbnz w1, 0x3ec0c
0003ebd0ldrsb x27, [x0]
0003ebd4add x1, x0, 16
0003ebd8ldr x2, [sp+56]
0003ebdcsub x2, xzr, x2, lsl #13
0003ebe0adrp x27, 0xa0d000
0003ebe4ldrb w3, [x27+1516]
0003ebe8tbz w3, 0, 0x3ebf8
0003ebecldaddal x2, x3, [x1]
0003ebf0add x3, x3, x2
0003ebf4b 0x3eccc
0003ebf8
0003ebf8loc_3ebf8:
0003ebf8ldaxr x3, [x1]
0003ebfcadd x3, x3, x2
0003ec00stlxr w27, x3, [x1]
0003ec04cbnz x27, 0x3ebf8
0003ec08b 0x3eccc
0003ec0c
0003ec0cloc_3ec0c:
0003ec0cldrsb x27, [x0]
0003ec10add x1, x0, 24
0003ec14ldr x2, [sp+56]
0003ec18sub x2, xzr, x2, lsl #13
0003ec1cadrp x27, 0xa0d000
0003ec20ldrb w3, [x27+1516]
0003ec24tbz w3, 0, 0x3ec34
0003ec28ldaddal x2, x3, [x1]
0003ec2cadd x3, x3, x2
0003ec30b 0x3eccc
0003ec34
0003ec34loc_3ec34:
0003ec34ldaxr x3, [x1]
0003ec38add x3, x3, x2
0003ec3cstlxr w27, x3, [x1]
0003ec40cbnz x27, 0x3ec34
0003ec44b 0x3eccc
0003ec48
0003ec48loc_3ec48:
0003ec48subs wzr, w1, 2
0003ec4cb.ne 0x3ec8c
0003ec50ldrsb x27, [x0]
0003ec54add x1, x0, 40
0003ec58ldr x2, [sp+56]
0003ec5csub x2, xzr, x2, lsl #13
0003ec60adrp x27, 0xa0d000
0003ec64ldrb w3, [x27+1516]
0003ec68tbz w3, 0, 0x3ec78
0003ec6cldaddal x2, x3, [x1]
0003ec70add x3, x3, x2
0003ec74b 0x3eccc
0003ec78
0003ec78loc_3ec78:
0003ec78ldaxr x3, [x1]
0003ec7cadd x3, x3, x2
0003ec80stlxr w27, x3, [x1]
0003ec84cbnz x27, 0x3ec78
0003ec88b 0x3eccc
0003ec8c
0003ec8cloc_3ec8c:
0003ec8csubs wzr, w1, 3
0003ec90b.ne 0x3eccc
0003ec94ldrsb x27, [x0]
0003ec98add x1, x0, 32
0003ec9cldr x2, [sp+56]
0003eca0sub x2, xzr, x2, lsl #13
0003eca4adrp x27, 0xa0d000
0003eca8ldrb w3, [x27+1516]
0003ecactbz w3, 0, 0x3ecbc
0003ecb0ldaddal x2, x3, [x1]
0003ecb4add x3, x3, x2
0003ecb8b 0x3eccc
0003ecbc
0003ecbcloc_3ecbc:
0003ecbcldaxr x3, [x1]
0003ecc0add x3, x3, x2
0003ecc4stlxr w27, x3, [x1]
0003ecc8cbnz x27, 0x3ecbc
0003eccc
0003ecccloc_3eccc:
0003ecccadrp x0, 0xa12000
0003ecd0add x0, x0, 1056
0003ecd4bl runtime.(*consistentHeapStats).release
0003ecd8ldr x0, [sp+96]
0003ecdcbl runtime.(*mspan).base
0003ece0ldr x1, [sp+88]
0003ece4add x1, x1, 8
0003ece8ldr x2, [sp+96]
0003ececldr x2, [x2+32]
0003ecf0mov x3, x0
0003ecf4mov x0, x1
0003ecf8mov x1, x3
0003ecfcbl runtime.(*pageAlloc).free
0003ed00ldr x0, [sp+64]
0003ed04mov x1, xzr
0003ed08bl runtime.(*mSpanStateBox).set
0003ed0cldr x0, [sp+88]
0003ed10ldr x1, [sp+96]
0003ed14bl runtime.(*mheap).freeMSpanLocked
0003ed18ldur x29, [sp-8]
0003ed1cldr x30, [sp], 80
0003ed20ret x30
0003ed24
0003ed24loc_3ed24:
0003ed24adrp x0, 0x686000
0003ed28add x0, x0, 2946
0003ed2cmovz x1, 41
0003ed30bl runtime.throw
0003ed34
0003ed34loc_3ed34:
0003ed34adrp x0, 0x686000
0003ed38add x0, x0, 2987
0003ed3cmovz x1, 41
0003ed40bl runtime.throw
0003ed44
0003ed44loc_3ed44:
0003ed44mov x0, x1
0003ed48orr x1, xzr, 1024
0003ed4cbl runtime.panicIndexU
0003ed50
0003ed50loc_3ed50:
0003ed50bl runtime.(*mspan).base
0003ed54str x0, [sp+56]
0003ed58ldr x1, [sp+96]
0003ed5cldrh w2, [x1+96]
0003ed60str x2, [sp+48]
0003ed64ldr w1, [x1+88]
0003ed68str x1, [sp+40]
0003ed6cldr x1, [sp+88]
0003ed70add x27, x1, 0x10000
0003ed74ldr w1, [x27+320]
0003ed78str w1, [sp+36]
0003ed7cbl runtime.printlock
0003ed80adrp x0, 0x67d000
0003ed84add x0, x0, 2144
0003ed88orr x1, xzr, 28
0003ed8cbl runtime.printstring
0003ed90ldr x0, [sp+96]
0003ed94bl runtime.printuintptr
0003ed98adrp x0, 0x672000
0003ed9cadd x0, x0, 1667
0003eda0movz x1, 5
0003eda4bl runtime.printstring
0003eda8ldr x0, [sp+56]
0003edacbl runtime.printhex
0003edb0adrp x0, 0x674000
0003edb4add x0, x0, 3928
0003edb8orr x1, xzr, 12
0003edbcbl runtime.printstring
0003edc0ldr x0, [sp+48]
0003edc4bl runtime.printuint
0003edc8adrp x0, 0x674000
0003edccadd x0, x0, 264
0003edd0movz x1, 10
0003edd4bl runtime.printstring
0003edd8ldr x0, [sp+40]
0003eddcbl runtime.printuint
0003ede0adrp x0, 0x671000
0003ede4add x0, x0, 4032
0003ede8orr x1, xzr, 1
0003edecbl runtime.printstring
0003edf0ldr w1, [sp+36]
0003edf4mov x0, x1
0003edf8bl runtime.printuint
0003edfcbl runtime.printnl
0003ee00bl runtime.printunlock
0003ee04adrp x0, 0x682000
0003ee08add x0, x0, 2211
0003ee0cmovz x1, 35
0003ee10bl runtime.throw
0003ee14
0003ee14loc_3ee14:
0003ee14adrp x0, 0x68c000
0003ee18add x0, x0, 3797
0003ee1cmovz x1, 55
0003ee20bl runtime.throw
0003ee24hint
0003ee28
0003ee28loc_3ee28:
0003ee28stp x0, x1, [sp+8]
0003ee2cstrb w2, [sp+24]
0003ee30mov x3, x30
0003ee34bl runtime.morestack_noctxt.abi0
0003ee38ldp x0, x1, [sp+8]
0003ee3cldrb w2, [sp+24]
0003ee40b 0x3ea80
0003ee44udf 0
0003ee48udf 0
0003ee4cudf 0
0003ea80
0003ea80runtime.(*mheap).freeSpanLocked: ; void runtime.(*mheap).freeSpanLocked(runtime.mheap * h, runtime.mspan * s, runtime.spanAllocType typ)
0003ea80ldr x16, [x28+16]
0003ea84subs xzr, sp, x16
0003ea88b.ls 0x3ee28
0003ea8cstr x30, [sp-80]!
0003ea90stur x29, [sp-8]
0003ea94sub x29, sp, 8
0003ea98str x0, [sp+88]
0003ea9cstr x1, [sp+96]
0003eaa0strb w2, [sp+104]
0003eaa4ldrsb x27, [x0]
0003eaa8bl runtime.assertLockHeld
0003eaacldr x1, [sp+96]
0003eab0ldrsb x27, [x1]
0003eab4add x0, x1, 99
0003eab8str x0, [sp+64]
0003eabcbl runtime.(*mSpanStateBox).get
0003eac0ubfm x1, x0, 0, 7
0003eac4subs wzr, w1, 1
0003eac8b.ne 0x3eb68
0003eaccldr x0, [sp+96]
0003ead0ldrb w2, [x0+101]
0003ead4tbnz w2, 0, 0x3ee14
0003ead8ldrh w2, [x0+96]
0003eadccbnz w2, 0x3ed50
0003eae0ldr w2, [x0+88]
0003eae4ldr x3, [sp+88]
0003eae8add x27, x3, 0x10000
0003eaecldr w4, [x27+320]
0003eaf0subs wzr, w4, w2
0003eaf4b.ne 0x3ed50
0003eaf8movz x2, 352
0003eafcmovk x2, 0x10000
0003eb00add x2, x3, x2
0003eb04ldr x3, [x0+32]
0003eb08sub x1, xzr, x3
0003eb0cmov x0, x2
0003eb10bl internal/runtime/atomic.(*Uintptr).Add
0003eb14ldr x0, [sp+96]
0003eb18bl runtime.(*mspan).base
0003eb1cbl runtime.pageIndexOf
0003eb20subs xzr, x1, 1024
0003eb24b.hs 0x3ed44
0003eb28ldrsb x27, [x0]
0003eb2cadd x3, x0, 0x10000
0003eb30add x3, x3, x1
0003eb34orn x2, xzr, x2
0003eb38adrp x27, 0xa0d000
0003eb3cldrb w4, [x27+1516]
0003eb40tbz w4, 0, 0x3eb50
0003eb44orn x27, xzr, x2
0003eb48ldclralb w27, w4, [x3]
0003eb4cb 0x3eb60
0003eb50
0003eb50loc_3eb50:
0003eb50ldaxrb w5, [x3]
0003eb54and x4, x5, x2
0003eb58stlxrb w27, w4, [x3]
0003eb5ccbnz x27, 0x3eb50
0003eb60
0003eb60loc_3eb60:
0003eb60ldr x2, [sp+96]
0003eb64b 0x3eb7c
0003eb68
0003eb68loc_3eb68:
0003eb68subs wzr, w1, 2
0003eb6cb.ne 0x3ed34
0003eb70ldr x2, [sp+96]
0003eb74ldrh w3, [x2+96]
0003eb78cbnz w3, 0x3ed24
0003eb7c
0003eb7cloc_3eb7c:
0003eb7cldr x2, [x2+32]
0003eb80str x2, [sp+56]
0003eb84ubfm x1, x2, 51, 50
0003eb88adrp x0, 0xa0e000
0003eb8cadd x0, x0, 2784
0003eb90bl runtime.(*sysMemStat).add
0003eb94ldrb w2, [sp+104]
0003eb98str w2, [sp+36]
0003eb9ccbnz w2, 0x3ebb4
0003eba0ldr x2, [sp+56]
0003eba4sub x1, xzr, x2, lsl #13
0003eba8adrp x0, 0xa0e000
0003ebacadd x0, x0, 2768
0003ebb0bl runtime.(*sysMemStat).add
0003ebb4
0003ebb4loc_3ebb4:
0003ebb4adrp x0, 0xa12000
0003ebb8add x0, x0, 1056
0003ebbcbl runtime.(*consistentHeapStats).acquire
0003ebc0ldr w1, [sp+36]
0003ebc4subs wzr, w1, 1
0003ebc8b.hi 0x3ec48
0003ebcccbnz w1, 0x3ec0c
0003ebd0ldrsb x27, [x0]
0003ebd4add x1, x0, 16
0003ebd8ldr x2, [sp+56]
0003ebdcsub x2, xzr, x2, lsl #13
0003ebe0adrp x27, 0xa0d000
0003ebe4ldrb w3, [x27+1516]
0003ebe8tbz w3, 0, 0x3ebf8
0003ebecldaddal x2, x3, [x1]
0003ebf0add x3, x3, x2
0003ebf4b 0x3eccc
0003ebf8
0003ebf8loc_3ebf8:
0003ebf8ldaxr x3, [x1]
0003ebfcadd x3, x3, x2
0003ec00stlxr w27, x3, [x1]
0003ec04cbnz x27, 0x3ebf8
0003ec08b 0x3eccc
0003ec0c
0003ec0cloc_3ec0c:
0003ec0cldrsb x27, [x0]
0003ec10add x1, x0, 24
0003ec14ldr x2, [sp+56]
0003ec18sub x2, xzr, x2, lsl #13
0003ec1cadrp x27, 0xa0d000
0003ec20ldrb w3, [x27+1516]
0003ec24tbz w3, 0, 0x3ec34
0003ec28ldaddal x2, x3, [x1]
0003ec2cadd x3, x3, x2
0003ec30b 0x3eccc
0003ec34
0003ec34loc_3ec34:
0003ec34ldaxr x3, [x1]
0003ec38add x3, x3, x2
0003ec3cstlxr w27, x3, [x1]
0003ec40cbnz x27, 0x3ec34
0003ec44b 0x3eccc
0003ec48
0003ec48loc_3ec48:
0003ec48subs wzr, w1, 2
0003ec4cb.ne 0x3ec8c
0003ec50ldrsb x27, [x0]
0003ec54add x1, x0, 40
0003ec58ldr x2, [sp+56]
0003ec5csub x2, xzr, x2, lsl #13
0003ec60adrp x27, 0xa0d000
0003ec64ldrb w3, [x27+1516]
0003ec68tbz w3, 0, 0x3ec78
0003ec6cldaddal x2, x3, [x1]
0003ec70add x3, x3, x2
0003ec74b 0x3eccc
0003ec78
0003ec78loc_3ec78:
0003ec78ldaxr x3, [x1]
0003ec7cadd x3, x3, x2
0003ec80stlxr w27, x3, [x1]
0003ec84cbnz x27, 0x3ec78
0003ec88b 0x3eccc
0003ec8c
0003ec8cloc_3ec8c:
0003ec8csubs wzr, w1, 3
0003ec90b.ne 0x3eccc
0003ec94ldrsb x27, [x0]
0003ec98add x1, x0, 32
0003ec9cldr x2, [sp+56]
0003eca0sub x2, xzr, x2, lsl #13
0003eca4adrp x27, 0xa0d000
0003eca8ldrb w3, [x27+1516]
0003ecactbz w3, 0, 0x3ecbc
0003ecb0ldaddal x2, x3, [x1]
0003ecb4add x3, x3, x2
0003ecb8b 0x3eccc
0003ecbc
0003ecbcloc_3ecbc:
0003ecbcldaxr x3, [x1]
0003ecc0add x3, x3, x2
0003ecc4stlxr w27, x3, [x1]
0003ecc8cbnz x27, 0x3ecbc
0003eccc
0003ecccloc_3eccc:
0003ecccadrp x0, 0xa12000
0003ecd0add x0, x0, 1056
0003ecd4bl runtime.(*consistentHeapStats).release
0003ecd8ldr x0, [sp+96]
0003ecdcbl runtime.(*mspan).base
0003ece0ldr x1, [sp+88]
0003ece4add x1, x1, 8
0003ece8ldr x2, [sp+96]
0003ececldr x2, [x2+32]
0003ecf0mov x3, x0
0003ecf4mov x0, x1
0003ecf8mov x1, x3
0003ecfcbl runtime.(*pageAlloc).free
0003ed00ldr x0, [sp+64]
0003ed04mov x1, xzr
0003ed08bl runtime.(*mSpanStateBox).set
0003ed0cldr x0, [sp+88]
0003ed10ldr x1, [sp+96]
0003ed14bl runtime.(*mheap).freeMSpanLocked
0003ed18ldur x29, [sp-8]
0003ed1cldr x30, [sp], 80
0003ed20ret x30
0003ed24
0003ed24loc_3ed24:
0003ed24adrp x0, 0x686000
0003ed28add x0, x0, 2946
0003ed2cmovz x1, 41
0003ed30bl runtime.throw
0003ed34
0003ed34loc_3ed34:
0003ed34adrp x0, 0x686000
0003ed38add x0, x0, 2987
0003ed3cmovz x1, 41
0003ed40bl runtime.throw
0003ed44
0003ed44loc_3ed44:
0003ed44mov x0, x1
0003ed48orr x1, xzr, 1024
0003ed4cbl runtime.panicIndexU
0003ed50
0003ed50loc_3ed50:
0003ed50bl runtime.(*mspan).base
0003ed54str x0, [sp+56]
0003ed58ldr x1, [sp+96]
0003ed5cldrh w2, [x1+96]
0003ed60str x2, [sp+48]
0003ed64ldr w1, [x1+88]
0003ed68str x1, [sp+40]
0003ed6cldr x1, [sp+88]
0003ed70add x27, x1, 0x10000
0003ed74ldr w1, [x27+320]
0003ed78str w1, [sp+36]
0003ed7cbl runtime.printlock
0003ed80adrp x0, 0x67d000
0003ed84add x0, x0, 2144
0003ed88orr x1, xzr, 28
0003ed8cbl runtime.printstring
0003ed90ldr x0, [sp+96]
0003ed94bl runtime.printuintptr
0003ed98adrp x0, 0x672000
0003ed9cadd x0, x0, 1667
0003eda0movz x1, 5
0003eda4bl runtime.printstring
0003eda8ldr x0, [sp+56]
0003edacbl runtime.printhex
0003edb0adrp x0, 0x674000
0003edb4add x0, x0, 3928
0003edb8orr x1, xzr, 12
0003edbcbl runtime.printstring
0003edc0ldr x0, [sp+48]
0003edc4bl runtime.printuint
0003edc8adrp x0, 0x674000
0003edccadd x0, x0, 264
0003edd0movz x1, 10
0003edd4bl runtime.printstring
0003edd8ldr x0, [sp+40]
0003eddcbl runtime.printuint
0003ede0adrp x0, 0x671000
0003ede4add x0, x0, 4032
0003ede8orr x1, xzr, 1
0003edecbl runtime.printstring
0003edf0ldr w1, [sp+36]
0003edf4mov x0, x1
0003edf8bl runtime.printuint
0003edfcbl runtime.printnl
0003ee00bl runtime.printunlock
0003ee04adrp x0, 0x682000
0003ee08add x0, x0, 2211
0003ee0cmovz x1, 35
0003ee10bl runtime.throw
0003ee14
0003ee14loc_3ee14:
0003ee14adrp x0, 0x68c000
0003ee18add x0, x0, 3797
0003ee1cmovz x1, 55
0003ee20bl runtime.throw
0003ee24hint
0003ee28
0003ee28loc_3ee28:
0003ee28stp x0, x1, [sp+8]
0003ee2cstrb w2, [sp+24]
0003ee30mov x3, x30
0003ee34bl runtime.morestack_noctxt.abi0
0003ee38ldp x0, x1, [sp+8]
0003ee3cldrb w2, [sp+24]
0003ee40b 0x3ea80
0003ee44udf 0
0003ee48udf 0
0003ee4cudf 0
0003ea80
0003ee50
0003ee50runtime.(*mspan).init: ; void runtime.(*mspan).init(runtime.mspan * span, uintptr base, uintptr npages)
0003ee50ldr x16, [x28+16]
0003ee54subs xzr, sp, x16
0003ee58b.ls 0x3eed0
0003ee5cstr x30, [sp-32]!
0003ee60stur x29, [sp-8]
0003ee64sub x29, sp, 8
0003ee68str x0, [sp+40]
0003ee6cstp xzr, xzr, [x0]
0003ee70str xzr, [x0+16]
0003ee74str x1, [x0+24]
0003ee78str x2, [x0+32]
0003ee7cadd x2, x1, x2, lsl #13
0003ee80str x2, [x0+112]
0003ee84strh wzr, [x0+96]
0003ee88strb wzr, [x0+98]
0003ee8cstr xzr, [x0+104]
0003ee90stp xzr, xzr, [x0+120]
0003ee94strb wzr, [x0+100]
0003ee98strh wzr, [x0+48]
0003ee9cstrh wzr, [x0+52]
0003eea0stp xzr, xzr, [x0+64]
0003eea4str xzr, [x0+80]
0003eea8add x0, x0, 99
0003eeacmov x1, xzr
0003eeb0bl runtime.(*mSpanStateBox).set
0003eeb4ldr x2, [sp+40]
0003eeb8add x0, x2, 120
0003eebcmovz x1, 38
0003eec0bl runtime.lockInit
0003eec4ldur x29, [sp-8]
0003eec8ldr x30, [sp], 32
0003eeccret x30
0003eed0
0003eed0loc_3eed0:
0003eed0stp x0, x1, [sp+8]
0003eed4str x2, [sp+24]
0003eed8mov x3, x30
0003eedcbl runtime.morestack_noctxt.abi0
0003eee0ldp x0, x1, [sp+8]
0003eee4ldr x2, [sp+24]
0003eee8b 0x3ee50
0003eeecudf 0
0003ee50
0003ee50runtime.(*mspan).init: ; void runtime.(*mspan).init(runtime.mspan * span, uintptr base, uintptr npages)
0003ee50ldr x16, [x28+16]
0003ee54subs xzr, sp, x16
0003ee58b.ls 0x3eed0
0003ee5cstr x30, [sp-32]!
0003ee60stur x29, [sp-8]
0003ee64sub x29, sp, 8
0003ee68str x0, [sp+40]
0003ee6cstp xzr, xzr, [x0]
0003ee70str xzr, [x0+16]
0003ee74str x1, [x0+24]
0003ee78str x2, [x0+32]
0003ee7cadd x2, x1, x2, lsl #13
0003ee80str x2, [x0+112]
0003ee84strh wzr, [x0+96]
0003ee88strb wzr, [x0+98]
0003ee8cstr xzr, [x0+104]
0003ee90stp xzr, xzr, [x0+120]
0003ee94strb wzr, [x0+100]
0003ee98strh wzr, [x0+48]
0003ee9cstrh wzr, [x0+52]
0003eea0stp xzr, xzr, [x0+64]
0003eea4str xzr, [x0+80]
0003eea8add x0, x0, 99
0003eeacmov x1, xzr
0003eeb0bl runtime.(*mSpanStateBox).set
0003eeb4ldr x2, [sp+40]
0003eeb8add x0, x2, 120
0003eebcmovz x1, 38
0003eec0bl runtime.lockInit
0003eec4ldur x29, [sp-8]
0003eec8ldr x30, [sp], 32
0003eeccret x30
0003eed0
0003eed0loc_3eed0:
0003eed0stp x0, x1, [sp+8]
0003eed4str x2, [sp+24]
0003eed8mov x3, x30
0003eedcbl runtime.morestack_noctxt.abi0
0003eee0ldp x0, x1, [sp+8]
0003eee4ldr x2, [sp+24]
0003eee8b 0x3ee50
0003eeecudf 0
0003ee50
0003eef0
0003eef0runtime.(*mSpanList).init: ; void runtime.(*mSpanList).init(runtime.mSpanList * list)
0003eef0stp xzr, xzr, [x0]
0003eef4ret x30
0003eef8udf 0
0003eefcudf 0
0003eef0
0003eef0runtime.(*mSpanList).init: ; void runtime.(*mSpanList).init(runtime.mSpanList * list)
0003eef0stp xzr, xzr, [x0]
0003eef4ret x30
0003eef8udf 0
0003eefcudf 0
0003eef0
0003ef00
0003ef00runtime.(*mSpanList).remove: ; void runtime.(*mSpanList).remove(runtime.mSpanList * list, runtime.mspan * span)
0003ef00ldr x16, [x28+16]
0003ef04subs xzr, sp, x16
0003ef08b.ls 0x3f034
0003ef0cstr x30, [sp-64]!
0003ef10stur x29, [sp-8]
0003ef14sub x29, sp, 8
0003ef18ldr x2, [x1+16]
0003ef1csubs xzr, x0, x2
0003ef20b.ne 0x3ef80
0003ef24ldr x2, [x0]
0003ef28subs xzr, x1, x2
0003ef2cb.ne 0x3ef3c
0003ef30ldr x2, [x1]
0003ef34str x2, [x0]
0003ef38b 0x3ef48
0003ef3c
0003ef3cloc_3ef3c:
0003ef3cldr x2, [x1+8]
0003ef40ldr x3, [x1]
0003ef44str x3, [x2]
0003ef48
0003ef48loc_3ef48:
0003ef48ldr x2, [x0+8]
0003ef4csubs xzr, x1, x2
0003ef50b.ne 0x3ef60
0003ef54ldr x2, [x1+8]
0003ef58str x2, [x0+8]
0003ef5cb 0x3ef6c
0003ef60
0003ef60loc_3ef60:
0003ef60ldr x0, [x1]
0003ef64ldr x2, [x1+8]
0003ef68str x2, [x0+8]
0003ef6c
0003ef6cloc_3ef6c:
0003ef6cstp xzr, xzr, [x1]
0003ef70str xzr, [x1+16]
0003ef74ldur x29, [sp-8]
0003ef78ldr x30, [sp], 64
0003ef7cret x30
0003ef80
0003ef80loc_3ef80:
0003ef80str x0, [sp+72]
0003ef84str x1, [sp+80]
0003ef88str x2, [sp+48]
0003ef8cldr x0, [x1+32]
0003ef90str x0, [sp+40]
0003ef94ldr x0, [x1+8]
0003ef98str x0, [sp+32]
0003ef9cbl runtime.printlock
0003efa0adrp x0, 0x688000
0003efa4add x0, x0, 3186
0003efa8movz x1, 45
0003efacbl runtime.printstring
0003efb0ldr x0, [sp+40]
0003efb4bl runtime.printuint
0003efb8adrp x0, 0x672000
0003efbcadd x0, x0, 2443
0003efc0orr x1, xzr, 6
0003efc4bl runtime.printstring
0003efc8ldr x0, [sp+80]
0003efccbl runtime.printuintptr
0003efd0adrp x0, 0x672000
0003efd4add x0, x0, 2449
0003efd8orr x1, xzr, 6
0003efdcbl runtime.printstring
0003efe0ldr x0, [sp+32]
0003efe4bl runtime.printuintptr
0003efe8adrp x0, 0x674000
0003efecadd x0, x0, 2065
0003eff0movz x1, 11
0003eff4bl runtime.printstring
0003eff8ldr x0, [sp+48]
0003effcbl runtime.printuintptr
0003f000adrp x0, 0x671000
0003f004add x0, x0, 2455
0003f008orr x1, xzr, 6
0003f00cbl runtime.printstring
0003f010ldr x0, [sp+72]
0003f014bl runtime.printuintptr
0003f018bl runtime.printnl
0003f01cbl runtime.printunlock
0003f020adrp x0, 0x675000
0003f024add x0, x0, 2324
0003f028orr x1, xzr, 16
0003f02cbl runtime.throw
0003f030hint
0003f034
0003f034loc_3f034:
0003f034stp x0, x1, [sp+8]
0003f038mov x3, x30
0003f03cbl runtime.morestack_noctxt.abi0
0003f040ldp x0, x1, [sp+8]
0003f044b 0x3ef00
0003f048udf 0
0003f04cudf 0
0003ef00
0003ef00runtime.(*mSpanList).remove: ; void runtime.(*mSpanList).remove(runtime.mSpanList * list, runtime.mspan * span)
0003ef00ldr x16, [x28+16]
0003ef04subs xzr, sp, x16
0003ef08b.ls 0x3f034
0003ef0cstr x30, [sp-64]!
0003ef10stur x29, [sp-8]
0003ef14sub x29, sp, 8
0003ef18ldr x2, [x1+16]
0003ef1csubs xzr, x0, x2
0003ef20b.ne 0x3ef80
0003ef24ldr x2, [x0]
0003ef28subs xzr, x1, x2
0003ef2cb.ne 0x3ef3c
0003ef30ldr x2, [x1]
0003ef34str x2, [x0]
0003ef38b 0x3ef48
0003ef3c
0003ef3cloc_3ef3c:
0003ef3cldr x2, [x1+8]
0003ef40ldr x3, [x1]
0003ef44str x3, [x2]
0003ef48
0003ef48loc_3ef48:
0003ef48ldr x2, [x0+8]
0003ef4csubs xzr, x1, x2
0003ef50b.ne 0x3ef60
0003ef54ldr x2, [x1+8]
0003ef58str x2, [x0+8]
0003ef5cb 0x3ef6c
0003ef60
0003ef60loc_3ef60:
0003ef60ldr x0, [x1]
0003ef64ldr x2, [x1+8]
0003ef68str x2, [x0+8]
0003ef6c
0003ef6cloc_3ef6c:
0003ef6cstp xzr, xzr, [x1]
0003ef70str xzr, [x1+16]
0003ef74ldur x29, [sp-8]
0003ef78ldr x30, [sp], 64
0003ef7cret x30
0003ef80
0003ef80loc_3ef80:
0003ef80str x0, [sp+72]
0003ef84str x1, [sp+80]
0003ef88str x2, [sp+48]
0003ef8cldr x0, [x1+32]
0003ef90str x0, [sp+40]
0003ef94ldr x0, [x1+8]
0003ef98str x0, [sp+32]
0003ef9cbl runtime.printlock
0003efa0adrp x0, 0x688000
0003efa4add x0, x0, 3186
0003efa8movz x1, 45
0003efacbl runtime.printstring
0003efb0ldr x0, [sp+40]
0003efb4bl runtime.printuint
0003efb8adrp x0, 0x672000
0003efbcadd x0, x0, 2443
0003efc0orr x1, xzr, 6
0003efc4bl runtime.printstring
0003efc8ldr x0, [sp+80]
0003efccbl runtime.printuintptr
0003efd0adrp x0, 0x672000
0003efd4add x0, x0, 2449
0003efd8orr x1, xzr, 6
0003efdcbl runtime.printstring
0003efe0ldr x0, [sp+32]
0003efe4bl runtime.printuintptr
0003efe8adrp x0, 0x674000
0003efecadd x0, x0, 2065
0003eff0movz x1, 11
0003eff4bl runtime.printstring
0003eff8ldr x0, [sp+48]
0003effcbl runtime.printuintptr
0003f000adrp x0, 0x671000
0003f004add x0, x0, 2455
0003f008orr x1, xzr, 6
0003f00cbl runtime.printstring
0003f010ldr x0, [sp+72]
0003f014bl runtime.printuintptr
0003f018bl runtime.printnl
0003f01cbl runtime.printunlock
0003f020adrp x0, 0x675000
0003f024add x0, x0, 2324
0003f028orr x1, xzr, 16
0003f02cbl runtime.throw
0003f030hint
0003f034
0003f034loc_3f034:
0003f034stp x0, x1, [sp+8]
0003f038mov x3, x30
0003f03cbl runtime.morestack_noctxt.abi0
0003f040ldp x0, x1, [sp+8]
0003f044b 0x3ef00
0003f048udf 0
0003f04cudf 0
0003ef00
0003f050
0003f050runtime.(*mSpanList).isEmpty: ; void runtime.(*mSpanList).isEmpty(runtime.mSpanList * list)
0003f050ldr x1, [x0]
0003f054subs xzr, x1, 0
0003f058cset x1, ne
0003f05ceor x0, x1, 1
0003f060ret x30
0003f064udf 0
0003f068udf 0
0003f06cudf 0
0003f050
0003f050runtime.(*mSpanList).isEmpty: ; void runtime.(*mSpanList).isEmpty(runtime.mSpanList * list)
0003f050ldr x1, [x0]
0003f054subs xzr, x1, 0
0003f058cset x1, ne
0003f05ceor x0, x1, 1
0003f060ret x30
0003f064udf 0
0003f068udf 0
0003f06cudf 0
0003f050
0003f070
0003f070runtime.(*mSpanList).insert: ; void runtime.(*mSpanList).insert(runtime.mSpanList * list, runtime.mspan * span)
0003f070ldr x16, [x28+16]
0003f074subs xzr, sp, x16
0003f078b.ls 0x3f144
0003f07cstr x30, [sp-64]!
0003f080stur x29, [sp-8]
0003f084sub x29, sp, 8
0003f088ldr x2, [x1]
0003f08cstr x2, [sp+48]
0003f090cbnz x2, 0x3f0d4
0003f094ldr x3, [x1+8]
0003f098cbnz x3, 0x3f0d4
0003f09cldr x3, [x1+16]
0003f0a0cbnz x3, 0x3f0d4
0003f0a4ldr x2, [x0]
0003f0a8str x2, [x1]
0003f0acldr x2, [x0]
0003f0b0cbz x2, 0x3f0bc
0003f0b4str x1, [x2+8]
0003f0b8b 0x3f0c0
0003f0bc
0003f0bcloc_3f0bc:
0003f0bcstr x1, [x0+8]
0003f0c0
0003f0c0loc_3f0c0:
0003f0c0str x1, [x0]
0003f0c4str x0, [x1+16]
0003f0c8ldur x29, [sp-8]
0003f0ccldr x30, [sp], 64
0003f0d0ret x30
0003f0d4
0003f0d4loc_3f0d4:
0003f0d4str x1, [sp+80]
0003f0d8ldr x0, [x1+8]
0003f0dcstr x0, [sp+40]
0003f0e0ldr x0, [x1+16]
0003f0e4str x0, [sp+32]
0003f0e8bl runtime.printlock
0003f0ecadrp x0, 0x680000
0003f0f0add x0, x0, 672
0003f0f4movz x1, 33
0003f0f8bl runtime.printstring
0003f0fcldr x0, [sp+80]
0003f100bl runtime.printuintptr
0003f104bl runtime.printsp
0003f108ldr x0, [sp+48]
0003f10cbl runtime.printuintptr
0003f110bl runtime.printsp
0003f114ldr x0, [sp+40]
0003f118bl runtime.printuintptr
0003f11cbl runtime.printsp
0003f120ldr x0, [sp+32]
0003f124bl runtime.printuintptr
0003f128bl runtime.printnl
0003f12cbl runtime.printunlock
0003f130adrp x0, 0x675000
0003f134add x0, x0, 2340
0003f138orr x1, xzr, 16
0003f13cbl runtime.throw
0003f140hint
0003f144
0003f144loc_3f144:
0003f144stp x0, x1, [sp+8]
0003f148mov x3, x30
0003f14cbl runtime.morestack_noctxt.abi0
0003f150ldp x0, x1, [sp+8]
0003f154b 0x3f070
0003f158udf 0
0003f15cudf 0
0003f070
0003f070runtime.(*mSpanList).insert: ; void runtime.(*mSpanList).insert(runtime.mSpanList * list, runtime.mspan * span)
0003f070ldr x16, [x28+16]
0003f074subs xzr, sp, x16
0003f078b.ls 0x3f144
0003f07cstr x30, [sp-64]!
0003f080stur x29, [sp-8]
0003f084sub x29, sp, 8
0003f088ldr x2, [x1]
0003f08cstr x2, [sp+48]
0003f090cbnz x2, 0x3f0d4
0003f094ldr x3, [x1+8]
0003f098cbnz x3, 0x3f0d4
0003f09cldr x3, [x1+16]
0003f0a0cbnz x3, 0x3f0d4
0003f0a4ldr x2, [x0]
0003f0a8str x2, [x1]
0003f0acldr x2, [x0]
0003f0b0cbz x2, 0x3f0bc
0003f0b4str x1, [x2+8]
0003f0b8b 0x3f0c0
0003f0bc
0003f0bcloc_3f0bc:
0003f0bcstr x1, [x0+8]
0003f0c0
0003f0c0loc_3f0c0:
0003f0c0str x1, [x0]
0003f0c4str x0, [x1+16]
0003f0c8ldur x29, [sp-8]
0003f0ccldr x30, [sp], 64
0003f0d0ret x30
0003f0d4
0003f0d4loc_3f0d4:
0003f0d4str x1, [sp+80]
0003f0d8ldr x0, [x1+8]
0003f0dcstr x0, [sp+40]
0003f0e0ldr x0, [x1+16]
0003f0e4str x0, [sp+32]
0003f0e8bl runtime.printlock
0003f0ecadrp x0, 0x680000
0003f0f0add x0, x0, 672
0003f0f4movz x1, 33
0003f0f8bl runtime.printstring
0003f0fcldr x0, [sp+80]
0003f100bl runtime.printuintptr
0003f104bl runtime.printsp
0003f108ldr x0, [sp+48]
0003f10cbl runtime.printuintptr
0003f110bl runtime.printsp
0003f114ldr x0, [sp+40]
0003f118bl runtime.printuintptr
0003f11cbl runtime.printsp
0003f120ldr x0, [sp+32]
0003f124bl runtime.printuintptr
0003f128bl runtime.printnl
0003f12cbl runtime.printunlock
0003f130adrp x0, 0x675000
0003f134add x0, x0, 2340
0003f138orr x1, xzr, 16
0003f13cbl runtime.throw
0003f140hint
0003f144
0003f144loc_3f144:
0003f144stp x0, x1, [sp+8]
0003f148mov x3, x30
0003f14cbl runtime.morestack_noctxt.abi0
0003f150ldp x0, x1, [sp+8]
0003f154b 0x3f070
0003f158udf 0
0003f15cudf 0
0003f070
0003f160
0003f160runtime.(*mSpanList).takeAll: ; void runtime.(*mSpanList).takeAll(runtime.mSpanList * list, runtime.mSpanList * other)
0003f160ldr x16, [x28+16]
0003f164subs xzr, sp, x16
0003f168b.ls 0x3f210
0003f16cstr x30, [sp-32]!
0003f170stur x29, [sp-8]
0003f174sub x29, sp, 8
0003f178str x0, [sp+40]
0003f17cstr x1, [sp+48]
0003f180mov x0, x1
0003f184bl runtime.(*mSpanList).isEmpty
0003f188tbnz w0, 0, 0x3f19c
0003f18cldr x1, [sp+48]
0003f190ldr x2, [x1]
0003f194ldr x0, [sp+40]
0003f198b 0x3f1b0
0003f19c
0003f19cloc_3f19c:
0003f19cldur x29, [sp-8]
0003f1a0ldr x30, [sp], 32
0003f1a4ret x30
0003f1a8
0003f1a8loc_3f1a8:
0003f1a8str x0, [x2+16]
0003f1acldr x2, [x2]
0003f1b0
0003f1b0loc_3f1b0:
0003f1b0cbnz x2, 0x3f1a8
0003f1b4bl runtime.(*mSpanList).isEmpty
0003f1b8tbz w0, 0, 0x3f1d8
0003f1bcldr x0, [sp+48]
0003f1c0ldr x1, [x0+8]
0003f1c4ldr x2, [x0]
0003f1c8ldr x3, [sp+40]
0003f1ccstr x2, [x3]
0003f1d0str x1, [x3+8]
0003f1d4b 0x3f200
0003f1d8
0003f1d8loc_3f1d8:
0003f1d8ldr x0, [sp+48]
0003f1dcldr x1, [x0+8]
0003f1e0ldr x2, [sp+40]
0003f1e4ldr x3, [x2]
0003f1e8str x3, [x1]
0003f1ecldr x1, [x2]
0003f1f0ldr x3, [x0+8]
0003f1f4str x3, [x1+8]
0003f1f8ldr x1, [x0]
0003f1fcstr x1, [x2]
0003f200
0003f200loc_3f200:
0003f200stp xzr, xzr, [x0]
0003f204ldur x29, [sp-8]
0003f208ldr x30, [sp], 32
0003f20cret x30
0003f210
0003f210loc_3f210:
0003f210stp x0, x1, [sp+8]
0003f214mov x3, x30
0003f218bl runtime.morestack_noctxt.abi0
0003f21cldp x0, x1, [sp+8]
0003f220b 0x3f160
0003f224udf 0
0003f228udf 0
0003f22cudf 0
0003f160
0003f160runtime.(*mSpanList).takeAll: ; void runtime.(*mSpanList).takeAll(runtime.mSpanList * list, runtime.mSpanList * other)
0003f160ldr x16, [x28+16]
0003f164subs xzr, sp, x16
0003f168b.ls 0x3f210
0003f16cstr x30, [sp-32]!
0003f170stur x29, [sp-8]
0003f174sub x29, sp, 8
0003f178str x0, [sp+40]
0003f17cstr x1, [sp+48]
0003f180mov x0, x1
0003f184bl runtime.(*mSpanList).isEmpty
0003f188tbnz w0, 0, 0x3f19c
0003f18cldr x1, [sp+48]
0003f190ldr x2, [x1]
0003f194ldr x0, [sp+40]
0003f198b 0x3f1b0
0003f19c
0003f19cloc_3f19c:
0003f19cldur x29, [sp-8]
0003f1a0ldr x30, [sp], 32
0003f1a4ret x30
0003f1a8
0003f1a8loc_3f1a8:
0003f1a8str x0, [x2+16]
0003f1acldr x2, [x2]
0003f1b0
0003f1b0loc_3f1b0:
0003f1b0cbnz x2, 0x3f1a8
0003f1b4bl runtime.(*mSpanList).isEmpty
0003f1b8tbz w0, 0, 0x3f1d8
0003f1bcldr x0, [sp+48]
0003f1c0ldr x1, [x0+8]
0003f1c4ldr x2, [x0]
0003f1c8ldr x3, [sp+40]
0003f1ccstr x2, [x3]
0003f1d0str x1, [x3+8]
0003f1d4b 0x3f200
0003f1d8
0003f1d8loc_3f1d8:
0003f1d8ldr x0, [sp+48]
0003f1dcldr x1, [x0+8]
0003f1e0ldr x2, [sp+40]
0003f1e4ldr x3, [x2]
0003f1e8str x3, [x1]
0003f1ecldr x1, [x2]
0003f1f0ldr x3, [x0+8]
0003f1f4str x3, [x1+8]
0003f1f8ldr x1, [x0]
0003f1fcstr x1, [x2]
0003f200
0003f200loc_3f200:
0003f200stp xzr, xzr, [x0]
0003f204ldur x29, [sp-8]
0003f208ldr x30, [sp], 32
0003f20cret x30
0003f210
0003f210loc_3f210:
0003f210stp x0, x1, [sp+8]
0003f214mov x3, x30
0003f218bl runtime.morestack_noctxt.abi0
0003f21cldp x0, x1, [sp+8]
0003f220b 0x3f160
0003f224udf 0
0003f228udf 0
0003f22cudf 0
0003f160
0003f230
0003f230runtime.spanHasSpecials: ; void runtime.spanHasSpecials(runtime.mspan * s)
0003f230ldr x16, [x28+16]
0003f234subs xzr, sp, x16
0003f238b.ls 0x3f31c
0003f23cstr x30, [sp-64]!
0003f240stur x29, [sp-8]
0003f244sub x29, sp, 8
0003f248str x0, [sp+72]
0003f24cbl runtime.(*mspan).base
0003f250str x0, [sp+40]
0003f254ldr x0, [sp+72]
0003f258bl runtime.(*mspan).base
0003f25cbl runtime.arenaIndex
0003f260str x0, [sp+32]
0003f264bl runtime.arenaIdx.l1
0003f268str x0, [sp+48]
0003f26cldr x0, [sp+32]
0003f270bl runtime.arenaIdx.l2
0003f274ldr x1, [sp+48]
0003f278subs xzr, x1, 1
0003f27cb.hs 0x3f30c
0003f280subs xzr, x0, 0x400000
0003f284b.hs 0x3f304
0003f288adrp x27, 0xa03000
0003f28cldr x2, [x27+2648]
0003f290ldrsb x27, [x2]
0003f294ldr x2, [x2+3*x0]
0003f298ldrsb x27, [x2]
0003f29cldr x3, [sp+40]
0003f2a0ubfm x0, x3, 16, 25
0003f2a4movz x4, 2048
0003f2a8movk x4, 0x10000
0003f2acadd x2, x2, x4
0003f2b0subs xzr, x0, 1024
0003f2b4b.hs 0x3f2fc
0003f2b8ubfm x0, x3, 13, 25
0003f2bcubfm x1, x3, 13, 15
0003f2c0add x0, x2, x0, lsr #3
0003f2c4orr x2, xzr, 1
0003f2c8lslv x1, x2, x1
0003f2ccadrp x27, 0xa0c000
0003f2d0ldrb w2, [x27+1516]
0003f2d4tbz w2, 0, 0x3f2e0
0003f2d8ldsetalb w1, w2, [x0]
0003f2dcb 0x3f2f0
0003f2e0
0003f2e0loc_3f2e0:
0003f2e0ldaxrb w3, [x0]
0003f2e4orr x2, x3, x1
0003f2e8stlxrb w27, w2, [x0]
0003f2eccbnz x27, 0x3f2e0
0003f2f0
0003f2f0loc_3f2f0:
0003f2f0ldur x29, [sp-8]
0003f2f4ldr x30, [sp], 64
0003f2f8ret x30
0003f2fc
0003f2fcloc_3f2fc:
0003f2fcorr x1, xzr, 1024
0003f300bl runtime.panicIndexU
0003f304
0003f304loc_3f304:
0003f304orr x1, xzr, 0x400000
0003f308bl runtime.panicIndexU
0003f30c
0003f30cloc_3f30c:
0003f30cmov x0, x1
0003f310orr x1, xzr, 1
0003f314bl runtime.panicIndexU
0003f318hint
0003f31c
0003f31cloc_3f31c:
0003f31cstr x0, [sp+8]
0003f320mov x3, x30
0003f324bl runtime.morestack_noctxt.abi0
0003f328ldr x0, [sp+8]
0003f32cb 0x3f230
0003f230
0003f230runtime.spanHasSpecials: ; void runtime.spanHasSpecials(runtime.mspan * s)
0003f230ldr x16, [x28+16]
0003f234subs xzr, sp, x16
0003f238b.ls 0x3f31c
0003f23cstr x30, [sp-64]!
0003f240stur x29, [sp-8]
0003f244sub x29, sp, 8
0003f248str x0, [sp+72]
0003f24cbl runtime.(*mspan).base
0003f250str x0, [sp+40]
0003f254ldr x0, [sp+72]
0003f258bl runtime.(*mspan).base
0003f25cbl runtime.arenaIndex
0003f260str x0, [sp+32]
0003f264bl runtime.arenaIdx.l1
0003f268str x0, [sp+48]
0003f26cldr x0, [sp+32]
0003f270bl runtime.arenaIdx.l2
0003f274ldr x1, [sp+48]
0003f278subs xzr, x1, 1
0003f27cb.hs 0x3f30c
0003f280subs xzr, x0, 0x400000
0003f284b.hs 0x3f304
0003f288adrp x27, 0xa03000
0003f28cldr x2, [x27+2648]
0003f290ldrsb x27, [x2]
0003f294ldr x2, [x2+3*x0]
0003f298ldrsb x27, [x2]
0003f29cldr x3, [sp+40]
0003f2a0ubfm x0, x3, 16, 25
0003f2a4movz x4, 2048
0003f2a8movk x4, 0x10000
0003f2acadd x2, x2, x4
0003f2b0subs xzr, x0, 1024
0003f2b4b.hs 0x3f2fc
0003f2b8ubfm x0, x3, 13, 25
0003f2bcubfm x1, x3, 13, 15
0003f2c0add x0, x2, x0, lsr #3
0003f2c4orr x2, xzr, 1
0003f2c8lslv x1, x2, x1
0003f2ccadrp x27, 0xa0c000
0003f2d0ldrb w2, [x27+1516]
0003f2d4tbz w2, 0, 0x3f2e0
0003f2d8ldsetalb w1, w2, [x0]
0003f2dcb 0x3f2f0
0003f2e0
0003f2e0loc_3f2e0:
0003f2e0ldaxrb w3, [x0]
0003f2e4orr x2, x3, x1
0003f2e8stlxrb w27, w2, [x0]
0003f2eccbnz x27, 0x3f2e0
0003f2f0
0003f2f0loc_3f2f0:
0003f2f0ldur x29, [sp-8]
0003f2f4ldr x30, [sp], 64
0003f2f8ret x30
0003f2fc
0003f2fcloc_3f2fc:
0003f2fcorr x1, xzr, 1024
0003f300bl runtime.panicIndexU
0003f304
0003f304loc_3f304:
0003f304orr x1, xzr, 0x400000
0003f308bl runtime.panicIndexU
0003f30c
0003f30cloc_3f30c:
0003f30cmov x0, x1
0003f310orr x1, xzr, 1
0003f314bl runtime.panicIndexU
0003f318hint
0003f31c
0003f31cloc_3f31c:
0003f31cstr x0, [sp+8]
0003f320mov x3, x30
0003f324bl runtime.morestack_noctxt.abi0
0003f328ldr x0, [sp+8]
0003f32cb 0x3f230
0003f230
0003f330
0003f330runtime.spanHasNoSpecials: ; void runtime.spanHasNoSpecials(runtime.mspan * s)
0003f330ldr x16, [x28+16]
0003f334subs xzr, sp, x16
0003f338b.ls 0x3f424
0003f33cstr x30, [sp-64]!
0003f340stur x29, [sp-8]
0003f344sub x29, sp, 8
0003f348str x0, [sp+72]
0003f34cbl runtime.(*mspan).base
0003f350str x0, [sp+40]
0003f354ldr x0, [sp+72]
0003f358bl runtime.(*mspan).base
0003f35cbl runtime.arenaIndex
0003f360str x0, [sp+32]
0003f364bl runtime.arenaIdx.l1
0003f368str x0, [sp+48]
0003f36cldr x0, [sp+32]
0003f370bl runtime.arenaIdx.l2
0003f374ldr x1, [sp+48]
0003f378subs xzr, x1, 1
0003f37cb.hs 0x3f414
0003f380subs xzr, x0, 0x400000
0003f384b.hs 0x3f40c
0003f388adrp x27, 0xa03000
0003f38cldr x2, [x27+2648]
0003f390ldrsb x27, [x2]
0003f394ldr x2, [x2+3*x0]
0003f398ldrsb x27, [x2]
0003f39cldr x3, [sp+40]
0003f3a0ubfm x0, x3, 16, 25
0003f3a4movz x4, 2048
0003f3a8movk x4, 0x10000
0003f3acadd x2, x2, x4
0003f3b0subs xzr, x0, 1024
0003f3b4b.hs 0x3f404
0003f3b8ubfm x0, x3, 13, 25
0003f3bcubfm x1, x3, 13, 15
0003f3c0orr x3, xzr, 1
0003f3c4lslv x1, x3, x1
0003f3c8add x0, x2, x0, lsr #3
0003f3ccorn x1, xzr, x1
0003f3d0adrp x27, 0xa0c000
0003f3d4ldrb w2, [x27+1516]
0003f3d8tbz w2, 0, 0x3f3e8
0003f3dcorn x27, xzr, x1
0003f3e0ldclralb w27, w2, [x0]
0003f3e4b 0x3f3f8
0003f3e8
0003f3e8loc_3f3e8:
0003f3e8ldaxrb w3, [x0]
0003f3ecand x2, x3, x1
0003f3f0stlxrb w27, w2, [x0]
0003f3f4cbnz x27, 0x3f3e8
0003f3f8
0003f3f8loc_3f3f8:
0003f3f8ldur x29, [sp-8]
0003f3fcldr x30, [sp], 64
0003f400ret x30
0003f404
0003f404loc_3f404:
0003f404orr x1, xzr, 1024
0003f408bl runtime.panicIndexU
0003f40c
0003f40cloc_3f40c:
0003f40corr x1, xzr, 0x400000
0003f410bl runtime.panicIndexU
0003f414
0003f414loc_3f414:
0003f414mov x0, x1
0003f418orr x1, xzr, 1
0003f41cbl runtime.panicIndexU
0003f420hint
0003f424
0003f424loc_3f424:
0003f424str x0, [sp+8]
0003f428mov x3, x30
0003f42cbl runtime.morestack_noctxt.abi0
0003f430ldr x0, [sp+8]
0003f434b 0x3f330
0003f438udf 0
0003f43cudf 0
0003f330
0003f330runtime.spanHasNoSpecials: ; void runtime.spanHasNoSpecials(runtime.mspan * s)
0003f330ldr x16, [x28+16]
0003f334subs xzr, sp, x16
0003f338b.ls 0x3f424
0003f33cstr x30, [sp-64]!
0003f340stur x29, [sp-8]
0003f344sub x29, sp, 8
0003f348str x0, [sp+72]
0003f34cbl runtime.(*mspan).base
0003f350str x0, [sp+40]
0003f354ldr x0, [sp+72]
0003f358bl runtime.(*mspan).base
0003f35cbl runtime.arenaIndex
0003f360str x0, [sp+32]
0003f364bl runtime.arenaIdx.l1
0003f368str x0, [sp+48]
0003f36cldr x0, [sp+32]
0003f370bl runtime.arenaIdx.l2
0003f374ldr x1, [sp+48]
0003f378subs xzr, x1, 1
0003f37cb.hs 0x3f414
0003f380subs xzr, x0, 0x400000
0003f384b.hs 0x3f40c
0003f388adrp x27, 0xa03000
0003f38cldr x2, [x27+2648]
0003f390ldrsb x27, [x2]
0003f394ldr x2, [x2+3*x0]
0003f398ldrsb x27, [x2]
0003f39cldr x3, [sp+40]
0003f3a0ubfm x0, x3, 16, 25
0003f3a4movz x4, 2048
0003f3a8movk x4, 0x10000
0003f3acadd x2, x2, x4
0003f3b0subs xzr, x0, 1024
0003f3b4b.hs 0x3f404
0003f3b8ubfm x0, x3, 13, 25
0003f3bcubfm x1, x3, 13, 15
0003f3c0orr x3, xzr, 1
0003f3c4lslv x1, x3, x1
0003f3c8add x0, x2, x0, lsr #3
0003f3ccorn x1, xzr, x1
0003f3d0adrp x27, 0xa0c000
0003f3d4ldrb w2, [x27+1516]
0003f3d8tbz w2, 0, 0x3f3e8
0003f3dcorn x27, xzr, x1
0003f3e0ldclralb w27, w2, [x0]
0003f3e4b 0x3f3f8
0003f3e8
0003f3e8loc_3f3e8:
0003f3e8ldaxrb w3, [x0]
0003f3ecand x2, x3, x1
0003f3f0stlxrb w27, w2, [x0]
0003f3f4cbnz x27, 0x3f3e8
0003f3f8
0003f3f8loc_3f3f8:
0003f3f8ldur x29, [sp-8]
0003f3fcldr x30, [sp], 64
0003f400ret x30
0003f404
0003f404loc_3f404:
0003f404orr x1, xzr, 1024
0003f408bl runtime.panicIndexU
0003f40c
0003f40cloc_3f40c:
0003f40corr x1, xzr, 0x400000
0003f410bl runtime.panicIndexU
0003f414
0003f414loc_3f414:
0003f414mov x0, x1
0003f418orr x1, xzr, 1
0003f41cbl runtime.panicIndexU
0003f420hint
0003f424
0003f424loc_3f424:
0003f424str x0, [sp+8]
0003f428mov x3, x30
0003f42cbl runtime.morestack_noctxt.abi0
0003f430ldr x0, [sp+8]
0003f434b 0x3f330
0003f438udf 0
0003f43cudf 0
0003f330
0003f440
0003f440runtime.addspecial: ; void runtime.addspecial(void * p, runtime.special * s, bool force)
0003f440ldr x16, [x28+16]
0003f444subs xzr, sp, x16
0003f448b.ls 0x3f53c
0003f44cstr x30, [sp-80]!
0003f450stur x29, [sp-8]
0003f454sub x29, sp, 8
0003f458str x0, [sp+88]
0003f45cstr x1, [sp+96]
0003f460strb w2, [sp+104]
0003f464mov x1, x0
0003f468mov x0, x1
0003f46cbl runtime.spanOfHeap
0003f470cbz x0, 0x3f528
0003f474str x0, [sp+40]
0003f478bl runtime.acquirem
0003f47cstr x0, [sp+56]
0003f480ldr x0, [sp+40]
0003f484bl runtime.(*mspan).ensureSwept
0003f488ldr x0, [sp+40]
0003f48cbl runtime.(*mspan).base
0003f490ldr x1, [sp+88]
0003f494sub x0, x1, x0
0003f498str x0, [sp+48]
0003f49cldr x0, [sp+96]
0003f4a0ldrb w0, [x0+16]
0003f4a4strb w0, [sp+38]
0003f4a8ldr x0, [sp+40]
0003f4acadd x0, x0, 120
0003f4b0str x0, [sp+64]
0003f4b4bl runtime.lock
0003f4b8ldr x0, [sp+40]
0003f4bcldr x1, [sp+48]
0003f4c0ldrb w2, [sp+38]
0003f4c4bl runtime.(*mspan).specialFindSplicePoint
0003f4c8strb w1, [sp+39]
0003f4cctbz w1, 0, 0x3f4d8
0003f4d0ldrb w2, [sp+104]
0003f4d4tbz w2, 0, 0x3f4f8
0003f4d8
0003f4d8loc_3f4d8:
0003f4d8ldr x1, [sp+48]
0003f4dcldr x2, [sp+96]
0003f4e0str x1, [x2+8]
0003f4e4ldr x1, [x0]
0003f4e8str x1, [x2]
0003f4ecstr x2, [x0]
0003f4f0ldr x0, [sp+40]
0003f4f4bl runtime.spanHasSpecials
0003f4f8
0003f4f8loc_3f4f8:
0003f4f8ldr x0, [sp+64]
0003f4fcbl runtime.unlock
0003f500ldr x0, [sp+56]
0003f504bl runtime.releasem
0003f508ldrb w0, [sp+39]
0003f50ctbz w0, 0, 0x3f518
0003f510ldrb w0, [sp+104]
0003f514b 0x3f51c
0003f518
0003f518loc_3f518:
0003f518orr x0, xzr, 1
0003f51c
0003f51cloc_3f51c:
0003f51cldur x29, [sp-8]
0003f520ldr x30, [sp], 80
0003f524ret x30
0003f528
0003f528loc_3f528:
0003f528adrp x0, 0x67d000
0003f52cadd x0, x0, 888
0003f530movz x1, 29
0003f534bl runtime.throw
0003f538hint
0003f53c
0003f53cloc_3f53c:
0003f53cstp x0, x1, [sp+8]
0003f540strb w2, [sp+24]
0003f544mov x3, x30
0003f548bl runtime.morestack_noctxt.abi0
0003f54cldp x0, x1, [sp+8]
0003f550ldrb w2, [sp+24]
0003f554b 0x3f440
0003f558udf 0
0003f55cudf 0
0003f440
0003f440runtime.addspecial: ; void runtime.addspecial(void * p, runtime.special * s, bool force)
0003f440ldr x16, [x28+16]
0003f444subs xzr, sp, x16
0003f448b.ls 0x3f53c
0003f44cstr x30, [sp-80]!
0003f450stur x29, [sp-8]
0003f454sub x29, sp, 8
0003f458str x0, [sp+88]
0003f45cstr x1, [sp+96]
0003f460strb w2, [sp+104]
0003f464mov x1, x0
0003f468mov x0, x1
0003f46cbl runtime.spanOfHeap
0003f470cbz x0, 0x3f528
0003f474str x0, [sp+40]
0003f478bl runtime.acquirem
0003f47cstr x0, [sp+56]
0003f480ldr x0, [sp+40]
0003f484bl runtime.(*mspan).ensureSwept
0003f488ldr x0, [sp+40]
0003f48cbl runtime.(*mspan).base
0003f490ldr x1, [sp+88]
0003f494sub x0, x1, x0
0003f498str x0, [sp+48]
0003f49cldr x0, [sp+96]
0003f4a0ldrb w0, [x0+16]
0003f4a4strb w0, [sp+38]
0003f4a8ldr x0, [sp+40]
0003f4acadd x0, x0, 120
0003f4b0str x0, [sp+64]
0003f4b4bl runtime.lock
0003f4b8ldr x0, [sp+40]
0003f4bcldr x1, [sp+48]
0003f4c0ldrb w2, [sp+38]
0003f4c4bl runtime.(*mspan).specialFindSplicePoint
0003f4c8strb w1, [sp+39]
0003f4cctbz w1, 0, 0x3f4d8
0003f4d0ldrb w2, [sp+104]
0003f4d4tbz w2, 0, 0x3f4f8
0003f4d8
0003f4d8loc_3f4d8:
0003f4d8ldr x1, [sp+48]
0003f4dcldr x2, [sp+96]
0003f4e0str x1, [x2+8]
0003f4e4ldr x1, [x0]
0003f4e8str x1, [x2]
0003f4ecstr x2, [x0]
0003f4f0ldr x0, [sp+40]
0003f4f4bl runtime.spanHasSpecials
0003f4f8
0003f4f8loc_3f4f8:
0003f4f8ldr x0, [sp+64]
0003f4fcbl runtime.unlock
0003f500ldr x0, [sp+56]
0003f504bl runtime.releasem
0003f508ldrb w0, [sp+39]
0003f50ctbz w0, 0, 0x3f518
0003f510ldrb w0, [sp+104]
0003f514b 0x3f51c
0003f518
0003f518loc_3f518:
0003f518orr x0, xzr, 1
0003f51c
0003f51cloc_3f51c:
0003f51cldur x29, [sp-8]
0003f520ldr x30, [sp], 80
0003f524ret x30
0003f528
0003f528loc_3f528:
0003f528adrp x0, 0x67d000
0003f52cadd x0, x0, 888
0003f530movz x1, 29
0003f534bl runtime.throw
0003f538hint
0003f53c
0003f53cloc_3f53c:
0003f53cstp x0, x1, [sp+8]
0003f540strb w2, [sp+24]
0003f544mov x3, x30
0003f548bl runtime.morestack_noctxt.abi0
0003f54cldp x0, x1, [sp+8]
0003f550ldrb w2, [sp+24]
0003f554b 0x3f440
0003f558udf 0
0003f55cudf 0
0003f440
0003f560
0003f560runtime.removespecial: ; void runtime.removespecial(void * p, uint8 kind)
0003f560ldr x16, [x28+16]
0003f564subs xzr, sp, x16
0003f568b.ls 0x3f638
0003f56cstr x30, [sp-80]!
0003f570stur x29, [sp-8]
0003f574sub x29, sp, 8
0003f578str x0, [sp+88]
0003f57cstrb w1, [sp+96]
0003f580mov x1, x0
0003f584mov x0, x1
0003f588bl runtime.spanOfHeap
0003f58ccbz x0, 0x3f624
0003f590str x0, [sp+32]
0003f594bl runtime.acquirem
0003f598str x0, [sp+56]
0003f59cldr x0, [sp+32]
0003f5a0bl runtime.(*mspan).ensureSwept
0003f5a4ldr x0, [sp+32]
0003f5a8bl runtime.(*mspan).base
0003f5acldr x1, [sp+88]
0003f5b0sub x0, x1, x0
0003f5b4str x0, [sp+48]
0003f5b8ldr x0, [sp+32]
0003f5bcadd x0, x0, 120
0003f5c0str x0, [sp+64]
0003f5c4bl runtime.lock
0003f5c8ldr x0, [sp+32]
0003f5ccldr x1, [sp+48]
0003f5d0ldrb w2, [sp+96]
0003f5d4bl runtime.(*mspan).specialFindSplicePoint
0003f5d8tbz w1, 0, 0x3f5ec
0003f5dcldr x1, [x0]
0003f5e0ldr x2, [x1]
0003f5e4str x2, [x0]
0003f5e8b 0x3f5f0
0003f5ec
0003f5ecloc_3f5ec:
0003f5ecmov x1, xzr
0003f5f0
0003f5f0loc_3f5f0:
0003f5f0str x1, [sp+40]
0003f5f4ldr x0, [sp+32]
0003f5f8ldr x2, [x0+128]
0003f5fccbnz x2, 0x3f604
0003f600bl runtime.spanHasNoSpecials
0003f604
0003f604loc_3f604:
0003f604ldr x0, [sp+64]
0003f608bl runtime.unlock
0003f60cldr x0, [sp+56]
0003f610bl runtime.releasem
0003f614ldr x0, [sp+40]
0003f618ldur x29, [sp-8]
0003f61cldr x30, [sp], 80
0003f620ret x30
0003f624
0003f624loc_3f624:
0003f624adrp x0, 0x67f000
0003f628add x0, x0, 1296
0003f62corr x1, xzr, 32
0003f630bl runtime.throw
0003f634hint
0003f638
0003f638loc_3f638:
0003f638str x0, [sp+8]
0003f63cstrb w1, [sp+16]
0003f640mov x3, x30
0003f644bl runtime.morestack_noctxt.abi0
0003f648ldr x0, [sp+8]
0003f64cldrb w1, [sp+16]
0003f650b 0x3f560
0003f654udf 0
0003f658udf 0
0003f65cudf 0
0003f560
0003f560runtime.removespecial: ; void runtime.removespecial(void * p, uint8 kind)
0003f560ldr x16, [x28+16]
0003f564subs xzr, sp, x16
0003f568b.ls 0x3f638
0003f56cstr x30, [sp-80]!
0003f570stur x29, [sp-8]
0003f574sub x29, sp, 8
0003f578str x0, [sp+88]
0003f57cstrb w1, [sp+96]
0003f580mov x1, x0
0003f584mov x0, x1
0003f588bl runtime.spanOfHeap
0003f58ccbz x0, 0x3f624
0003f590str x0, [sp+32]
0003f594bl runtime.acquirem
0003f598str x0, [sp+56]
0003f59cldr x0, [sp+32]
0003f5a0bl runtime.(*mspan).ensureSwept
0003f5a4ldr x0, [sp+32]
0003f5a8bl runtime.(*mspan).base
0003f5acldr x1, [sp+88]
0003f5b0sub x0, x1, x0
0003f5b4str x0, [sp+48]
0003f5b8ldr x0, [sp+32]
0003f5bcadd x0, x0, 120
0003f5c0str x0, [sp+64]
0003f5c4bl runtime.lock
0003f5c8ldr x0, [sp+32]
0003f5ccldr x1, [sp+48]
0003f5d0ldrb w2, [sp+96]
0003f5d4bl runtime.(*mspan).specialFindSplicePoint
0003f5d8tbz w1, 0, 0x3f5ec
0003f5dcldr x1, [x0]
0003f5e0ldr x2, [x1]
0003f5e4str x2, [x0]
0003f5e8b 0x3f5f0
0003f5ec
0003f5ecloc_3f5ec:
0003f5ecmov x1, xzr
0003f5f0
0003f5f0loc_3f5f0:
0003f5f0str x1, [sp+40]
0003f5f4ldr x0, [sp+32]
0003f5f8ldr x2, [x0+128]
0003f5fccbnz x2, 0x3f604
0003f600bl runtime.spanHasNoSpecials
0003f604
0003f604loc_3f604:
0003f604ldr x0, [sp+64]
0003f608bl runtime.unlock
0003f60cldr x0, [sp+56]
0003f610bl runtime.releasem
0003f614ldr x0, [sp+40]
0003f618ldur x29, [sp-8]
0003f61cldr x30, [sp], 80
0003f620ret x30
0003f624
0003f624loc_3f624:
0003f624adrp x0, 0x67f000
0003f628add x0, x0, 1296
0003f62corr x1, xzr, 32
0003f630bl runtime.throw
0003f634hint
0003f638
0003f638loc_3f638:
0003f638str x0, [sp+8]
0003f63cstrb w1, [sp+16]
0003f640mov x3, x30
0003f644bl runtime.morestack_noctxt.abi0
0003f648ldr x0, [sp+8]
0003f64cldrb w1, [sp+16]
0003f650b 0x3f560
0003f654udf 0
0003f658udf 0
0003f65cudf 0
0003f560
0003f660
0003f660runtime.(*mspan).specialFindSplicePoint: ; void runtime.(*mspan).specialFindSplicePoint(runtime.mspan * span, uintptr offset, uint8 kind)
0003f660ldrsb x27, [x0]
0003f664add x3, x0, 128
0003f668b 0x3f670
0003f66c
0003f66cloc_3f66c:
0003f66cmov x3, x4
0003f670
0003f670loc_3f670:
0003f670ldr x4, [x3]
0003f674cbz x4, 0x3f6c4
0003f678ldr x5, [x4+8]
0003f67csubs xzr, x1, x5
0003f680b.ne 0x3f698
0003f684ubfm x6, x2, 0, 7
0003f688ldrb w7, [x4+16]
0003f68csubs wzr, w6, w7
0003f690b.eq 0x3f6b4
0003f694subs xzr, x1, x5
0003f698
0003f698loc_3f698:
0003f698b.lo 0x3f6bc
0003f69cb.ne 0x3f66c
0003f6a0ubfm x5, x2, 0, 7
0003f6a4ldrb w6, [x4+16]
0003f6a8subs wzr, w6, w5
0003f6acb.ls 0x3f66c
0003f6b0b 0x3f6bc
0003f6b4
0003f6b4loc_3f6b4:
0003f6b4orr x0, xzr, 1
0003f6b8b 0x3f6c8
0003f6bc
0003f6bcloc_3f6bc:
0003f6bcmov x0, xzr
0003f6c0b 0x3f6c8
0003f6c4
0003f6c4loc_3f6c4:
0003f6c4mov x0, xzr
0003f6c8
0003f6c8loc_3f6c8:
0003f6c8mov x1, x0
0003f6ccmov x0, x3
0003f6d0ret x30
0003f6d4udf 0
0003f6d8udf 0
0003f6dcudf 0
0003f660
0003f660runtime.(*mspan).specialFindSplicePoint: ; void runtime.(*mspan).specialFindSplicePoint(runtime.mspan * span, uintptr offset, uint8 kind)
0003f660ldrsb x27, [x0]
0003f664add x3, x0, 128
0003f668b 0x3f670
0003f66c
0003f66cloc_3f66c:
0003f66cmov x3, x4
0003f670
0003f670loc_3f670:
0003f670ldr x4, [x3]
0003f674cbz x4, 0x3f6c4
0003f678ldr x5, [x4+8]
0003f67csubs xzr, x1, x5
0003f680b.ne 0x3f698
0003f684ubfm x6, x2, 0, 7
0003f688ldrb w7, [x4+16]
0003f68csubs wzr, w6, w7
0003f690b.eq 0x3f6b4
0003f694subs xzr, x1, x5
0003f698
0003f698loc_3f698:
0003f698b.lo 0x3f6bc
0003f69cb.ne 0x3f66c
0003f6a0ubfm x5, x2, 0, 7
0003f6a4ldrb w6, [x4+16]
0003f6a8subs wzr, w6, w5
0003f6acb.ls 0x3f66c
0003f6b0b 0x3f6bc
0003f6b4
0003f6b4loc_3f6b4:
0003f6b4orr x0, xzr, 1
0003f6b8b 0x3f6c8
0003f6bc
0003f6bcloc_3f6bc:
0003f6bcmov x0, xzr
0003f6c0b 0x3f6c8
0003f6c4
0003f6c4loc_3f6c4:
0003f6c4mov x0, xzr
0003f6c8
0003f6c8loc_3f6c8:
0003f6c8mov x1, x0
0003f6ccmov x0, x3
0003f6d0ret x30
0003f6d4udf 0
0003f6d8udf 0
0003f6dcudf 0
0003f660
0003f6e0
0003f6e0runtime.addfinalizer: ; void runtime.addfinalizer(void * p, runtime.funcval * f, uintptr nret, internal/abi.Type * fint, internal/abi.PtrType * ot)
0003f6e0ldr x16, [x28+16]
0003f6e4subs xzr, sp, x16
0003f6e8b.ls 0x3f88c
0003f6ecstr x30, [sp-96]!
0003f6f0stur x29, [sp-8]
0003f6f4sub x29, sp, 8
0003f6f8str x0, [sp+104]
0003f6fcstr x1, [sp+112]
0003f700str x2, [sp+120]
0003f704str x3, [sp+128]
0003f708str x4, [sp+136]
0003f70cadrp x0, 0xa0c000
0003f710add x0, x0, 1352
0003f714bl runtime.lock
0003f718adrp x0, 0xa0c000
0003f71cadd x0, x0, 920
0003f720bl runtime.(*fixalloc).alloc
0003f724str x0, [sp+80]
0003f728adrp x0, 0xa0c000
0003f72cadd x0, x0, 1352
0003f730bl runtime.unlock
0003f734orr x1, xzr, 1
0003f738ldr x2, [sp+80]
0003f73cstrb w1, [x2+16]
0003f740adrp x27, 0xa0c000
0003f744ldr w1, [x27+3056]
0003f748cbnz w1, 0x3f75c
0003f74cldr x3, [sp+112]
0003f750ldr x4, [sp+128]
0003f754ldr x5, [sp+136]
0003f758b 0x3f790
0003f75c
0003f75cloc_3f75c:
0003f75cbl runtime.gcWriteBarrier6
0003f760ldr x3, [sp+112]
0003f764str x3, [x25]
0003f768ldr x4, [x2+24]
0003f76cstr x4, [x25+8]
0003f770ldr x4, [sp+128]
0003f774str x4, [x25+16]
0003f778ldr x5, [x2+40]
0003f77cstr x5, [x25+24]
0003f780ldr x5, [sp+136]
0003f784str x5, [x25+32]
0003f788ldr x6, [x2+48]
0003f78cstr x6, [x25+40]
0003f790
0003f790loc_3f790:
0003f790str x3, [x2+24]
0003f794ldr x3, [sp+120]
0003f798str x3, [x2+32]
0003f79cstr x4, [x2+40]
0003f7a0str x5, [x2+48]
0003f7a4ldr x0, [sp+104]
0003f7a8mov x1, x2
0003f7acmov x2, xzr
0003f7b0bl runtime.addspecial
0003f7b4tbz w0, 0, 0x3f854
0003f7b8adrp x27, 0xa0c000
0003f7bcldr w3, [x27+1600]
0003f7c0cbz w3, 0x3f844
0003f7c4ldr x0, [sp+104]
0003f7c8mov x1, xzr
0003f7ccmov x2, x1
0003f7d0bl runtime.findObject
0003f7d4str x1, [sp+48]
0003f7d8str x0, [sp+56]
0003f7dcbl runtime.acquirem
0003f7e0str x0, [sp+64]
0003f7e4ldr x0, [x0+208]
0003f7e8bl runtime.puintptr.ptr
0003f7ecldrsb x27, [x0]
0003f7f0ldr x3, [sp+48]
0003f7f4ldrb w3, [x3+98]
0003f7f8movz x4, 4680
0003f7fcadd x4, x0, x4
0003f800str x4, [sp+72]
0003f804mov x0, x3
0003f808bl runtime.spanClass.noscan
0003f80ctbnz w0, 0, 0x3f81c
0003f810ldr x0, [sp+56]
0003f814ldr x1, [sp+72]
0003f818bl runtime.scanobject
0003f81c
0003f81cloc_3f81c:
0003f81cldr x5, [sp+80]
0003f820add x0, x5, 24
0003f824orr x1, xzr, 8
0003f828adrp x2, 0x981000
0003f82cadd x2, x2, 1377
0003f830ldr x3, [sp+72]
0003f834mov x4, xzr
0003f838bl runtime.scanblock
0003f83cldr x0, [sp+64]
0003f840bl runtime.releasem
0003f844
0003f844loc_3f844:
0003f844orr x0, xzr, 1
0003f848ldur x29, [sp-8]
0003f84cldr x30, [sp], 96
0003f850ret x30
0003f854
0003f854loc_3f854:
0003f854adrp x0, 0xa0c000
0003f858add x0, x0, 1352
0003f85cbl runtime.lock
0003f860adrp x0, 0xa0c000
0003f864add x0, x0, 920
0003f868ldr x1, [sp+80]
0003f86cbl runtime.(*fixalloc).free
0003f870adrp x0, 0xa0c000
0003f874add x0, x0, 1352
0003f878bl runtime.unlock
0003f87cmov x0, xzr
0003f880ldur x29, [sp-8]
0003f884ldr x30, [sp], 96
0003f888ret x30
0003f88c
0003f88cloc_3f88c:
0003f88cstp x0, x1, [sp+8]
0003f890stp x2, x3, [sp+24]
0003f894str x4, [sp+40]
0003f898mov x3, x30
0003f89cbl runtime.morestack_noctxt.abi0
0003f8a0ldp x0, x1, [sp+8]
0003f8a4ldp x2, x3, [sp+24]
0003f8a8ldr x4, [sp+40]
0003f8acb 0x3f6e0
0003f6e0
0003f6e0runtime.addfinalizer: ; void runtime.addfinalizer(void * p, runtime.funcval * f, uintptr nret, internal/abi.Type * fint, internal/abi.PtrType * ot)
0003f6e0ldr x16, [x28+16]
0003f6e4subs xzr, sp, x16
0003f6e8b.ls 0x3f88c
0003f6ecstr x30, [sp-96]!
0003f6f0stur x29, [sp-8]
0003f6f4sub x29, sp, 8
0003f6f8str x0, [sp+104]
0003f6fcstr x1, [sp+112]
0003f700str x2, [sp+120]
0003f704str x3, [sp+128]
0003f708str x4, [sp+136]
0003f70cadrp x0, 0xa0c000
0003f710add x0, x0, 1352
0003f714bl runtime.lock
0003f718adrp x0, 0xa0c000
0003f71cadd x0, x0, 920
0003f720bl runtime.(*fixalloc).alloc
0003f724str x0, [sp+80]
0003f728adrp x0, 0xa0c000
0003f72cadd x0, x0, 1352
0003f730bl runtime.unlock
0003f734orr x1, xzr, 1
0003f738ldr x2, [sp+80]
0003f73cstrb w1, [x2+16]
0003f740adrp x27, 0xa0c000
0003f744ldr w1, [x27+3056]
0003f748cbnz w1, 0x3f75c
0003f74cldr x3, [sp+112]
0003f750ldr x4, [sp+128]
0003f754ldr x5, [sp+136]
0003f758b 0x3f790
0003f75c
0003f75cloc_3f75c:
0003f75cbl runtime.gcWriteBarrier6
0003f760ldr x3, [sp+112]
0003f764str x3, [x25]
0003f768ldr x4, [x2+24]
0003f76cstr x4, [x25+8]
0003f770ldr x4, [sp+128]
0003f774str x4, [x25+16]
0003f778ldr x5, [x2+40]
0003f77cstr x5, [x25+24]
0003f780ldr x5, [sp+136]
0003f784str x5, [x25+32]
0003f788ldr x6, [x2+48]
0003f78cstr x6, [x25+40]
0003f790
0003f790loc_3f790:
0003f790str x3, [x2+24]
0003f794ldr x3, [sp+120]
0003f798str x3, [x2+32]
0003f79cstr x4, [x2+40]
0003f7a0str x5, [x2+48]
0003f7a4ldr x0, [sp+104]
0003f7a8mov x1, x2
0003f7acmov x2, xzr
0003f7b0bl runtime.addspecial
0003f7b4tbz w0, 0, 0x3f854
0003f7b8adrp x27, 0xa0c000
0003f7bcldr w3, [x27+1600]
0003f7c0cbz w3, 0x3f844
0003f7c4ldr x0, [sp+104]
0003f7c8mov x1, xzr
0003f7ccmov x2, x1
0003f7d0bl runtime.findObject
0003f7d4str x1, [sp+48]
0003f7d8str x0, [sp+56]
0003f7dcbl runtime.acquirem
0003f7e0str x0, [sp+64]
0003f7e4ldr x0, [x0+208]
0003f7e8bl runtime.puintptr.ptr
0003f7ecldrsb x27, [x0]
0003f7f0ldr x3, [sp+48]
0003f7f4ldrb w3, [x3+98]
0003f7f8movz x4, 4680
0003f7fcadd x4, x0, x4
0003f800str x4, [sp+72]
0003f804mov x0, x3
0003f808bl runtime.spanClass.noscan
0003f80ctbnz w0, 0, 0x3f81c
0003f810ldr x0, [sp+56]
0003f814ldr x1, [sp+72]
0003f818bl runtime.scanobject
0003f81c
0003f81cloc_3f81c:
0003f81cldr x5, [sp+80]
0003f820add x0, x5, 24
0003f824orr x1, xzr, 8
0003f828adrp x2, 0x981000
0003f82cadd x2, x2, 1377
0003f830ldr x3, [sp+72]
0003f834mov x4, xzr
0003f838bl runtime.scanblock
0003f83cldr x0, [sp+64]
0003f840bl runtime.releasem
0003f844
0003f844loc_3f844:
0003f844orr x0, xzr, 1
0003f848ldur x29, [sp-8]
0003f84cldr x30, [sp], 96
0003f850ret x30
0003f854
0003f854loc_3f854:
0003f854adrp x0, 0xa0c000
0003f858add x0, x0, 1352
0003f85cbl runtime.lock
0003f860adrp x0, 0xa0c000
0003f864add x0, x0, 920
0003f868ldr x1, [sp+80]
0003f86cbl runtime.(*fixalloc).free
0003f870adrp x0, 0xa0c000
0003f874add x0, x0, 1352
0003f878bl runtime.unlock
0003f87cmov x0, xzr
0003f880ldur x29, [sp-8]
0003f884ldr x30, [sp], 96
0003f888ret x30
0003f88c
0003f88cloc_3f88c:
0003f88cstp x0, x1, [sp+8]
0003f890stp x2, x3, [sp+24]
0003f894str x4, [sp+40]
0003f898mov x3, x30
0003f89cbl runtime.morestack_noctxt.abi0
0003f8a0ldp x0, x1, [sp+8]
0003f8a4ldp x2, x3, [sp+24]
0003f8a8ldr x4, [sp+40]
0003f8acb 0x3f6e0
0003f6e0
0003f8b0
0003f8b0runtime.removefinalizer: ; void runtime.removefinalizer(void * p)
0003f8b0ldr x16, [x28+16]
0003f8b4subs xzr, sp, x16
0003f8b8b.ls 0x3f918
0003f8bcstr x30, [sp-48]!
0003f8c0stur x29, [sp-8]
0003f8c4sub x29, sp, 8
0003f8c8orr x1, xzr, 1
0003f8ccbl runtime.removespecial
0003f8d0cbz x0, 0x3f90c
0003f8d4str x0, [sp+32]
0003f8d8adrp x0, 0xa0c000
0003f8dcadd x0, x0, 1352
0003f8e0bl runtime.lock
0003f8e4adrp x0, 0xa0c000
0003f8e8add x0, x0, 920
0003f8ecldr x1, [sp+32]
0003f8f0bl runtime.(*fixalloc).free
0003f8f4adrp x0, 0xa0c000
0003f8f8add x0, x0, 1352
0003f8fcbl runtime.unlock
0003f900ldur x29, [sp-8]
0003f904ldr x30, [sp], 48
0003f908ret x30
0003f90c
0003f90cloc_3f90c:
0003f90cldur x29, [sp-8]
0003f910ldr x30, [sp], 48
0003f914ret x30
0003f918
0003f918loc_3f918:
0003f918str x0, [sp+8]
0003f91cmov x3, x30
0003f920bl runtime.morestack_noctxt.abi0
0003f924ldr x0, [sp+8]
0003f928b 0x3f8b0
0003f92cudf 0
0003f8b0
0003f8b0runtime.removefinalizer: ; void runtime.removefinalizer(void * p)
0003f8b0ldr x16, [x28+16]
0003f8b4subs xzr, sp, x16
0003f8b8b.ls 0x3f918
0003f8bcstr x30, [sp-48]!
0003f8c0stur x29, [sp-8]
0003f8c4sub x29, sp, 8
0003f8c8orr x1, xzr, 1
0003f8ccbl runtime.removespecial
0003f8d0cbz x0, 0x3f90c
0003f8d4str x0, [sp+32]
0003f8d8adrp x0, 0xa0c000
0003f8dcadd x0, x0, 1352
0003f8e0bl runtime.lock
0003f8e4adrp x0, 0xa0c000
0003f8e8add x0, x0, 920
0003f8ecldr x1, [sp+32]
0003f8f0bl runtime.(*fixalloc).free
0003f8f4adrp x0, 0xa0c000
0003f8f8add x0, x0, 1352
0003f8fcbl runtime.unlock
0003f900ldur x29, [sp-8]
0003f904ldr x30, [sp], 48
0003f908ret x30
0003f90c
0003f90cloc_3f90c:
0003f90cldur x29, [sp-8]
0003f910ldr x30, [sp], 48
0003f914ret x30
0003f918
0003f918loc_3f918:
0003f918str x0, [sp+8]
0003f91cmov x3, x30
0003f920bl runtime.morestack_noctxt.abi0
0003f924ldr x0, [sp+8]
0003f928b 0x3f8b0
0003f92cudf 0
0003f8b0
0003f930
0003f930runtime.gcParkStrongFromWeak: ; void runtime.gcParkStrongFromWeak(void)
0003f930ldr x16, [x28+16]
0003f934subs xzr, sp, x16
0003f938b.ls 0x3f9ac
0003f93cstr x30, [sp-48]!
0003f940stur x29, [sp-8]
0003f944sub x29, sp, 8
0003f948bl runtime.acquirem
0003f94cb 0x3f994
0003f950
0003f950loc_3f950:
0003f950str x0, [sp+32]
0003f954adrp x0, 0x9e5000
0003f958add x0, x0, 3184
0003f95cbl runtime.lock
0003f960ldr x0, [sp+32]
0003f964bl runtime.releasem
0003f968adrp x0, 0x9e5000
0003f96cadd x0, x0, 3192
0003f970mov x1, x28
0003f974bl runtime.(*gQueue).pushBack
0003f978adrp x0, 0x9e5000
0003f97cadd x0, x0, 3184
0003f980movz x1, 38
0003f984orr x2, xzr, 15
0003f988orr x3, xzr, 2
0003f98cbl runtime.goparkunlock
0003f990bl runtime.acquirem
0003f994
0003f994loc_3f994:
0003f994adrp x27, 0x9e5000
0003f998ldrb w1, [x27+3176]
0003f99ctbnz w1, 0, 0x3f950
0003f9a0ldur x29, [sp-8]
0003f9a4ldr x30, [sp], 48
0003f9a8ret x30
0003f9ac
0003f9acloc_3f9ac:
0003f9acmov x3, x30
0003f9b0bl runtime.morestack_noctxt.abi0
0003f9b4b 0x3f930
0003f9b8udf 0
0003f9bcudf 0
0003f930
0003f930runtime.gcParkStrongFromWeak: ; void runtime.gcParkStrongFromWeak(void)
0003f930ldr x16, [x28+16]
0003f934subs xzr, sp, x16
0003f938b.ls 0x3f9ac
0003f93cstr x30, [sp-48]!
0003f940stur x29, [sp-8]
0003f944sub x29, sp, 8
0003f948bl runtime.acquirem
0003f94cb 0x3f994
0003f950
0003f950loc_3f950:
0003f950str x0, [sp+32]
0003f954adrp x0, 0x9e5000
0003f958add x0, x0, 3184
0003f95cbl runtime.lock
0003f960ldr x0, [sp+32]
0003f964bl runtime.releasem
0003f968adrp x0, 0x9e5000
0003f96cadd x0, x0, 3192
0003f970mov x1, x28
0003f974bl runtime.(*gQueue).pushBack
0003f978adrp x0, 0x9e5000
0003f97cadd x0, x0, 3184
0003f980movz x1, 38
0003f984orr x2, xzr, 15
0003f988orr x3, xzr, 2
0003f98cbl runtime.goparkunlock
0003f990bl runtime.acquirem
0003f994
0003f994loc_3f994:
0003f994adrp x27, 0x9e5000
0003f998ldrb w1, [x27+3176]
0003f99ctbnz w1, 0, 0x3f950
0003f9a0ldur x29, [sp-8]
0003f9a4ldr x30, [sp], 48
0003f9a8ret x30
0003f9ac
0003f9acloc_3f9ac:
0003f9acmov x3, x30
0003f9b0bl runtime.morestack_noctxt.abi0
0003f9b4b 0x3f930
0003f9b8udf 0
0003f9bcudf 0
0003f930
Loading..