File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
00038fe0
00038fe0runtime.(*scavengeIndex).free: ; void runtime.(*scavengeIndex).free(runtime.scavengeIndex * s, runtime.chunkIdx ci, uint page, uint npages)
00038fe0ldr x16, [x28+16]
00038fe4subs xzr, sp, x16
00038fe8b.ls 0x39100
00038fecstr x30, [sp-80]!
00038ff0stur x29, [sp-8]
00038ff4sub x29, sp, 8
00038ff8ldr x4, [x0+8]
00038ffcsubs xzr, x1, x4
00039000b.hs 0x390f0
00039004str x0, [sp+88]
00039008str x1, [sp+96]
0003900cstr x2, [sp+104]
00039010str x3, [sp+112]
00039014ldr x2, [x0]
00039018add x0, x2, x1, lsl #3
0003901cbl runtime.(*atomicScavChunkData).load
00039020strh w0, [sp+44]
00039024strh w1, [sp+46]
00039028str w2, [sp+48]
0003902cstrb w3, [sp+52]
00039030ldr x1, [sp+88]
00039034ldr w2, [x1+72]
00039038add x0, sp, 44
0003903cldr x1, [sp+112]
00039040bl runtime.(*scavChunkData).free
00039044ldr x1, [sp+88]
00039048ldr x2, [x1+8]
0003904cldr x0, [sp+96]
00039050subs xzr, x0, x2
00039054b.hs 0x390e8
00039058ldr x5, [x1]
0003905cadd x0, x5, x0, lsl #3
00039060ldrh w1, [sp+44]
00039064ldrh w2, [sp+46]
00039068ldr w3, [sp+48]
0003906cldrb w4, [sp+52]
00039070bl runtime.(*atomicScavChunkData).store
00039074ldr x0, [sp+96]
00039078bl runtime.chunkBase
0003907cldr x5, [sp+112]
00039080ldr x6, [sp+104]
00039084add x5, x5, x6
00039088sub x5, x5, 1
0003908cadd x1, x0, x5, lsl #13
00039090str x1, [sp+56]
00039094ldr x5, [sp+88]
00039098ldr x0, [x5+64]
0003909cbl runtime.offAddr.lessThan
000390a0tbz w0, 0, 0x390b4
000390a4ldr x1, [sp+56]
000390a8ldr x2, [sp+88]
000390acstr x1, [x2+64]
000390b0b 0x390b8
000390b4
000390b4loc_390b4:
000390b4ldr x2, [sp+88]
000390b8
000390b8loc_390b8:
000390b8add x0, x2, 56
000390bcstr x0, [sp+64]
000390c0bl runtime.(*atomicOffAddr).Load
000390c4ldr x1, [sp+56]
000390c8bl runtime.offAddr.lessThan
000390cctbz w0, 0, 0x390dc
000390d0ldr x0, [sp+64]
000390d4ldr x1, [sp+56]
000390d8bl runtime.(*atomicOffAddr).StoreMarked
000390dc
000390dcloc_390dc:
000390dcldur x29, [sp-8]
000390e0ldr x30, [sp], 80
000390e4ret x30
000390e8
000390e8loc_390e8:
000390e8mov x1, x2
000390ecbl runtime.panicIndexU
000390f0
000390f0loc_390f0:
000390f0mov x0, x1
000390f4mov x1, x4
000390f8bl runtime.panicIndexU
000390fchint
00039100
00039100loc_39100:
00039100stp x0, x1, [sp+8]
00039104stp x2, x3, [sp+24]
00039108mov x3, x30
0003910cbl runtime.morestack_noctxt.abi0
00039110ldp x0, x1, [sp+8]
00039114ldp x2, x3, [sp+24]
00039118b 0x38fe0
0003911cudf 0
00038fe0
00038fe0runtime.(*scavengeIndex).free: ; void runtime.(*scavengeIndex).free(runtime.scavengeIndex * s, runtime.chunkIdx ci, uint page, uint npages)
00038fe0ldr x16, [x28+16]
00038fe4subs xzr, sp, x16
00038fe8b.ls 0x39100
00038fecstr x30, [sp-80]!
00038ff0stur x29, [sp-8]
00038ff4sub x29, sp, 8
00038ff8ldr x4, [x0+8]
00038ffcsubs xzr, x1, x4
00039000b.hs 0x390f0
00039004str x0, [sp+88]
00039008str x1, [sp+96]
0003900cstr x2, [sp+104]
00039010str x3, [sp+112]
00039014ldr x2, [x0]
00039018add x0, x2, x1, lsl #3
0003901cbl runtime.(*atomicScavChunkData).load
00039020strh w0, [sp+44]
00039024strh w1, [sp+46]
00039028str w2, [sp+48]
0003902cstrb w3, [sp+52]
00039030ldr x1, [sp+88]
00039034ldr w2, [x1+72]
00039038add x0, sp, 44
0003903cldr x1, [sp+112]
00039040bl runtime.(*scavChunkData).free
00039044ldr x1, [sp+88]
00039048ldr x2, [x1+8]
0003904cldr x0, [sp+96]
00039050subs xzr, x0, x2
00039054b.hs 0x390e8
00039058ldr x5, [x1]
0003905cadd x0, x5, x0, lsl #3
00039060ldrh w1, [sp+44]
00039064ldrh w2, [sp+46]
00039068ldr w3, [sp+48]
0003906cldrb w4, [sp+52]
00039070bl runtime.(*atomicScavChunkData).store
00039074ldr x0, [sp+96]
00039078bl runtime.chunkBase
0003907cldr x5, [sp+112]
00039080ldr x6, [sp+104]
00039084add x5, x5, x6
00039088sub x5, x5, 1
0003908cadd x1, x0, x5, lsl #13
00039090str x1, [sp+56]
00039094ldr x5, [sp+88]
00039098ldr x0, [x5+64]
0003909cbl runtime.offAddr.lessThan
000390a0tbz w0, 0, 0x390b4
000390a4ldr x1, [sp+56]
000390a8ldr x2, [sp+88]
000390acstr x1, [x2+64]
000390b0b 0x390b8
000390b4
000390b4loc_390b4:
000390b4ldr x2, [sp+88]
000390b8
000390b8loc_390b8:
000390b8add x0, x2, 56
000390bcstr x0, [sp+64]
000390c0bl runtime.(*atomicOffAddr).Load
000390c4ldr x1, [sp+56]
000390c8bl runtime.offAddr.lessThan
000390cctbz w0, 0, 0x390dc
000390d0ldr x0, [sp+64]
000390d4ldr x1, [sp+56]
000390d8bl runtime.(*atomicOffAddr).StoreMarked
000390dc
000390dcloc_390dc:
000390dcldur x29, [sp-8]
000390e0ldr x30, [sp], 80
000390e4ret x30
000390e8
000390e8loc_390e8:
000390e8mov x1, x2
000390ecbl runtime.panicIndexU
000390f0
000390f0loc_390f0:
000390f0mov x0, x1
000390f4mov x1, x4
000390f8bl runtime.panicIndexU
000390fchint
00039100
00039100loc_39100:
00039100stp x0, x1, [sp+8]
00039104stp x2, x3, [sp+24]
00039108mov x3, x30
0003910cbl runtime.morestack_noctxt.abi0
00039110ldp x0, x1, [sp+8]
00039114ldp x2, x3, [sp+24]
00039118b 0x38fe0
0003911cudf 0
00038fe0
00039120
00039120runtime.(*scavengeIndex).nextGen: ; void runtime.(*scavengeIndex).nextGen(runtime.scavengeIndex * s)
00039120ldr x16, [x28+16]
00039124subs xzr, sp, x16
00039128b.ls 0x39198
0003912cstr x30, [sp-48]!
00039130stur x29, [sp-8]
00039134sub x29, sp, 8
00039138str x0, [sp+56]
0003913cldr w1, [x0+72]
00039140add x1, x1, 1
00039144str w1, [x0+72]
00039148add x0, x0, 48
0003914cstr x0, [sp+32]
00039150bl runtime.(*atomicOffAddr).Load
00039154ldr x1, [sp+56]
00039158ldr x1, [x1+64]
0003915cbl runtime.offAddr.lessThan
00039160tbz w0, 0, 0x3917c
00039164ldr x1, [sp+56]
00039168ldr x0, [x1+64]
0003916cbl runtime.offAddr.addr
00039170mov x1, x0
00039174ldr x0, [sp+32]
00039178bl runtime.(*atomicOffAddr).StoreMarked
0003917c
0003917cloc_3917c:
0003917cadrp x27, 0xa12000
00039180ldr x0, [x27+1864]
00039184ldr x1, [sp+56]
00039188str x0, [x1+64]
0003918cldur x29, [sp-8]
00039190ldr x30, [sp], 48
00039194ret x30
00039198
00039198loc_39198:
00039198str x0, [sp+8]
0003919cmov x3, x30
000391a0bl runtime.morestack_noctxt.abi0
000391a4ldr x0, [sp+8]
000391a8b 0x39120
000391acudf 0
00039120
00039120runtime.(*scavengeIndex).nextGen: ; void runtime.(*scavengeIndex).nextGen(runtime.scavengeIndex * s)
00039120ldr x16, [x28+16]
00039124subs xzr, sp, x16
00039128b.ls 0x39198
0003912cstr x30, [sp-48]!
00039130stur x29, [sp-8]
00039134sub x29, sp, 8
00039138str x0, [sp+56]
0003913cldr w1, [x0+72]
00039140add x1, x1, 1
00039144str w1, [x0+72]
00039148add x0, x0, 48
0003914cstr x0, [sp+32]
00039150bl runtime.(*atomicOffAddr).Load
00039154ldr x1, [sp+56]
00039158ldr x1, [x1+64]
0003915cbl runtime.offAddr.lessThan
00039160tbz w0, 0, 0x3917c
00039164ldr x1, [sp+56]
00039168ldr x0, [x1+64]
0003916cbl runtime.offAddr.addr
00039170mov x1, x0
00039174ldr x0, [sp+32]
00039178bl runtime.(*atomicOffAddr).StoreMarked
0003917c
0003917cloc_3917c:
0003917cadrp x27, 0xa12000
00039180ldr x0, [x27+1864]
00039184ldr x1, [sp+56]
00039188str x0, [x1+64]
0003918cldur x29, [sp-8]
00039190ldr x30, [sp], 48
00039194ret x30
00039198
00039198loc_39198:
00039198str x0, [sp+8]
0003919cmov x3, x30
000391a0bl runtime.morestack_noctxt.abi0
000391a4ldr x0, [sp+8]
000391a8b 0x39120
000391acudf 0
00039120
000391b0
000391b0runtime.(*scavengeIndex).setEmpty: ; void runtime.(*scavengeIndex).setEmpty(runtime.scavengeIndex * s, runtime.chunkIdx ci)
000391b0ldr x16, [x28+16]
000391b4subs xzr, sp, x16
000391b8b.ls 0x39254
000391bcstr x30, [sp-64]!
000391c0stur x29, [sp-8]
000391c4sub x29, sp, 8
000391c8ldr x2, [x0+8]
000391ccsubs xzr, x1, x2
000391d0b.hs 0x39244
000391d4str x0, [sp+72]
000391d8str x1, [sp+80]
000391dcldr x2, [x0]
000391e0add x0, x2, x1, lsl #3
000391e4bl runtime.(*atomicScavChunkData).load
000391e8strh w0, [sp+44]
000391ecstrh w1, [sp+46]
000391f0str w2, [sp+48]
000391f4strb w3, [sp+52]
000391f8add x0, sp, 52
000391fcbl runtime.(*scavChunkFlags).setEmpty
00039200ldr x1, [sp+72]
00039204ldr x2, [x1+8]
00039208ldr x0, [sp+80]
0003920csubs xzr, x0, x2
00039210b.hs 0x3923c
00039214ldr x5, [x1]
00039218add x0, x5, x0, lsl #3
0003921cldrh w1, [sp+44]
00039220ldrh w2, [sp+46]
00039224ldr w3, [sp+48]
00039228ldrb w4, [sp+52]
0003922cbl runtime.(*atomicScavChunkData).store
00039230ldur x29, [sp-8]
00039234ldr x30, [sp], 64
00039238ret x30
0003923c
0003923cloc_3923c:
0003923cmov x1, x2
00039240bl runtime.panicIndexU
00039244
00039244loc_39244:
00039244mov x0, x1
00039248mov x1, x2
0003924cbl runtime.panicIndexU
00039250hint
00039254
00039254loc_39254:
00039254stp x0, x1, [sp+8]
00039258mov x3, x30
0003925cbl runtime.morestack_noctxt.abi0
00039260ldp x0, x1, [sp+8]
00039264b 0x391b0
00039268udf 0
0003926cudf 0
000391b0
000391b0runtime.(*scavengeIndex).setEmpty: ; void runtime.(*scavengeIndex).setEmpty(runtime.scavengeIndex * s, runtime.chunkIdx ci)
000391b0ldr x16, [x28+16]
000391b4subs xzr, sp, x16
000391b8b.ls 0x39254
000391bcstr x30, [sp-64]!
000391c0stur x29, [sp-8]
000391c4sub x29, sp, 8
000391c8ldr x2, [x0+8]
000391ccsubs xzr, x1, x2
000391d0b.hs 0x39244
000391d4str x0, [sp+72]
000391d8str x1, [sp+80]
000391dcldr x2, [x0]
000391e0add x0, x2, x1, lsl #3
000391e4bl runtime.(*atomicScavChunkData).load
000391e8strh w0, [sp+44]
000391ecstrh w1, [sp+46]
000391f0str w2, [sp+48]
000391f4strb w3, [sp+52]
000391f8add x0, sp, 52
000391fcbl runtime.(*scavChunkFlags).setEmpty
00039200ldr x1, [sp+72]
00039204ldr x2, [x1+8]
00039208ldr x0, [sp+80]
0003920csubs xzr, x0, x2
00039210b.hs 0x3923c
00039214ldr x5, [x1]
00039218add x0, x5, x0, lsl #3
0003921cldrh w1, [sp+44]
00039220ldrh w2, [sp+46]
00039224ldr w3, [sp+48]
00039228ldrb w4, [sp+52]
0003922cbl runtime.(*atomicScavChunkData).store
00039230ldur x29, [sp-8]
00039234ldr x30, [sp], 64
00039238ret x30
0003923c
0003923cloc_3923c:
0003923cmov x1, x2
00039240bl runtime.panicIndexU
00039244
00039244loc_39244:
00039244mov x0, x1
00039248mov x1, x2
0003924cbl runtime.panicIndexU
00039250hint
00039254
00039254loc_39254:
00039254stp x0, x1, [sp+8]
00039258mov x3, x30
0003925cbl runtime.morestack_noctxt.abi0
00039260ldp x0, x1, [sp+8]
00039264b 0x391b0
00039268udf 0
0003926cudf 0
000391b0
00039270
00039270runtime.(*atomicScavChunkData).load: ; void runtime.(*atomicScavChunkData).load(runtime.atomicScavChunkData * sc)
00039270ldr x16, [x28+16]
00039274subs xzr, sp, x16
00039278b.ls 0x392a0
0003927cstr x30, [sp-32]!
00039280stur x29, [sp-8]
00039284sub x29, sp, 8
00039288ldrsb x27, [x0]
0003928cbl internal/runtime/atomic.(*Uint64).Load
00039290bl runtime.unpackScavChunkData
00039294ldur x29, [sp-8]
00039298ldr x30, [sp], 32
0003929cret x30
000392a0
000392a0loc_392a0:
000392a0str x0, [sp+8]
000392a4mov x3, x30
000392a8bl runtime.morestack_noctxt.abi0
000392acldr x0, [sp+8]
000392b0b 0x39270
000392b4udf 0
000392b8udf 0
000392bcudf 0
00039270
00039270runtime.(*atomicScavChunkData).load: ; void runtime.(*atomicScavChunkData).load(runtime.atomicScavChunkData * sc)
00039270ldr x16, [x28+16]
00039274subs xzr, sp, x16
00039278b.ls 0x392a0
0003927cstr x30, [sp-32]!
00039280stur x29, [sp-8]
00039284sub x29, sp, 8
00039288ldrsb x27, [x0]
0003928cbl internal/runtime/atomic.(*Uint64).Load
00039290bl runtime.unpackScavChunkData
00039294ldur x29, [sp-8]
00039298ldr x30, [sp], 32
0003929cret x30
000392a0
000392a0loc_392a0:
000392a0str x0, [sp+8]
000392a4mov x3, x30
000392a8bl runtime.morestack_noctxt.abi0
000392acldr x0, [sp+8]
000392b0b 0x39270
000392b4udf 0
000392b8udf 0
000392bcudf 0
00039270
000392c0
000392c0runtime.(*atomicScavChunkData).store: ; void runtime.(*atomicScavChunkData).store(runtime.atomicScavChunkData * sc, runtime.scavChunkData ssc)
000392c0ldr x16, [x28+16]
000392c4subs xzr, sp, x16
000392c8b.ls 0x39310
000392ccstr x30, [sp-32]!
000392d0stur x29, [sp-8]
000392d4sub x29, sp, 8
000392d8str x0, [sp+40]
000392dcmov x0, x1
000392e0mov x1, x2
000392e4mov x2, x3
000392e8mov x3, x4
000392ecbl runtime.scavChunkData.pack
000392f0ldr x4, [sp+40]
000392f4ldrsb x27, [x4]
000392f8mov x1, x0
000392fcmov x0, x4
00039300bl internal/runtime/atomic.(*Uint64).Store
00039304ldur x29, [sp-8]
00039308ldr x30, [sp], 32
0003930cret x30
00039310
00039310loc_39310:
00039310str x0, [sp+8]
00039314strh w1, [sp+16]
00039318strh w2, [sp+18]
0003931cstr w3, [sp+20]
00039320strb w4, [sp+24]
00039324mov x3, x30
00039328bl runtime.morestack_noctxt.abi0
0003932cldr x0, [sp+8]
00039330ldrh w1, [sp+16]
00039334ldrh w2, [sp+18]
00039338ldr w3, [sp+20]
0003933cldrb w4, [sp+24]
00039340b 0x392c0
00039344udf 0
00039348udf 0
0003934cudf 0
000392c0
000392c0runtime.(*atomicScavChunkData).store: ; void runtime.(*atomicScavChunkData).store(runtime.atomicScavChunkData * sc, runtime.scavChunkData ssc)
000392c0ldr x16, [x28+16]
000392c4subs xzr, sp, x16
000392c8b.ls 0x39310
000392ccstr x30, [sp-32]!
000392d0stur x29, [sp-8]
000392d4sub x29, sp, 8
000392d8str x0, [sp+40]
000392dcmov x0, x1
000392e0mov x1, x2
000392e4mov x2, x3
000392e8mov x3, x4
000392ecbl runtime.scavChunkData.pack
000392f0ldr x4, [sp+40]
000392f4ldrsb x27, [x4]
000392f8mov x1, x0
000392fcmov x0, x4
00039300bl internal/runtime/atomic.(*Uint64).Store
00039304ldur x29, [sp-8]
00039308ldr x30, [sp], 32
0003930cret x30
00039310
00039310loc_39310:
00039310str x0, [sp+8]
00039314strh w1, [sp+16]
00039318strh w2, [sp+18]
0003931cstr w3, [sp+20]
00039320strb w4, [sp+24]
00039324mov x3, x30
00039328bl runtime.morestack_noctxt.abi0
0003932cldr x0, [sp+8]
00039330ldrh w1, [sp+16]
00039334ldrh w2, [sp+18]
00039338ldr w3, [sp+20]
0003933cldrb w4, [sp+24]
00039340b 0x392c0
00039344udf 0
00039348udf 0
0003934cudf 0
000392c0
00039350
00039350runtime.unpackScavChunkData: ; void runtime.unpackScavChunkData(uint64 sc)
00039350ubfm x1, x0, 16, 25
00039354ubfm x2, x0, 32, 63
00039358ubfm x3, x0, 26, 31
0003935cret x30
00039350
00039350runtime.unpackScavChunkData: ; void runtime.unpackScavChunkData(uint64 sc)
00039350ubfm x1, x0, 16, 25
00039354ubfm x2, x0, 32, 63
00039358ubfm x3, x0, 26, 31
0003935cret x30
00039350
00039360
00039360runtime.scavChunkData.pack: ; void runtime.scavChunkData.pack(runtime.scavChunkData sc)
00039360ubfm x4, x0, 0, 15
00039364ubfm x1, x1, 0, 15
00039368orr x1, x4, x1, lsl #16
0003936cubfm x3, x3, 0, 7
00039370orr x1, x1, x3, lsl #26
00039374mov w2, w2
00039378orr x0, x1, x2, lsl #32
0003937cret x30
00039360
00039360runtime.scavChunkData.pack: ; void runtime.scavChunkData.pack(runtime.scavChunkData sc)
00039360ubfm x4, x0, 0, 15
00039364ubfm x1, x1, 0, 15
00039368orr x1, x4, x1, lsl #16
0003936cubfm x3, x3, 0, 7
00039370orr x1, x1, x3, lsl #26
00039374mov w2, w2
00039378orr x0, x1, x2, lsl #32
0003937cret x30
00039360
00039380
00039380runtime.(*scavChunkFlags).isEmpty: ; void runtime.(*scavChunkFlags).isEmpty(runtime.scavChunkFlags * sc)
00039380ldrb w1, [x0]
00039384ands wzr, w1, 1
00039388cset x0, eq
0003938cret x30
00039380
00039380runtime.(*scavChunkFlags).isEmpty: ; void runtime.(*scavChunkFlags).isEmpty(runtime.scavChunkFlags * sc)
00039380ldrb w1, [x0]
00039384ands wzr, w1, 1
00039388cset x0, eq
0003938cret x30
00039380
00039390
00039390runtime.(*scavChunkFlags).setEmpty: ; void runtime.(*scavChunkFlags).setEmpty(runtime.scavChunkFlags * sc)
00039390ldrb w1, [x0]
00039394and x1, x1, -2
00039398strb w1, [x0]
0003939cret x30
00039390
00039390runtime.(*scavChunkFlags).setEmpty: ; void runtime.(*scavChunkFlags).setEmpty(runtime.scavChunkFlags * sc)
00039390ldrb w1, [x0]
00039394and x1, x1, -2
00039398strb w1, [x0]
0003939cret x30
00039390
000393a0
000393a0runtime.(*scavChunkFlags).setNonEmpty: ; void runtime.(*scavChunkFlags).setNonEmpty(runtime.scavChunkFlags * sc)
000393a0ldrb w1, [x0]
000393a4orr x1, x1, 1
000393a8strb w1, [x0]
000393acret x30
000393a0
000393a0runtime.(*scavChunkFlags).setNonEmpty: ; void runtime.(*scavChunkFlags).setNonEmpty(runtime.scavChunkFlags * sc)
000393a0ldrb w1, [x0]
000393a4orr x1, x1, 1
000393a8strb w1, [x0]
000393acret x30
000393a0
000393b0
000393b0runtime.scavChunkData.shouldScavenge: ; void runtime.scavChunkData.shouldScavenge(runtime.scavChunkData sc, uint32 currGen, bool force)
000393b0ldr x16, [x28+16]
000393b4subs xzr, sp, x16
000393b8b.ls 0x3946c
000393bcstr x30, [sp-32]!
000393c0stur x29, [sp-8]
000393c4sub x29, sp, 8
000393c8str w4, [sp+52]
000393ccstrb w5, [sp+56]
000393d0strh w0, [sp+40]
000393d4strh w1, [sp+42]
000393d8str w2, [sp+44]
000393dcstrb w3, [sp+48]
000393e0add x0, sp, 48
000393e4bl runtime.(*scavChunkFlags).isEmpty
000393e8tbnz w0, 0, 0x3945c
000393ecldrb w0, [sp+56]
000393f0tbnz w0, 0, 0x3944c
000393f4ldr w1, [sp+44]
000393f8ldr w2, [sp+52]
000393fcsubs wzr, w2, w1
00039400b.ne 0x39434
00039404ldrh w1, [sp+40]
00039408subs wzr, w1, 496
0003940cb.hs 0x39420
00039410ldrh w1, [sp+42]
00039414subs wzr, w1, 496
00039418cset x1, lo
0003941cb 0x39424
00039420
00039420loc_39420:
00039420mov x1, xzr
00039424
00039424loc_39424:
00039424mov x0, x1
00039428ldur x29, [sp-8]
0003942cldr x30, [sp], 32
00039430ret x30
00039434
00039434loc_39434:
00039434ldrh w1, [sp+40]
00039438subs wzr, w1, 496
0003943ccset x0, lo
00039440ldur x29, [sp-8]
00039444ldr x30, [sp], 32
00039448ret x30
0003944c
0003944cloc_3944c:
0003944corr x0, xzr, 1
00039450ldur x29, [sp-8]
00039454ldr x30, [sp], 32
00039458ret x30
0003945c
0003945cloc_3945c:
0003945cmov x0, xzr
00039460ldur x29, [sp-8]
00039464ldr x30, [sp], 32
00039468ret x30
0003946c
0003946cloc_3946c:
0003946cstrh w0, [sp+8]
00039470strh w1, [sp+10]
00039474str w2, [sp+12]
00039478strb w3, [sp+16]
0003947cstr w4, [sp+20]
00039480strb w5, [sp+24]
00039484mov x3, x30
00039488bl runtime.morestack_noctxt.abi0
0003948cldrh w0, [sp+8]
00039490ldrh w1, [sp+10]
00039494ldr w2, [sp+12]
00039498ldrb w3, [sp+16]
0003949cldr w4, [sp+20]
000394a0ldrb w5, [sp+24]
000394a4b 0x393b0
000394a8udf 0
000394acudf 0
000393b0
000393b0runtime.scavChunkData.shouldScavenge: ; void runtime.scavChunkData.shouldScavenge(runtime.scavChunkData sc, uint32 currGen, bool force)
000393b0ldr x16, [x28+16]
000393b4subs xzr, sp, x16
000393b8b.ls 0x3946c
000393bcstr x30, [sp-32]!
000393c0stur x29, [sp-8]
000393c4sub x29, sp, 8
000393c8str w4, [sp+52]
000393ccstrb w5, [sp+56]
000393d0strh w0, [sp+40]
000393d4strh w1, [sp+42]
000393d8str w2, [sp+44]
000393dcstrb w3, [sp+48]
000393e0add x0, sp, 48
000393e4bl runtime.(*scavChunkFlags).isEmpty
000393e8tbnz w0, 0, 0x3945c
000393ecldrb w0, [sp+56]
000393f0tbnz w0, 0, 0x3944c
000393f4ldr w1, [sp+44]
000393f8ldr w2, [sp+52]
000393fcsubs wzr, w2, w1
00039400b.ne 0x39434
00039404ldrh w1, [sp+40]
00039408subs wzr, w1, 496
0003940cb.hs 0x39420
00039410ldrh w1, [sp+42]
00039414subs wzr, w1, 496
00039418cset x1, lo
0003941cb 0x39424
00039420
00039420loc_39420:
00039420mov x1, xzr
00039424
00039424loc_39424:
00039424mov x0, x1
00039428ldur x29, [sp-8]
0003942cldr x30, [sp], 32
00039430ret x30
00039434
00039434loc_39434:
00039434ldrh w1, [sp+40]
00039438subs wzr, w1, 496
0003943ccset x0, lo
00039440ldur x29, [sp-8]
00039444ldr x30, [sp], 32
00039448ret x30
0003944c
0003944cloc_3944c:
0003944corr x0, xzr, 1
00039450ldur x29, [sp-8]
00039454ldr x30, [sp], 32
00039458ret x30
0003945c
0003945cloc_3945c:
0003945cmov x0, xzr
00039460ldur x29, [sp-8]
00039464ldr x30, [sp], 32
00039468ret x30
0003946c
0003946cloc_3946c:
0003946cstrh w0, [sp+8]
00039470strh w1, [sp+10]
00039474str w2, [sp+12]
00039478strb w3, [sp+16]
0003947cstr w4, [sp+20]
00039480strb w5, [sp+24]
00039484mov x3, x30
00039488bl runtime.morestack_noctxt.abi0
0003948cldrh w0, [sp+8]
00039490ldrh w1, [sp+10]
00039494ldr w2, [sp+12]
00039498ldrb w3, [sp+16]
0003949cldr w4, [sp+20]
000394a0ldrb w5, [sp+24]
000394a4b 0x393b0
000394a8udf 0
000394acudf 0
000393b0
000394b0
000394b0runtime.(*scavChunkData).alloc: ; void runtime.(*scavChunkData).alloc(runtime.scavChunkData * sc, uint npages, uint32 newGen)
000394b0ldr x16, [x28+16]
000394b4subs xzr, sp, x16
000394b8b.ls 0x39574
000394bcstr x30, [sp-48]!
000394c0stur x29, [sp-8]
000394c4sub x29, sp, 8
000394c8ldrh w3, [x0]
000394ccmov x4, x3
000394d0add x4, x4, x1
000394d4subs xzr, x4, 512
000394d8b.hi 0x3951c
000394dcldr w4, [x0+4]
000394e0subs wzr, w2, w4
000394e4b.eq 0x394f0
000394e8strh w3, [x0+2]
000394ecstr w2, [x0+4]
000394f0
000394f0loc_394f0:
000394f0ldrh w2, [x0]
000394f4add x1, x2, x1
000394f8strh w1, [x0]
000394fcubfm x1, x1, 0, 15
00039500subs wzr, w1, 512
00039504b.ne 0x39510
00039508add x0, x0, 8
0003950cbl runtime.(*scavChunkFlags).setEmpty
00039510
00039510loc_39510:
00039510ldur x29, [sp-8]
00039514ldr x30, [sp], 48
00039518ret x30
0003951c
0003951cloc_3951c:
0003951cstr x1, [sp+64]
00039520strh w3, [sp+38]
00039524bl runtime.printlock
00039528adrp x0, 0x67b000
0003952cadd x0, x0, 597
00039530orr x1, xzr, 15
00039534bl runtime.printstring
00039538ldrh w0, [sp+38]
0003953cbl runtime.printuint
00039540adrp x0, 0x678000
00039544add x0, x0, 660
00039548orr x1, xzr, 8
0003954cbl runtime.printstring
00039550ldr x0, [sp+64]
00039554bl runtime.printuint
00039558bl runtime.printnl
0003955cbl runtime.printunlock
00039560adrp x0, 0x686000
00039564add x0, x0, 3649
00039568movz x1, 34
0003956cbl runtime.throw
00039570hint
00039574
00039574loc_39574:
00039574stp x0, x1, [sp+8]
00039578str w2, [sp+24]
0003957cmov x3, x30
00039580bl runtime.morestack_noctxt.abi0
00039584ldp x0, x1, [sp+8]
00039588ldr w2, [sp+24]
0003958cb 0x394b0
000394b0
000394b0runtime.(*scavChunkData).alloc: ; void runtime.(*scavChunkData).alloc(runtime.scavChunkData * sc, uint npages, uint32 newGen)
000394b0ldr x16, [x28+16]
000394b4subs xzr, sp, x16
000394b8b.ls 0x39574
000394bcstr x30, [sp-48]!
000394c0stur x29, [sp-8]
000394c4sub x29, sp, 8
000394c8ldrh w3, [x0]
000394ccmov x4, x3
000394d0add x4, x4, x1
000394d4subs xzr, x4, 512
000394d8b.hi 0x3951c
000394dcldr w4, [x0+4]
000394e0subs wzr, w2, w4
000394e4b.eq 0x394f0
000394e8strh w3, [x0+2]
000394ecstr w2, [x0+4]
000394f0
000394f0loc_394f0:
000394f0ldrh w2, [x0]
000394f4add x1, x2, x1
000394f8strh w1, [x0]
000394fcubfm x1, x1, 0, 15
00039500subs wzr, w1, 512
00039504b.ne 0x39510
00039508add x0, x0, 8
0003950cbl runtime.(*scavChunkFlags).setEmpty
00039510
00039510loc_39510:
00039510ldur x29, [sp-8]
00039514ldr x30, [sp], 48
00039518ret x30
0003951c
0003951cloc_3951c:
0003951cstr x1, [sp+64]
00039520strh w3, [sp+38]
00039524bl runtime.printlock
00039528adrp x0, 0x67b000
0003952cadd x0, x0, 597
00039530orr x1, xzr, 15
00039534bl runtime.printstring
00039538ldrh w0, [sp+38]
0003953cbl runtime.printuint
00039540adrp x0, 0x678000
00039544add x0, x0, 660
00039548orr x1, xzr, 8
0003954cbl runtime.printstring
00039550ldr x0, [sp+64]
00039554bl runtime.printuint
00039558bl runtime.printnl
0003955cbl runtime.printunlock
00039560adrp x0, 0x686000
00039564add x0, x0, 3649
00039568movz x1, 34
0003956cbl runtime.throw
00039570hint
00039574
00039574loc_39574:
00039574stp x0, x1, [sp+8]
00039578str w2, [sp+24]
0003957cmov x3, x30
00039580bl runtime.morestack_noctxt.abi0
00039584ldp x0, x1, [sp+8]
00039588ldr w2, [sp+24]
0003958cb 0x394b0
000394b0
00039590
00039590runtime.(*scavChunkData).free: ; void runtime.(*scavChunkData).free(runtime.scavChunkData * sc, uint npages, uint32 newGen)
00039590ldr x16, [x28+16]
00039594subs xzr, sp, x16
00039598b.ls 0x39644
0003959cstr x30, [sp-48]!
000395a0stur x29, [sp-8]
000395a4sub x29, sp, 8
000395a8ldrh w3, [x0]
000395acmov x4, x3
000395b0subs xzr, x1, x4
000395b4b.hi 0x395ec
000395b8ldr w4, [x0+4]
000395bcsubs wzr, w2, w4
000395c0b.eq 0x395cc
000395c4strh w3, [x0+2]
000395c8str w2, [x0+4]
000395cc
000395ccloc_395cc:
000395ccldrh w2, [x0]
000395d0sub x1, x2, x1
000395d4strh w1, [x0]
000395d8add x0, x0, 8
000395dcbl runtime.(*scavChunkFlags).setNonEmpty
000395e0ldur x29, [sp-8]
000395e4ldr x30, [sp], 48
000395e8ret x30
000395ec
000395ecloc_395ec:
000395ecstr x1, [sp+64]
000395f0strh w3, [sp+38]
000395f4bl runtime.printlock
000395f8adrp x0, 0x67b000
000395fcadd x0, x0, 597
00039600orr x1, xzr, 15
00039604bl runtime.printstring
00039608ldrh w0, [sp+38]
0003960cbl runtime.printuint
00039610adrp x0, 0x678000
00039614add x0, x0, 660
00039618orr x1, xzr, 8
0003961cbl runtime.printstring
00039620ldr x0, [sp+64]
00039624bl runtime.printuint
00039628bl runtime.printnl
0003962cbl runtime.printunlock
00039630adrp x0, 0x681000
00039634add x0, x0, 3389
00039638movz x1, 27
0003963cbl runtime.throw
00039640hint
00039644
00039644loc_39644:
00039644stp x0, x1, [sp+8]
00039648str w2, [sp+24]
0003964cmov x3, x30
00039650bl runtime.morestack_noctxt.abi0
00039654ldp x0, x1, [sp+8]
00039658ldr w2, [sp+24]
0003965cb 0x39590
00039590
00039590runtime.(*scavChunkData).free: ; void runtime.(*scavChunkData).free(runtime.scavChunkData * sc, uint npages, uint32 newGen)
00039590ldr x16, [x28+16]
00039594subs xzr, sp, x16
00039598b.ls 0x39644
0003959cstr x30, [sp-48]!
000395a0stur x29, [sp-8]
000395a4sub x29, sp, 8
000395a8ldrh w3, [x0]
000395acmov x4, x3
000395b0subs xzr, x1, x4
000395b4b.hi 0x395ec
000395b8ldr w4, [x0+4]
000395bcsubs wzr, w2, w4
000395c0b.eq 0x395cc
000395c4strh w3, [x0+2]
000395c8str w2, [x0+4]
000395cc
000395ccloc_395cc:
000395ccldrh w2, [x0]
000395d0sub x1, x2, x1
000395d4strh w1, [x0]
000395d8add x0, x0, 8
000395dcbl runtime.(*scavChunkFlags).setNonEmpty
000395e0ldur x29, [sp-8]
000395e4ldr x30, [sp], 48
000395e8ret x30
000395ec
000395ecloc_395ec:
000395ecstr x1, [sp+64]
000395f0strh w3, [sp+38]
000395f4bl runtime.printlock
000395f8adrp x0, 0x67b000
000395fcadd x0, x0, 597
00039600orr x1, xzr, 15
00039604bl runtime.printstring
00039608ldrh w0, [sp+38]
0003960cbl runtime.printuint
00039610adrp x0, 0x678000
00039614add x0, x0, 660
00039618orr x1, xzr, 8
0003961cbl runtime.printstring
00039620ldr x0, [sp+64]
00039624bl runtime.printuint
00039628bl runtime.printnl
0003962cbl runtime.printunlock
00039630adrp x0, 0x681000
00039634add x0, x0, 3389
00039638movz x1, 27
0003963cbl runtime.throw
00039640hint
00039644
00039644loc_39644:
00039644stp x0, x1, [sp+8]
00039648str w2, [sp+24]
0003964cmov x3, x30
00039650bl runtime.morestack_noctxt.abi0
00039654ldp x0, x1, [sp+8]
00039658ldr w2, [sp+24]
0003965cb 0x39590
00039590
00039660
00039660runtime.(*piController).next: ; void runtime.(*piController).next(runtime.piController * c, float64 input, float64 setpoint, float64 period)
00039660ldr x16, [x28+16]
00039664subs xzr, sp, x16
00039668b.ls 0x3979c
0003966cstr x30, [sp-48]!
00039670stur x29, [sp-8]
00039674sub x29, sp, 8
00039678str x0, [sp+56]
0003967cstr d2, [sp+80]
00039680ldr d2, [x0]
00039684fsub d1, d1, d0
00039688str d1, [sp+32]
0003968cldr d3, [x0+40]
00039690fmadd d0, d1, d2, d3
00039694str d0, [sp+16]
00039698bl runtime.isInf
0003969ctbnz w0, 0, 0x396ac
000396a0ldr d0, [sp+16]
000396a4bl runtime.isNaN
000396a8tbz w0, 0, 0x396d4
000396ac
000396acloc_396ac:
000396acldr x0, [sp+56]
000396b0bl runtime.(*piController).reset
000396b4orr x1, xzr, 1
000396b8ldr x2, [sp+56]
000396bcstrb w1, [x2+49]
000396c0ldr d0, [x2+24]
000396c4mov x0, xzr
000396c8ldur x29, [sp-8]
000396ccldr x30, [sp], 48
000396d0ret x30
000396d4
000396d4loc_396d4:
000396d4ldr x1, [sp+56]
000396d8ldr d1, [x1+24]
000396dcldr d2, [sp+16]
000396e0fcmp d2, d1
000396e4b.mi 0x396f8
000396e8ldr d1, [x1+32]
000396ecfcmp d1, d2
000396f0b.mi 0x396f8
000396f4fmov d1, d2
000396f8
000396f8loc_396f8:
000396f8ldr d3, [x1+8]
000396fcfcmp d3
00039700b.eq 0x39788
00039704ldr d4, [x1+16]
00039708fcmp d4
0003970cb.eq 0x39788
00039710str d1, [sp+24]
00039714ldr d5, [x1+40]
00039718ldr d6, [x1]
0003971cldr d7, [sp+80]
00039720fmul d6, d6, d7
00039724fdiv d3, d6, d3
00039728ldr d6, [sp+32]
0003972cfmul d3, d3, d6
00039730fdiv d4, d7, d4
00039734fsub d1, d1, d2
00039738fmadd d1, d4, d1, d3
0003973cfadd d0, d1, d5
00039740str d0, [x1+40]
00039744bl runtime.isInf
00039748tbnz w0, 0, 0x3975c
0003974cldr x0, [sp+56]
00039750ldr d0, [x0+40]
00039754bl runtime.isNaN
00039758tbz w0, 0, 0x39784
0003975c
0003975cloc_3975c:
0003975cldr x0, [sp+56]
00039760bl runtime.(*piController).reset
00039764orr x1, xzr, 1
00039768ldr x2, [sp+56]
0003976cstrb w1, [x2+48]
00039770ldr d0, [x2+24]
00039774mov x0, xzr
00039778ldur x29, [sp-8]
0003977cldr x30, [sp], 48
00039780ret x30
00039784
00039784loc_39784:
00039784ldr d1, [sp+24]
00039788
00039788loc_39788:
00039788fmov d0, d1
0003978corr x0, xzr, 1
00039790ldur x29, [sp-8]
00039794ldr x30, [sp], 48
00039798ret x30
0003979c
0003979cloc_3979c:
0003979cstr x0, [sp+8]
000397a0stp d0, d1, [sp+16]
000397a4str d2, [sp+32]
000397a8mov x3, x30
000397acbl runtime.morestack_noctxt.abi0
000397b0ldr x0, [sp+8]
000397b4ldp d0, d1, [sp+16]
000397b8ldr d2, [sp+32]
000397bcb 0x39660
00039660
00039660runtime.(*piController).next: ; void runtime.(*piController).next(runtime.piController * c, float64 input, float64 setpoint, float64 period)
00039660ldr x16, [x28+16]
00039664subs xzr, sp, x16
00039668b.ls 0x3979c
0003966cstr x30, [sp-48]!
00039670stur x29, [sp-8]
00039674sub x29, sp, 8
00039678str x0, [sp+56]
0003967cstr d2, [sp+80]
00039680ldr d2, [x0]
00039684fsub d1, d1, d0
00039688str d1, [sp+32]
0003968cldr d3, [x0+40]
00039690fmadd d0, d1, d2, d3
00039694str d0, [sp+16]
00039698bl runtime.isInf
0003969ctbnz w0, 0, 0x396ac
000396a0ldr d0, [sp+16]
000396a4bl runtime.isNaN
000396a8tbz w0, 0, 0x396d4
000396ac
000396acloc_396ac:
000396acldr x0, [sp+56]
000396b0bl runtime.(*piController).reset
000396b4orr x1, xzr, 1
000396b8ldr x2, [sp+56]
000396bcstrb w1, [x2+49]
000396c0ldr d0, [x2+24]
000396c4mov x0, xzr
000396c8ldur x29, [sp-8]
000396ccldr x30, [sp], 48
000396d0ret x30
000396d4
000396d4loc_396d4:
000396d4ldr x1, [sp+56]
000396d8ldr d1, [x1+24]
000396dcldr d2, [sp+16]
000396e0fcmp d2, d1
000396e4b.mi 0x396f8
000396e8ldr d1, [x1+32]
000396ecfcmp d1, d2
000396f0b.mi 0x396f8
000396f4fmov d1, d2
000396f8
000396f8loc_396f8:
000396f8ldr d3, [x1+8]
000396fcfcmp d3
00039700b.eq 0x39788
00039704ldr d4, [x1+16]
00039708fcmp d4
0003970cb.eq 0x39788
00039710str d1, [sp+24]
00039714ldr d5, [x1+40]
00039718ldr d6, [x1]
0003971cldr d7, [sp+80]
00039720fmul d6, d6, d7
00039724fdiv d3, d6, d3
00039728ldr d6, [sp+32]
0003972cfmul d3, d3, d6
00039730fdiv d4, d7, d4
00039734fsub d1, d1, d2
00039738fmadd d1, d4, d1, d3
0003973cfadd d0, d1, d5
00039740str d0, [x1+40]
00039744bl runtime.isInf
00039748tbnz w0, 0, 0x3975c
0003974cldr x0, [sp+56]
00039750ldr d0, [x0+40]
00039754bl runtime.isNaN
00039758tbz w0, 0, 0x39784
0003975c
0003975cloc_3975c:
0003975cldr x0, [sp+56]
00039760bl runtime.(*piController).reset
00039764orr x1, xzr, 1
00039768ldr x2, [sp+56]
0003976cstrb w1, [x2+48]
00039770ldr d0, [x2+24]
00039774mov x0, xzr
00039778ldur x29, [sp-8]
0003977cldr x30, [sp], 48
00039780ret x30
00039784
00039784loc_39784:
00039784ldr d1, [sp+24]
00039788
00039788loc_39788:
00039788fmov d0, d1
0003978corr x0, xzr, 1
00039790ldur x29, [sp-8]
00039794ldr x30, [sp], 48
00039798ret x30
0003979c
0003979cloc_3979c:
0003979cstr x0, [sp+8]
000397a0stp d0, d1, [sp+16]
000397a4str d2, [sp+32]
000397a8mov x3, x30
000397acbl runtime.morestack_noctxt.abi0
000397b0ldr x0, [sp+8]
000397b4ldp d0, d1, [sp+16]
000397b8ldr d2, [sp+32]
000397bcb 0x39660
00039660
000397c0
000397c0runtime.(*piController).reset: ; void runtime.(*piController).reset(runtime.piController * c)
000397c0fmov d0, xzr
000397c4str d0, [x0+40]
000397c8ret x30
000397ccudf 0
000397c0
000397c0runtime.(*piController).reset: ; void runtime.(*piController).reset(runtime.piController * c)
000397c0fmov d0, xzr
000397c4str d0, [x0+40]
000397c8ret x30
000397ccudf 0
000397c0
000397d0
000397d0runtime.(*stackObject).setRecord: ; void runtime.(*stackObject).setRecord(runtime.stackObject * obj, runtime.stackObjectRecord * r)
000397d0str x1, [x0+8]
000397d4ret x30
000397d8udf 0
000397dcudf 0
000397d0
000397d0runtime.(*stackObject).setRecord: ; void runtime.(*stackObject).setRecord(runtime.stackObject * obj, runtime.stackObjectRecord * r)
000397d0str x1, [x0+8]
000397d4ret x30
000397d8udf 0
000397dcudf 0
000397d0
000397e0
000397e0runtime.(*stackScanState).putPtr: ; void runtime.(*stackScanState).putPtr(runtime.stackScanState * s, uintptr p, bool conservative)
000397e0ldr x16, [x28+16]
000397e4subs xzr, sp, x16
000397e8b.ls 0x398cc
000397ecstr x30, [sp-48]!
000397f0stur x29, [sp-8]
000397f4sub x29, sp, 8
000397f8ldr x3, [x0]
000397fcsubs xzr, x1, x3
00039800b.lo 0x398b8
00039804ldr x3, [x0+8]
00039808subs xzr, x1, x3
0003980cb.hs 0x398b8
00039810add x3, x0, 24
00039814tbz w2, 0, 0x3981c
00039818add x3, x0, 40
0003981c
0003981cloc_3981c:
0003981cstr x1, [sp+64]
00039820str x3, [sp+32]
00039824ldr x2, [x3]
00039828cbz x2, 0x3986c
0003982cldr x4, [x2+16]
00039830subs xzr, x4, 252
00039834b.ne 0x39884
00039838ldr x2, [x0+32]
0003983ccbz x2, 0x39848
00039840str xzr, [x0+32]
00039844b 0x39858
00039848
00039848loc_39848:
00039848bl runtime.getempty
0003984cldr x1, [sp+64]
00039850ldr x3, [sp+32]
00039854mov x2, x0
00039858
00039858loc_39858:
00039858str xzr, [x2+16]
0003985cldr x4, [x3]
00039860str x4, [x2+24]
00039864str x2, [x3]
00039868b 0x39884
0003986c
0003986cloc_3986c:
0003986cbl runtime.getempty
00039870stp xzr, xzr, [x0+16]
00039874ldr x1, [sp+32]
00039878str x0, [x1]
0003987cldr x1, [sp+64]
00039880mov x2, x0
00039884
00039884loc_39884:
00039884ldr x0, [x2+16]
00039888subs xzr, x0, 252
0003988cb.hs 0x398b0
00039890add x3, x2, 32
00039894str x1, [x3+3*x0]
00039898ldr x0, [x2+16]
0003989cadd x0, x0, 1
000398a0str x0, [x2+16]
000398a4ldur x29, [sp-8]
000398a8ldr x30, [sp], 48
000398acret x30
000398b0
000398b0loc_398b0:
000398b0orr x1, xzr, 252
000398b4bl runtime.panicIndex
000398b8
000398b8loc_398b8:
000398b8adrp x0, 0x681000
000398bcadd x0, x0, 3416
000398c0movz x1, 27
000398c4bl runtime.throw
000398c8hint
000398cc
000398ccloc_398cc:
000398ccstp x0, x1, [sp+8]
000398d0strb w2, [sp+24]
000398d4mov x3, x30
000398d8bl runtime.morestack_noctxt.abi0
000398dcldp x0, x1, [sp+8]
000398e0ldrb w2, [sp+24]
000398e4b 0x397e0
000398e8udf 0
000398ecudf 0
000397e0
000397e0runtime.(*stackScanState).putPtr: ; void runtime.(*stackScanState).putPtr(runtime.stackScanState * s, uintptr p, bool conservative)
000397e0ldr x16, [x28+16]
000397e4subs xzr, sp, x16
000397e8b.ls 0x398cc
000397ecstr x30, [sp-48]!
000397f0stur x29, [sp-8]
000397f4sub x29, sp, 8
000397f8ldr x3, [x0]
000397fcsubs xzr, x1, x3
00039800b.lo 0x398b8
00039804ldr x3, [x0+8]
00039808subs xzr, x1, x3
0003980cb.hs 0x398b8
00039810add x3, x0, 24
00039814tbz w2, 0, 0x3981c
00039818add x3, x0, 40
0003981c
0003981cloc_3981c:
0003981cstr x1, [sp+64]
00039820str x3, [sp+32]
00039824ldr x2, [x3]
00039828cbz x2, 0x3986c
0003982cldr x4, [x2+16]
00039830subs xzr, x4, 252
00039834b.ne 0x39884
00039838ldr x2, [x0+32]
0003983ccbz x2, 0x39848
00039840str xzr, [x0+32]
00039844b 0x39858
00039848
00039848loc_39848:
00039848bl runtime.getempty
0003984cldr x1, [sp+64]
00039850ldr x3, [sp+32]
00039854mov x2, x0
00039858
00039858loc_39858:
00039858str xzr, [x2+16]
0003985cldr x4, [x3]
00039860str x4, [x2+24]
00039864str x2, [x3]
00039868b 0x39884
0003986c
0003986cloc_3986c:
0003986cbl runtime.getempty
00039870stp xzr, xzr, [x0+16]
00039874ldr x1, [sp+32]
00039878str x0, [x1]
0003987cldr x1, [sp+64]
00039880mov x2, x0
00039884
00039884loc_39884:
00039884ldr x0, [x2+16]
00039888subs xzr, x0, 252
0003988cb.hs 0x398b0
00039890add x3, x2, 32
00039894str x1, [x3+3*x0]
00039898ldr x0, [x2+16]
0003989cadd x0, x0, 1
000398a0str x0, [x2+16]
000398a4ldur x29, [sp-8]
000398a8ldr x30, [sp], 48
000398acret x30
000398b0
000398b0loc_398b0:
000398b0orr x1, xzr, 252
000398b4bl runtime.panicIndex
000398b8
000398b8loc_398b8:
000398b8adrp x0, 0x681000
000398bcadd x0, x0, 3416
000398c0movz x1, 27
000398c4bl runtime.throw
000398c8hint
000398cc
000398ccloc_398cc:
000398ccstp x0, x1, [sp+8]
000398d0strb w2, [sp+24]
000398d4mov x3, x30
000398d8bl runtime.morestack_noctxt.abi0
000398dcldp x0, x1, [sp+8]
000398e0ldrb w2, [sp+24]
000398e4b 0x397e0
000398e8udf 0
000398ecudf 0
000397e0
000398f0
000398f0runtime.(*stackScanState).getPtr: ; void runtime.(*stackScanState).getPtr(runtime.stackScanState * s)
000398f0ldr x16, [x28+16]
000398f4subs xzr, sp, x16
000398f8b.ls 0x39a00
000398fcstr x30, [sp-80]!
00039900stur x29, [sp-8]
00039904sub x29, sp, 8
00039908str x0, [sp+88]
0003990cstp xzr, xzr, [sp+48]
00039910ldrsb x27, [x0]
00039914add x2, x0, 24
00039918str x2, [sp+48]
0003991cadd x2, x0, 40
00039920str x2, [sp+64]
00039924str x2, [sp+56]
00039928mov x1, xzr
0003992cb 0x39934
00039930
00039930loc_39930:
00039930add x1, x1, 1
00039934
00039934loc_39934:
00039934subs xzr, x1, 2
00039938b.ge 0x399c8
0003993cadd x3, sp, 48
00039940ldr x4, [x3+3*x1]
00039944ldr x5, [x4]
00039948cbz x5, 0x39930
0003994cldr x6, [x5+16]
00039950cbnz x6, 0x39998
00039954ldr x6, [x0+32]
00039958cbz x6, 0x39988
0003995cstr x1, [sp+32]
00039960str x4, [sp+40]
00039964str x5, [sp+24]
00039968mov x0, x6
0003996cbl runtime.putempty
00039970ldr x0, [sp+88]
00039974ldr x1, [sp+32]
00039978ldr x2, [sp+64]
0003997cadd x3, sp, 48
00039980ldr x4, [sp+40]
00039984ldr x5, [sp+24]
00039988
00039988loc_39988:
00039988str x5, [x0+32]
0003998cldr x5, [x5+24]
00039990str x5, [x4]
00039994cbz x5, 0x39930
00039998
00039998loc_39998:
00039998ldr x3, [x5+16]
0003999csub x0, x3, 1
000399a0str x0, [x5+16]
000399a4subs xzr, x0, 252
000399a8b.hs 0x399f4
000399acadd x3, x5, 32
000399b0ldr x0, [x3+3*x0]
000399b4subs xzr, x4, x2
000399b8cset x1, eq
000399bcldur x29, [sp-8]
000399c0ldr x30, [sp], 80
000399c4ret x30
000399c8
000399c8loc_399c8:
000399c8ldr x2, [x0+32]
000399cccbz x2, 0x399e0
000399d0mov x0, x2
000399d4bl runtime.putempty
000399d8ldr x1, [sp+88]
000399dcstr xzr, [x1+32]
000399e0
000399e0loc_399e0:
000399e0mov x0, xzr
000399e4mov x1, xzr
000399e8ldur x29, [sp-8]
000399ecldr x30, [sp], 80
000399f0ret x30
000399f4
000399f4loc_399f4:
000399f4orr x1, xzr, 252
000399f8bl runtime.panicIndex
000399fchint
00039a00
00039a00loc_39a00:
00039a00str x0, [sp+8]
00039a04mov x3, x30
00039a08bl runtime.morestack_noctxt.abi0
00039a0cldr x0, [sp+8]
00039a10b 0x398f0
00039a14udf 0
00039a18udf 0
00039a1cudf 0
000398f0
000398f0runtime.(*stackScanState).getPtr: ; void runtime.(*stackScanState).getPtr(runtime.stackScanState * s)
000398f0ldr x16, [x28+16]
000398f4subs xzr, sp, x16
000398f8b.ls 0x39a00
000398fcstr x30, [sp-80]!
00039900stur x29, [sp-8]
00039904sub x29, sp, 8
00039908str x0, [sp+88]
0003990cstp xzr, xzr, [sp+48]
00039910ldrsb x27, [x0]
00039914add x2, x0, 24
00039918str x2, [sp+48]
0003991cadd x2, x0, 40
00039920str x2, [sp+64]
00039924str x2, [sp+56]
00039928mov x1, xzr
0003992cb 0x39934
00039930
00039930loc_39930:
00039930add x1, x1, 1
00039934
00039934loc_39934:
00039934subs xzr, x1, 2
00039938b.ge 0x399c8
0003993cadd x3, sp, 48
00039940ldr x4, [x3+3*x1]
00039944ldr x5, [x4]
00039948cbz x5, 0x39930
0003994cldr x6, [x5+16]
00039950cbnz x6, 0x39998
00039954ldr x6, [x0+32]
00039958cbz x6, 0x39988
0003995cstr x1, [sp+32]
00039960str x4, [sp+40]
00039964str x5, [sp+24]
00039968mov x0, x6
0003996cbl runtime.putempty
00039970ldr x0, [sp+88]
00039974ldr x1, [sp+32]
00039978ldr x2, [sp+64]
0003997cadd x3, sp, 48
00039980ldr x4, [sp+40]
00039984ldr x5, [sp+24]
00039988
00039988loc_39988:
00039988str x5, [x0+32]
0003998cldr x5, [x5+24]
00039990str x5, [x4]
00039994cbz x5, 0x39930
00039998
00039998loc_39998:
00039998ldr x3, [x5+16]
0003999csub x0, x3, 1
000399a0str x0, [x5+16]
000399a4subs xzr, x0, 252
000399a8b.hs 0x399f4
000399acadd x3, x5, 32
000399b0ldr x0, [x3+3*x0]
000399b4subs xzr, x4, x2
000399b8cset x1, eq
000399bcldur x29, [sp-8]
000399c0ldr x30, [sp], 80
000399c4ret x30
000399c8
000399c8loc_399c8:
000399c8ldr x2, [x0+32]
000399cccbz x2, 0x399e0
000399d0mov x0, x2
000399d4bl runtime.putempty
000399d8ldr x1, [sp+88]
000399dcstr xzr, [x1+32]
000399e0
000399e0loc_399e0:
000399e0mov x0, xzr
000399e4mov x1, xzr
000399e8ldur x29, [sp-8]
000399ecldr x30, [sp], 80
000399f0ret x30
000399f4
000399f4loc_399f4:
000399f4orr x1, xzr, 252
000399f8bl runtime.panicIndex
000399fchint
00039a00
00039a00loc_39a00:
00039a00str x0, [sp+8]
00039a04mov x3, x30
00039a08bl runtime.morestack_noctxt.abi0
00039a0cldr x0, [sp+8]
00039a10b 0x398f0
00039a14udf 0
00039a18udf 0
00039a1cudf 0
000398f0
00039a20
00039a20runtime.(*stackScanState).addObject: ; void runtime.(*stackScanState).addObject(runtime.stackScanState * s, uintptr addr, runtime.stackObjectRecord * r)
00039a20ldr x16, [x28+16]
00039a24subs xzr, sp, x16
00039a28b.ls 0x39b6c
00039a2cstr x30, [sp-48]!
00039a30stur x29, [sp-8]
00039a34sub x29, sp, 8
00039a38str x0, [sp+56]
00039a3cstr x1, [sp+64]
00039a40str x2, [sp+72]
00039a44ldr x3, [x0+56]
00039a48cbnz x3, 0x39a70
00039a4cbl runtime.getempty
00039a50str xzr, [x0+24]
00039a54ldr x1, [sp+56]
00039a58str x0, [x1+48]
00039a5cstr x0, [x1+56]
00039a60ldr x1, [sp+64]
00039a64ldr x2, [sp+72]
00039a68mov x3, x0
00039a6cldr x0, [sp+56]
00039a70
00039a70loc_39a70:
00039a70ldr x4, [x3+16]
00039a74subs xzr, x4, 0
00039a78b.le 0x39ae4
00039a7cldr x5, [x0]
00039a80sub x6, x4, 1
00039a84sub x5, x1, x5
00039a88subs xzr, x6, 63
00039a8cb.hs 0x39b5c
00039a90add x7, x3, 32
00039a94add x8, x7, x6, lsl #5
00039a98ubfm x6, x6, 59, 58
00039a9cldr w6, [x7+x6]
00039aa0ldr w7, [x8+4]
00039aa4add x6, x6, x7
00039aa8subs wzr, w5, w6
00039aacb.lo 0x39b4c
00039ab0subs xzr, x4, 63
00039ab4b.ne 0x39ae4
00039ab8str x3, [sp+32]
00039abcbl runtime.getempty
00039ac0str xzr, [x0+24]
00039ac4ldr x1, [sp+32]
00039ac8str x0, [x1+24]
00039accldr x1, [sp+56]
00039ad0str x0, [x1+56]
00039ad4ldr x1, [sp+64]
00039ad8ldr x2, [sp+72]
00039adcmov x3, x0
00039ae0ldr x0, [sp+56]
00039ae4
00039ae4loc_39ae4:
00039ae4ldr x4, [x3+16]
00039ae8subs xzr, x4, 63
00039aecb.hs 0x39b40
00039af0add x5, x3, 32
00039af4add x6, x5, x4, lsl #5
00039af8ubfm x7, x4, 59, 58
00039afcadd x4, x4, 1
00039b00str x4, [x3+16]
00039b04ldr x3, [x0]
00039b08sub x3, x1, x3
00039b0cstr w3, [x5+x7]
00039b10ldrsw x3, [x2+4]
00039b14str w3, [x6+4]
00039b18mov x0, x6
00039b1cmov x1, x2
00039b20bl runtime.(*stackObject).setRecord
00039b24ldr x2, [sp+56]
00039b28ldr x3, [x2+64]
00039b2cadd x3, x3, 1
00039b30str x3, [x2+64]
00039b34ldur x29, [sp-8]
00039b38ldr x30, [sp], 48
00039b3cret x30
00039b40
00039b40loc_39b40:
00039b40mov x0, x4
00039b44orr x1, xzr, 63
00039b48bl runtime.panicIndex
00039b4c
00039b4cloc_39b4c:
00039b4cadrp x0, 0x68b000
00039b50add x0, x0, 2905
00039b54movz x1, 41
00039b58bl runtime.throw
00039b5c
00039b5cloc_39b5c:
00039b5cmov x0, x6
00039b60orr x1, xzr, 63
00039b64bl runtime.panicIndex
00039b68hint
00039b6c
00039b6cloc_39b6c:
00039b6cstp x0, x1, [sp+8]
00039b70str x2, [sp+24]
00039b74mov x3, x30
00039b78bl runtime.morestack_noctxt.abi0
00039b7cldp x0, x1, [sp+8]
00039b80ldr x2, [sp+24]
00039b84b 0x39a20
00039b88udf 0
00039b8cudf 0
00039a20
00039a20runtime.(*stackScanState).addObject: ; void runtime.(*stackScanState).addObject(runtime.stackScanState * s, uintptr addr, runtime.stackObjectRecord * r)
00039a20ldr x16, [x28+16]
00039a24subs xzr, sp, x16
00039a28b.ls 0x39b6c
00039a2cstr x30, [sp-48]!
00039a30stur x29, [sp-8]
00039a34sub x29, sp, 8
00039a38str x0, [sp+56]
00039a3cstr x1, [sp+64]
00039a40str x2, [sp+72]
00039a44ldr x3, [x0+56]
00039a48cbnz x3, 0x39a70
00039a4cbl runtime.getempty
00039a50str xzr, [x0+24]
00039a54ldr x1, [sp+56]
00039a58str x0, [x1+48]
00039a5cstr x0, [x1+56]
00039a60ldr x1, [sp+64]
00039a64ldr x2, [sp+72]
00039a68mov x3, x0
00039a6cldr x0, [sp+56]
00039a70
00039a70loc_39a70:
00039a70ldr x4, [x3+16]
00039a74subs xzr, x4, 0
00039a78b.le 0x39ae4
00039a7cldr x5, [x0]
00039a80sub x6, x4, 1
00039a84sub x5, x1, x5
00039a88subs xzr, x6, 63
00039a8cb.hs 0x39b5c
00039a90add x7, x3, 32
00039a94add x8, x7, x6, lsl #5
00039a98ubfm x6, x6, 59, 58
00039a9cldr w6, [x7+x6]
00039aa0ldr w7, [x8+4]
00039aa4add x6, x6, x7
00039aa8subs wzr, w5, w6
00039aacb.lo 0x39b4c
00039ab0subs xzr, x4, 63
00039ab4b.ne 0x39ae4
00039ab8str x3, [sp+32]
00039abcbl runtime.getempty
00039ac0str xzr, [x0+24]
00039ac4ldr x1, [sp+32]
00039ac8str x0, [x1+24]
00039accldr x1, [sp+56]
00039ad0str x0, [x1+56]
00039ad4ldr x1, [sp+64]
00039ad8ldr x2, [sp+72]
00039adcmov x3, x0
00039ae0ldr x0, [sp+56]
00039ae4
00039ae4loc_39ae4:
00039ae4ldr x4, [x3+16]
00039ae8subs xzr, x4, 63
00039aecb.hs 0x39b40
00039af0add x5, x3, 32
00039af4add x6, x5, x4, lsl #5
00039af8ubfm x7, x4, 59, 58
00039afcadd x4, x4, 1
00039b00str x4, [x3+16]
00039b04ldr x3, [x0]
00039b08sub x3, x1, x3
00039b0cstr w3, [x5+x7]
00039b10ldrsw x3, [x2+4]
00039b14str w3, [x6+4]
00039b18mov x0, x6
00039b1cmov x1, x2
00039b20bl runtime.(*stackObject).setRecord
00039b24ldr x2, [sp+56]
00039b28ldr x3, [x2+64]
00039b2cadd x3, x3, 1
00039b30str x3, [x2+64]
00039b34ldur x29, [sp-8]
00039b38ldr x30, [sp], 48
00039b3cret x30
00039b40
00039b40loc_39b40:
00039b40mov x0, x4
00039b44orr x1, xzr, 63
00039b48bl runtime.panicIndex
00039b4c
00039b4cloc_39b4c:
00039b4cadrp x0, 0x68b000
00039b50add x0, x0, 2905
00039b54movz x1, 41
00039b58bl runtime.throw
00039b5c
00039b5cloc_39b5c:
00039b5cmov x0, x6
00039b60orr x1, xzr, 63
00039b64bl runtime.panicIndex
00039b68hint
00039b6c
00039b6cloc_39b6c:
00039b6cstp x0, x1, [sp+8]
00039b70str x2, [sp+24]
00039b74mov x3, x30
00039b78bl runtime.morestack_noctxt.abi0
00039b7cldp x0, x1, [sp+8]
00039b80ldr x2, [sp+24]
00039b84b 0x39a20
00039b88udf 0
00039b8cudf 0
00039a20
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Loading..