File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00039b90
    00039b90runtime.(*stackScanState).buildIndex: ; void runtime.(*stackScanState).buildIndex(runtime.stackScanState * s)
    00039b90ldr x16, [x28+16]
    00039b94subs xzr, sp, x16
    00039b98b.ls 0x39bd4
    00039b9cstr x30, [sp-48]!
    00039ba0stur x29, [sp-8]
    00039ba4sub x29, sp, 8
    00039ba8str x0, [sp+56]
    00039bacldr x3, [x0+48]
    00039bb0ldr x2, [x0+64]
    00039bb4mov x0, x3
    00039bb8mov x1, xzr
    00039bbcbl runtime.binarySearchTree
    00039bc0ldr x3, [sp+56]
    00039bc4str x0, [x3+72]
    00039bc8ldur x29, [sp-8]
    00039bccldr x30, [sp], 48
    00039bd0ret x30
    00039bd4
    00039bd4loc_39bd4:
    00039bd4str x0, [sp+8]
    00039bd8mov x3, x30
    00039bdcbl runtime.morestack_noctxt.abi0
    00039be0ldr x0, [sp+8]
    00039be4b 0x39b90
    00039be8udf 0
    00039becudf 0
    00039b90
    00039bf0
    00039bf0runtime.binarySearchTree: ; void runtime.binarySearchTree(runtime.stackObjectBuf * x, int idx, int n)
    00039bf0ldr x16, [x28+16]
    00039bf4subs xzr, sp, x16
    00039bf8b.ls 0x39cb4
    00039bfcstr x30, [sp-64]!
    00039c00stur x29, [sp-8]
    00039c04sub x29, sp, 8
    00039c08cbz x2, 0x39c8c
    00039c0cstr x2, [sp+88]
    00039c10add x3, x2, x2, lsr #63
    00039c14str x3, [sp+48]
    00039c18sbfm x2, x3, 1, 63
    00039c1cbl runtime.binarySearchTree
    00039c20subs xzr, x2, 63
    00039c24b.hs 0x39ca4
    00039c28str x0, [sp+32]
    00039c2cldrsb x27, [x1]
    00039c30add x3, x1, 32
    00039c34add x3, x3, x2, lsl #5
    00039c38str x3, [sp+40]
    00039c3cadd x4, x2, 1
    00039c40subs xzr, x2, 62
    00039c44b.ne 0x39c50
    00039c48ldr x1, [x1+24]
    00039c4cmov x4, xzr
    00039c50
    00039c50loc_39c50:
    00039c50ldr x3, [sp+88]
    00039c54ldr x5, [sp+48]
    00039c58sub x3, x3, x5, asr #1
    00039c5csub x2, x3, 1
    00039c60mov x0, x1
    00039c64mov x1, x4
    00039c68bl runtime.binarySearchTree
    00039c6cldr x3, [sp+32]
    00039c70ldr x4, [sp+40]
    00039c74str x3, [x4+16]
    00039c78str x0, [x4+24]
    00039c7cmov x0, x4
    00039c80ldur x29, [sp-8]
    00039c84ldr x30, [sp], 64
    00039c88ret x30
    00039c8c
    00039c8cloc_39c8c:
    00039c8cmov x2, x1
    00039c90mov x1, x0
    00039c94mov x0, xzr
    00039c98ldur x29, [sp-8]
    00039c9cldr x30, [sp], 64
    00039ca0ret x30
    00039ca4
    00039ca4loc_39ca4:
    00039ca4mov x0, x2
    00039ca8orr x1, xzr, 63
    00039cacbl runtime.panicIndex
    00039cb0hint
    00039cb4
    00039cb4loc_39cb4:
    00039cb4stp x0, x1, [sp+8]
    00039cb8str x2, [sp+24]
    00039cbcmov x3, x30
    00039cc0bl runtime.morestack_noctxt.abi0
    00039cc4ldp x0, x1, [sp+8]
    00039cc8ldr x2, [sp+24]
    00039cccb 0x39bf0
    00039bf0
    00039cd0
    00039cd0runtime.(*stackScanState).findObject: ; void runtime.(*stackScanState).findObject(runtime.stackScanState * s, uintptr a)
    00039cd0ldr x2, [x0]
    00039cd4sub x1, x1, x2
    00039cd8ldr x2, [x0+72]
    00039cdc
    00039cdcloc_39cdc:
    00039cdccbz x2, 0x39d14
    00039ce0ldr w3, [x2]
    00039ce4subs wzr, w3, w1
    00039ce8b.ls 0x39cf4
    00039cecldr x2, [x2+16]
    00039cf0b 0x39cdc
    00039cf4
    00039cf4loc_39cf4:
    00039cf4ldr w4, [x2+4]
    00039cf8add x3, x3, x4
    00039cfcsubs wzr, w1, w3
    00039d00b.lo 0x39d0c
    00039d04ldr x2, [x2+24]
    00039d08b 0x39cdc
    00039d0c
    00039d0cloc_39d0c:
    00039d0cmov x0, x2
    00039d10ret x30
    00039d14
    00039d14loc_39d14:
    00039d14mov x0, xzr
    00039d18ret x30
    00039d1cudf 0
    00039cd0
    00039d20
    00039d20runtime.(*sweepClass).load: ; void runtime.(*sweepClass).load(runtime.sweepClass * s)
    00039d20ldar w0, [x0]
    00039d24ret x30
    00039d28udf 0
    00039d2cudf 0
    00039d20
    00039d30
    00039d30runtime.(*sweepClass).update: ; void runtime.(*sweepClass).update(runtime.sweepClass * s, runtime.sweepClass sNew)
    00039d30ldr x16, [x28+16]
    00039d34subs xzr, sp, x16
    00039d38b.ls 0x39dc0
    00039d3cstr x30, [sp-32]!
    00039d40stur x29, [sp-8]
    00039d44sub x29, sp, 8
    00039d48str x0, [sp+40]
    00039d4cstr w1, [sp+48]
    00039d50bl runtime.(*sweepClass).load
    00039d54ldr x1, [sp+40]
    00039d58ldr w2, [sp+48]
    00039d5cb 0x39d70
    00039d60
    00039d60loc_39d60:
    00039d60mov x0, x1
    00039d64bl runtime.(*sweepClass).load
    00039d68ldr x1, [sp+40]
    00039d6cldr w2, [sp+48]
    00039d70
    00039d70loc_39d70:
    00039d70subs wzr, w2, w0
    00039d74b.ls 0x39db4
    00039d78adrp x27, 0xa12000
    00039d7cldrb w3, [x27+1516]
    00039d80tbz w3, 0, 0x39d98
    00039d84sbfm x27, x0, 0, 31
    00039d88casal w27, w2, [x1]
    00039d8csubs wzr, w27, w0
    00039d90cset x3, eq
    00039d94b 0x39db0
    00039d98
    00039d98loc_39d98:
    00039d98ldaxr w27, [x1]
    00039d9csubs wzr, w27, w0
    00039da0b.ne 0x39dac
    00039da4stlxr w27, w2, [x1]
    00039da8cbnz x27, 0x39d98
    00039dac
    00039dacloc_39dac:
    00039daccset x3, eq
    00039db0
    00039db0loc_39db0:
    00039db0tbz w3, 0, 0x39d60
    00039db4
    00039db4loc_39db4:
    00039db4ldur x29, [sp-8]
    00039db8ldr x30, [sp], 32
    00039dbcret x30
    00039dc0
    00039dc0loc_39dc0:
    00039dc0str x0, [sp+8]
    00039dc4str w1, [sp+16]
    00039dc8mov x3, x30
    00039dccbl runtime.morestack_noctxt.abi0
    00039dd0ldr x0, [sp+8]
    00039dd4ldr w1, [sp+16]
    00039dd8b 0x39d30
    00039ddcudf 0
    00039d30
    00039de0
    00039de0runtime.(*sweepClass).clear: ; void runtime.(*sweepClass).clear(runtime.sweepClass * s)
    00039de0mov x1, xzr
    00039de4stlr w1, [x0]
    00039de8ret x30
    00039decudf 0
    00039de0
    00039df0
    00039df0runtime.sweepClass.split: ; void runtime.sweepClass.split(runtime.sweepClass s)
    00039df0ubfm x2, x0, 1, 31
    00039df4ands wzr, w0, 1
    00039df8cset x1, eq
    00039dfcmov x0, x2
    00039e00ret x30
    00039e04udf 0
    00039e08udf 0
    00039e0cudf 0
    00039df0
    00039e10
    00039e10runtime.(*mheap).nextSpanForSweep: ; void runtime.(*mheap).nextSpanForSweep(runtime.mheap * h)
    00039e10ldr x16, [x28+16]
    00039e14subs xzr, sp, x16
    00039e18b.ls 0x39ef8
    00039e1cstr x30, [sp-48]!
    00039e20stur x29, [sp-8]
    00039e24sub x29, sp, 8
    00039e28str x0, [sp+56]
    00039e2cldrsb x27, [x0]
    00039e30add x27, x0, 0x10000
    00039e34ldr w1, [x27+320]
    00039e38str w1, [sp+24]
    00039e3cadrp x0, 0x9ea000
    00039e40add x0, x0, 952
    00039e44bl runtime.(*sweepClass).load
    00039e48b 0x39e54
    00039e4c
    00039e4cloc_39e4c:
    00039e4cldr w2, [sp+28]
    00039e50add x0, x2, 1
    00039e54
    00039e54loc_39e54:
    00039e54subs wzr, w0, 272
    00039e58b.hs 0x39ecc
    00039e5cstr w0, [sp+28]
    00039e60bl runtime.sweepClass.split
    00039e64ubfm x0, x0, 0, 7
    00039e68ldr x2, [sp+56]
    00039e6cmovz x3, 712
    00039e70movk x3, 0x10000
    00039e74add x3, x2, x3
    00039e78subs xzr, x0, 136
    00039e7cb.hs 0x39eec
    00039e80add x0, x3, x0, lsl #8
    00039e84tbz w1, 0, 0x39e98
    00039e88ldr w1, [sp+24]
    00039e8cbl runtime.(*mcentral).fullUnswept
    00039e90bl runtime.(*spanSet).pop
    00039e94b 0x39ea4
    00039e98
    00039e98loc_39e98:
    00039e98ldr w1, [sp+24]
    00039e9cbl runtime.(*mcentral).partialUnswept
    00039ea0bl runtime.(*spanSet).pop
    00039ea4
    00039ea4loc_39ea4:
    00039ea4cbz x0, 0x39e4c
    00039ea8str x0, [sp+32]
    00039eacadrp x0, 0x9ea000
    00039eb0add x0, x0, 952
    00039eb4ldr w1, [sp+28]
    00039eb8bl runtime.(*sweepClass).update
    00039ebcldr x0, [sp+32]
    00039ec0ldur x29, [sp-8]
    00039ec4ldr x30, [sp], 48
    00039ec8ret x30
    00039ecc
    00039eccloc_39ecc:
    00039eccadrp x0, 0x9ea000
    00039ed0add x0, x0, 952
    00039ed4movn x1, 0
    00039ed8bl runtime.(*sweepClass).update
    00039edcmov x0, xzr
    00039ee0ldur x29, [sp-8]
    00039ee4ldr x30, [sp], 48
    00039ee8ret x30
    00039eec
    00039eecloc_39eec:
    00039eecmovz x1, 136
    00039ef0bl runtime.panicIndex
    00039ef4hint
    00039ef8
    00039ef8loc_39ef8:
    00039ef8str x0, [sp+8]
    00039efcmov x3, x30
    00039f00bl runtime.morestack_noctxt.abi0
    00039f04ldr x0, [sp+8]
    00039f08b 0x39e10
    00039f0cudf 0
    00039e10
    00039f10
    00039f10runtime.(*activeSweep).begin: ; void runtime.(*activeSweep).begin(runtime.activeSweep * a)
    00039f10ldr x16, [x28+16]
    00039f14subs xzr, sp, x16
    00039f18b.ls 0x39f84
    00039f1cstr x30, [sp-32]!
    00039f20stur x29, [sp-8]
    00039f24sub x29, sp, 8
    00039f28str x0, [sp+40]
    00039f2cb 0x39f34
    00039f30
    00039f30loc_39f30:
    00039f30ldr x0, [sp+40]
    00039f34
    00039f34loc_39f34:
    00039f34ldrsb x27, [x0]
    00039f38bl internal/runtime/atomic.(*Uint32).Load
    00039f3ctbnz w0, 31, 0x39f6c
    00039f40add x2, x0, 1
    00039f44mov x1, x0
    00039f48ldr x0, [sp+40]
    00039f4cbl internal/runtime/atomic.(*Uint32).CompareAndSwap
    00039f50tbz w0, 0, 0x39f30
    00039f54adrp x27, 0xa09000
    00039f58ldr w0, [x27+2432]
    00039f5corr x1, xzr, 1
    00039f60ldur x29, [sp-8]
    00039f64ldr x30, [sp], 32
    00039f68ret x30
    00039f6c
    00039f6cloc_39f6c:
    00039f6cadrp x27, 0xa09000
    00039f70ldr w0, [x27+2432]
    00039f74mov x1, xzr
    00039f78ldur x29, [sp-8]
    00039f7cldr x30, [sp], 32
    00039f80ret x30
    00039f84
    00039f84loc_39f84:
    00039f84str x0, [sp+8]
    00039f88mov x3, x30
    00039f8cbl runtime.morestack_noctxt.abi0
    00039f90ldr x0, [sp+8]
    00039f94b 0x39f10
    00039f98udf 0
    00039f9cudf 0
    00039f10
    00039fa0
    00039fa0runtime.(*activeSweep).end: ; void runtime.(*activeSweep).end(runtime.activeSweep * a, runtime.sweepLocker sl)
    00039fa0ldr x16, [x28+16]
    00039fa4subs xzr, sp, x16
    00039fa8b.ls 0x3a128
    00039facstr x30, [sp-80]!
    00039fb0stur x29, [sp-8]
    00039fb4sub x29, sp, 8
    00039fb8adrp x27, 0xa09000
    00039fbcldr w2, [x27+2432]
    00039fc0subs wzr, w1, w2
    00039fc4b.ne 0x3a114
    00039fc8str x0, [sp+88]
    00039fccb 0x39fd4
    00039fd0
    00039fd0loc_39fd0:
    00039fd0ldr x0, [sp+88]
    00039fd4
    00039fd4loc_39fd4:
    00039fd4ldrsb x27, [x0]
    00039fd8bl internal/runtime/atomic.(*Uint32).Load
    00039fdcand x1, x0, 0x7fffffff
    00039fe0sub x1, x1, 1
    00039fe4orr x2, xzr, 0xffffffff80000000
    00039fe8subs wzr, w1, w2
    00039fecb.hs 0x3a104
    00039ff0str w0, [sp+28]
    00039ff4sub x2, x0, 1
    00039ff8mov x1, x0
    00039ffcldr x0, [sp+88]
    0003a000bl internal/runtime/atomic.(*Uint32).CompareAndSwap
    0003a004tbz w0, 0, 0x39fd0
    0003a008ldr w1, [sp+28]
    0003a00corr x2, xzr, 0xffffffff80000000
    0003a010subs wzr, w1, w2
    0003a014b.ne 0x3a0f8
    0003a018adrp x27, 0xa12000
    0003a01cldrsw x1, [x27+248]
    0003a020subs wzr, w1, 0
    0003a024b.le 0x3a0ec
    0003a028adrp x0, 0xa12000
    0003a02cadd x0, x0, 2600
    0003a030bl internal/runtime/atomic.(*Uint64).Load
    0003a034str x0, [sp+32]
    0003a038ubfm x1, x0, 20, 63
    0003a03cstr x1, [sp+64]
    0003a040adrp x0, 0xa08000
    0003a044add x0, x0, 2472
    0003a048bl internal/runtime/atomic.(*Uint64).Load
    0003a04cstr x0, [sp+56]
    0003a050adrp x27, 0xa08000
    0003a054ldr x1, [x27+2488]
    0003a058ldr x2, [sp+32]
    0003a05csub x1, x2, x1
    0003a060ubfm x1, x1, 20, 63
    0003a064str x1, [sp+48]
    0003a068adrp x27, 0xa08000
    0003a06cldr d0, [x27+2496]
    0003a070str d0, [sp+40]
    0003a074bl runtime.printlock
    0003a078adrp x0, 0x683000
    0003a07cadd x0, x0, 2525
    0003a080orr x1, xzr, 31
    0003a084bl runtime.printstring
    0003a088ldr x0, [sp+64]
    0003a08cbl runtime.printuint
    0003a090adrp x0, 0x679000
    0003a094add x0, x0, 3234
    0003a098orr x1, xzr, 14
    0003a09cbl runtime.printstring
    0003a0a0ldr x0, [sp+48]
    0003a0a4bl runtime.printuint
    0003a0a8adrp x0, 0x67e000
    0003a0acadd x0, x0, 1145
    0003a0b0movz x1, 23
    0003a0b4bl runtime.printstring
    0003a0b8ldr x0, [sp+56]
    0003a0bcbl runtime.printuint
    0003a0c0adrp x0, 0x678000
    0003a0c4add x0, x0, 244
    0003a0c8movz x1, 10
    0003a0ccbl runtime.printstring
    0003a0d0ldr d0, [sp+40]
    0003a0d4bl runtime.printfloat
    0003a0d8adrp x0, 0x678000
    0003a0dcadd x0, x0, 3904
    0003a0e0orr x1, xzr, 12
    0003a0e4bl runtime.printstring
    0003a0e8bl runtime.printunlock
    0003a0ec
    0003a0ecloc_3a0ec:
    0003a0ecldur x29, [sp-8]
    0003a0f0ldr x30, [sp], 80
    0003a0f4ret x30
    0003a0f8
    0003a0f8loc_3a0f8:
    0003a0f8ldur x29, [sp-8]
    0003a0fcldr x30, [sp], 80
    0003a100ret x30
    0003a104
    0003a104loc_3a104:
    0003a104adrp x0, 0x686000
    0003a108add x0, x0, 2176
    0003a10cmovz x1, 35
    0003a110bl runtime.throw
    0003a114
    0003a114loc_3a114:
    0003a114adrp x0, 0x68e000
    0003a118add x0, x0, 3386
    0003a11cmovz x1, 49
    0003a120bl runtime.throw
    0003a124hint
    0003a128
    0003a128loc_3a128:
    0003a128str x0, [sp+8]
    0003a12cstr w1, [sp+16]
    0003a130strb w2, [sp+20]
    0003a134mov x3, x30
    0003a138bl runtime.morestack_noctxt.abi0
    0003a13cldr x0, [sp+8]
    0003a140ldr w1, [sp+16]
    0003a144ldrb w2, [sp+20]
    0003a148b 0x39fa0
    0003a14cudf 0
    00039fa0
    0003a150
    0003a150runtime.(*activeSweep).markDrained: ; void runtime.(*activeSweep).markDrained(runtime.activeSweep * a)
    0003a150ldr x16, [x28+16]
    0003a154subs xzr, sp, x16
    0003a158b.ls 0x3a1b4
    0003a15cstr x30, [sp-32]!
    0003a160stur x29, [sp-8]
    0003a164sub x29, sp, 8
    0003a168str x0, [sp+40]
    0003a16cb 0x3a174
    0003a170
    0003a170loc_3a170:
    0003a170ldr x0, [sp+40]
    0003a174
    0003a174loc_3a174:
    0003a174ldrsb x27, [x0]
    0003a178bl internal/runtime/atomic.(*Uint32).Load
    0003a17ctbnz w0, 31, 0x3a1a4
    0003a180orr x2, x0, 0xffffffff80000000
    0003a184mov x1, x0
    0003a188ldr x0, [sp+40]
    0003a18cbl internal/runtime/atomic.(*Uint32).CompareAndSwap
    0003a190tbz w0, 0, 0x3a170
    0003a194orr x0, xzr, 1
    0003a198ldur x29, [sp-8]
    0003a19cldr x30, [sp], 32
    0003a1a0ret x30
    0003a1a4
    0003a1a4loc_3a1a4:
    0003a1a4mov x0, xzr
    0003a1a8ldur x29, [sp-8]
    0003a1acldr x30, [sp], 32
    0003a1b0ret x30
    0003a1b4
    0003a1b4loc_3a1b4:
    0003a1b4str x0, [sp+8]
    0003a1b8mov x3, x30
    0003a1bcbl runtime.morestack_noctxt.abi0
    0003a1c0ldr x0, [sp+8]
    0003a1c4b 0x3a150
    0003a1c8udf 0
    0003a1ccudf 0
    0003a150
    0003a1d0
    0003a1d0runtime.(*activeSweep).sweepers: ; void runtime.(*activeSweep).sweepers(runtime.activeSweep * a)
    0003a1d0ldr x16, [x28+16]
    0003a1d4subs xzr, sp, x16
    0003a1d8b.ls 0x3a200
    0003a1dcstr x30, [sp-32]!
    0003a1e0stur x29, [sp-8]
    0003a1e4sub x29, sp, 8
    0003a1e8ldrsb x27, [x0]
    0003a1ecbl internal/runtime/atomic.(*Uint32).Load
    0003a1f0and x0, x0, 0x7fffffff
    0003a1f4ldur x29, [sp-8]
    0003a1f8ldr x30, [sp], 32
    0003a1fcret x30
    0003a200
    0003a200loc_3a200:
    0003a200str x0, [sp+8]
    0003a204mov x3, x30
    0003a208bl runtime.morestack_noctxt.abi0
    0003a20cldr x0, [sp+8]
    0003a210b 0x3a1d0
    0003a214udf 0
    0003a218udf 0
    0003a21cudf 0
    0003a1d0
    0003a220
    0003a220runtime.(*activeSweep).isDone: ; void runtime.(*activeSweep).isDone(runtime.activeSweep * a)
    0003a220ldr x16, [x28+16]
    0003a224subs xzr, sp, x16
    0003a228b.ls 0x3a258
    0003a22cstr x30, [sp-32]!
    0003a230stur x29, [sp-8]
    0003a234sub x29, sp, 8
    0003a238ldrsb x27, [x0]
    0003a23cbl internal/runtime/atomic.(*Uint32).Load
    0003a240orr x1, xzr, 0xffffffff80000000
    0003a244subs wzr, w0, w1
    0003a248cset x0, eq
    0003a24cldur x29, [sp-8]
    0003a250ldr x30, [sp], 32
    0003a254ret x30
    0003a258
    0003a258loc_3a258:
    0003a258str x0, [sp+8]
    0003a25cmov x3, x30
    0003a260bl runtime.morestack_noctxt.abi0
    0003a264ldr x0, [sp+8]
    0003a268b 0x3a220
    0003a26cudf 0
    0003a220
    0003a270
    0003a270runtime.(*activeSweep).reset: ; void runtime.(*activeSweep).reset(runtime.activeSweep * a)
    0003a270ldr x16, [x28+16]
    0003a274subs xzr, sp, x16
    0003a278b.ls 0x3a2ac
    0003a27cstr x30, [sp-32]!
    0003a280stur x29, [sp-8]
    0003a284sub x29, sp, 8
    0003a288str x0, [sp+40]
    0003a28cbl runtime.assertWorldStopped
    0003a290ldr x0, [sp+40]
    0003a294ldrsb x27, [x0]
    0003a298mov x1, xzr
    0003a29cbl internal/runtime/atomic.(*Uint32).Store
    0003a2a0ldur x29, [sp-8]
    0003a2a4ldr x30, [sp], 32
    0003a2a8ret x30
    0003a2ac
    0003a2acloc_3a2ac:
    0003a2acstr x0, [sp+8]
    0003a2b0mov x3, x30
    0003a2b4bl runtime.morestack_noctxt.abi0
    0003a2b8ldr x0, [sp+8]
    0003a2bcb 0x3a270
    0003a270
    0003a2c0
    0003a2c0runtime.finishsweep_m: ; void runtime.finishsweep_m(void)
    0003a2c0ldr x16, [x28+16]
    0003a2c4subs xzr, sp, x16
    0003a2c8b.ls 0x3a37c
    0003a2ccstr x30, [sp-64]!
    0003a2d0stur x29, [sp-8]
    0003a2d4sub x29, sp, 8
    0003a2d8bl runtime.assertWorldStopped
    0003a2dc
    0003a2dcloc_3a2dc:
    0003a2dcbl runtime.sweepone
    0003a2e0adds xzr, x0, 1
    0003a2e4b.ne 0x3a2dc
    0003a2e8adrp x0, 0x9e9000
    0003a2ecadd x0, x0, 948
    0003a2f0bl runtime.(*activeSweep).sweepers
    0003a2f4cbnz w0, 0x3a368
    0003a2f8adrp x27, 0xa08000
    0003a2fcldr w1, [x27+2432]
    0003a300str w1, [sp+36]
    0003a304mov x0, xzr
    0003a308b 0x3a344
    0003a30c
    0003a30cloc_3a30c:
    0003a30cstr x0, [sp+40]
    0003a310adrp x2, 0xa08000
    0003a314add x2, x2, 2824
    0003a318add x0, x2, x0, lsl #8
    0003a31cstr x0, [sp+48]
    0003a320bl runtime.(*mcentral).partialUnswept
    0003a324bl runtime.(*spanSet).reset
    0003a328ldr x0, [sp+48]
    0003a32cldr w1, [sp+36]
    0003a330bl runtime.(*mcentral).fullUnswept
    0003a334bl runtime.(*spanSet).reset
    0003a338ldr x2, [sp+40]
    0003a33cadd x0, x2, 1
    0003a340ldr w1, [sp+36]
    0003a344
    0003a344loc_3a344:
    0003a344subs xzr, x0, 136
    0003a348b.lt 0x3a30c
    0003a34cadrp x0, 0x9ea000
    0003a350add x0, x0, 544
    0003a354bl runtime.(*scavengerState).wake
    0003a358bl runtime.nextMarkBitArenaEpoch
    0003a35cldur x29, [sp-8]
    0003a360ldr x30, [sp], 64
    0003a364ret x30
    0003a368
    0003a368loc_3a368:
    0003a368adrp x0, 0x68c000
    0003a36cadd x0, x0, 1288
    0003a370movz x1, 44
    0003a374bl runtime.throw
    0003a378hint
    0003a37c
    0003a37cloc_3a37c:
    0003a37cmov x3, x30
    0003a380bl runtime.morestack_noctxt.abi0
    0003a384b 0x3a2c0
    0003a388udf 0
    0003a38cudf 0
    0003a2c0
    0003a390
    0003a390runtime.bgsweep: ; void runtime.bgsweep(chan int c)
    0003a390ldr x16, [x28+16]
    0003a394subs xzr, sp, x16
    0003a398b.ls 0x3a500
    0003a39cstr x30, [sp-64]!
    0003a3a0stur x29, [sp-8]
    0003a3a4sub x29, sp, 8
    0003a3a8str x0, [sp+72]
    0003a3acstr x28, [sp+48]
    0003a3b0adrp x27, 0xa11000
    0003a3b4ldr w2, [x27+3056]
    0003a3b8cbz w2, 0x3a3d0
    0003a3bcbl runtime.gcWriteBarrier2
    0003a3c0str x28, [x25]
    0003a3c4adrp x27, 0x9e9000
    0003a3c8ldr x2, [x27+936]
    0003a3ccstr x2, [x25+8]
    0003a3d0
    0003a3d0loc_3a3d0:
    0003a3d0ldr x2, [sp+48]
    0003a3d4adrp x27, 0x9e9000
    0003a3d8str x2, [x27+936]
    0003a3dcadrp x0, 0x9e9000
    0003a3e0add x0, x0, 928
    0003a3e4orr x1, xzr, 8
    0003a3e8bl runtime.lockInit
    0003a3ecadrp x0, 0x9e9000
    0003a3f0add x0, x0, 928
    0003a3f4bl runtime.lock
    0003a3f8orr x2, xzr, 1
    0003a3fcadrp x27, 0x9e9000
    0003a400strb w2, [x27+944]
    0003a404ldr x0, [sp+72]
    0003a408adrp x1, 0x6d5000
    0003a40cadd x1, x1, 152
    0003a410bl runtime.chansend1
    0003a414adrp x0, 0x9e9000
    0003a418add x0, x0, 928
    0003a41corr x1, xzr, 12
    0003a420movz x2, 9
    0003a424orr x3, xzr, 1
    0003a428bl runtime.goparkunlock
    0003a42c
    0003a42cloc_3a42c:
    0003a42cmov x0, xzr
    0003a430b 0x3a484
    0003a434
    0003a434loc_3a434:
    0003a434adrp x0, 0x9e9000
    0003a438add x0, x0, 928
    0003a43cbl runtime.lock
    0003a440bl runtime.isSweepDone
    0003a444tbz w0, 0, 0x3a470
    0003a448orr x4, xzr, 1
    0003a44cadrp x27, 0x9e9000
    0003a450strb w4, [x27+944]
    0003a454adrp x0, 0x9e9000
    0003a458add x0, x0, 928
    0003a45corr x1, xzr, 12
    0003a460movz x2, 9
    0003a464orr x3, xzr, 1
    0003a468bl runtime.goparkunlock
    0003a46cb 0x3a42c
    0003a470
    0003a470loc_3a470:
    0003a470adrp x0, 0x9e9000
    0003a474add x0, x0, 928
    0003a478bl runtime.unlock
    0003a47cb 0x3a42c
    0003a480
    0003a480loc_3a480:
    0003a480mov x0, x1
    0003a484
    0003a484loc_3a484:
    0003a484str x0, [sp+32]
    0003a488bl runtime.sweepone
    0003a48cadds xzr, x0, 1
    0003a490b.eq 0x3a4f0
    0003a494ldr x0, [sp+32]
    0003a498add x1, x0, 1
    0003a49cmovz x2, 52429
    0003a4a0movk x2, 0xcccc0000
    0003a4a4movk x2, 0xcccc00000000
    0003a4a8movk x2, 0xcccc000000000000
    0003a4acsmulh x3, x2, x1
    0003a4b0add x0, x3, x0
    0003a4b4add x0, x0, 1
    0003a4b8sbfm x0, x0, 3, 63
    0003a4bcsub x0, x0, x1, asr #63
    0003a4c0add x0, x0, x0, lsl #2
    0003a4c4subs xzr, x1, x0, lsl #1
    0003a4c8b.ne 0x3a480
    0003a4ccstr x1, [sp+40]
    0003a4d0bl runtime.goschedIfBusy
    0003a4d4ldr x1, [sp+40]
    0003a4d8movz x2, 52429
    0003a4dcmovk x2, 0xcccc0000
    0003a4e0movk x2, 0xcccc00000000
    0003a4e4movk x2, 0xcccc000000000000
    0003a4e8b 0x3a480
    0003a4ec
    0003a4ecloc_3a4ec:
    0003a4ecbl runtime.goschedIfBusy
    0003a4f0
    0003a4f0loc_3a4f0:
    0003a4f0orr x0, xzr, 1
    0003a4f4bl runtime.freeSomeWbufs
    0003a4f8tbnz w0, 0, 0x3a4ec
    0003a4fcb 0x3a434
    0003a500
    0003a500loc_3a500:
    0003a500str x0, [sp+8]
    0003a504mov x3, x30
    0003a508bl runtime.morestack_noctxt.abi0
    0003a50cldr x0, [sp+8]
    0003a510b 0x3a390
    0003a514udf 0
    0003a518udf 0
    0003a51cudf 0
    0003a390
    0003a520
    0003a520runtime.(*sweepLocker).tryAcquire: ; void runtime.(*sweepLocker).tryAcquire(runtime.sweepLocker * l, runtime.mspan * s)
    0003a520ldr x16, [x28+16]
    0003a524subs xzr, sp, x16
    0003a528b.ls 0x3a5ec
    0003a52cstr x30, [sp-32]!
    0003a530stur x29, [sp-8]
    0003a534sub x29, sp, 8
    0003a538ldrb w2, [x0+4]
    0003a53ctbz w2, 0, 0x3a5d8
    0003a540ldrsb x27, [x1]
    0003a544add x2, x1, 88
    0003a548ldar w3, [x2]
    0003a54cldr w4, [x0]
    0003a550sub x5, x4, 2
    0003a554subs wzr, w3, w5
    0003a558b.ne 0x3a5c4
    0003a55csub x3, x4, 1
    0003a560adrp x27, 0xa11000
    0003a564ldrb w4, [x27+1516]
    0003a568tbz w4, 0, 0x3a580
    0003a56csbfm x27, x5, 0, 31
    0003a570casal w27, w3, [x2]
    0003a574subs wzr, w27, w5
    0003a578cset x4, eq
    0003a57cb 0x3a598
    0003a580
    0003a580loc_3a580:
    0003a580ldaxr w27, [x2]
    0003a584subs wzr, w27, w5
    0003a588b.ne 0x3a594
    0003a58cstlxr w27, w3, [x2]
    0003a590cbnz x27, 0x3a580
    0003a594
    0003a594loc_3a594:
    0003a594cset x4, eq
    0003a598
    0003a598loc_3a598:
    0003a598tbz w4, 0, 0x3a5b0
    0003a59cmov x0, x1
    0003a5a0orr x1, xzr, 1
    0003a5a4ldur x29, [sp-8]
    0003a5a8ldr x30, [sp], 32
    0003a5acret x30
    0003a5b0
    0003a5b0loc_3a5b0:
    0003a5b0mov x0, xzr
    0003a5b4mov x1, xzr
    0003a5b8ldur x29, [sp-8]
    0003a5bcldr x30, [sp], 32
    0003a5c0ret x30
    0003a5c4
    0003a5c4loc_3a5c4:
    0003a5c4mov x0, xzr
    0003a5c8mov x1, xzr
    0003a5ccldur x29, [sp-8]
    0003a5d0ldr x30, [sp], 32
    0003a5d4ret x30
    0003a5d8
    0003a5d8loc_3a5d8:
    0003a5d8adrp x0, 0x680000
    0003a5dcadd x0, x0, 643
    0003a5e0movz x1, 26
    0003a5e4bl runtime.throw
    0003a5e8hint
    0003a5ec
    0003a5ecloc_3a5ec:
    0003a5ecstp x0, x1, [sp+8]
    0003a5f0mov x3, x30
    0003a5f4bl runtime.morestack_noctxt.abi0
    0003a5f8ldp x0, x1, [sp+8]
    0003a5fcb 0x3a520
    0003a520
    0003a600
    0003a600runtime.sweepone: ; void runtime.sweepone(void)
    0003a600ldr x16, [x28+16]
    0003a604subs xzr, sp, x16
    0003a608b.ls 0x3a80c
    0003a60cstr x30, [sp-96]!
    0003a610stur x29, [sp-8]
    0003a614sub x29, sp, 8
    0003a618str x28, [sp+80]
    0003a61cldr x1, [x28+48]
    0003a620ldrsw x2, [x1+264]
    0003a624add x2, x2, 1
    0003a628str w2, [x1+264]
    0003a62cadrp x0, 0x9e9000
    0003a630add x0, x0, 948
    0003a634bl runtime.(*activeSweep).begin
    0003a638str w0, [sp+32]
    0003a63cstrb w1, [sp+36]
    0003a640tbnz w1, 0, 0x3a668
    0003a644ldr x1, [sp+80]
    0003a648ldr x1, [x1+48]
    0003a64cldrsw x2, [x1+264]
    0003a650sub x2, x2, 1
    0003a654str w2, [x1+264]
    0003a658movn x0, 0
    0003a65cldur x29, [sp-8]
    0003a660ldr x30, [sp], 96
    0003a664ret x30
    0003a668
    0003a668loc_3a668:
    0003a668adrp x0, 0x9f8000
    0003a66cadd x0, x0, 2112
    0003a670bl runtime.(*mheap).nextSpanForSweep
    0003a674cbz x0, 0x3a708
    0003a678str x0, [sp+56]
    0003a67cadd x0, x0, 99
    0003a680bl runtime.(*mSpanStateBox).get
    0003a684ubfm x1, x0, 0, 7
    0003a688subs wzr, w1, 1
    0003a68cb.eq 0x3a6b4
    0003a690ldr x1, [sp+56]
    0003a694ldr w1, [x1+88]
    0003a698ldr w2, [sp+32]
    0003a69csubs wzr, w2, w1
    0003a6a0b.eq 0x3a668
    0003a6a4add x3, x2, 3
    0003a6a8subs wzr, w1, w3
    0003a6acb.eq 0x3a668
    0003a6b0b 0x3a790
    0003a6b4
    0003a6b4loc_3a6b4:
    0003a6b4add x0, sp, 32
    0003a6b8ldr x1, [sp+56]
    0003a6bcbl runtime.(*sweepLocker).tryAcquire
    0003a6c0str x0, [sp+48]
    0003a6c4tbz w1, 0, 0x3a668
    0003a6c8ldr x2, [sp+48]
    0003a6ccldr x2, [x2+32]
    0003a6d0str x2, [sp+64]
    0003a6d4add x0, sp, 48
    0003a6d8mov x1, xzr
    0003a6dcbl runtime.(*sweepLocked).sweep
    0003a6e0tbnz w0, 0, 0x3a6ec
    0003a6e4mov x0, xzr
    0003a6e8b 0x3a700
    0003a6ec
    0003a6ecloc_3a6ec:
    0003a6ecadrp x0, 0xa08000
    0003a6f0add x0, x0, 2512
    0003a6f4ldr x1, [sp+64]
    0003a6f8bl internal/runtime/atomic.(*Uintptr).Add
    0003a6fcldr x0, [sp+64]
    0003a700
    0003a700loc_3a700:
    0003a700mov x1, xzr
    0003a704b 0x3a71c
    0003a708
    0003a708loc_3a708:
    0003a708adrp x0, 0x9e9000
    0003a70cadd x0, x0, 948
    0003a710bl runtime.(*activeSweep).markDrained
    0003a714mov x1, x0
    0003a718movn x0, 0
    0003a71c
    0003a71cloc_3a71c:
    0003a71cstrb w1, [sp+31]
    0003a720str x0, [sp+64]
    0003a724ldr w1, [sp+32]
    0003a728ldrb w2, [sp+36]
    0003a72cadrp x0, 0x9e9000
    0003a730add x0, x0, 948
    0003a734bl runtime.(*activeSweep).end
    0003a738ldrb w0, [sp+31]
    0003a73ctbz w0, 0, 0x3a76c
    0003a740adrp x27, 0xa12000
    0003a744ldrsw x1, [x27+276]
    0003a748subs wzr, w1, 0
    0003a74cb.le 0x3a760
    0003a750adrp x0, 0x69e000
    0003a754add x0, x0, 2576
    0003a758str x0, [sp+8]
    0003a75cbl runtime.systemstack.abi0
    0003a760
    0003a760loc_3a760:
    0003a760adrp x0, 0x9ea000
    0003a764add x0, x0, 544
    0003a768bl runtime.(*scavengerState).ready
    0003a76c
    0003a76cloc_3a76c:
    0003a76cldr x1, [sp+80]
    0003a770ldr x1, [x1+48]
    0003a774ldrsw x2, [x1+264]
    0003a778sub x2, x2, 1
    0003a77cstr w2, [x1+264]
    0003a780ldr x0, [sp+64]
    0003a784ldur x29, [sp-8]
    0003a788ldr x30, [sp], 96
    0003a78cret x30
    0003a790
    0003a790loc_3a790:
    0003a790strb w0, [sp+30]
    0003a794str w1, [sp+44]
    0003a798str w2, [sp+40]
    0003a79cbl runtime.printlock
    0003a7a0adrp x0, 0x680000
    0003a7a4add x0, x0, 669
    0003a7a8movz x1, 26
    0003a7acbl runtime.printstring
    0003a7b0ldrb w0, [sp+30]
    0003a7b4bl runtime.printuint
    0003a7b8adrp x0, 0x678000
    0003a7bcadd x0, x0, 3916
    0003a7c0orr x1, xzr, 12
    0003a7c4bl runtime.printstring
    0003a7c8ldr w0, [sp+40]
    0003a7ccstr x0, [sp+72]
    0003a7d0ldr w0, [sp+44]
    0003a7d4bl runtime.printuint
    0003a7d8adrp x0, 0x678000
    0003a7dcadd x0, x0, 254
    0003a7e0movz x1, 10
    0003a7e4bl runtime.printstring
    0003a7e8ldr x0, [sp+72]
    0003a7ecbl runtime.printuint
    0003a7f0bl runtime.printnl
    0003a7f4bl runtime.printunlock
    0003a7f8adrp x0, 0x683000
    0003a7fcadd x0, x0, 2556
    0003a800orr x1, xzr, 31
    0003a804bl runtime.throw
    0003a808hint
    0003a80c
    0003a80cloc_3a80c:
    0003a80cmov x3, x30
    0003a810bl runtime.morestack_noctxt.abi0
    0003a814b 0x3a600
    0003a818udf 0
    0003a81cudf 0
    0003a600
    0003a820
    0003a820runtime.isSweepDone: ; void runtime.isSweepDone(void)
    0003a820ldr x16, [x28+16]
    0003a824subs xzr, sp, x16
    0003a828b.ls 0x3a850
    0003a82cstr x30, [sp-32]!
    0003a830stur x29, [sp-8]
    0003a834sub x29, sp, 8
    0003a838adrp x0, 0x9e9000
    0003a83cadd x0, x0, 948
    0003a840bl runtime.(*activeSweep).isDone
    0003a844ldur x29, [sp-8]
    0003a848ldr x30, [sp], 32
    0003a84cret x30
    0003a850
    0003a850loc_3a850:
    0003a850mov x3, x30
    0003a854bl runtime.morestack_noctxt.abi0
    0003a858b 0x3a820
    0003a85cudf 0
    0003a820
    0003a860
    0003a860runtime.(*mspan).ensureSwept: ; void runtime.(*mspan).ensureSwept(runtime.mspan * s)
    0003a860ldr x16, [x28+16]
    0003a864subs xzr, sp, x16
    0003a868b.ls 0x3a95c
    0003a86cstr x30, [sp-48]!
    0003a870stur x29, [sp-8]
    0003a874sub x29, sp, 8
    0003a878str x0, [sp+56]
    0003a87cldr x2, [x28+48]
    0003a880ldrsw x3, [x2+264]
    0003a884cbnz w3, 0x3a89c
    0003a888ldrsw x3, [x2+240]
    0003a88ccbnz w3, 0x3a89c
    0003a890ldr x2, [x2]
    0003a894subs xzr, x28, x2
    0003a898b.ne 0x3a948
    0003a89c
    0003a89cloc_3a89c:
    0003a89cadrp x0, 0x9e9000
    0003a8a0add x0, x0, 948
    0003a8a4bl runtime.(*activeSweep).begin
    0003a8a8str w0, [sp+24]
    0003a8acstrb w1, [sp+28]
    0003a8b0tbz w1, 0, 0x3a8dc
    0003a8b4add x0, sp, 24
    0003a8b8ldr x1, [sp+56]
    0003a8bcbl runtime.(*sweepLocker).tryAcquire
    0003a8c0str x0, [sp+32]
    0003a8c4tbnz w1, 0, 0x3a8e4
    0003a8c8ldr w1, [sp+24]
    0003a8ccldrb w2, [sp+28]
    0003a8d0adrp x0, 0x9e9000
    0003a8d4add x0, x0, 948
    0003a8d8bl runtime.(*activeSweep).end
    0003a8dc
    0003a8dcloc_3a8dc:
    0003a8dcldr x0, [sp+56]
    0003a8e0b 0x3a918
    0003a8e4
    0003a8e4loc_3a8e4:
    0003a8e4add x0, sp, 32
    0003a8e8mov x1, xzr
    0003a8ecbl runtime.(*sweepLocked).sweep
    0003a8f0ldr w1, [sp+24]
    0003a8f4ldrb w2, [sp+28]
    0003a8f8adrp x0, 0x9e9000
    0003a8fcadd x0, x0, 948
    0003a900bl runtime.(*activeSweep).end
    0003a904ldur x29, [sp-8]
    0003a908ldr x30, [sp], 48
    0003a90cret x30
    0003a910
    0003a910loc_3a910:
    0003a910bl runtime.osyield.abi0
    0003a914ldr x0, [sp+56]
    0003a918
    0003a918loc_3a918:
    0003a918ldrsb x27, [x0]
    0003a91cadd x1, x0, 88
    0003a920ldar w1, [x1]
    0003a924ldr w2, [sp+24]
    0003a928subs wzr, w1, w2
    0003a92cb.eq 0x3a93c
    0003a930add x2, x2, 3
    0003a934subs wzr, w1, w2
    0003a938b.ne 0x3a910
    0003a93c
    0003a93cloc_3a93c:
    0003a93cldur x29, [sp-8]
    0003a940ldr x30, [sp], 48
    0003a944ret x30
    0003a948
    0003a948loc_3a948:
    0003a948adrp x0, 0x685000
    0003a94cadd x0, x0, 3683
    0003a950movz x1, 34
    0003a954bl runtime.throw
    0003a958hint
    0003a95c
    0003a95cloc_3a95c:
    0003a95cstr x0, [sp+8]
    0003a960mov x3, x30
    0003a964bl runtime.morestack_noctxt.abi0
    0003a968ldr x0, [sp+8]
    0003a96cb 0x3a860
    0003a860
    0003a970
    0003a970runtime.(*sweepLocked).sweep: ; void runtime.(*sweepLocked).sweep(runtime.sweepLocked * sl, bool preserve)
    0003a970ldr x16, [x28+16]
    0003a974sub x17, sp, 192
    0003a978subs xzr, x17, x16
    0003a97cb.ls 0x3b4dc
    0003a980sub x20, sp, 320
    0003a984stp x29, x30, [x20-8]
    0003a988add sp, x20, 0
    0003a98csub x29, sp, 8
    0003a990ldr x2, [x28+48]
    0003a994ldrsw x3, [x2+264]
    0003a998cbnz w3, 0x3a9b0
    0003a99cldrsw x3, [x2+240]
    0003a9a0cbnz w3, 0x3a9b0
    0003a9a4ldr x2, [x2]
    0003a9a8subs xzr, x28, x2
    0003a9acb.ne 0x3b4c8
    0003a9b0
    0003a9b0loc_3a9b0:
    0003a9b0strb w1, [sp+336]
    0003a9b4ldr x2, [x0]
    0003a9b8tbnz w1, 0, 0x3a9c0
    0003a9bcstr xzr, [x0]
    0003a9c0
    0003a9c0loc_3a9c0:
    0003a9c0str x2, [sp+80]
    0003a9c4ldrsb x27, [x2]
    0003a9c8add x0, x2, 99
    0003a9ccstr x0, [sp+304]
    0003a9d0adrp x27, 0xa08000
    0003a9d4ldr w1, [x27+2432]
    0003a9d8str w1, [sp+52]
    0003a9dcbl runtime.(*mSpanStateBox).get
    0003a9e0ubfm x1, x0, 0, 7
    0003a9e4subs wzr, w1, 1
    0003a9e8b.ne 0x3b4bc
    0003a9ecldr x1, [sp+80]
    0003a9f0ldr w2, [x1+88]
    0003a9f4ldr w3, [sp+52]
    0003a9f8sub x4, x3, 1
    0003a9fcsubs wzr, w2, w4
    0003aa00b.ne 0x3b440
    0003aa04str w4, [sp+60]
    0003aa08bl runtime.traceAcquire
    0003aa0cstr x0, [sp+296]
    0003aa10str x1, [sp+176]
    0003aa14bl runtime.traceLocker.ok
    0003aa18tbz w0, 0, 0x3aa40
    0003aa1cldr x3, [sp+80]
    0003aa20ldr x3, [x3+32]
    0003aa24ubfm x2, x3, 51, 50
    0003aa28ldr x0, [sp+296]
    0003aa2cldr x1, [sp+176]
    0003aa30bl runtime.traceLocker.GCSweepSpan
    0003aa34ldr x0, [sp+296]
    0003aa38ldr x1, [sp+176]
    0003aa3cbl runtime.traceRelease
    0003aa40
    0003aa40loc_3aa40:
    0003aa40ldr x2, [sp+80]
    0003aa44ldr x1, [x2+32]
    0003aa48adrp x0, 0xa08000
    0003aa4cadd x0, x0, 2472
    0003aa50bl internal/runtime/atomic.(*Uint64).Add
    0003aa54ldr x0, [sp+80]
    0003aa58ldrb w2, [x0+98]
    0003aa5cstrb w2, [sp+46]
    0003aa60ldr x2, [x0+104]
    0003aa64str x2, [sp+72]
    0003aa68ldr x2, [x0+128]
    0003aa6cstr x2, [sp+168]
    0003aa70bl runtime.newSpecialsIter
    0003aa74str x0, [sp+224]
    0003aa78str x1, [sp+232]
    0003aa7c
    0003aa7cloc_3aa7c:
    0003aa7cadd x0, sp, 224
    0003aa80bl runtime.(*specialsIter).valid
    0003aa84tbz w0, 0, 0x3ab7c
    0003aa88ldr x0, [sp+72]
    0003aa8ccbz x0, 0x3b43c
    0003aa90ldr x1, [sp+232]
    0003aa94ldr x1, [x1+8]
    0003aa98str x1, [sp+176]
    0003aa9cldr x0, [sp+80]
    0003aaa0bl runtime.(*mspan).base
    0003aaa4str x0, [sp+160]
    0003aaa8ldr x1, [sp+176]
    0003aaacldr x2, [sp+72]
    0003aab0udiv x1, x1, x2
    0003aab4str x1, [sp+104]
    0003aab8ldr x0, [sp+80]
    0003aabcbl runtime.(*mspan).markBitsForIndex
    0003aac0str x0, [sp+288]
    0003aac4strb w1, [sp+47]
    0003aac8str x2, [sp+176]
    0003aaccldr x3, [sp+160]
    0003aad0ldr x4, [sp+104]
    0003aad4ldr x5, [sp+72]
    0003aad8madd x3, x5, x4, x3
    0003aadcstr x3, [sp+96]
    0003aae0bl runtime.markBits.isMarked
    0003aae4tbz w0, 0, 0x3ab24
    0003aae8ldr x1, [sp+232]
    0003aaecldrb w1, [x1+16]
    0003aaf0subs wzr, w1, 4
    0003aaf4b.ne 0x3ab18
    0003aaf8add x0, sp, 224
    0003aafcbl runtime.(*specialsIter).unlinkAndNext
    0003ab00orr x1, xzr, 1
    0003ab04strb w1, [x0+25]
    0003ab08ldr x1, [sp+96]
    0003ab0cldr x2, [sp+72]
    0003ab10bl runtime.freeSpecial
    0003ab14b 0x3aa7c
    0003ab18
    0003ab18loc_3ab18:
    0003ab18add x0, sp, 224
    0003ab1cbl runtime.(*specialsIter).next
    0003ab20b 0x3aa7c
    0003ab24
    0003ab24loc_3ab24:
    0003ab24ldr x0, [sp+80]
    0003ab28bl runtime.(*mspan).base
    0003ab2cldr x1, [sp+96]
    0003ab30sub x1, x1, x0
    0003ab34ldr x2, [sp+72]
    0003ab38add x1, x1, x2
    0003ab3cstr x1, [sp+128]
    0003ab40ldr x3, [sp+232]
    0003ab44b 0x3b344
    0003ab48
    0003ab48loc_3ab48:
    0003ab48ldr x0, [sp+288]
    0003ab4cldrb w1, [sp+47]
    0003ab50ldr x2, [sp+176]
    0003ab54bl runtime.markBits.setMarkedNonAtomic
    0003ab58ldr x1, [sp+128]
    0003ab5cldr x2, [sp+72]
    0003ab60orr x0, xzr, 1
    0003ab64b 0x3ab74
    0003ab68
    0003ab68loc_3ab68:
    0003ab68mov x0, xzr
    0003ab6cb 0x3ab74
    0003ab70
    0003ab70loc_3ab70:
    0003ab70mov x0, xzr
    0003ab74
    0003ab74loc_3ab74:
    0003ab74tbnz w0, 0, 0x3b3c4
    0003ab78b 0x3b3a0
    0003ab7c
    0003ab7cloc_3ab7c:
    0003ab7cldr x0, [sp+168]
    0003ab80cbz x0, 0x3ab98
    0003ab84ldr x0, [sp+80]
    0003ab88ldr x1, [x0+128]
    0003ab8ccbnz x1, 0x3ab9c
    0003ab90bl runtime.spanHasNoSpecials
    0003ab94b 0x3ab9c
    0003ab98
    0003ab98loc_3ab98:
    0003ab98ldr x0, [sp+80]
    0003ab9c
    0003ab9cloc_3ab9c:
    0003ab9cbl runtime.traceAllocFreeEnabled
    0003aba0tbnz w0, 0, 0x3abb0
    0003aba4adrp x27, 0xa12000
    0003aba8ldrsw x2, [x27+228]
    0003abaccbz w2, 0x3abe4
    0003abb0
    0003abb0loc_3abb0:
    0003abb0ldr x0, [sp+80]
    0003abb4bl runtime.(*mspan).markBitsForBase
    0003abb8str x0, [sp+240]
    0003abbcstrb w1, [sp+248]
    0003abc0str x2, [sp+256]
    0003abc4ldr x0, [sp+80]
    0003abc8mov x1, xzr
    0003abccbl runtime.(*mspan).allocBitsForIndex
    0003abd0str x0, [sp+264]
    0003abd4strb w1, [sp+272]
    0003abd8str x2, [sp+280]
    0003abdcmov x0, xzr
    0003abe0b 0x3b26c
    0003abe4
    0003abe4loc_3abe4:
    0003abe4ldr x0, [sp+80]
    0003abe8ldrh w2, [x0+48]
    0003abecmov x3, x2
    0003abf0ldrh w4, [x0+50]
    0003abf4subs wzr, w3, w4
    0003abf8b.hs 0x3ac60
    0003abfcstrh w2, [sp+50]
    0003ac00ldr x0, [x0+72]
    0003ac04ubfm x1, x2, 3, 15
    0003ac08str x1, [sp+176]
    0003ac0cbl runtime.(*gcBits).bytep
    0003ac10str x0, [sp+288]
    0003ac14ldr x2, [sp+80]
    0003ac18ldr x0, [x2+64]
    0003ac1cldr x1, [sp+176]
    0003ac20bl runtime.(*gcBits).bytep
    0003ac24ldr x2, [sp+288]
    0003ac28ldrb w2, [x2]
    0003ac2cldrb w3, [x0]
    0003ac30bic x2, x2, x3
    0003ac34ubfm x2, x2, 0, 7
    0003ac38ldrh w3, [sp+50]
    0003ac3cand x3, x3, 7
    0003ac40lsrv x2, x2, x3
    0003ac44ubfm x2, x2, 0, 7
    0003ac48cbz w2, 0x3ac54
    0003ac4cldr x0, [sp+80]
    0003ac50bl runtime.(*mspan).reportZombies
    0003ac54
    0003ac54loc_3ac54:
    0003ac54ldr x2, [sp+176]
    0003ac58add x2, x2, 1
    0003ac5cb 0x3b1e4
    0003ac60
    0003ac60loc_3ac60:
    0003ac60bl runtime.(*mspan).countAlloc
    0003ac64ldr x1, [sp+80]
    0003ac68ldrh w2, [x1+96]
    0003ac6cubfm x3, x0, 0, 15
    0003ac70mov x4, x2
    0003ac74sub x5, x2, x0
    0003ac78subs wzr, w4, w3
    0003ac7cb.lo 0x3b140
    0003ac80strh w5, [sp+48]
    0003ac84str w3, [sp+56]
    0003ac88strh w0, [x1+96]
    0003ac8cstrh wzr, [x1+48]
    0003ac90strh wzr, [x1+52]
    0003ac94bl runtime.traceEnabled
    0003ac98tbnz w0, 0, 0x3aca4
    0003ac9cldr x4, [sp+80]
    0003aca0b 0x3acd0
    0003aca4
    0003aca4loc_3aca4:
    0003aca4ldr x1, [x28+48]
    0003aca8ldr x0, [x1+208]
    0003acacbl runtime.puintptr.ptr
    0003acb0ldrsb x27, [x0]
    0003acb4ldr x1, [x0+4616]
    0003acb8ldrh w2, [sp+48]
    0003acbcmov x3, x2
    0003acc0ldr x4, [sp+80]
    0003acc4ldr x5, [x4+104]
    0003acc8madd x1, x3, x5, x1
    0003acccstr x1, [x0+4616]
    0003acd0
    0003acd0loc_3acd0:
    0003acd0ldr x1, [x4+72]
    0003acd4str x1, [x4+64]
    0003acd8ldrh w1, [x4+50]
    0003acdcmov x0, x1
    0003ace0bl runtime.newMarkBits
    0003ace4ldr x1, [sp+80]
    0003ace8str x0, [x1+72]
    0003acecldr x2, [x1+80]
    0003acf0cbz x2, 0x3ad00
    0003acf4mov x0, x1
    0003acf8bl runtime.(*mspan).refreshPinnerBits
    0003acfcldr x1, [sp+80]
    0003ad00
    0003ad00loc_3ad00:
    0003ad00mov x0, x1
    0003ad04mov x1, xzr
    0003ad08bl runtime.(*mspan).refillAllocCache
    0003ad0cldr x0, [sp+304]
    0003ad10bl runtime.(*mSpanStateBox).get
    0003ad14ubfm x2, x0, 0, 7
    0003ad18subs wzr, w2, 1
    0003ad1cb.ne 0x3b138
    0003ad20ldr x2, [sp+80]
    0003ad24ldr w3, [x2+88]
    0003ad28ldr w4, [sp+60]
    0003ad2csubs wzr, w3, w4
    0003ad30b.ne 0x3b0bc
    0003ad34ldr w1, [sp+52]
    0003ad38add x4, x1, 1
    0003ad3csubs wzr, w3, w4
    0003ad40b.eq 0x3b0ac
    0003ad44add x4, x1, 3
    0003ad48subs wzr, w3, w4
    0003ad4cb.eq 0x3b0ac
    0003ad50add x3, x2, 88
    0003ad54stlr w1, [x3]
    0003ad58ldrb w3, [x2+101]
    0003ad5ctbz w3, 0, 0x3adf8
    0003ad60ldrb w0, [sp+336]
    0003ad64tbnz w0, 0, 0x3b09c
    0003ad68ldr w0, [sp+56]
    0003ad6ccbz w0, 0x3ada8
    0003ad70ldrb w3, [sp+46]
    0003ad74mov x0, x3
    0003ad78subs xzr, x0, 136
    0003ad7cb.hs 0x3b094
    0003ad80adrp x2, 0xa08000
    0003ad84add x2, x2, 2824
    0003ad88add x0, x2, x0, lsl #8
    0003ad8cbl runtime.(*mcentral).fullSwept
    0003ad90ldr x1, [sp+80]
    0003ad94bl runtime.(*spanSet).push
    0003ad98mov x0, xzr
    0003ad9cldp x29, x30, [sp-8]
    0003ada0add sp, sp, 320
    0003ada4ret x30
    0003ada8
    0003ada8loc_3ada8:
    0003ada8ldr x2, [x2+32]
    0003adacsub x1, xzr, x2
    0003adb0adrp x0, 0xa08000
    0003adb4add x0, x0, 2464
    0003adb8bl internal/runtime/atomic.(*Uintptr).Add
    0003adbcldr x0, [sp+304]
    0003adc0mov x1, xzr
    0003adc4bl runtime.(*mSpanStateBox).set
    0003adc8adrp x2, 4096
    0003adccadd x2, x2, 1280
    0003add0str x2, [sp+184]
    0003add4ldr x2, [sp+80]
    0003add8str x2, [sp+192]
    0003addcadd x2, sp, 184
    0003ade0str x2, [sp+8]
    0003ade4bl runtime.systemstack.abi0
    0003ade8mov x0, xzr
    0003adecldp x29, x30, [sp-8]
    0003adf0add sp, sp, 320
    0003adf4ret x30
    0003adf8
    0003adf8loc_3adf8:
    0003adf8ldrb w0, [sp+46]
    0003adfcbl runtime.spanClass.sizeclass
    0003ae00ubfm x1, x0, 0, 7
    0003ae04cbz w1, 0x3af4c
    0003ae08ldrh w2, [sp+48]
    0003ae0cmov x3, x2
    0003ae10cbz w3, 0x3aeac
    0003ae14orr x1, xzr, 1
    0003ae18ldr x2, [sp+80]
    0003ae1cstrb w1, [x2+100]
    0003ae20adrp x0, 0xa16000
    0003ae24add x0, x0, 1056
    0003ae28bl runtime.(*consistentHeapStats).acquire
    0003ae2cstr x0, [sp+216]
    0003ae30ldrb w0, [sp+46]
    0003ae34bl runtime.spanClass.sizeclass
    0003ae38sbfm x0, x0, 0, 7
    0003ae3csubs xzr, x0, 68
    0003ae40b.hs 0x3b08c
    0003ae44ldr x1, [sp+216]
    0003ae48ldrsb x27, [x1]
    0003ae4cadd x1, x1, 632
    0003ae50add x1, x1, x0, lsl #3
    0003ae54ldrh w2, [sp+48]
    0003ae58str x2, [sp+152]
    0003ae5cadrp x27, 0xa11000
    0003ae60ldrb w3, [x27+1516]
    0003ae64tbz w3, 0, 0x3ae74
    0003ae68ldaddal x2, x3, [x1]
    0003ae6cadd x3, x3, x2
    0003ae70b 0x3ae84
    0003ae74
    0003ae74loc_3ae74:
    0003ae74ldaxr x3, [x1]
    0003ae78add x3, x3, x2
    0003ae7cstlxr w27, x3, [x1]
    0003ae80cbnz x27, 0x3ae74
    0003ae84
    0003ae84loc_3ae84:
    0003ae84adrp x0, 0xa16000
    0003ae88add x0, x0, 1056
    0003ae8cbl runtime.(*consistentHeapStats).release
    0003ae90ldr x1, [sp+80]
    0003ae94ldr x1, [x1+104]
    0003ae98ldr x2, [sp+152]
    0003ae9cmadd x1, x2, x1, xzr
    0003aea0adrp x0, 0xa12000
    0003aea4add x0, x0, 2800
    0003aea8bl internal/runtime/atomic.(*Uint64).Add
    0003aeac
    0003aeacloc_3aeac:
    0003aeacldrb w0, [sp+336]
    0003aeb0tbnz w0, 0, 0x3af88
    0003aeb4ldr w0, [sp+56]
    0003aeb8cbz w0, 0x3af2c
    0003aebcldr x2, [sp+80]
    0003aec0ldrh w3, [x2+50]
    0003aec4subs wzr, w3, w0
    0003aec8b.ne 0x3aefc
    0003aeccldrb w3, [sp+46]
    0003aed0mov x0, x3
    0003aed4subs xzr, x0, 136
    0003aed8b.hs 0x3b084
    0003aedcadrp x2, 0xa08000
    0003aee0add x2, x2, 2824
    0003aee4add x0, x2, x0, lsl #8
    0003aee8ldr w1, [sp+52]
    0003aeecbl runtime.(*mcentral).fullSwept
    0003aef0ldr x1, [sp+80]
    0003aef4bl runtime.(*spanSet).push
    0003aef8b 0x3af88
    0003aefc
    0003aefcloc_3aefc:
    0003aefcldrb w3, [sp+46]
    0003af00mov x0, x3
    0003af04subs xzr, x0, 136
    0003af08b.hs 0x3b07c
    0003af0cadrp x2, 0xa08000
    0003af10add x2, x2, 2824
    0003af14add x0, x2, x0, lsl #8
    0003af18ldr w1, [sp+52]
    0003af1cbl runtime.(*mcentral).partialSwept
    0003af20ldr x1, [sp+80]
    0003af24bl runtime.(*spanSet).push
    0003af28b 0x3af88
    0003af2c
    0003af2cloc_3af2c:
    0003af2cadrp x0, 0x9f8000
    0003af30add x0, x0, 2112
    0003af34ldr x1, [sp+80]
    0003af38bl runtime.(*mheap).freeSpan
    0003af3corr x0, xzr, 1
    0003af40ldp x29, x30, [sp-8]
    0003af44add sp, sp, 320
    0003af48ret x30
    0003af4c
    0003af4cloc_3af4c:
    0003af4cldrb w0, [sp+336]
    0003af50tbnz w0, 0, 0x3af88
    0003af54ldrh w2, [sp+48]
    0003af58cbnz w2, 0x3af98
    0003af5cldrb w2, [sp+46]
    0003af60mov x0, x2
    0003af64subs xzr, x0, 136
    0003af68b.hs 0x3b074
    0003af6cadrp x2, 0xa08000
    0003af70add x2, x2, 2824
    0003af74add x0, x2, x0, lsl #8
    0003af78ldr w1, [sp+52]
    0003af7cbl runtime.(*mcentral).fullSwept
    0003af80ldr x1, [sp+80]
    0003af84bl runtime.(*spanSet).push
    0003af88
    0003af88loc_3af88:
    0003af88mov x0, xzr
    0003af8cldp x29, x30, [sp-8]
    0003af90add sp, sp, 320
    0003af94ret x30
    0003af98
    0003af98loc_3af98:
    0003af98adrp x0, 0xa16000
    0003af9cadd x0, x0, 1056
    0003afa0bl runtime.(*consistentHeapStats).acquire
    0003afa4ldrsb x27, [x0]
    0003afa8add x1, x0, 624
    0003afacadrp x27, 0xa11000
    0003afb0ldrb w2, [x27+1516]
    0003afb4tbz w2, 0, 0x3afc8
    0003afb8orr x2, xzr, 1
    0003afbcldaddal x2, x3, [x1]
    0003afc0add x3, x3, x2
    0003afc4b 0x3afdc
    0003afc8
    0003afc8loc_3afc8:
    0003afc8orr x2, xzr, 1
    0003afcc
    0003afccloc_3afcc:
    0003afccldaxr x3, [x1]
    0003afd0add x3, x3, x2
    0003afd4stlxr w27, x3, [x1]
    0003afd8cbnz x27, 0x3afcc
    0003afdc
    0003afdcloc_3afdc:
    0003afdcadd x1, x0, 616
    0003afe0adrp x27, 0xa11000
    0003afe4ldrb w2, [x27+1516]
    0003afe8tbz w2, 0, 0x3affc
    0003afecldr x2, [sp+72]
    0003aff0ldaddal x2, x3, [x1]
    0003aff4add x3, x3, x2
    0003aff8b 0x3b010
    0003affc
    0003affcloc_3affc:
    0003affcldr x2, [sp+72]
    0003b000
    0003b000loc_3b000:
    0003b000ldaxr x3, [x1]
    0003b004add x3, x3, x2
    0003b008stlxr w27, x3, [x1]
    0003b00ccbnz x27, 0x3b000
    0003b010
    0003b010loc_3b010:
    0003b010adrp x0, 0xa15000
    0003b014add x0, x0, 1056
    0003b018bl runtime.(*consistentHeapStats).release
    0003b01cadrp x0, 0xa11000
    0003b020add x0, x0, 2800
    0003b024ldr x1, [sp+72]
    0003b028bl internal/runtime/atomic.(*Uint64).Add
    0003b02cadrp x27, 0xa11000
    0003b030ldrsw x1, [x27+240]
    0003b034subs wzr, w1, 0
    0003b038b.le 0x3b054
    0003b03cldr x0, [sp+80]
    0003b040str xzr, [x0+112]
    0003b044bl runtime.(*mspan).base
    0003b048ldr x1, [sp+72]
    0003b04cbl runtime.sysFault
    0003b050b 0x3b064
    0003b054
    0003b054loc_3b054:
    0003b054adrp x0, 0x9f7000
    0003b058add x0, x0, 2112
    0003b05cldr x1, [sp+80]
    0003b060bl runtime.(*mheap).freeSpan
    0003b064
    0003b064loc_3b064:
    0003b064orr x0, xzr, 1
    0003b068ldp x29, x30, [sp-8]
    0003b06cadd sp, sp, 320
    0003b070ret x30
    0003b074
    0003b074loc_3b074:
    0003b074movz x1, 136
    0003b078bl runtime.panicIndex
    0003b07c
    0003b07cloc_3b07c:
    0003b07cmovz x1, 136
    0003b080bl runtime.panicIndex
    0003b084
    0003b084loc_3b084:
    0003b084movz x1, 136
    0003b088bl runtime.panicIndex
    0003b08c
    0003b08cloc_3b08c:
    0003b08cmovz x1, 68
    0003b090bl runtime.panicIndex
    0003b094
    0003b094loc_3b094:
    0003b094movz x1, 136
    0003b098bl runtime.panicIndex
    0003b09c
    0003b09cloc_3b09c:
    0003b09cadrp x0, 0x68a000
    0003b0a0add x0, x0, 949
    0003b0a4movz x1, 42
    0003b0a8bl runtime.throw
    0003b0ac
    0003b0acloc_3b0ac:
    0003b0acadrp x0, 0x67a000
    0003b0b0add x0, x0, 200
    0003b0b4movz x1, 17
    0003b0b8bl runtime.throw
    0003b0bc
    0003b0bcloc_3b0bc:
    0003b0bcubfm x0, x0, 0, 7
    0003b0c0str x0, [sp+144]
    0003b0c4ldr w0, [sp+52]
    0003b0c8str x0, [sp+136]
    0003b0ccldr w0, [x2+88]
    0003b0d0str w0, [sp+60]
    0003b0d4bl runtime.printlock
    0003b0d8adrp x0, 0x67b000
    0003b0dcadd x0, x0, 92
    0003b0e0movz x1, 19
    0003b0e4bl runtime.printstring
    0003b0e8ldr x0, [sp+144]
    0003b0ecbl runtime.printuint
    0003b0f0adrp x0, 0x677000
    0003b0f4add x0, x0, 254
    0003b0f8movz x1, 10
    0003b0fcbl runtime.printstring
    0003b100ldr w0, [sp+60]
    0003b104bl runtime.printuint
    0003b108adrp x0, 0x679000
    0003b10cadd x0, x0, 2276
    0003b110orr x1, xzr, 16
    0003b114bl runtime.printstring
    0003b118ldr x0, [sp+136]
    0003b11cbl runtime.printuint
    0003b120bl runtime.printnl
    0003b124bl runtime.printunlock
    0003b128adrp x0, 0x688000
    0003b12cadd x0, x0, 1417
    0003b130movz x1, 39
    0003b134bl runtime.throw
    0003b138
    0003b138loc_3b138:
    0003b138ldr x2, [sp+80]
    0003b13cb 0x3b0bc
    0003b140
    0003b140loc_3b140:
    0003b140ubfm x0, x0, 0, 15
    0003b144str x0, [sp+144]
    0003b148mov x0, x2
    0003b14cstr x0, [sp+136]
    0003b150ubfm x0, x5, 0, 15
    0003b154str x0, [sp+208]
    0003b158ldrh w0, [x1+50]
    0003b15cstrh w0, [sp+50]
    0003b160bl runtime.printlock
    0003b164adrp x0, 0x679000
    0003b168add x0, x0, 2292
    0003b16corr x1, xzr, 16
    0003b170bl runtime.printstring
    0003b174ldrh w0, [sp+50]
    0003b178bl runtime.printuint
    0003b17cadrp x0, 0x676000
    0003b180add x0, x0, 668
    0003b184orr x1, xzr, 8
    0003b188bl runtime.printstring
    0003b18cldr x0, [sp+144]
    0003b190bl runtime.printuint
    0003b194adrp x0, 0x67c000
    0003b198add x0, x0, 480
    0003b19cmovz x1, 21
    0003b1a0bl runtime.printstring
    0003b1a4ldr x0, [sp+136]
    0003b1a8bl runtime.printuint
    0003b1acadrp x0, 0x676000
    0003b1b0add x0, x0, 676
    0003b1b4orr x1, xzr, 8
    0003b1b8bl runtime.printstring
    0003b1bcldr x0, [sp+208]
    0003b1c0bl runtime.printuint
    0003b1c4bl runtime.printnl
    0003b1c8bl runtime.printunlock
    0003b1ccadrp x0, 0x683000
    0003b1d0add x0, x0, 1264
    0003b1d4orr x1, xzr, 32
    0003b1d8bl runtime.throw
    0003b1dc
    0003b1dcloc_3b1dc:
    0003b1dcldr x3, [sp+112]
    0003b1e0add x2, x3, 1
    0003b1e4
    0003b1e4loc_3b1e4:
    0003b1e4str x2, [sp+112]
    0003b1e8ldr x2, [sp+80]
    0003b1ecldrh w2, [x2+50]
    0003b1f0mov x0, x2
    0003b1f4orr x1, xzr, 8
    0003b1f8bl runtime.divRoundUp
    0003b1fcldr x1, [sp+112]
    0003b200subs xzr, x0, x1
    0003b204b.ls 0x3b24c
    0003b208ldr x2, [sp+80]
    0003b20cldr x0, [x2+72]
    0003b210bl runtime.(*gcBits).bytep
    0003b214str x0, [sp+288]
    0003b218ldr x2, [sp+80]
    0003b21cldr x0, [x2+64]
    0003b220ldr x1, [sp+112]
    0003b224bl runtime.(*gcBits).bytep
    0003b228ldr x2, [sp+288]
    0003b22cldrb w2, [x2]
    0003b230ldrb w3, [x0]
    0003b234bic x2, x2, x3
    0003b238ubfm x2, x2, 0, 7
    0003b23ccbz w2, 0x3b1dc
    0003b240ldr x0, [sp+80]
    0003b244bl runtime.(*mspan).reportZombies
    0003b248b 0x3b1dc
    0003b24c
    0003b24cloc_3b24c:
    0003b24cldr x0, [sp+80]
    0003b250b 0x3ac60
    0003b254
    0003b254loc_3b254:
    0003b254add x0, sp, 240
    0003b258bl runtime.(*markBits).advance
    0003b25cadd x0, sp, 264
    0003b260bl runtime.(*markBits).advance
    0003b264ldr x1, [sp+120]
    0003b268add x0, x1, 1
    0003b26c
    0003b26cloc_3b26c:
    0003b26cldr x3, [sp+80]
    0003b270ldrh w4, [x3+50]
    0003b274subs xzr, x0, x4
    0003b278b.hs 0x3abe4
    0003b27cstr x0, [sp+120]
    0003b280ldr x0, [sp+240]
    0003b284ldrb w1, [sp+248]
    0003b288ldr x2, [sp+256]
    0003b28cbl runtime.markBits.isMarked
    0003b290tbz w0, 0, 0x3b2a0
    0003b294ldr x0, [sp+80]
    0003b298mov x1, xzr
    0003b29cb 0x3b2d0
    0003b2a0
    0003b2a0loc_3b2a0:
    0003b2a0ldr x2, [sp+280]
    0003b2a4ldr x0, [sp+80]
    0003b2a8ldrh w3, [x0+48]
    0003b2acsubs xzr, x3, x2
    0003b2b0b.ls 0x3b2bc
    0003b2b4orr x1, xzr, 1
    0003b2b8b 0x3b2d0
    0003b2bc
    0003b2bcloc_3b2bc:
    0003b2bcldr x0, [sp+264]
    0003b2c0ldrb w1, [sp+272]
    0003b2c4bl runtime.markBits.isMarked
    0003b2c8mov x1, x0
    0003b2ccldr x0, [sp+80]
    0003b2d0
    0003b2d0loc_3b2d0:
    0003b2d0tbz w1, 0, 0x3b254
    0003b2d4bl runtime.(*mspan).base
    0003b2d8ldr x1, [sp+80]
    0003b2dcldr x1, [x1+104]
    0003b2e0ldr x2, [sp+120]
    0003b2e4madd x1, x1, x2, x0
    0003b2e8str x1, [sp+64]
    0003b2ecbl runtime.traceAllocFreeEnabled
    0003b2f0tbz w0, 0, 0x3b324
    0003b2f4bl runtime.traceAcquire
    0003b2f8str x0, [sp+296]
    0003b2fcstr x1, [sp+176]
    0003b300bl runtime.traceLocker.ok
    0003b304tbz w0, 0, 0x3b324
    0003b308ldr x0, [sp+296]
    0003b30cldr x1, [sp+176]
    0003b310ldr x2, [sp+64]
    0003b314bl runtime.traceLocker.HeapObjectFree
    0003b318ldr x0, [sp+296]
    0003b31cldr x1, [sp+176]
    0003b320bl runtime.traceRelease
    0003b324
    0003b324loc_3b324:
    0003b324adrp x27, 0xa11000
    0003b328ldrsw x2, [x27+228]
    0003b32ccbz w2, 0x3b254
    0003b330ldr x0, [sp+64]
    0003b334ldr x1, [sp+72]
    0003b338bl runtime.clobberfree
    0003b33cb 0x3b254
    0003b340
    0003b340loc_3b340:
    0003b340ldr x3, [x3]
    0003b344
    0003b344loc_3b344:
    0003b344cbz x3, 0x3ab70
    0003b348ldr x4, [x3+8]
    0003b34csubs xzr, x4, x1
    0003b350b.hs 0x3ab68
    0003b354ldrb w4, [x3+16]
    0003b358subs wzr, w4, 1
    0003b35cb.ne 0x3b340
    0003b360b 0x3ab48
    0003b364
    0003b364loc_3b364:
    0003b364str x1, [sp+200]
    0003b368ldr x0, [sp+80]
    0003b36cbl runtime.(*mspan).base
    0003b370str x0, [sp+176]
    0003b374ldr x1, [sp+200]
    0003b378ldr x1, [x1+8]
    0003b37cstr x1, [sp+160]
    0003b380add x0, sp, 224
    0003b384bl runtime.(*specialsIter).unlinkAndNext
    0003b388ldr x1, [sp+160]
    0003b38cldr x2, [sp+176]
    0003b390add x1, x1, x2
    0003b394ldr x0, [sp+200]
    0003b398ldr x2, [sp+72]
    0003b39cbl runtime.freeSpecial
    0003b3a0
    0003b3a0loc_3b3a0:
    0003b3a0add x0, sp, 224
    0003b3a4bl runtime.(*specialsIter).valid
    0003b3a8tbz w0, 0, 0x3aa7c
    0003b3acldr x1, [sp+232]
    0003b3b0ldr x2, [x1+8]
    0003b3b4ldr x3, [sp+128]
    0003b3b8subs xzr, x2, x3
    0003b3bcb.lo 0x3b364
    0003b3c0b 0x3aa7c
    0003b3c4
    0003b3c4loc_3b3c4:
    0003b3c4add x0, sp, 224
    0003b3c8bl runtime.(*specialsIter).valid
    0003b3cctbz w0, 0, 0x3aa7c
    0003b3d0ldr x1, [sp+232]
    0003b3d4ldr x2, [x1+8]
    0003b3d8ldr x3, [sp+128]
    0003b3dcsubs xzr, x2, x3
    0003b3e0b.hs 0x3aa7c
    0003b3e4str x1, [sp+200]
    0003b3e8ldr x0, [sp+80]
    0003b3ecbl runtime.(*mspan).base
    0003b3f0ldr x1, [sp+200]
    0003b3f4ldr x2, [x1+8]
    0003b3f8ldrb w3, [x1+16]
    0003b3fcadd x2, x2, x0
    0003b400str x2, [sp+88]
    0003b404subs wzr, w3, 1
    0003b408b.eq 0x3b414
    0003b40csubs wzr, w3, 2
    0003b410b.ne 0x3b430
    0003b414
    0003b414loc_3b414:
    0003b414add x0, sp, 224
    0003b418bl runtime.(*specialsIter).unlinkAndNext
    0003b41cldr x1, [sp+88]
    0003b420ldr x0, [sp+200]
    0003b424ldr x2, [sp+72]
    0003b428bl runtime.freeSpecial
    0003b42cb 0x3b3c4
    0003b430
    0003b430loc_3b430:
    0003b430add x0, sp, 224
    0003b434bl runtime.(*specialsIter).next
    0003b438b 0x3b3c4
    0003b43c
    0003b43cloc_3b43c:
    0003b43cbl runtime.panicdivide
    0003b440
    0003b440loc_3b440:
    0003b440ubfm x0, x0, 0, 7
    0003b444str x0, [sp+144]
    0003b448mov x0, x3
    0003b44cstr x0, [sp+136]
    0003b450ldr w0, [x1+88]
    0003b454str w0, [sp+60]
    0003b458bl runtime.printlock
    0003b45cadrp x0, 0x67b000
    0003b460add x0, x0, 92
    0003b464movz x1, 19
    0003b468bl runtime.printstring
    0003b46cldr x0, [sp+144]
    0003b470bl runtime.printuint
    0003b474adrp x0, 0x677000
    0003b478add x0, x0, 254
    0003b47cmovz x1, 10
    0003b480bl runtime.printstring
    0003b484ldr w0, [sp+60]
    0003b488bl runtime.printuint
    0003b48cadrp x0, 0x679000
    0003b490add x0, x0, 2276
    0003b494orr x1, xzr, 16
    0003b498bl runtime.printstring
    0003b49cldr x0, [sp+136]
    0003b4a0bl runtime.printuint
    0003b4a4bl runtime.printnl
    0003b4a8bl runtime.printunlock
    0003b4acadrp x0, 0x67f000
    0003b4b0add x0, x0, 3443
    0003b4b4movz x1, 27
    0003b4b8bl runtime.throw
    0003b4bc
    0003b4bcloc_3b4bc:
    0003b4bcldr x1, [sp+80]
    0003b4c0ldr w3, [sp+52]
    0003b4c4b 0x3b440
    0003b4c8
    0003b4c8loc_3b4c8:
    0003b4c8adrp x0, 0x680000
    0003b4ccadd x0, x0, 2088
    0003b4d0orr x1, xzr, 28
    0003b4d4bl runtime.throw
    0003b4d8hint
    0003b4dc
    0003b4dcloc_3b4dc:
    0003b4dcstr x0, [sp+8]
    0003b4e0strb w1, [sp+16]
    0003b4e4mov x3, x30
    0003b4e8bl runtime.morestack_noctxt.abi0
    0003b4ecldr x0, [sp+8]
    0003b4f0ldrb w1, [sp+16]
    0003b4f4b 0x3a970
    0003b4f8udf 0
    0003b4fcudf 0
    0003a970
    0003b500
    0003b500runtime.(*sweepLocked).sweep.func1: ; void runtime.(*sweepLocked).sweep.func1(void)
    0003b500ldr x16, [x28+16]
    0003b504subs xzr, sp, x16
    0003b508b.ls 0x3b58c
    0003b50cstr x30, [sp-48]!
    0003b510stur x29, [sp-8]
    0003b514sub x29, sp, 8
    0003b518ldr x2, [x26+8]
    0003b51cldr x3, [x2+16]
    0003b520adrp x4, 0xa10000
    0003b524add x4, x4, 1440
    0003b528subs xzr, x3, x4
    0003b52cb.ne 0x3b578
    0003b530str x2, [sp+32]
    0003b534adrp x0, 0x9f7000
    0003b538add x0, x0, 2112
    0003b53cbl runtime.lock
    0003b540adrp x0, 0xa10000
    0003b544add x0, x0, 1440
    0003b548ldr x1, [sp+32]
    0003b54cbl runtime.(*mSpanList).remove
    0003b550adrp x0, 0xa10000
    0003b554add x0, x0, 1456
    0003b558ldr x1, [sp+32]
    0003b55cbl runtime.(*mSpanList).insert
    0003b560adrp x0, 0x9f7000
    0003b564add x0, x0, 2112
    0003b568bl runtime.unlock
    0003b56cldur x29, [sp-8]
    0003b570ldr x30, [sp], 48
    0003b574ret x30
    0003b578
    0003b578loc_3b578:
    0003b578adrp x0, 0x686000
    0003b57cadd x0, x0, 1273
    0003b580movz x1, 36
    0003b584bl runtime.throw
    0003b588hint
    0003b58c
    0003b58cloc_3b58c:
    0003b58cmov x3, x30
    0003b590bl runtime.morestack.abi0
    0003b594b 0x3b500
    0003b598udf 0
    0003b59cudf 0
    0003b500
    0003b5a0
    0003b5a0runtime.(*mspan).reportZombies: ; void runtime.(*mspan).reportZombies(runtime.mspan * s)
    0003b5a0ldr x16, [x28+16]
    0003b5a4subs xzr, sp, x16
    0003b5a8b.ls 0x3b820
    0003b5acstr x30, [sp-128]!
    0003b5b0stur x29, [sp-8]
    0003b5b4sub x29, sp, 8
    0003b5b8str x0, [sp+136]
    0003b5bcbl runtime.printlock
    0003b5c0ldr x0, [sp+136]
    0003b5c4ldr x1, [x0+104]
    0003b5c8str x1, [sp+64]
    0003b5ccldrh w0, [x0+48]
    0003b5d0strh w0, [sp+38]
    0003b5d4bl runtime.printlock
    0003b5d8adrp x0, 0x686000
    0003b5dcadd x0, x0, 1309
    0003b5e0movz x1, 36
    0003b5e4bl runtime.printstring
    0003b5e8ldr x0, [sp+136]
    0003b5ecmov x1, x0
    0003b5f0mov x0, x1
    0003b5f4bl runtime.printuintptr
    0003b5f8adrp x0, 0x677000
    0003b5fcadd x0, x0, 2043
    0003b600movz x1, 11
    0003b604bl runtime.printstring
    0003b608ldr x0, [sp+64]
    0003b60cbl runtime.printuint
    0003b610adrp x0, 0x677000
    0003b614add x0, x0, 2054
    0003b618movz x1, 11
    0003b61cbl runtime.printstring
    0003b620ldrh w0, [sp+38]
    0003b624bl runtime.printuint
    0003b628adrp x0, 0x694000
    0003b62cadd x0, x0, 2813
    0003b630movz x1, 81
    0003b634bl runtime.printstring
    0003b638bl runtime.printunlock
    0003b63cldr x0, [sp+136]
    0003b640bl runtime.(*mspan).markBitsForBase
    0003b644str x0, [sp+72]
    0003b648strb w1, [sp+80]
    0003b64cstr x2, [sp+88]
    0003b650ldr x0, [sp+136]
    0003b654mov x1, xzr
    0003b658bl runtime.(*mspan).allocBitsForIndex
    0003b65cstr x0, [sp+96]
    0003b660strb w1, [sp+104]
    0003b664str x2, [sp+112]
    0003b668mov x0, xzr
    0003b66cb 0x3b688
    0003b670
    0003b670loc_3b670:
    0003b670add x0, sp, 72
    0003b674bl runtime.(*markBits).advance
    0003b678add x0, sp, 96
    0003b67cbl runtime.(*markBits).advance
    0003b680ldr x1, [sp+40]
    0003b684add x0, x1, 1
    0003b688
    0003b688loc_3b688:
    0003b688ldr x2, [sp+136]
    0003b68cldrh w3, [x2+50]
    0003b690subs xzr, x0, x3
    0003b694b.hs 0x3b80c
    0003b698str x0, [sp+40]
    0003b69cmov x0, x2
    0003b6a0bl runtime.(*mspan).base
    0003b6a4str x0, [sp+64]
    0003b6a8ldr x1, [sp+136]
    0003b6acldr x1, [x1+104]
    0003b6b0str x1, [sp+56]
    0003b6b4bl runtime.printlock
    0003b6b8ldr x1, [sp+64]
    0003b6bcldr x2, [sp+40]
    0003b6c0ldr x3, [sp+56]
    0003b6c4madd x0, x3, x2, x1
    0003b6c8str x0, [sp+48]
    0003b6ccbl runtime.printhex
    0003b6d0bl runtime.printunlock
    0003b6d4ldr x1, [sp+136]
    0003b6d8ldrh w2, [x1+48]
    0003b6dcldr x3, [sp+40]
    0003b6e0subs xzr, x3, x2
    0003b6e4b.hs 0x3b6f0
    0003b6e8orr x0, xzr, 1
    0003b6ecb 0x3b708
    0003b6f0
    0003b6f0loc_3b6f0:
    0003b6f0ldr x0, [sp+96]
    0003b6f4ldrb w1, [sp+104]
    0003b6f8ldr x2, [sp+112]
    0003b6fcbl runtime.markBits.isMarked
    0003b700ldr x1, [sp+136]
    0003b704ldr x3, [sp+40]
    0003b708
    0003b708loc_3b708:
    0003b708strb w0, [sp+37]
    0003b70ctbz w0, 0, 0x3b72c
    0003b710bl runtime.printlock
    0003b714adrp x0, 0x675000
    0003b718add x0, x0, 2431
    0003b71corr x1, xzr, 6
    0003b720bl runtime.printstring
    0003b724bl runtime.printunlock
    0003b728b 0x3b744
    0003b72c
    0003b72cloc_3b72c:
    0003b72cbl runtime.printlock
    0003b730adrp x0, 0x675000
    0003b734add x0, x0, 2437
    0003b738orr x1, xzr, 6
    0003b73cbl runtime.printstring
    0003b740bl runtime.printunlock
    0003b744
    0003b744loc_3b744:
    0003b744ldr x0, [sp+72]
    0003b748ldrb w1, [sp+80]
    0003b74cldr x2, [sp+88]
    0003b750bl runtime.markBits.isMarked
    0003b754tbz w0, 0, 0x3b774
    0003b758bl runtime.printlock
    0003b75cadrp x0, 0x676000
    0003b760add x0, x0, 2866
    0003b764movz x1, 9
    0003b768bl runtime.printstring
    0003b76cbl runtime.printunlock
    0003b770b 0x3b78c
    0003b774
    0003b774loc_3b774:
    0003b774bl runtime.printlock
    0003b778adrp x0, 0x676000
    0003b77cadd x0, x0, 2875
    0003b780movz x1, 9
    0003b784bl runtime.printstring
    0003b788bl runtime.printunlock
    0003b78c
    0003b78cloc_3b78c:
    0003b78cldr x0, [sp+72]
    0003b790ldrb w1, [sp+80]
    0003b794ldr x2, [sp+88]
    0003b798bl runtime.markBits.isMarked
    0003b79ctbz w0, 0, 0x3b7ac
    0003b7a0ldrb w0, [sp+37]
    0003b7a4eor x0, x0, 1
    0003b7a8b 0x3b7b0
    0003b7ac
    0003b7acloc_3b7ac:
    0003b7acmov x0, xzr
    0003b7b0
    0003b7b0loc_3b7b0:
    0003b7b0strb w0, [sp+36]
    0003b7b4tbz w0, 0, 0x3b7d0
    0003b7b8bl runtime.printlock
    0003b7bcadrp x0, 0x675000
    0003b7c0add x0, x0, 3479
    0003b7c4orr x1, xzr, 7
    0003b7c8bl runtime.printstring
    0003b7ccbl runtime.printunlock
    0003b7d0
    0003b7d0loc_3b7d0:
    0003b7d0bl runtime.printlock
    0003b7d4bl runtime.printnl
    0003b7d8bl runtime.printunlock
    0003b7dcldrb w0, [sp+36]
    0003b7e0tbz w0, 0, 0x3b670
    0003b7e4ldr x3, [sp+136]
    0003b7e8ldr x3, [x3+104]
    0003b7ecsubs xzr, x3, 1024
    0003b7f0orr x4, xzr, 1024
    0003b7f4csel x3, x4, x3, hi
    0003b7f8ldr x0, [sp+48]
    0003b7fcadd x1, x3, x0
    0003b800mov x2, xzr
    0003b804bl runtime.hexdumpWords
    0003b808b 0x3b670
    0003b80c
    0003b80cloc_3b80c:
    0003b80cadrp x0, 0x680000
    0003b810add x0, x0, 2116
    0003b814orr x1, xzr, 28
    0003b818bl runtime.throw
    0003b81chint
    0003b820
    0003b820loc_3b820:
    0003b820str x0, [sp+8]
    0003b824mov x3, x30
    0003b828bl runtime.morestack_noctxt.abi0
    0003b82cldr x0, [sp+8]
    0003b830b 0x3b5a0
    0003b834udf 0
    0003b838udf 0
    0003b83cudf 0
    0003b5a0
    0003b840
    0003b840runtime.deductSweepCredit: ; void runtime.deductSweepCredit(uintptr spanBytes, uintptr callerSweepPages)
    0003b840ldr x16, [x28+16]
    0003b844subs xzr, sp, x16
    0003b848b.ls 0x3b990
    0003b84cstr x30, [sp-64]!
    0003b850stur x29, [sp-8]
    0003b854sub x29, sp, 8
    0003b858adrp x27, 0xa07000
    0003b85cldr d0, [x27+2496]
    0003b860fcmp d0
    0003b864b.eq 0x3b8a0
    0003b868str x0, [sp+72]
    0003b86cstr x1, [sp+80]
    0003b870bl runtime.traceAcquire
    0003b874str x0, [sp+48]
    0003b878str x1, [sp+40]
    0003b87cbl runtime.traceLocker.ok
    0003b880tbz w0, 0, 0x3b8ac
    0003b884ldr x0, [sp+48]
    0003b888ldr x1, [sp+40]
    0003b88cbl runtime.traceLocker.GCSweepStart
    0003b890ldr x0, [sp+48]
    0003b894ldr x1, [sp+40]
    0003b898bl runtime.traceRelease
    0003b89cb 0x3b8ac
    0003b8a0
    0003b8a0loc_3b8a0:
    0003b8a0ldur x29, [sp-8]
    0003b8a4ldr x30, [sp], 64
    0003b8a8ret x30
    0003b8ac
    0003b8acloc_3b8ac:
    0003b8acadrp x0, 0xa07000
    0003b8b0add x0, x0, 2480
    0003b8b4bl internal/runtime/atomic.(*Uint64).Load
    0003b8b8str x0, [sp+24]
    0003b8bcadrp x0, 0xa11000
    0003b8c0add x0, x0, 2600
    0003b8c4bl internal/runtime/atomic.(*Uint64).Load
    0003b8c8adrp x27, 0xa07000
    0003b8ccldr x1, [x27+2488]
    0003b8d0sub x2, x0, x1
    0003b8d4ldr x3, [sp+72]
    0003b8d8add x2, x3, x2
    0003b8dcadrp x27, 0xa07000
    0003b8e0ldr d0, [x27+2496]
    0003b8e4subs xzr, x0, x1
    0003b8e8csel x1, x2, x3, hi
    0003b8ecucvtf d1, x1
    0003b8f0fmul d0, d0, d1
    0003b8f4fcvtzs x1, d0
    0003b8f8ldr x2, [sp+80]
    0003b8fcsub x1, x1, x2
    0003b900str x1, [sp+32]
    0003b904
    0003b904loc_3b904:
    0003b904adrp x0, 0xa07000
    0003b908add x0, x0, 2472
    0003b90cbl internal/runtime/atomic.(*Uint64).Load
    0003b910ldr x1, [sp+24]
    0003b914sub x2, x0, x1
    0003b918ldr x3, [sp+32]
    0003b91csubs xzr, x2, x3
    0003b920b.ge 0x3b958
    0003b924bl runtime.sweepone
    0003b928adds xzr, x0, 1
    0003b92cb.eq 0x3b94c
    0003b930adrp x0, 0xa07000
    0003b934add x0, x0, 2480
    0003b938bl internal/runtime/atomic.(*Uint64).Load
    0003b93cldr x1, [sp+24]
    0003b940subs xzr, x0, x1
    0003b944b.eq 0x3b904
    0003b948b 0x3b8ac
    0003b94c
    0003b94cloc_3b94c:
    0003b94cfmov d0, xzr
    0003b950adrp x27, 0xa07000
    0003b954str d0, [x27+2496]
    0003b958
    0003b958loc_3b958:
    0003b958bl runtime.traceAcquire
    0003b95cstr x0, [sp+48]
    0003b960str x1, [sp+40]
    0003b964bl runtime.traceLocker.ok
    0003b968tbz w0, 0, 0x3b984
    0003b96cldr x0, [sp+48]
    0003b970ldr x1, [sp+40]
    0003b974bl runtime.traceLocker.GCSweepDone
    0003b978ldr x0, [sp+48]
    0003b97cldr x1, [sp+40]
    0003b980bl runtime.traceRelease
    0003b984
    0003b984loc_3b984:
    0003b984ldur x29, [sp-8]
    0003b988ldr x30, [sp], 64
    0003b98cret x30
    0003b990
    0003b990loc_3b990:
    0003b990stp x0, x1, [sp+8]
    0003b994mov x3, x30
    0003b998bl runtime.morestack_noctxt.abi0
    0003b99cldp x0, x1, [sp+8]
    0003b9a0b 0x3b840
    0003b9a4udf 0
    0003b9a8udf 0
    0003b9acudf 0
    0003b840
    0003b9b0
    0003b9b0runtime.clobberfree: ; void runtime.clobberfree(void * x, uintptr size)
    0003b9b0ldr x16, [x28+16]
    0003b9b4subs xzr, sp, x16
    0003b9b8b.ls 0x3ba18
    0003b9bcstr x30, [sp-48]!
    0003b9c0stur x29, [sp-8]
    0003b9c4sub x29, sp, 8
    0003b9c8str x0, [sp+56]
    0003b9ccstr x1, [sp+64]
    0003b9d0mov x2, xzr
    0003b9d4b 0x3ba04
    0003b9d8
    0003b9d8loc_3b9d8:
    0003b9d8str x2, [sp+32]
    0003b9dcmov x1, x2
    0003b9e0bl runtime.add
    0003b9e4movn x2, 16656
    0003b9e8movk x2, 0xdead0000
    0003b9ecstr w2, [x0]
    0003b9f0ldr x3, [sp+32]
    0003b9f4add x3, x3, 4
    0003b9f8ldr x0, [sp+56]
    0003b9fcldr x1, [sp+64]
    0003ba00mov x2, x3
    0003ba04
    0003ba04loc_3ba04:
    0003ba04subs xzr, x1, x2
    0003ba08b.hi 0x3b9d8
    0003ba0cldur x29, [sp-8]
    0003ba10ldr x30, [sp], 48
    0003ba14ret x30
    0003ba18
    0003ba18loc_3ba18:
    0003ba18stp x0, x1, [sp+8]
    0003ba1cmov x3, x30
    0003ba20bl runtime.morestack_noctxt.abi0
    0003ba24ldp x0, x1, [sp+8]
    0003ba28b 0x3b9b0
    0003ba2cudf 0
    0003b9b0
    0003ba30
    0003ba30runtime.gcPaceSweeper: ; void runtime.gcPaceSweeper(uint64 trigger)
    0003ba30ldr x16, [x28+16]
    0003ba34subs xzr, sp, x16
    0003ba38b.ls 0x3bb14
    0003ba3cstr x30, [sp-64]!
    0003ba40stur x29, [sp-8]
    0003ba44sub x29, sp, 8
    0003ba48str x0, [sp+72]
    0003ba4cadrp x0, 0x9f7000
    0003ba50add x0, x0, 2112
    0003ba54bl runtime.assertWorldStoppedOrLockHeld
    0003ba58bl runtime.isSweepDone
    0003ba5ctbz w0, 0, 0x3ba70
    0003ba60fmov d0, xzr
    0003ba64adrp x27, 0xa07000
    0003ba68str d0, [x27+2496]
    0003ba6cb 0x3bb08
    0003ba70
    0003ba70loc_3ba70:
    0003ba70adrp x0, 0xa11000
    0003ba74add x0, x0, 2600
    0003ba78bl internal/runtime/atomic.(*Uint64).Load
    0003ba7cstr x0, [sp+40]
    0003ba80ldr x1, [sp+72]
    0003ba84sub x1, x1, x0
    0003ba88sub x1, x1, 0x100000
    0003ba8cstr x1, [sp+48]
    0003ba90adrp x0, 0xa07000
    0003ba94add x0, x0, 2472
    0003ba98bl internal/runtime/atomic.(*Uint64).Load
    0003ba9cstr x0, [sp+32]
    0003baa0adrp x0, 0xa07000
    0003baa4add x0, x0, 2464
    0003baa8bl internal/runtime/atomic.(*Uintptr).Load
    0003baacldr x1, [sp+32]
    0003bab0sub x2, x0, x1
    0003bab4ldr x3, [sp+48]
    0003bab8subs xzr, x3, 8192
    0003babcorr x4, xzr, 8192
    0003bac0csel x3, x4, x3, lt
    0003bac4subs xzr, x2, 0
    0003bac8b.gt 0x3badc
    0003baccfmov d0, xzr
    0003bad0adrp x27, 0xa07000
    0003bad4str d0, [x27+2496]
    0003bad8b 0x3bb08
    0003badc
    0003badcloc_3badc:
    0003badcscvtf d0, x2
    0003bae0scvtf d1, x3
    0003bae4fdiv d0, d0, d1
    0003bae8adrp x27, 0xa07000
    0003baecstr d0, [x27+2496]
    0003baf0ldr x2, [sp+40]
    0003baf4adrp x27, 0xa07000
    0003baf8str x2, [x27+2488]
    0003bafcadrp x0, 0xa07000
    0003bb00add x0, x0, 2480
    0003bb04bl internal/runtime/atomic.(*Uint64).Store
    0003bb08
    0003bb08loc_3bb08:
    0003bb08ldur x29, [sp-8]
    0003bb0cldr x30, [sp], 64
    0003bb10ret x30
    0003bb14
    0003bb14loc_3bb14:
    0003bb14str x0, [sp+8]
    0003bb18mov x3, x30
    0003bb1cbl runtime.morestack_noctxt.abi0
    0003bb20ldr x0, [sp+8]
    0003bb24b 0x3ba30
    0003bb28udf 0
    0003bb2cudf 0
    0003ba30
    0003bb30
    0003bb30runtime.(*gcWork).init: ; void runtime.(*gcWork).init(runtime.gcWork * w)
    0003bb30ldr x16, [x28+16]
    0003bb34subs xzr, sp, x16
    0003bb38b.ls 0x3bb78
    0003bb3cstr x30, [sp-16]!
    0003bb40stur x29, [sp-8]
    0003bb44sub x29, sp, 8
    0003bb48str x0, [sp+24]
    0003bb4cbl runtime.getempty
    0003bb50ldr x1, [sp+24]
    0003bb54str x0, [x1]
    0003bb58bl runtime.trygetfull
    0003bb5ccbnz x0, 0x3bb64
    0003bb60bl runtime.getempty
    0003bb64
    0003bb64loc_3bb64:
    0003bb64ldr x1, [sp+24]
    0003bb68str x0, [x1+8]
    0003bb6cldur x29, [sp-8]
    0003bb70ldr x30, [sp], 16
    0003bb74ret x30
    0003bb78
    0003bb78loc_3bb78:
    0003bb78str x0, [sp+8]
    0003bb7cmov x3, x30
    0003bb80bl runtime.morestack_noctxt.abi0
    0003bb84ldr x0, [sp+8]
    0003bb88b 0x3bb30
    0003bb8cudf 0
    0003bb30
    0003bb90
    0003bb90runtime.(*gcWork).put: ; void runtime.(*gcWork).put(runtime.gcWork * w, uintptr obj)
    0003bb90ldr x16, [x28+16]
    0003bb94subs xzr, sp, x16
    0003bb98b.ls 0x3bcb8
    0003bb9cstr x30, [sp-48]!
    0003bba0stur x29, [sp-8]
    0003bba4sub x29, sp, 8
    0003bba8str x0, [sp+56]
    0003bbacstr x1, [sp+64]
    0003bbb0ldr x2, [x0]
    0003bbb4str x2, [sp+24]
    0003bbb8adrp x0, 0x9e9000
    0003bbbcadd x0, x0, 2928
    0003bbc0movz x1, 49
    0003bbc4bl runtime.lockWithRankMayAcquire
    0003bbc8adrp x0, 0x9f7000
    0003bbccadd x0, x0, 2112
    0003bbd0movz x1, 50
    0003bbd4bl runtime.lockWithRankMayAcquire
    0003bbd8ldr x0, [sp+24]
    0003bbdccbz x0, 0x3bc44
    0003bbe0ldr x2, [x0+16]
    0003bbe4subs xzr, x2, 253
    0003bbe8b.ne 0x3bc3c
    0003bbecldr x2, [sp+56]
    0003bbf0ldr x0, [x2+8]
    0003bbf4ldr x3, [x2]
    0003bbf8str x0, [x2]
    0003bbfcstr x3, [x2+8]
    0003bc00ldr x3, [x0+16]
    0003bc04subs xzr, x3, 253
    0003bc08b.ne 0x3bc34
    0003bc0cstr x3, [sp+32]
    0003bc10bl runtime.putfull
    0003bc14orr x1, xzr, 1
    0003bc18ldr x2, [sp+56]
    0003bc1cstrb w1, [x2+32]
    0003bc20bl runtime.getempty
    0003bc24ldr x1, [sp+56]
    0003bc28str x0, [x1]
    0003bc2cldr x1, [sp+32]
    0003bc30subs xzr, x1, 253
    0003bc34
    0003bc34loc_3bc34:
    0003bc34cset x3, eq
    0003bc38b 0x3bc58
    0003bc3c
    0003bc3cloc_3bc3c:
    0003bc3cmov x3, xzr
    0003bc40b 0x3bc58
    0003bc44
    0003bc44loc_3bc44:
    0003bc44ldr x0, [sp+56]
    0003bc48bl runtime.(*gcWork).init
    0003bc4cldr x1, [sp+56]
    0003bc50ldr x0, [x1]
    0003bc54mov x3, xzr
    0003bc58
    0003bc58loc_3bc58:
    0003bc58ldr x2, [x0+16]
    0003bc5csubs xzr, x2, 253
    0003bc60b.hs 0x3bca8
    0003bc64add x1, x0, 24
    0003bc68ldr x4, [sp+64]
    0003bc6cstr x4, [x1+3*x2]
    0003bc70ldr x1, [x0+16]
    0003bc74add x1, x1, 1
    0003bc78str x1, [x0+16]
    0003bc7ctbz w3, 0, 0x3bc9c
    0003bc80adrp x27, 0xa10000
    0003bc84ldr w1, [x27+1600]
    0003bc88subs wzr, w1, 1
    0003bc8cb.ne 0x3bc9c
    0003bc90adrp x0, 0xa11000
    0003bc94add x0, x0, 2496
    0003bc98bl runtime.(*gcControllerState).enlistWorker
    0003bc9c
    0003bc9cloc_3bc9c:
    0003bc9cldur x29, [sp-8]
    0003bca0ldr x30, [sp], 48
    0003bca4ret x30
    0003bca8
    0003bca8loc_3bca8:
    0003bca8mov x0, x2
    0003bcacmovz x1, 253
    0003bcb0bl runtime.panicIndex
    0003bcb4hint
    0003bcb8
    0003bcb8loc_3bcb8:
    0003bcb8stp x0, x1, [sp+8]
    0003bcbcmov x3, x30
    0003bcc0bl runtime.morestack_noctxt.abi0
    0003bcc4ldp x0, x1, [sp+8]
    0003bcc8b 0x3bb90
    0003bcccudf 0
    0003bb90