File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
00033db0
00033db0runtime.gcFlushBgCredit: ; void runtime.gcFlushBgCredit(int64 scanWork)
00033db0ldr x16, [x28+16]
00033db4subs xzr, sp, x16
00033db8b.ls 0x33eec
00033dbcstr x30, [sp-64]!
00033dc0stur x29, [sp-8]
00033dc4sub x29, sp, 8
00033dc8str x0, [sp+72]
00033dccadrp x0, 0x9f1000
00033dd0add x0, x0, 3144
00033dd4bl runtime.(*gQueue).empty
00033dd8tbnz w0, 0, 0x33e10
00033ddcadrp x0, 0xa19000
00033de0add x0, x0, 2752
00033de4bl internal/runtime/atomic.(*Float64).Load
00033de8ldr x1, [sp+72]
00033decscvtf d1, x1
00033df0fmul d0, d1, d0
00033df4str d0, [sp+48]
00033df8adrp x0, 0x9f1000
00033dfcadd x0, x0, 3136
00033e00bl runtime.lock
00033e04ldr d0, [sp+48]
00033e08fcvtzs x1, d0
00033e0cb 0x33e44
00033e10
00033e10loc_33e10:
00033e10adrp x0, 0xa19000
00033e14add x0, x0, 2680
00033e18ldr x1, [sp+72]
00033e1cbl internal/runtime/atomic.(*Int64).Add
00033e20ldur x29, [sp-8]
00033e24ldr x30, [sp], 64
00033e28ret x30
00033e2c
00033e2cloc_33e2c:
00033e2cstr x1, [sp+40]
00033e30str xzr, [x0+432]
00033e34mov x1, xzr
00033e38mov x2, xzr
00033e3cbl runtime.ready
00033e40ldr x1, [sp+40]
00033e44
00033e44loc_33e44:
00033e44str x1, [sp+32]
00033e48adrp x0, 0x9f1000
00033e4cadd x0, x0, 3144
00033e50bl runtime.(*gQueue).empty
00033e54tbnz w0, 0, 0x33e9c
00033e58ldr x1, [sp+32]
00033e5csubs xzr, x1, 0
00033e60b.le 0x33ea0
00033e64adrp x0, 0x9f1000
00033e68add x0, x0, 3144
00033e6cbl runtime.(*gQueue).pop
00033e70ldr x1, [x0+432]
00033e74ldr x2, [sp+32]
00033e78add x1, x2, x1
00033e7ctbz x1, 63, 0x33e2c
00033e80str x1, [x0+432]
00033e84mov x1, x0
00033e88adrp x0, 0x9f1000
00033e8cadd x0, x0, 3144
00033e90bl runtime.(*gQueue).pushBack
00033e94mov x1, xzr
00033e98b 0x33ea0
00033e9c
00033e9cloc_33e9c:
00033e9cldr x1, [sp+32]
00033ea0
00033ea0loc_33ea0:
00033ea0subs xzr, x1, 0
00033ea4b.le 0x33ed4
00033ea8str x1, [sp+32]
00033eacadrp x0, 0xa19000
00033eb0add x0, x0, 2744
00033eb4bl internal/runtime/atomic.(*Float64).Load
00033eb8ldr x1, [sp+32]
00033ebcscvtf d1, x1
00033ec0fmul d0, d1, d0
00033ec4fcvtzs x1, d0
00033ec8adrp x0, 0xa19000
00033eccadd x0, x0, 2680
00033ed0bl internal/runtime/atomic.(*Int64).Add
00033ed4
00033ed4loc_33ed4:
00033ed4adrp x0, 0x9f1000
00033ed8add x0, x0, 3136
00033edcbl runtime.unlock
00033ee0ldur x29, [sp-8]
00033ee4ldr x30, [sp], 64
00033ee8ret x30
00033eec
00033eecloc_33eec:
00033eecstr x0, [sp+8]
00033ef0mov x3, x30
00033ef4bl runtime.morestack_noctxt.abi0
00033ef8ldr x0, [sp+8]
00033efcb 0x33db0
00033db0
00033db0runtime.gcFlushBgCredit: ; void runtime.gcFlushBgCredit(int64 scanWork)
00033db0ldr x16, [x28+16]
00033db4subs xzr, sp, x16
00033db8b.ls 0x33eec
00033dbcstr x30, [sp-64]!
00033dc0stur x29, [sp-8]
00033dc4sub x29, sp, 8
00033dc8str x0, [sp+72]
00033dccadrp x0, 0x9f1000
00033dd0add x0, x0, 3144
00033dd4bl runtime.(*gQueue).empty
00033dd8tbnz w0, 0, 0x33e10
00033ddcadrp x0, 0xa19000
00033de0add x0, x0, 2752
00033de4bl internal/runtime/atomic.(*Float64).Load
00033de8ldr x1, [sp+72]
00033decscvtf d1, x1
00033df0fmul d0, d1, d0
00033df4str d0, [sp+48]
00033df8adrp x0, 0x9f1000
00033dfcadd x0, x0, 3136
00033e00bl runtime.lock
00033e04ldr d0, [sp+48]
00033e08fcvtzs x1, d0
00033e0cb 0x33e44
00033e10
00033e10loc_33e10:
00033e10adrp x0, 0xa19000
00033e14add x0, x0, 2680
00033e18ldr x1, [sp+72]
00033e1cbl internal/runtime/atomic.(*Int64).Add
00033e20ldur x29, [sp-8]
00033e24ldr x30, [sp], 64
00033e28ret x30
00033e2c
00033e2cloc_33e2c:
00033e2cstr x1, [sp+40]
00033e30str xzr, [x0+432]
00033e34mov x1, xzr
00033e38mov x2, xzr
00033e3cbl runtime.ready
00033e40ldr x1, [sp+40]
00033e44
00033e44loc_33e44:
00033e44str x1, [sp+32]
00033e48adrp x0, 0x9f1000
00033e4cadd x0, x0, 3144
00033e50bl runtime.(*gQueue).empty
00033e54tbnz w0, 0, 0x33e9c
00033e58ldr x1, [sp+32]
00033e5csubs xzr, x1, 0
00033e60b.le 0x33ea0
00033e64adrp x0, 0x9f1000
00033e68add x0, x0, 3144
00033e6cbl runtime.(*gQueue).pop
00033e70ldr x1, [x0+432]
00033e74ldr x2, [sp+32]
00033e78add x1, x2, x1
00033e7ctbz x1, 63, 0x33e2c
00033e80str x1, [x0+432]
00033e84mov x1, x0
00033e88adrp x0, 0x9f1000
00033e8cadd x0, x0, 3144
00033e90bl runtime.(*gQueue).pushBack
00033e94mov x1, xzr
00033e98b 0x33ea0
00033e9c
00033e9cloc_33e9c:
00033e9cldr x1, [sp+32]
00033ea0
00033ea0loc_33ea0:
00033ea0subs xzr, x1, 0
00033ea4b.le 0x33ed4
00033ea8str x1, [sp+32]
00033eacadrp x0, 0xa19000
00033eb0add x0, x0, 2744
00033eb4bl internal/runtime/atomic.(*Float64).Load
00033eb8ldr x1, [sp+32]
00033ebcscvtf d1, x1
00033ec0fmul d0, d1, d0
00033ec4fcvtzs x1, d0
00033ec8adrp x0, 0xa19000
00033eccadd x0, x0, 2680
00033ed0bl internal/runtime/atomic.(*Int64).Add
00033ed4
00033ed4loc_33ed4:
00033ed4adrp x0, 0x9f1000
00033ed8add x0, x0, 3136
00033edcbl runtime.unlock
00033ee0ldur x29, [sp-8]
00033ee4ldr x30, [sp], 64
00033ee8ret x30
00033eec
00033eecloc_33eec:
00033eecstr x0, [sp+8]
00033ef0mov x3, x30
00033ef4bl runtime.morestack_noctxt.abi0
00033ef8ldr x0, [sp+8]
00033efcb 0x33db0
00033db0
00033f00
00033f00runtime.scanstack: ; void runtime.scanstack(runtime.g * gp, runtime.gcWork * gcw)
00033f00ldr x16, [x28+24]
00033f04sub x17, sp, 176
00033f08subs xzr, x17, x16
00033f0cb.ls 0x343fc
00033f10sub x20, sp, 304
00033f14stp x29, x30, [x20-8]
00033f18add sp, x20, 0
00033f1csub x29, sp, 8
00033f20str x0, [sp+312]
00033f24str x1, [sp+320]
00033f28bl runtime.readgstatus
00033f2ctbz w0, 12, 0x34378
00033f30ldr x0, [sp+312]
00033f34bl runtime.readgstatus
00033f38and x1, x0, -4097
00033f3csubs wzr, w1, 2
00033f40b.hi 0x33f50
00033f44subs wzr, w1, 1
00033f48b.eq 0x33f58
00033f4cb 0x342f0
00033f50
00033f50loc_33f50:
00033f50subs wzr, w1, 4
00033f54b.hi 0x34050
00033f58
00033f58loc_33f58:
00033f58ldr x2, [sp+312]
00033f5csubs xzr, x28, x2
00033f60b.eq 0x342e0
00033f64str x28, [sp+288]
00033f68ldr x1, [x2+112]
00033f6ccbnz x1, 0x33f74
00033f70ldr x1, [x2+56]
00033f74
00033f74loc_33f74:
00033f74ldr x2, [x2+8]
00033f78sub x1, x2, x1
00033f7cstr x1, [sp+240]
00033f80ldr x1, [sp+288]
00033f84ldr x1, [x1+48]
00033f88ldr x0, [x1+208]
00033f8cbl runtime.puintptr.ptr
00033f90ldrsb x27, [x0]
00033f94ldr x1, [x0+8920]
00033f98ldr x2, [sp+240]
00033f9cadd x1, x2, x1
00033fa0str x1, [x0+8920]
00033fa4ldr x1, [x0+8928]
00033fa8add x1, x1, 1
00033facstr x1, [x0+8928]
00033fb0ldr x0, [sp+312]
00033fb4bl runtime.isShrinkStackSafe
00033fb8tbnz w0, 0, 0x33fcc
00033fbcorr x5, xzr, 1
00033fc0ldr x1, [sp+312]
00033fc4strb w5, [x1+187]
00033fc8b 0x33fd8
00033fcc
00033fccloc_33fcc:
00033fccldr x0, [sp+312]
00033fd0bl runtime.shrinkstack
00033fd4ldr x1, [sp+312]
00033fd8
00033fd8loc_33fd8:
00033fd8add x20, sp, 160
00033fdcadr x27, 16
00033fe0stp x29, x27, [sp-24]
00033fe4sub x29, sp, 24
00033fe8bl fn_87cfc
00033fecsub x29, sp, 8
00033ff0ldr x5, [x1+8]
00033ff4ldr x6, [x1]
00033ff8str x6, [sp+160]
00033ffcstr x5, [sp+168]
00034000ldr x5, [x1+80]
00034004cbz x5, 0x34028
00034008add x0, x1, 80
0003400corr x1, xzr, 8
00034010adrp x2, 0x98c000
00034014add x2, x2, 1377
00034018ldr x3, [sp+320]
0003401cadd x4, sp, 160
00034020bl runtime.scanblock
00034024ldr x1, [sp+312]
00034028
00034028loc_34028:
00034028add x20, sp, 64
0003402cadr x27, 16
00034030stp x29, x27, [sp-24]
00034034sub x29, sp, 24
00034038bl fn_87cf8
0003403csub x29, sp, 8
00034040add x0, sp, 64
00034044mov x2, xzr
00034048bl runtime.(*unwinder).init
0003404cb 0x34100
00034050
00034050loc_34050:
00034050subs wzr, w1, 6
00034054b.ne 0x34068
00034058mov x0, xzr
0003405cldp x29, x30, [sp-8]
00034060add sp, sp, 304
00034064ret x30
00034068
00034068loc_34068:
00034068ldr x0, [sp+312]
0003406cbl runtime.readgstatus
00034070mov w1, w0
00034074str x1, [sp+264]
00034078ldr x1, [sp+312]
0003407cldr x1, [x1+160]
00034080str x1, [sp+256]
00034084bl runtime.printlock
00034088adrp x0, 0x67e000
0003408cadd x0, x0, 3832
00034090orr x1, xzr, 12
00034094bl runtime.printstring
00034098ldr x0, [sp+312]
0003409cbl runtime.printpointer
000340a0adrp x0, 0x67c000
000340a4add x0, x0, 3437
000340a8orr x1, xzr, 7
000340acbl runtime.printstring
000340b0ldr x0, [sp+256]
000340b4bl runtime.printuint
000340b8adrp x0, 0x682000
000340bcadd x0, x0, 16
000340c0movz x1, 19
000340c4bl runtime.printstring
000340c8ldr x0, [sp+264]
000340ccbl runtime.printuint
000340d0bl runtime.printnl
000340d4bl runtime.printunlock
000340d8adrp x0, 0x681000
000340dcadd x0, x0, 166
000340e0movz x1, 17
000340e4bl runtime.throw
000340e8
000340e8loc_340e8:
000340e8add x0, sp, 64
000340ecadd x1, sp, 160
000340f0ldr x2, [sp+320]
000340f4bl runtime.scanframeworker
000340f8add x0, sp, 64
000340fcbl runtime.(*unwinder).next
00034100
00034100loc_34100:
00034100add x0, sp, 64
00034104bl runtime.(*unwinder).valid
00034108tbnz w0, 0, 0x340e8
0003410cldr x5, [sp+312]
00034110ldr x6, [x5+40]
00034114orr x0, xzr, 1
00034118b 0x34120
0003411c
0003411cloc_3411c:
0003411cldr x6, [sp+280]
00034120
00034120loc_34120:
00034120str x6, [sp+280]
00034124tbz w0, 0, 0x34130
00034128mov x0, xzr
0003412cb 0x34138
00034130
00034130loc_34130:
00034130ldr x6, [x6+32]
00034134str x6, [sp+280]
00034138
00034138loc_34138:
00034138ldr x6, [sp+280]
0003413ccbz x6, 0x341d4
00034140strb w0, [sp+59]
00034144ldr x7, [x6+24]
00034148cbz x7, 0x34170
0003414cadd x0, x6, 24
00034150orr x1, xzr, 8
00034154adrp x2, 0x98c000
00034158add x2, x2, 1377
0003415cldr x3, [sp+320]
00034160add x4, sp, 160
00034164bl runtime.scanblock
00034168ldrb w0, [sp+59]
0003416cldr x5, [sp+312]
00034170
00034170loc_34170:
00034170ldr x6, [sp+280]
00034174ldr x7, [x6+32]
00034178cbz x7, 0x341a0
0003417cadd x0, x6, 32
00034180orr x1, xzr, 8
00034184adrp x2, 0x98c000
00034188add x2, x2, 1377
0003418cldr x3, [sp+320]
00034190add x4, sp, 160
00034194bl runtime.scanblock
00034198ldrb w0, [sp+59]
0003419cldr x5, [sp+312]
000341a0
000341a0loc_341a0:
000341a0ldr x6, [sp+280]
000341a4ldrb w6, [x6]
000341a8tbz w6, 0, 0x3411c
000341acadd x0, sp, 280
000341b0orr x1, xzr, 8
000341b4adrp x2, 0x98c000
000341b8add x2, x2, 1377
000341bcldr x3, [sp+320]
000341c0add x4, sp, 160
000341c4bl runtime.scanblock
000341c8ldrb w0, [sp+59]
000341ccldr x5, [sp+312]
000341d0b 0x3411c
000341d4
000341d4loc_341d4:
000341d4ldr x1, [x5+32]
000341d8cbz x1, 0x341e8
000341dcadd x0, sp, 160
000341e0mov x2, xzr
000341e4bl runtime.(*stackScanState).putPtr
000341e8
000341e8loc_341e8:
000341e8add x0, sp, 160
000341ecbl runtime.(*stackScanState).buildIndex
000341f0
000341f0loc_341f0:
000341f0add x0, sp, 160
000341f4bl runtime.(*stackScanState).getPtr
000341f8cbz x0, 0x342a0
000341fcstrb w1, [sp+58]
00034200mov x1, x0
00034204add x0, sp, 160
00034208bl runtime.(*stackScanState).findObject
0003420ccbz x0, 0x341f0
00034210ldr x2, [x0+8]
00034214cbz x2, 0x341f0
00034218str x0, [sp+248]
0003421cstr x2, [sp+272]
00034220mov x1, xzr
00034224bl runtime.(*stackObject).setRecord
00034228ldr x0, [sp+272]
0003422cbl runtime.(*stackObjectRecord).gcdata
00034230ldr x2, [sp+160]
00034234ldr x3, [sp+248]
00034238ldr w3, [x3]
0003423cadd x2, x2, x3
00034240ldrb w3, [sp+58]
00034244tbz w3, 0, 0x3426c
00034248ldr x3, [sp+320]
0003424cadd x4, sp, 160
00034250mov x5, x0
00034254mov x0, x2
00034258mov x6, x1
0003425cmov x1, x5
00034260mov x2, x6
00034264bl runtime.scanConservative
00034268b 0x341f0
0003426c
0003426cloc_3426c:
0003426cldr x3, [sp+320]
00034270add x4, sp, 160
00034274mov x5, x0
00034278mov x0, x2
0003427cmov x6, x1
00034280mov x1, x5
00034284mov x2, x6
00034288bl runtime.scanblock
0003428cb 0x341f0
00034290
00034290loc_34290:
00034290ldr x1, [x0+24]
00034294str x1, [sp+208]
00034298str xzr, [x0+16]
0003429cbl runtime.putempty
000342a0
000342a0loc_342a0:
000342a0ldr x0, [sp+208]
000342a4cbnz x0, 0x34290
000342a8ldr x2, [sp+184]
000342accbnz x2, 0x342d0
000342b0ldr x2, [sp+200]
000342b4cbnz x2, 0x342d0
000342b8ldr x2, [sp+192]
000342bccbnz x2, 0x342d0
000342c0ldr x0, [sp+240]
000342c4ldp x29, x30, [sp-8]
000342c8add sp, sp, 304
000342ccret x30
000342d0
000342d0loc_342d0:
000342d0adrp x0, 0x685000
000342d4add x0, x0, 2129
000342d8movz x1, 25
000342dcbl runtime.throw
000342e0
000342e0loc_342e0:
000342e0adrp x0, 0x685000
000342e4add x0, x0, 30
000342e8orr x1, xzr, 24
000342ecbl runtime.throw
000342f0
000342f0loc_342f0:
000342f0subs wzr, w1, 2
000342f4b.ne 0x34068
000342f8ldr x0, [sp+312]
000342fcbl runtime.readgstatus
00034300mov w1, w0
00034304str x1, [sp+264]
00034308ldr x1, [sp+312]
0003430cldr x1, [x1+160]
00034310str x1, [sp+256]
00034314bl runtime.printlock
00034318adrp x0, 0x67e000
0003431cadd x0, x0, 3832
00034320orr x1, xzr, 12
00034324bl runtime.printstring
00034328ldr x0, [sp+312]
0003432cbl runtime.printpointer
00034330adrp x0, 0x67c000
00034334add x0, x0, 3437
00034338orr x1, xzr, 7
0003433cbl runtime.printstring
00034340ldr x0, [sp+256]
00034344bl runtime.printuint
00034348adrp x0, 0x682000
0003434cadd x0, x0, 16
00034350movz x1, 19
00034354bl runtime.printstring
00034358ldr x0, [sp+264]
0003435cbl runtime.printuint
00034360bl runtime.printnl
00034364bl runtime.printunlock
00034368adrp x0, 0x68a000
0003436cadd x0, x0, 1200
00034370orr x1, xzr, 32
00034374bl runtime.throw
00034378
00034378loc_34378:
00034378ldr x0, [sp+312]
0003437cbl runtime.readgstatus
00034380str w0, [sp+60]
00034384ldr x1, [sp+312]
00034388ldr x1, [x1+160]
0003438cstr x1, [sp+264]
00034390bl runtime.printlock
00034394adrp x0, 0x683000
00034398add x0, x0, 2622
0003439cmovz x1, 22
000343a0bl runtime.printstring
000343a4ldr x0, [sp+312]
000343a8bl runtime.printpointer
000343acadrp x0, 0x67c000
000343b0add x0, x0, 3437
000343b4orr x1, xzr, 7
000343b8bl runtime.printstring
000343bcldr x0, [sp+264]
000343c0bl runtime.printuint
000343c4adrp x0, 0x682000
000343c8add x0, x0, 16
000343ccmovz x1, 19
000343d0bl runtime.printstring
000343d4ldr w1, [sp+60]
000343d8mov x0, x1
000343dcbl runtime.printhex
000343e0bl runtime.printnl
000343e4bl runtime.printunlock
000343e8adrp x0, 0x683000
000343ecadd x0, x0, 2644
000343f0movz x1, 22
000343f4bl runtime.throw
000343f8hint
000343fc
000343fcloc_343fc:
000343fcstp x0, x1, [sp+8]
00034400mov x3, x30
00034404bl runtime.morestackc.abi0
00034408ldp x0, x1, [sp+8]
0003440cb 0x33f00
00033f00
00033f00runtime.scanstack: ; void runtime.scanstack(runtime.g * gp, runtime.gcWork * gcw)
00033f00ldr x16, [x28+24]
00033f04sub x17, sp, 176
00033f08subs xzr, x17, x16
00033f0cb.ls 0x343fc
00033f10sub x20, sp, 304
00033f14stp x29, x30, [x20-8]
00033f18add sp, x20, 0
00033f1csub x29, sp, 8
00033f20str x0, [sp+312]
00033f24str x1, [sp+320]
00033f28bl runtime.readgstatus
00033f2ctbz w0, 12, 0x34378
00033f30ldr x0, [sp+312]
00033f34bl runtime.readgstatus
00033f38and x1, x0, -4097
00033f3csubs wzr, w1, 2
00033f40b.hi 0x33f50
00033f44subs wzr, w1, 1
00033f48b.eq 0x33f58
00033f4cb 0x342f0
00033f50
00033f50loc_33f50:
00033f50subs wzr, w1, 4
00033f54b.hi 0x34050
00033f58
00033f58loc_33f58:
00033f58ldr x2, [sp+312]
00033f5csubs xzr, x28, x2
00033f60b.eq 0x342e0
00033f64str x28, [sp+288]
00033f68ldr x1, [x2+112]
00033f6ccbnz x1, 0x33f74
00033f70ldr x1, [x2+56]
00033f74
00033f74loc_33f74:
00033f74ldr x2, [x2+8]
00033f78sub x1, x2, x1
00033f7cstr x1, [sp+240]
00033f80ldr x1, [sp+288]
00033f84ldr x1, [x1+48]
00033f88ldr x0, [x1+208]
00033f8cbl runtime.puintptr.ptr
00033f90ldrsb x27, [x0]
00033f94ldr x1, [x0+8920]
00033f98ldr x2, [sp+240]
00033f9cadd x1, x2, x1
00033fa0str x1, [x0+8920]
00033fa4ldr x1, [x0+8928]
00033fa8add x1, x1, 1
00033facstr x1, [x0+8928]
00033fb0ldr x0, [sp+312]
00033fb4bl runtime.isShrinkStackSafe
00033fb8tbnz w0, 0, 0x33fcc
00033fbcorr x5, xzr, 1
00033fc0ldr x1, [sp+312]
00033fc4strb w5, [x1+187]
00033fc8b 0x33fd8
00033fcc
00033fccloc_33fcc:
00033fccldr x0, [sp+312]
00033fd0bl runtime.shrinkstack
00033fd4ldr x1, [sp+312]
00033fd8
00033fd8loc_33fd8:
00033fd8add x20, sp, 160
00033fdcadr x27, 16
00033fe0stp x29, x27, [sp-24]
00033fe4sub x29, sp, 24
00033fe8bl fn_87cfc
00033fecsub x29, sp, 8
00033ff0ldr x5, [x1+8]
00033ff4ldr x6, [x1]
00033ff8str x6, [sp+160]
00033ffcstr x5, [sp+168]
00034000ldr x5, [x1+80]
00034004cbz x5, 0x34028
00034008add x0, x1, 80
0003400corr x1, xzr, 8
00034010adrp x2, 0x98c000
00034014add x2, x2, 1377
00034018ldr x3, [sp+320]
0003401cadd x4, sp, 160
00034020bl runtime.scanblock
00034024ldr x1, [sp+312]
00034028
00034028loc_34028:
00034028add x20, sp, 64
0003402cadr x27, 16
00034030stp x29, x27, [sp-24]
00034034sub x29, sp, 24
00034038bl fn_87cf8
0003403csub x29, sp, 8
00034040add x0, sp, 64
00034044mov x2, xzr
00034048bl runtime.(*unwinder).init
0003404cb 0x34100
00034050
00034050loc_34050:
00034050subs wzr, w1, 6
00034054b.ne 0x34068
00034058mov x0, xzr
0003405cldp x29, x30, [sp-8]
00034060add sp, sp, 304
00034064ret x30
00034068
00034068loc_34068:
00034068ldr x0, [sp+312]
0003406cbl runtime.readgstatus
00034070mov w1, w0
00034074str x1, [sp+264]
00034078ldr x1, [sp+312]
0003407cldr x1, [x1+160]
00034080str x1, [sp+256]
00034084bl runtime.printlock
00034088adrp x0, 0x67e000
0003408cadd x0, x0, 3832
00034090orr x1, xzr, 12
00034094bl runtime.printstring
00034098ldr x0, [sp+312]
0003409cbl runtime.printpointer
000340a0adrp x0, 0x67c000
000340a4add x0, x0, 3437
000340a8orr x1, xzr, 7
000340acbl runtime.printstring
000340b0ldr x0, [sp+256]
000340b4bl runtime.printuint
000340b8adrp x0, 0x682000
000340bcadd x0, x0, 16
000340c0movz x1, 19
000340c4bl runtime.printstring
000340c8ldr x0, [sp+264]
000340ccbl runtime.printuint
000340d0bl runtime.printnl
000340d4bl runtime.printunlock
000340d8adrp x0, 0x681000
000340dcadd x0, x0, 166
000340e0movz x1, 17
000340e4bl runtime.throw
000340e8
000340e8loc_340e8:
000340e8add x0, sp, 64
000340ecadd x1, sp, 160
000340f0ldr x2, [sp+320]
000340f4bl runtime.scanframeworker
000340f8add x0, sp, 64
000340fcbl runtime.(*unwinder).next
00034100
00034100loc_34100:
00034100add x0, sp, 64
00034104bl runtime.(*unwinder).valid
00034108tbnz w0, 0, 0x340e8
0003410cldr x5, [sp+312]
00034110ldr x6, [x5+40]
00034114orr x0, xzr, 1
00034118b 0x34120
0003411c
0003411cloc_3411c:
0003411cldr x6, [sp+280]
00034120
00034120loc_34120:
00034120str x6, [sp+280]
00034124tbz w0, 0, 0x34130
00034128mov x0, xzr
0003412cb 0x34138
00034130
00034130loc_34130:
00034130ldr x6, [x6+32]
00034134str x6, [sp+280]
00034138
00034138loc_34138:
00034138ldr x6, [sp+280]
0003413ccbz x6, 0x341d4
00034140strb w0, [sp+59]
00034144ldr x7, [x6+24]
00034148cbz x7, 0x34170
0003414cadd x0, x6, 24
00034150orr x1, xzr, 8
00034154adrp x2, 0x98c000
00034158add x2, x2, 1377
0003415cldr x3, [sp+320]
00034160add x4, sp, 160
00034164bl runtime.scanblock
00034168ldrb w0, [sp+59]
0003416cldr x5, [sp+312]
00034170
00034170loc_34170:
00034170ldr x6, [sp+280]
00034174ldr x7, [x6+32]
00034178cbz x7, 0x341a0
0003417cadd x0, x6, 32
00034180orr x1, xzr, 8
00034184adrp x2, 0x98c000
00034188add x2, x2, 1377
0003418cldr x3, [sp+320]
00034190add x4, sp, 160
00034194bl runtime.scanblock
00034198ldrb w0, [sp+59]
0003419cldr x5, [sp+312]
000341a0
000341a0loc_341a0:
000341a0ldr x6, [sp+280]
000341a4ldrb w6, [x6]
000341a8tbz w6, 0, 0x3411c
000341acadd x0, sp, 280
000341b0orr x1, xzr, 8
000341b4adrp x2, 0x98c000
000341b8add x2, x2, 1377
000341bcldr x3, [sp+320]
000341c0add x4, sp, 160
000341c4bl runtime.scanblock
000341c8ldrb w0, [sp+59]
000341ccldr x5, [sp+312]
000341d0b 0x3411c
000341d4
000341d4loc_341d4:
000341d4ldr x1, [x5+32]
000341d8cbz x1, 0x341e8
000341dcadd x0, sp, 160
000341e0mov x2, xzr
000341e4bl runtime.(*stackScanState).putPtr
000341e8
000341e8loc_341e8:
000341e8add x0, sp, 160
000341ecbl runtime.(*stackScanState).buildIndex
000341f0
000341f0loc_341f0:
000341f0add x0, sp, 160
000341f4bl runtime.(*stackScanState).getPtr
000341f8cbz x0, 0x342a0
000341fcstrb w1, [sp+58]
00034200mov x1, x0
00034204add x0, sp, 160
00034208bl runtime.(*stackScanState).findObject
0003420ccbz x0, 0x341f0
00034210ldr x2, [x0+8]
00034214cbz x2, 0x341f0
00034218str x0, [sp+248]
0003421cstr x2, [sp+272]
00034220mov x1, xzr
00034224bl runtime.(*stackObject).setRecord
00034228ldr x0, [sp+272]
0003422cbl runtime.(*stackObjectRecord).gcdata
00034230ldr x2, [sp+160]
00034234ldr x3, [sp+248]
00034238ldr w3, [x3]
0003423cadd x2, x2, x3
00034240ldrb w3, [sp+58]
00034244tbz w3, 0, 0x3426c
00034248ldr x3, [sp+320]
0003424cadd x4, sp, 160
00034250mov x5, x0
00034254mov x0, x2
00034258mov x6, x1
0003425cmov x1, x5
00034260mov x2, x6
00034264bl runtime.scanConservative
00034268b 0x341f0
0003426c
0003426cloc_3426c:
0003426cldr x3, [sp+320]
00034270add x4, sp, 160
00034274mov x5, x0
00034278mov x0, x2
0003427cmov x6, x1
00034280mov x1, x5
00034284mov x2, x6
00034288bl runtime.scanblock
0003428cb 0x341f0
00034290
00034290loc_34290:
00034290ldr x1, [x0+24]
00034294str x1, [sp+208]
00034298str xzr, [x0+16]
0003429cbl runtime.putempty
000342a0
000342a0loc_342a0:
000342a0ldr x0, [sp+208]
000342a4cbnz x0, 0x34290
000342a8ldr x2, [sp+184]
000342accbnz x2, 0x342d0
000342b0ldr x2, [sp+200]
000342b4cbnz x2, 0x342d0
000342b8ldr x2, [sp+192]
000342bccbnz x2, 0x342d0
000342c0ldr x0, [sp+240]
000342c4ldp x29, x30, [sp-8]
000342c8add sp, sp, 304
000342ccret x30
000342d0
000342d0loc_342d0:
000342d0adrp x0, 0x685000
000342d4add x0, x0, 2129
000342d8movz x1, 25
000342dcbl runtime.throw
000342e0
000342e0loc_342e0:
000342e0adrp x0, 0x685000
000342e4add x0, x0, 30
000342e8orr x1, xzr, 24
000342ecbl runtime.throw
000342f0
000342f0loc_342f0:
000342f0subs wzr, w1, 2
000342f4b.ne 0x34068
000342f8ldr x0, [sp+312]
000342fcbl runtime.readgstatus
00034300mov w1, w0
00034304str x1, [sp+264]
00034308ldr x1, [sp+312]
0003430cldr x1, [x1+160]
00034310str x1, [sp+256]
00034314bl runtime.printlock
00034318adrp x0, 0x67e000
0003431cadd x0, x0, 3832
00034320orr x1, xzr, 12
00034324bl runtime.printstring
00034328ldr x0, [sp+312]
0003432cbl runtime.printpointer
00034330adrp x0, 0x67c000
00034334add x0, x0, 3437
00034338orr x1, xzr, 7
0003433cbl runtime.printstring
00034340ldr x0, [sp+256]
00034344bl runtime.printuint
00034348adrp x0, 0x682000
0003434cadd x0, x0, 16
00034350movz x1, 19
00034354bl runtime.printstring
00034358ldr x0, [sp+264]
0003435cbl runtime.printuint
00034360bl runtime.printnl
00034364bl runtime.printunlock
00034368adrp x0, 0x68a000
0003436cadd x0, x0, 1200
00034370orr x1, xzr, 32
00034374bl runtime.throw
00034378
00034378loc_34378:
00034378ldr x0, [sp+312]
0003437cbl runtime.readgstatus
00034380str w0, [sp+60]
00034384ldr x1, [sp+312]
00034388ldr x1, [x1+160]
0003438cstr x1, [sp+264]
00034390bl runtime.printlock
00034394adrp x0, 0x683000
00034398add x0, x0, 2622
0003439cmovz x1, 22
000343a0bl runtime.printstring
000343a4ldr x0, [sp+312]
000343a8bl runtime.printpointer
000343acadrp x0, 0x67c000
000343b0add x0, x0, 3437
000343b4orr x1, xzr, 7
000343b8bl runtime.printstring
000343bcldr x0, [sp+264]
000343c0bl runtime.printuint
000343c4adrp x0, 0x682000
000343c8add x0, x0, 16
000343ccmovz x1, 19
000343d0bl runtime.printstring
000343d4ldr w1, [sp+60]
000343d8mov x0, x1
000343dcbl runtime.printhex
000343e0bl runtime.printnl
000343e4bl runtime.printunlock
000343e8adrp x0, 0x683000
000343ecadd x0, x0, 2644
000343f0movz x1, 22
000343f4bl runtime.throw
000343f8hint
000343fc
000343fcloc_343fc:
000343fcstp x0, x1, [sp+8]
00034400mov x3, x30
00034404bl runtime.morestackc.abi0
00034408ldp x0, x1, [sp+8]
0003440cb 0x33f00
00033f00
00034410
00034410runtime.scanframeworker: ; void runtime.scanframeworker(runtime.stkframe * frame, runtime.stackScanState * state, runtime.gcWork * gcw)
00034410ldr x16, [x28+16]
00034414subs xzr, sp, x16
00034418b.ls 0x34648
0003441cstr x30, [sp-96]!
00034420stur x29, [sp-8]
00034424sub x29, sp, 8
00034428str x0, [sp+104]
0003442cstr x1, [sp+112]
00034430str x2, [sp+120]
00034434ldr x2, [x0]
00034438ldr x1, [x0+8]
0003443cmov x0, x2
00034440bl runtime.funcInfo.valid
00034444tbz w0, 0, 0x34460
00034448ldr x2, [sp+104]
0003444cldr x3, [x2]
00034450ldrb w3, [x3+40]
00034454subs wzr, w3, 3
00034458cset x3, eq
0003445cb 0x34468
00034460
00034460loc_34460:
00034460ldr x2, [sp+104]
00034464mov x3, xzr
00034468
00034468loc_34468:
00034468strb w3, [sp+51]
0003446cldr x1, [x2+8]
00034470ldr x0, [x2]
00034474bl runtime.funcInfo.valid
00034478tbz w0, 0, 0x34494
0003447cldr x0, [sp+104]
00034480ldr x5, [x0]
00034484ldrb w5, [x5+40]
00034488subs wzr, w5, 6
0003448ccset x5, eq
00034490b 0x3449c
00034494
00034494loc_34494:
00034494ldr x0, [sp+104]
00034498mov x5, xzr
0003449c
0003449cloc_3449c:
0003449cldr x4, [sp+112]
000344a0ldrb w6, [x4+16]
000344a4tbnz w6, 0, 0x3454c
000344a8ldrb w1, [sp+51]
000344actbnz w1, 0, 0x34550
000344b0tbnz w5, 0, 0x34550
000344b4mov x1, xzr
000344b8bl runtime.(*stkframe).getStackMap
000344bcstr x4, [sp+72]
000344c0str x5, [sp+56]
000344c4subs wzr, w0, 0
000344c8b.le 0x3450c
000344ccstr x3, [sp+80]
000344d0str w2, [sp+52]
000344d4sbfm x5, x0, 0, 31
000344d8sbfm x6, x0, 61, 31
000344dcldr x7, [sp+104]
000344e0ldr x7, [x7+56]
000344e4sub x0, x7, x5, lsl #3
000344e8mov x2, x1
000344ecldr x3, [sp+120]
000344f0ldr x4, [sp+112]
000344f4mov x1, x6
000344f8bl runtime.scanblock
000344fcldrsw x2, [sp+52]
00034500ldr x3, [sp+80]
00034504ldr x4, [sp+72]
00034508ldr x5, [sp+56]
0003450c
0003450cloc_3450c:
0003450csubs wzr, w2, 0
00034510b.le 0x34538
00034514ldr x5, [sp+104]
00034518ldr x0, [x5+64]
0003451csbfm x1, x2, 61, 31
00034520mov x2, x3
00034524ldr x3, [sp+120]
00034528ldr x4, [sp+112]
0003452cbl runtime.scanblock
00034530ldr x4, [sp+72]
00034534ldr x5, [sp+56]
00034538
00034538loc_34538:
00034538ldr x3, [sp+104]
0003453cldr x6, [x3+56]
00034540cbz x6, 0x345e8
00034544mov x0, xzr
00034548b 0x345f8
0003454c
0003454cloc_3454c:
0003454cldrb w1, [sp+51]
00034550
00034550loc_34550:
00034550strb w5, [sp+50]
00034554ldr x6, [x0+56]
00034558cbz x6, 0x3458c
0003455cldr x7, [x0+40]
00034560sub x6, x6, x7
00034564cbz x6, 0x3458c
00034568mov x0, x7
0003456cmov x1, x6
00034570mov x2, xzr
00034574ldr x3, [sp+120]
00034578bl runtime.scanConservative
0003457cldr x0, [sp+104]
00034580ldrb w1, [sp+51]
00034584ldr x4, [sp+112]
00034588ldrb w5, [sp+50]
0003458c
0003458cloc_3458c:
0003458cbl runtime.(*stkframe).argBytes
00034590cbz x0, 0x345b4
00034594ldr x5, [sp+104]
00034598ldr x5, [x5+64]
0003459cmov x1, x0
000345a0mov x2, xzr
000345a4ldr x3, [sp+120]
000345a8ldr x4, [sp+112]
000345acmov x0, x5
000345b0bl runtime.scanConservative
000345b4
000345b4loc_345b4:
000345b4ldrb w0, [sp+51]
000345b8tbnz w0, 0, 0x345c4
000345bcldrb w0, [sp+50]
000345c0tbz w0, 0, 0x345d4
000345c4
000345c4loc_345c4:
000345c4orr x0, xzr, 1
000345c8ldr x1, [sp+112]
000345ccstrb w0, [x1+16]
000345d0b 0x345dc
000345d4
000345d4loc_345d4:
000345d4ldr x0, [sp+112]
000345d8strb wzr, [x0+16]
000345dc
000345dcloc_345dc:
000345dcldur x29, [sp-8]
000345e0ldr x30, [sp], 96
000345e4ret x30
000345e8
000345e8loc_345e8:
000345e8ldur x29, [sp-8]
000345ecldr x30, [sp], 96
000345f0ret x30
000345f4
000345f4loc_345f4:
000345f4add x0, x0, 1
000345f8
000345f8loc_345f8:
000345f8subs xzr, x5, x0
000345fcb.le 0x345e8
00034600ubfm x6, x0, 60, 59
00034604add x2, x4, x0, lsl #4
00034608ldr x7, [x3+56]
0003460cldrsw x6, [x4+x6]
00034610tbnz w6, 31, 0x34618
00034614ldr x7, [x3+64]
00034618
00034618loc_34618:
00034618add x1, x7, x6
0003461cldr x6, [x3+40]
00034620subs xzr, x6, x1
00034624b.hi 0x345f4
00034628str x0, [sp+64]
0003462cldr x0, [sp+112]
00034630bl runtime.(*stackScanState).addObject
00034634ldr x0, [sp+64]
00034638ldr x3, [sp+104]
0003463cldr x4, [sp+72]
00034640ldr x5, [sp+56]
00034644b 0x345f4
00034648
00034648loc_34648:
00034648stp x0, x1, [sp+8]
0003464cstr x2, [sp+24]
00034650mov x3, x30
00034654bl runtime.morestack_noctxt.abi0
00034658ldp x0, x1, [sp+8]
0003465cldr x2, [sp+24]
00034660b 0x34410
00034664udf 0
00034668udf 0
0003466cudf 0
00034410
00034410runtime.scanframeworker: ; void runtime.scanframeworker(runtime.stkframe * frame, runtime.stackScanState * state, runtime.gcWork * gcw)
00034410ldr x16, [x28+16]
00034414subs xzr, sp, x16
00034418b.ls 0x34648
0003441cstr x30, [sp-96]!
00034420stur x29, [sp-8]
00034424sub x29, sp, 8
00034428str x0, [sp+104]
0003442cstr x1, [sp+112]
00034430str x2, [sp+120]
00034434ldr x2, [x0]
00034438ldr x1, [x0+8]
0003443cmov x0, x2
00034440bl runtime.funcInfo.valid
00034444tbz w0, 0, 0x34460
00034448ldr x2, [sp+104]
0003444cldr x3, [x2]
00034450ldrb w3, [x3+40]
00034454subs wzr, w3, 3
00034458cset x3, eq
0003445cb 0x34468
00034460
00034460loc_34460:
00034460ldr x2, [sp+104]
00034464mov x3, xzr
00034468
00034468loc_34468:
00034468strb w3, [sp+51]
0003446cldr x1, [x2+8]
00034470ldr x0, [x2]
00034474bl runtime.funcInfo.valid
00034478tbz w0, 0, 0x34494
0003447cldr x0, [sp+104]
00034480ldr x5, [x0]
00034484ldrb w5, [x5+40]
00034488subs wzr, w5, 6
0003448ccset x5, eq
00034490b 0x3449c
00034494
00034494loc_34494:
00034494ldr x0, [sp+104]
00034498mov x5, xzr
0003449c
0003449cloc_3449c:
0003449cldr x4, [sp+112]
000344a0ldrb w6, [x4+16]
000344a4tbnz w6, 0, 0x3454c
000344a8ldrb w1, [sp+51]
000344actbnz w1, 0, 0x34550
000344b0tbnz w5, 0, 0x34550
000344b4mov x1, xzr
000344b8bl runtime.(*stkframe).getStackMap
000344bcstr x4, [sp+72]
000344c0str x5, [sp+56]
000344c4subs wzr, w0, 0
000344c8b.le 0x3450c
000344ccstr x3, [sp+80]
000344d0str w2, [sp+52]
000344d4sbfm x5, x0, 0, 31
000344d8sbfm x6, x0, 61, 31
000344dcldr x7, [sp+104]
000344e0ldr x7, [x7+56]
000344e4sub x0, x7, x5, lsl #3
000344e8mov x2, x1
000344ecldr x3, [sp+120]
000344f0ldr x4, [sp+112]
000344f4mov x1, x6
000344f8bl runtime.scanblock
000344fcldrsw x2, [sp+52]
00034500ldr x3, [sp+80]
00034504ldr x4, [sp+72]
00034508ldr x5, [sp+56]
0003450c
0003450cloc_3450c:
0003450csubs wzr, w2, 0
00034510b.le 0x34538
00034514ldr x5, [sp+104]
00034518ldr x0, [x5+64]
0003451csbfm x1, x2, 61, 31
00034520mov x2, x3
00034524ldr x3, [sp+120]
00034528ldr x4, [sp+112]
0003452cbl runtime.scanblock
00034530ldr x4, [sp+72]
00034534ldr x5, [sp+56]
00034538
00034538loc_34538:
00034538ldr x3, [sp+104]
0003453cldr x6, [x3+56]
00034540cbz x6, 0x345e8
00034544mov x0, xzr
00034548b 0x345f8
0003454c
0003454cloc_3454c:
0003454cldrb w1, [sp+51]
00034550
00034550loc_34550:
00034550strb w5, [sp+50]
00034554ldr x6, [x0+56]
00034558cbz x6, 0x3458c
0003455cldr x7, [x0+40]
00034560sub x6, x6, x7
00034564cbz x6, 0x3458c
00034568mov x0, x7
0003456cmov x1, x6
00034570mov x2, xzr
00034574ldr x3, [sp+120]
00034578bl runtime.scanConservative
0003457cldr x0, [sp+104]
00034580ldrb w1, [sp+51]
00034584ldr x4, [sp+112]
00034588ldrb w5, [sp+50]
0003458c
0003458cloc_3458c:
0003458cbl runtime.(*stkframe).argBytes
00034590cbz x0, 0x345b4
00034594ldr x5, [sp+104]
00034598ldr x5, [x5+64]
0003459cmov x1, x0
000345a0mov x2, xzr
000345a4ldr x3, [sp+120]
000345a8ldr x4, [sp+112]
000345acmov x0, x5
000345b0bl runtime.scanConservative
000345b4
000345b4loc_345b4:
000345b4ldrb w0, [sp+51]
000345b8tbnz w0, 0, 0x345c4
000345bcldrb w0, [sp+50]
000345c0tbz w0, 0, 0x345d4
000345c4
000345c4loc_345c4:
000345c4orr x0, xzr, 1
000345c8ldr x1, [sp+112]
000345ccstrb w0, [x1+16]
000345d0b 0x345dc
000345d4
000345d4loc_345d4:
000345d4ldr x0, [sp+112]
000345d8strb wzr, [x0+16]
000345dc
000345dcloc_345dc:
000345dcldur x29, [sp-8]
000345e0ldr x30, [sp], 96
000345e4ret x30
000345e8
000345e8loc_345e8:
000345e8ldur x29, [sp-8]
000345ecldr x30, [sp], 96
000345f0ret x30
000345f4
000345f4loc_345f4:
000345f4add x0, x0, 1
000345f8
000345f8loc_345f8:
000345f8subs xzr, x5, x0
000345fcb.le 0x345e8
00034600ubfm x6, x0, 60, 59
00034604add x2, x4, x0, lsl #4
00034608ldr x7, [x3+56]
0003460cldrsw x6, [x4+x6]
00034610tbnz w6, 31, 0x34618
00034614ldr x7, [x3+64]
00034618
00034618loc_34618:
00034618add x1, x7, x6
0003461cldr x6, [x3+40]
00034620subs xzr, x6, x1
00034624b.hi 0x345f4
00034628str x0, [sp+64]
0003462cldr x0, [sp+112]
00034630bl runtime.(*stackScanState).addObject
00034634ldr x0, [sp+64]
00034638ldr x3, [sp+104]
0003463cldr x4, [sp+72]
00034640ldr x5, [sp+56]
00034644b 0x345f4
00034648
00034648loc_34648:
00034648stp x0, x1, [sp+8]
0003464cstr x2, [sp+24]
00034650mov x3, x30
00034654bl runtime.morestack_noctxt.abi0
00034658ldp x0, x1, [sp+8]
0003465cldr x2, [sp+24]
00034660b 0x34410
00034664udf 0
00034668udf 0
0003466cudf 0
00034410
00034670
00034670runtime.gcDrainMarkWorkerIdle: ; void runtime.gcDrainMarkWorkerIdle(runtime.gcWork * gcw)
00034670ldr x16, [x28+16]
00034674subs xzr, sp, x16
00034678b.ls 0x3469c
0003467cstr x30, [sp-32]!
00034680stur x29, [sp-8]
00034684sub x29, sp, 8
00034688orr x1, xzr, 7
0003468cbl runtime.gcDrain
00034690ldur x29, [sp-8]
00034694ldr x30, [sp], 32
00034698ret x30
0003469c
0003469cloc_3469c:
0003469cstr x0, [sp+8]
000346a0mov x3, x30
000346a4bl runtime.morestack_noctxt.abi0
000346a8ldr x0, [sp+8]
000346acb 0x34670
00034670
00034670runtime.gcDrainMarkWorkerIdle: ; void runtime.gcDrainMarkWorkerIdle(runtime.gcWork * gcw)
00034670ldr x16, [x28+16]
00034674subs xzr, sp, x16
00034678b.ls 0x3469c
0003467cstr x30, [sp-32]!
00034680stur x29, [sp-8]
00034684sub x29, sp, 8
00034688orr x1, xzr, 7
0003468cbl runtime.gcDrain
00034690ldur x29, [sp-8]
00034694ldr x30, [sp], 32
00034698ret x30
0003469c
0003469cloc_3469c:
0003469cstr x0, [sp+8]
000346a0mov x3, x30
000346a4bl runtime.morestack_noctxt.abi0
000346a8ldr x0, [sp+8]
000346acb 0x34670
00034670
000346b0
000346b0runtime.gcDrainMarkWorkerDedicated: ; void runtime.gcDrainMarkWorkerDedicated(runtime.gcWork * gcw, bool untilPreempt)
000346b0ldr x16, [x28+16]
000346b4subs xzr, sp, x16
000346b8b.ls 0x346e8
000346bcstr x30, [sp-32]!
000346c0stur x29, [sp-8]
000346c4sub x29, sp, 8
000346c8ands wzr, w1, 1
000346ccorr x2, xzr, 3
000346d0orr x3, xzr, 2
000346d4csel x1, x2, x3, ne
000346d8bl runtime.gcDrain
000346dcldur x29, [sp-8]
000346e0ldr x30, [sp], 32
000346e4ret x30
000346e8
000346e8loc_346e8:
000346e8str x0, [sp+8]
000346ecstrb w1, [sp+16]
000346f0mov x3, x30
000346f4bl runtime.morestack_noctxt.abi0
000346f8ldr x0, [sp+8]
000346fcldrb w1, [sp+16]
00034700b 0x346b0
00034704udf 0
00034708udf 0
0003470cudf 0
000346b0
000346b0runtime.gcDrainMarkWorkerDedicated: ; void runtime.gcDrainMarkWorkerDedicated(runtime.gcWork * gcw, bool untilPreempt)
000346b0ldr x16, [x28+16]
000346b4subs xzr, sp, x16
000346b8b.ls 0x346e8
000346bcstr x30, [sp-32]!
000346c0stur x29, [sp-8]
000346c4sub x29, sp, 8
000346c8ands wzr, w1, 1
000346ccorr x2, xzr, 3
000346d0orr x3, xzr, 2
000346d4csel x1, x2, x3, ne
000346d8bl runtime.gcDrain
000346dcldur x29, [sp-8]
000346e0ldr x30, [sp], 32
000346e4ret x30
000346e8
000346e8loc_346e8:
000346e8str x0, [sp+8]
000346ecstrb w1, [sp+16]
000346f0mov x3, x30
000346f4bl runtime.morestack_noctxt.abi0
000346f8ldr x0, [sp+8]
000346fcldrb w1, [sp+16]
00034700b 0x346b0
00034704udf 0
00034708udf 0
0003470cudf 0
000346b0
00034710
00034710runtime.gcDrainMarkWorkerFractional: ; void runtime.gcDrainMarkWorkerFractional(runtime.gcWork * gcw)
00034710ldr x16, [x28+16]
00034714subs xzr, sp, x16
00034718b.ls 0x3473c
0003471cstr x30, [sp-32]!
00034720stur x29, [sp-8]
00034724sub x29, sp, 8
00034728movz x1, 11
0003472cbl runtime.gcDrain
00034730ldur x29, [sp-8]
00034734ldr x30, [sp], 32
00034738ret x30
0003473c
0003473cloc_3473c:
0003473cstr x0, [sp+8]
00034740mov x3, x30
00034744bl runtime.morestack_noctxt.abi0
00034748ldr x0, [sp+8]
0003474cb 0x34710
00034710
00034710runtime.gcDrainMarkWorkerFractional: ; void runtime.gcDrainMarkWorkerFractional(runtime.gcWork * gcw)
00034710ldr x16, [x28+16]
00034714subs xzr, sp, x16
00034718b.ls 0x3473c
0003471cstr x30, [sp-32]!
00034720stur x29, [sp-8]
00034724sub x29, sp, 8
00034728movz x1, 11
0003472cbl runtime.gcDrain
00034730ldur x29, [sp-8]
00034734ldr x30, [sp], 32
00034738ret x30
0003473c
0003473cloc_3473c:
0003473cstr x0, [sp+8]
00034740mov x3, x30
00034744bl runtime.morestack_noctxt.abi0
00034748ldr x0, [sp+8]
0003474cb 0x34710
00034710
00034750
00034750runtime.gcDrain: ; void runtime.gcDrain(runtime.gcWork * gcw, runtime.gcDrainFlags flags)
00034750ldr x16, [x28+16]
00034754subs xzr, sp, x16
00034758b.ls 0x34bbc
0003475cstr x30, [sp-96]!
00034760stur x29, [sp-8]
00034764sub x29, sp, 8
00034768adrp x27, 0xa17000
0003476cldrb w2, [x27+3056]
00034770tbz w2, 0, 0x34ba8
00034774str x0, [sp+104]
00034778str x1, [sp+112]
0003477cldr x1, [x28+48]
00034780ldr x1, [x1+192]
00034784str x1, [sp+72]
00034788ldr x1, [x1+48]
0003478cldr x0, [x1+208]
00034790bl runtime.puintptr.ptr
00034794ldr x1, [sp+104]
00034798ldr x2, [x1+24]
0003479cldr x3, [sp+112]
000347a0ands xzr, x3, 12
000347a4b.eq 0x347dc
000347a8movz x4, 34464
000347acmovk x4, 0x10000
000347b0add x4, x4, x2
000347b4tbz w3, 2, 0x347c4
000347b8adrp x5, 0x6a4000
000347bcadd x5, x5, 2480
000347c0b 0x347e4
000347c4
000347c4loc_347c4:
000347c4and x5, x3, 8
000347c8subs xzr, x5, 0
000347ccadrp x5, 0x6a4000
000347d0add x5, x5, 2472
000347d4csel x5, x5, xzr, ne
000347d8b 0x347e4
000347dc
000347dcloc_347dc:
000347dcmovn x4, 0x8000000000000000
000347e0mov x5, xzr
000347e4
000347e4loc_347e4:
000347e4str x0, [sp+64]
000347e8str x5, [sp+80]
000347ecadrp x27, 0x9f0000
000347f0ldr w6, [x27+2984]
000347f4adrp x27, 0x9f0000
000347f8ldr w7, [x27+2988]
000347fcsubs wzr, w7, w6
00034800b.ls 0x34820
00034804str x2, [sp+32]
00034808str x4, [sp+40]
0003480cands xzr, x3, 2
00034810cset x6, ne
00034814strb w6, [sp+31]
00034818ldr x7, [sp+72]
0003481cb 0x34a7c
00034820
00034820loc_34820:
00034820ldr x6, [sp+72]
00034824b 0x34844
00034828
00034828loc_34828:
00034828ldr x6, [sp+72]
0003482cldr x0, [sp+64]
00034830mov x5, x4
00034834mov x4, x3
00034838mov x2, x1
0003483cldr x1, [sp+104]
00034840ldr x3, [sp+112]
00034844
00034844loc_34844:
00034844str x2, [sp+32]
00034848str x4, [sp+40]
0003484cldrb w7, [x6+185]
00034850tbz w7, 0, 0x348cc
00034854tbz w3, 0, 0x34860
00034858orr x7, xzr, 1
0003485cb 0x348d0
00034860
00034860loc_34860:
00034860adrp x0, 0x9f3000
00034864add x0, x0, 360
00034868bl internal/runtime/atomic.(*Bool).Load
0003486ctbz w0, 0, 0x34894
00034870ldr x0, [sp+64]
00034874ldr x1, [sp+104]
00034878ldr x2, [sp+32]
0003487cldr x3, [sp+112]
00034880ldr x4, [sp+40]
00034884ldr x5, [sp+80]
00034888ldr x6, [sp+72]
0003488corr x7, xzr, 1
00034890b 0x348d0
00034894
00034894loc_34894:
00034894ldr x2, [sp+64]
00034898ldrsb x27, [x2]
0003489cldr w3, [x2+8832]
000348a0subs wzr, w3, 0
000348a4cset x3, ne
000348a8mov x0, x2
000348acldr x1, [sp+104]
000348b0ldr x2, [sp+32]
000348b4ldr x4, [sp+40]
000348b8ldr x5, [sp+80]
000348bcldr x6, [sp+72]
000348c0mov x7, x3
000348c4ldr x3, [sp+112]
000348c8b 0x348d0
000348cc
000348ccloc_348cc:
000348ccmov x7, xzr
000348d0
000348d0loc_348d0:
000348d0tbnz w7, 0, 0x34a00
000348d4adrp x27, 0x9f0000
000348d8ldr x7, [x27+2656]
000348dccbnz x7, 0x348ec
000348e0mov x0, x1
000348e4bl runtime.(*gcWork).balance
000348e8ldr x1, [sp+104]
000348ec
000348ecloc_348ec:
000348ecmov x0, x1
000348f0bl runtime.(*gcWork).tryGetFast
000348f4cbnz x0, 0x34910
000348f8ldr x0, [sp+104]
000348fcbl runtime.(*gcWork).tryGet
00034900cbnz x0, 0x34910
00034904bl runtime.wbBufFlush
00034908ldr x0, [sp+104]
0003490cbl runtime.(*gcWork).tryGet
00034910
00034910loc_34910:
00034910cbz x0, 0x349f0
00034914ldr x1, [sp+104]
00034918bl runtime.scanobject
0003491cldr x0, [sp+104]
00034920ldr x1, [x0+24]
00034924subs xzr, x1, 2000
00034928b.ge 0x34944
0003492cldr x0, [sp+112]
00034930ldr x2, [sp+104]
00034934ldr x4, [sp+80]
00034938ldr x3, [sp+40]
0003493cldr x1, [sp+32]
00034940b 0x34828
00034944
00034944loc_34944:
00034944adrp x0, 0xa18000
00034948add x0, x0, 2656
0003494cbl internal/runtime/atomic.(*Int64).Add
00034950ldr x0, [sp+112]
00034954tbnz w0, 1, 0x34960
00034958ldr x1, [sp+32]
0003495cb 0x3497c
00034960
00034960loc_34960:
00034960ldr x1, [sp+104]
00034964ldr x1, [x1+24]
00034968ldr x2, [sp+32]
0003496csub x0, x1, x2
00034970bl runtime.gcFlushBgCredit
00034974ldr x0, [sp+112]
00034978mov x1, xzr
0003497c
0003497cloc_3497c:
0003497cldr x2, [sp+104]
00034980ldr x3, [x2+24]
00034984str xzr, [x2+24]
00034988ldr x4, [sp+40]
0003498csub x3, x4, x3
00034990subs xzr, x3, 0
00034994b.gt 0x349e8
00034998movz x4, 34464
0003499cmovk x4, 0x10000
000349a0add x3, x3, x4
000349a4ldr x4, [sp+80]
000349a8cbnz x4, 0x349b4
000349acmov x5, xzr
000349b0b 0x349e0
000349b4
000349b4loc_349b4:
000349b4str x3, [sp+56]
000349b8str x1, [sp+48]
000349bcldr x0, [x4]
000349c0mov x26, x4
000349c4blr x0
000349c8ldr x1, [sp+48]
000349ccldr x2, [sp+104]
000349d0ldr x3, [sp+56]
000349d4ldr x4, [sp+80]
000349d8mov x5, x0
000349dcldr x0, [sp+112]
000349e0
000349e0loc_349e0:
000349e0tbz w5, 0, 0x34828
000349e4b 0x34a0c
000349e8
000349e8loc_349e8:
000349e8ldr x4, [sp+80]
000349ecb 0x34828
000349f0
000349f0loc_349f0:
000349f0ldr x0, [sp+112]
000349f4ldr x2, [sp+104]
000349f8ldr x1, [sp+32]
000349fcb 0x34a0c
00034a00
00034a00loc_34a00:
00034a00mov x0, x3
00034a04mov x2, x1
00034a08ldr x1, [sp+32]
00034a0c
00034a0cloc_34a0c:
00034a0cldr x3, [x2+24]
00034a10subs xzr, x3, 0
00034a14b.le 0x34a50
00034a18str x1, [sp+32]
00034a1cadrp x0, 0xa18000
00034a20add x0, x0, 2656
00034a24mov x1, x3
00034a28bl internal/runtime/atomic.(*Int64).Add
00034a2cldr x0, [sp+112]
00034a30tbz w0, 1, 0x34a48
00034a34ldr x1, [sp+104]
00034a38ldr x1, [x1+24]
00034a3cldr x2, [sp+32]
00034a40sub x0, x1, x2
00034a44bl runtime.gcFlushBgCredit
00034a48
00034a48loc_34a48:
00034a48ldr x0, [sp+104]
00034a4cstr xzr, [x0+24]
00034a50
00034a50loc_34a50:
00034a50ldur x29, [sp-8]
00034a54ldr x30, [sp], 96
00034a58ret x30
00034a5c
00034a5cloc_34a5c:
00034a5cldr x1, [sp+104]
00034a60ldr x3, [sp+112]
00034a64ldr x7, [sp+72]
00034a68ldrb w6, [sp+31]
00034a6cldr x0, [sp+64]
00034a70ldr x2, [sp+32]
00034a74ldr x4, [sp+40]
00034a78ldr x5, [sp+80]
00034a7c
00034a7cloc_34a7c:
00034a7cldrb w8, [x7+185]
00034a80tbz w8, 0, 0x34b04
00034a84tbz w3, 0, 0x34a90
00034a88orr x8, xzr, 1
00034a8cb 0x34b08
00034a90
00034a90loc_34a90:
00034a90adrp x0, 0x9f3000
00034a94add x0, x0, 360
00034a98bl internal/runtime/atomic.(*Bool).Load
00034a9ctbz w0, 0, 0x34ac8
00034aa0ldr x0, [sp+64]
00034aa4ldr x1, [sp+104]
00034aa8ldr x2, [sp+32]
00034aacldr x3, [sp+112]
00034ab0ldr x4, [sp+40]
00034ab4ldr x5, [sp+80]
00034ab8ldrb w6, [sp+31]
00034abcldr x7, [sp+72]
00034ac0orr x8, xzr, 1
00034ac4b 0x34b08
00034ac8
00034ac8loc_34ac8:
00034ac8ldr x3, [sp+64]
00034accldrsb x27, [x3]
00034ad0ldr w4, [x3+8832]
00034ad4subs wzr, w4, 0
00034ad8cset x4, ne
00034adcmov x0, x3
00034ae0ldr x1, [sp+104]
00034ae4ldr x2, [sp+32]
00034ae8ldr x3, [sp+112]
00034aecldr x5, [sp+80]
00034af0ldrb w6, [sp+31]
00034af4ldr x7, [sp+72]
00034af8mov x8, x4
00034afcldr x4, [sp+40]
00034b00b 0x34b08
00034b04
00034b04loc_34b04:
00034b04mov x8, xzr
00034b08
00034b08loc_34b08:
00034b08tbnz w8, 0, 0x34820
00034b0cadrp x27, 0xa17000
00034b10ldrb w8, [x27+1516]
00034b14tbz w8, 0, 0x34b30
00034b18orr x8, xzr, 1
00034b1cadrp x9, 0x9f0000
00034b20add x9, x9, 2984
00034b24ldaddal w8, w10, [x9]
00034b28add x10, x10, x8
00034b2cb 0x34b4c
00034b30
00034b30loc_34b30:
00034b30orr x8, xzr, 1
00034b34adrp x9, 0x9f0000
00034b38add x9, x9, 2984
00034b3c
00034b3cloc_34b3c:
00034b3cldaxr w10, [x9]
00034b40add x10, x10, x8
00034b44stlxr w27, w10, [x9]
00034b48cbnz x27, 0x34b3c
00034b4c
00034b4cloc_34b4c:
00034b4csub x10, x10, 1
00034b50adrp x27, 0x9f0000
00034b54ldr w11, [x27+2988]
00034b58subs wzr, w11, w10
00034b5cb.ls 0x34820
00034b60mov x0, x1
00034b64mov x1, x10
00034b68mov x2, x6
00034b6cbl runtime.markroot
00034b70ldr x0, [sp+80]
00034b74cbnz x0, 0x34b80
00034b78mov x1, xzr
00034b7cb 0x34b94
00034b80
00034b80loc_34b80:
00034b80ldr x1, [x0]
00034b84mov x26, x0
00034b88blr x1
00034b8cmov x1, x0
00034b90ldr x0, [sp+80]
00034b94
00034b94loc_34b94:
00034b94tbz w1, 0, 0x34a5c
00034b98ldr x0, [sp+112]
00034b9cldr x2, [sp+104]
00034ba0ldr x1, [sp+32]
00034ba4b 0x34a0c
00034ba8
00034ba8loc_34ba8:
00034ba8adrp x0, 0x684000
00034bacadd x0, x0, 1122
00034bb0movz x1, 23
00034bb4bl runtime.throw
00034bb8hint
00034bbc
00034bbcloc_34bbc:
00034bbcstp x0, x1, [sp+8]
00034bc0mov x3, x30
00034bc4bl runtime.morestack_noctxt.abi0
00034bc8ldp x0, x1, [sp+8]
00034bccb 0x34750
00034750
00034750runtime.gcDrain: ; void runtime.gcDrain(runtime.gcWork * gcw, runtime.gcDrainFlags flags)
00034750ldr x16, [x28+16]
00034754subs xzr, sp, x16
00034758b.ls 0x34bbc
0003475cstr x30, [sp-96]!
00034760stur x29, [sp-8]
00034764sub x29, sp, 8
00034768adrp x27, 0xa17000
0003476cldrb w2, [x27+3056]
00034770tbz w2, 0, 0x34ba8
00034774str x0, [sp+104]
00034778str x1, [sp+112]
0003477cldr x1, [x28+48]
00034780ldr x1, [x1+192]
00034784str x1, [sp+72]
00034788ldr x1, [x1+48]
0003478cldr x0, [x1+208]
00034790bl runtime.puintptr.ptr
00034794ldr x1, [sp+104]
00034798ldr x2, [x1+24]
0003479cldr x3, [sp+112]
000347a0ands xzr, x3, 12
000347a4b.eq 0x347dc
000347a8movz x4, 34464
000347acmovk x4, 0x10000
000347b0add x4, x4, x2
000347b4tbz w3, 2, 0x347c4
000347b8adrp x5, 0x6a4000
000347bcadd x5, x5, 2480
000347c0b 0x347e4
000347c4
000347c4loc_347c4:
000347c4and x5, x3, 8
000347c8subs xzr, x5, 0
000347ccadrp x5, 0x6a4000
000347d0add x5, x5, 2472
000347d4csel x5, x5, xzr, ne
000347d8b 0x347e4
000347dc
000347dcloc_347dc:
000347dcmovn x4, 0x8000000000000000
000347e0mov x5, xzr
000347e4
000347e4loc_347e4:
000347e4str x0, [sp+64]
000347e8str x5, [sp+80]
000347ecadrp x27, 0x9f0000
000347f0ldr w6, [x27+2984]
000347f4adrp x27, 0x9f0000
000347f8ldr w7, [x27+2988]
000347fcsubs wzr, w7, w6
00034800b.ls 0x34820
00034804str x2, [sp+32]
00034808str x4, [sp+40]
0003480cands xzr, x3, 2
00034810cset x6, ne
00034814strb w6, [sp+31]
00034818ldr x7, [sp+72]
0003481cb 0x34a7c
00034820
00034820loc_34820:
00034820ldr x6, [sp+72]
00034824b 0x34844
00034828
00034828loc_34828:
00034828ldr x6, [sp+72]
0003482cldr x0, [sp+64]
00034830mov x5, x4
00034834mov x4, x3
00034838mov x2, x1
0003483cldr x1, [sp+104]
00034840ldr x3, [sp+112]
00034844
00034844loc_34844:
00034844str x2, [sp+32]
00034848str x4, [sp+40]
0003484cldrb w7, [x6+185]
00034850tbz w7, 0, 0x348cc
00034854tbz w3, 0, 0x34860
00034858orr x7, xzr, 1
0003485cb 0x348d0
00034860
00034860loc_34860:
00034860adrp x0, 0x9f3000
00034864add x0, x0, 360
00034868bl internal/runtime/atomic.(*Bool).Load
0003486ctbz w0, 0, 0x34894
00034870ldr x0, [sp+64]
00034874ldr x1, [sp+104]
00034878ldr x2, [sp+32]
0003487cldr x3, [sp+112]
00034880ldr x4, [sp+40]
00034884ldr x5, [sp+80]
00034888ldr x6, [sp+72]
0003488corr x7, xzr, 1
00034890b 0x348d0
00034894
00034894loc_34894:
00034894ldr x2, [sp+64]
00034898ldrsb x27, [x2]
0003489cldr w3, [x2+8832]
000348a0subs wzr, w3, 0
000348a4cset x3, ne
000348a8mov x0, x2
000348acldr x1, [sp+104]
000348b0ldr x2, [sp+32]
000348b4ldr x4, [sp+40]
000348b8ldr x5, [sp+80]
000348bcldr x6, [sp+72]
000348c0mov x7, x3
000348c4ldr x3, [sp+112]
000348c8b 0x348d0
000348cc
000348ccloc_348cc:
000348ccmov x7, xzr
000348d0
000348d0loc_348d0:
000348d0tbnz w7, 0, 0x34a00
000348d4adrp x27, 0x9f0000
000348d8ldr x7, [x27+2656]
000348dccbnz x7, 0x348ec
000348e0mov x0, x1
000348e4bl runtime.(*gcWork).balance
000348e8ldr x1, [sp+104]
000348ec
000348ecloc_348ec:
000348ecmov x0, x1
000348f0bl runtime.(*gcWork).tryGetFast
000348f4cbnz x0, 0x34910
000348f8ldr x0, [sp+104]
000348fcbl runtime.(*gcWork).tryGet
00034900cbnz x0, 0x34910
00034904bl runtime.wbBufFlush
00034908ldr x0, [sp+104]
0003490cbl runtime.(*gcWork).tryGet
00034910
00034910loc_34910:
00034910cbz x0, 0x349f0
00034914ldr x1, [sp+104]
00034918bl runtime.scanobject
0003491cldr x0, [sp+104]
00034920ldr x1, [x0+24]
00034924subs xzr, x1, 2000
00034928b.ge 0x34944
0003492cldr x0, [sp+112]
00034930ldr x2, [sp+104]
00034934ldr x4, [sp+80]
00034938ldr x3, [sp+40]
0003493cldr x1, [sp+32]
00034940b 0x34828
00034944
00034944loc_34944:
00034944adrp x0, 0xa18000
00034948add x0, x0, 2656
0003494cbl internal/runtime/atomic.(*Int64).Add
00034950ldr x0, [sp+112]
00034954tbnz w0, 1, 0x34960
00034958ldr x1, [sp+32]
0003495cb 0x3497c
00034960
00034960loc_34960:
00034960ldr x1, [sp+104]
00034964ldr x1, [x1+24]
00034968ldr x2, [sp+32]
0003496csub x0, x1, x2
00034970bl runtime.gcFlushBgCredit
00034974ldr x0, [sp+112]
00034978mov x1, xzr
0003497c
0003497cloc_3497c:
0003497cldr x2, [sp+104]
00034980ldr x3, [x2+24]
00034984str xzr, [x2+24]
00034988ldr x4, [sp+40]
0003498csub x3, x4, x3
00034990subs xzr, x3, 0
00034994b.gt 0x349e8
00034998movz x4, 34464
0003499cmovk x4, 0x10000
000349a0add x3, x3, x4
000349a4ldr x4, [sp+80]
000349a8cbnz x4, 0x349b4
000349acmov x5, xzr
000349b0b 0x349e0
000349b4
000349b4loc_349b4:
000349b4str x3, [sp+56]
000349b8str x1, [sp+48]
000349bcldr x0, [x4]
000349c0mov x26, x4
000349c4blr x0
000349c8ldr x1, [sp+48]
000349ccldr x2, [sp+104]
000349d0ldr x3, [sp+56]
000349d4ldr x4, [sp+80]
000349d8mov x5, x0
000349dcldr x0, [sp+112]
000349e0
000349e0loc_349e0:
000349e0tbz w5, 0, 0x34828
000349e4b 0x34a0c
000349e8
000349e8loc_349e8:
000349e8ldr x4, [sp+80]
000349ecb 0x34828
000349f0
000349f0loc_349f0:
000349f0ldr x0, [sp+112]
000349f4ldr x2, [sp+104]
000349f8ldr x1, [sp+32]
000349fcb 0x34a0c
00034a00
00034a00loc_34a00:
00034a00mov x0, x3
00034a04mov x2, x1
00034a08ldr x1, [sp+32]
00034a0c
00034a0cloc_34a0c:
00034a0cldr x3, [x2+24]
00034a10subs xzr, x3, 0
00034a14b.le 0x34a50
00034a18str x1, [sp+32]
00034a1cadrp x0, 0xa18000
00034a20add x0, x0, 2656
00034a24mov x1, x3
00034a28bl internal/runtime/atomic.(*Int64).Add
00034a2cldr x0, [sp+112]
00034a30tbz w0, 1, 0x34a48
00034a34ldr x1, [sp+104]
00034a38ldr x1, [x1+24]
00034a3cldr x2, [sp+32]
00034a40sub x0, x1, x2
00034a44bl runtime.gcFlushBgCredit
00034a48
00034a48loc_34a48:
00034a48ldr x0, [sp+104]
00034a4cstr xzr, [x0+24]
00034a50
00034a50loc_34a50:
00034a50ldur x29, [sp-8]
00034a54ldr x30, [sp], 96
00034a58ret x30
00034a5c
00034a5cloc_34a5c:
00034a5cldr x1, [sp+104]
00034a60ldr x3, [sp+112]
00034a64ldr x7, [sp+72]
00034a68ldrb w6, [sp+31]
00034a6cldr x0, [sp+64]
00034a70ldr x2, [sp+32]
00034a74ldr x4, [sp+40]
00034a78ldr x5, [sp+80]
00034a7c
00034a7cloc_34a7c:
00034a7cldrb w8, [x7+185]
00034a80tbz w8, 0, 0x34b04
00034a84tbz w3, 0, 0x34a90
00034a88orr x8, xzr, 1
00034a8cb 0x34b08
00034a90
00034a90loc_34a90:
00034a90adrp x0, 0x9f3000
00034a94add x0, x0, 360
00034a98bl internal/runtime/atomic.(*Bool).Load
00034a9ctbz w0, 0, 0x34ac8
00034aa0ldr x0, [sp+64]
00034aa4ldr x1, [sp+104]
00034aa8ldr x2, [sp+32]
00034aacldr x3, [sp+112]
00034ab0ldr x4, [sp+40]
00034ab4ldr x5, [sp+80]
00034ab8ldrb w6, [sp+31]
00034abcldr x7, [sp+72]
00034ac0orr x8, xzr, 1
00034ac4b 0x34b08
00034ac8
00034ac8loc_34ac8:
00034ac8ldr x3, [sp+64]
00034accldrsb x27, [x3]
00034ad0ldr w4, [x3+8832]
00034ad4subs wzr, w4, 0
00034ad8cset x4, ne
00034adcmov x0, x3
00034ae0ldr x1, [sp+104]
00034ae4ldr x2, [sp+32]
00034ae8ldr x3, [sp+112]
00034aecldr x5, [sp+80]
00034af0ldrb w6, [sp+31]
00034af4ldr x7, [sp+72]
00034af8mov x8, x4
00034afcldr x4, [sp+40]
00034b00b 0x34b08
00034b04
00034b04loc_34b04:
00034b04mov x8, xzr
00034b08
00034b08loc_34b08:
00034b08tbnz w8, 0, 0x34820
00034b0cadrp x27, 0xa17000
00034b10ldrb w8, [x27+1516]
00034b14tbz w8, 0, 0x34b30
00034b18orr x8, xzr, 1
00034b1cadrp x9, 0x9f0000
00034b20add x9, x9, 2984
00034b24ldaddal w8, w10, [x9]
00034b28add x10, x10, x8
00034b2cb 0x34b4c
00034b30
00034b30loc_34b30:
00034b30orr x8, xzr, 1
00034b34adrp x9, 0x9f0000
00034b38add x9, x9, 2984
00034b3c
00034b3cloc_34b3c:
00034b3cldaxr w10, [x9]
00034b40add x10, x10, x8
00034b44stlxr w27, w10, [x9]
00034b48cbnz x27, 0x34b3c
00034b4c
00034b4cloc_34b4c:
00034b4csub x10, x10, 1
00034b50adrp x27, 0x9f0000
00034b54ldr w11, [x27+2988]
00034b58subs wzr, w11, w10
00034b5cb.ls 0x34820
00034b60mov x0, x1
00034b64mov x1, x10
00034b68mov x2, x6
00034b6cbl runtime.markroot
00034b70ldr x0, [sp+80]
00034b74cbnz x0, 0x34b80
00034b78mov x1, xzr
00034b7cb 0x34b94
00034b80
00034b80loc_34b80:
00034b80ldr x1, [x0]
00034b84mov x26, x0
00034b88blr x1
00034b8cmov x1, x0
00034b90ldr x0, [sp+80]
00034b94
00034b94loc_34b94:
00034b94tbz w1, 0, 0x34a5c
00034b98ldr x0, [sp+112]
00034b9cldr x2, [sp+104]
00034ba0ldr x1, [sp+32]
00034ba4b 0x34a0c
00034ba8
00034ba8loc_34ba8:
00034ba8adrp x0, 0x684000
00034bacadd x0, x0, 1122
00034bb0movz x1, 23
00034bb4bl runtime.throw
00034bb8hint
00034bbc
00034bbcloc_34bbc:
00034bbcstp x0, x1, [sp+8]
00034bc0mov x3, x30
00034bc4bl runtime.morestack_noctxt.abi0
00034bc8ldp x0, x1, [sp+8]
00034bccb 0x34750
00034750
00034bd0
00034bd0runtime.gcDrainN: ; void runtime.gcDrainN(runtime.gcWork * gcw, int64 scanWork)
00034bd0ldr x16, [x28+24]
00034bd4subs xzr, sp, x16
00034bd8b.ls 0x34da0
00034bdcstr x30, [sp-48]!
00034be0stur x29, [sp-8]
00034be4sub x29, sp, 8
00034be8adrp x27, 0xa17000
00034becldrb w2, [x27+3056]
00034bf0tbz w2, 0, 0x34d8c
00034bf4str x0, [sp+56]
00034bf8str x1, [sp+64]
00034bfcldr x2, [x0+24]
00034c00ldr x3, [x28+48]
00034c04sub x2, xzr, x2
00034c08ldr x3, [x3+192]
00034c0cstr x3, [sp+32]
00034c10b 0x34c1c
00034c14
00034c14loc_34c14:
00034c14ldr x3, [sp+32]
00034c18ldr x1, [sp+64]
00034c1c
00034c1cloc_34c1c:
00034c1cstr x2, [sp+24]
00034c20ldrb w4, [x3+185]
00034c24tbz w4, 0, 0x34c30
00034c28mov x4, xzr
00034c2cb 0x34c54
00034c30
00034c30loc_34c30:
00034c30adrp x0, 0xa17000
00034c34add x0, x0, 4032
00034c38bl runtime.(*gcCPULimiterState).limiting
00034c3ceor x1, x0, 1
00034c40ldr x0, [sp+56]
00034c44ldr x2, [sp+24]
00034c48ldr x3, [sp+32]
00034c4cmov x4, x1
00034c50ldr x1, [sp+64]
00034c54
00034c54loc_34c54:
00034c54tbz w4, 0, 0x34d78
00034c58ldr x4, [x0+24]
00034c5cadd x4, x2, x4
00034c60subs xzr, x1, x4
00034c64b.le 0x34d78
00034c68adrp x27, 0x9f0000
00034c6cldr x4, [x27+2656]
00034c70cbnz x4, 0x34c7c
00034c74bl runtime.(*gcWork).balance
00034c78ldr x0, [sp+56]
00034c7c
00034c7cloc_34c7c:
00034c7cbl runtime.(*gcWork).tryGetFast
00034c80cbnz x0, 0x34c9c
00034c84ldr x0, [sp+56]
00034c88bl runtime.(*gcWork).tryGet
00034c8ccbnz x0, 0x34c9c
00034c90bl runtime.wbBufFlush
00034c94ldr x0, [sp+56]
00034c98bl runtime.(*gcWork).tryGet
00034c9c
00034c9cloc_34c9c:
00034c9ccbnz x0, 0x34d2c
00034ca0adrp x27, 0x9f0000
00034ca4ldr w3, [x27+2984]
00034ca8adrp x27, 0x9f0000
00034cacldr w4, [x27+2988]
00034cb0subs wzr, w4, w3
00034cb4b.ls 0x34d70
00034cb8adrp x27, 0xa17000
00034cbcldrb w3, [x27+1516]
00034cc0tbz w3, 0, 0x34cdc
00034cc4orr x3, xzr, 1
00034cc8adrp x4, 0x9f0000
00034cccadd x4, x4, 2984
00034cd0ldaddal w3, w5, [x4]
00034cd4add x5, x5, x3
00034cd8b 0x34cf8
00034cdc
00034cdcloc_34cdc:
00034cdcorr x3, xzr, 1
00034ce0adrp x4, 0x9f0000
00034ce4add x4, x4, 2984
00034ce8
00034ce8loc_34ce8:
00034ce8ldaxr w5, [x4]
00034cecadd x5, x5, x3
00034cf0stlxr w27, w5, [x4]
00034cf4cbnz x27, 0x34ce8
00034cf8
00034cf8loc_34cf8:
00034cf8sub x1, x5, 1
00034cfcadrp x27, 0x9f0000
00034d00ldr w4, [x27+2988]
00034d04subs wzr, w4, w1
00034d08b.ls 0x34d70
00034d0cldr x0, [sp+56]
00034d10mov x2, xzr
00034d14bl runtime.markroot
00034d18ldr x3, [sp+24]
00034d1cadd x3, x3, x0
00034d20ldr x0, [sp+56]
00034d24mov x2, x3
00034d28b 0x34c14
00034d2c
00034d2cloc_34d2c:
00034d2cldr x1, [sp+56]
00034d30bl runtime.scanobject
00034d34ldr x0, [sp+56]
00034d38ldr x1, [x0+24]
00034d3csubs xzr, x1, 2000
00034d40b.ge 0x34d4c
00034d44ldr x2, [sp+24]
00034d48b 0x34c14
00034d4c
00034d4cloc_34d4c:
00034d4cadrp x0, 0xa18000
00034d50add x0, x0, 2656
00034d54bl internal/runtime/atomic.(*Int64).Add
00034d58ldr x0, [sp+56]
00034d5cldr x2, [x0+24]
00034d60str xzr, [x0+24]
00034d64ldr x3, [sp+24]
00034d68add x2, x3, x2
00034d6cb 0x34c14
00034d70
00034d70loc_34d70:
00034d70ldr x0, [sp+56]
00034d74ldr x2, [sp+24]
00034d78
00034d78loc_34d78:
00034d78ldr x1, [x0+24]
00034d7cadd x0, x2, x1
00034d80ldur x29, [sp-8]
00034d84ldr x30, [sp], 48
00034d88ret x30
00034d8c
00034d8cloc_34d8c:
00034d8cadrp x0, 0x685000
00034d90add x0, x0, 54
00034d94orr x1, xzr, 24
00034d98bl runtime.throw
00034d9chint
00034da0
00034da0loc_34da0:
00034da0stp x0, x1, [sp+8]
00034da4mov x3, x30
00034da8bl runtime.morestackc.abi0
00034dacldp x0, x1, [sp+8]
00034db0b 0x34bd0
00034db4udf 0
00034db8udf 0
00034dbcudf 0
00034bd0
00034bd0runtime.gcDrainN: ; void runtime.gcDrainN(runtime.gcWork * gcw, int64 scanWork)
00034bd0ldr x16, [x28+24]
00034bd4subs xzr, sp, x16
00034bd8b.ls 0x34da0
00034bdcstr x30, [sp-48]!
00034be0stur x29, [sp-8]
00034be4sub x29, sp, 8
00034be8adrp x27, 0xa17000
00034becldrb w2, [x27+3056]
00034bf0tbz w2, 0, 0x34d8c
00034bf4str x0, [sp+56]
00034bf8str x1, [sp+64]
00034bfcldr x2, [x0+24]
00034c00ldr x3, [x28+48]
00034c04sub x2, xzr, x2
00034c08ldr x3, [x3+192]
00034c0cstr x3, [sp+32]
00034c10b 0x34c1c
00034c14
00034c14loc_34c14:
00034c14ldr x3, [sp+32]
00034c18ldr x1, [sp+64]
00034c1c
00034c1cloc_34c1c:
00034c1cstr x2, [sp+24]
00034c20ldrb w4, [x3+185]
00034c24tbz w4, 0, 0x34c30
00034c28mov x4, xzr
00034c2cb 0x34c54
00034c30
00034c30loc_34c30:
00034c30adrp x0, 0xa17000
00034c34add x0, x0, 4032
00034c38bl runtime.(*gcCPULimiterState).limiting
00034c3ceor x1, x0, 1
00034c40ldr x0, [sp+56]
00034c44ldr x2, [sp+24]
00034c48ldr x3, [sp+32]
00034c4cmov x4, x1
00034c50ldr x1, [sp+64]
00034c54
00034c54loc_34c54:
00034c54tbz w4, 0, 0x34d78
00034c58ldr x4, [x0+24]
00034c5cadd x4, x2, x4
00034c60subs xzr, x1, x4
00034c64b.le 0x34d78
00034c68adrp x27, 0x9f0000
00034c6cldr x4, [x27+2656]
00034c70cbnz x4, 0x34c7c
00034c74bl runtime.(*gcWork).balance
00034c78ldr x0, [sp+56]
00034c7c
00034c7cloc_34c7c:
00034c7cbl runtime.(*gcWork).tryGetFast
00034c80cbnz x0, 0x34c9c
00034c84ldr x0, [sp+56]
00034c88bl runtime.(*gcWork).tryGet
00034c8ccbnz x0, 0x34c9c
00034c90bl runtime.wbBufFlush
00034c94ldr x0, [sp+56]
00034c98bl runtime.(*gcWork).tryGet
00034c9c
00034c9cloc_34c9c:
00034c9ccbnz x0, 0x34d2c
00034ca0adrp x27, 0x9f0000
00034ca4ldr w3, [x27+2984]
00034ca8adrp x27, 0x9f0000
00034cacldr w4, [x27+2988]
00034cb0subs wzr, w4, w3
00034cb4b.ls 0x34d70
00034cb8adrp x27, 0xa17000
00034cbcldrb w3, [x27+1516]
00034cc0tbz w3, 0, 0x34cdc
00034cc4orr x3, xzr, 1
00034cc8adrp x4, 0x9f0000
00034cccadd x4, x4, 2984
00034cd0ldaddal w3, w5, [x4]
00034cd4add x5, x5, x3
00034cd8b 0x34cf8
00034cdc
00034cdcloc_34cdc:
00034cdcorr x3, xzr, 1
00034ce0adrp x4, 0x9f0000
00034ce4add x4, x4, 2984
00034ce8
00034ce8loc_34ce8:
00034ce8ldaxr w5, [x4]
00034cecadd x5, x5, x3
00034cf0stlxr w27, w5, [x4]
00034cf4cbnz x27, 0x34ce8
00034cf8
00034cf8loc_34cf8:
00034cf8sub x1, x5, 1
00034cfcadrp x27, 0x9f0000
00034d00ldr w4, [x27+2988]
00034d04subs wzr, w4, w1
00034d08b.ls 0x34d70
00034d0cldr x0, [sp+56]
00034d10mov x2, xzr
00034d14bl runtime.markroot
00034d18ldr x3, [sp+24]
00034d1cadd x3, x3, x0
00034d20ldr x0, [sp+56]
00034d24mov x2, x3
00034d28b 0x34c14
00034d2c
00034d2cloc_34d2c:
00034d2cldr x1, [sp+56]
00034d30bl runtime.scanobject
00034d34ldr x0, [sp+56]
00034d38ldr x1, [x0+24]
00034d3csubs xzr, x1, 2000
00034d40b.ge 0x34d4c
00034d44ldr x2, [sp+24]
00034d48b 0x34c14
00034d4c
00034d4cloc_34d4c:
00034d4cadrp x0, 0xa18000
00034d50add x0, x0, 2656
00034d54bl internal/runtime/atomic.(*Int64).Add
00034d58ldr x0, [sp+56]
00034d5cldr x2, [x0+24]
00034d60str xzr, [x0+24]
00034d64ldr x3, [sp+24]
00034d68add x2, x3, x2
00034d6cb 0x34c14
00034d70
00034d70loc_34d70:
00034d70ldr x0, [sp+56]
00034d74ldr x2, [sp+24]
00034d78
00034d78loc_34d78:
00034d78ldr x1, [x0+24]
00034d7cadd x0, x2, x1
00034d80ldur x29, [sp-8]
00034d84ldr x30, [sp], 48
00034d88ret x30
00034d8c
00034d8cloc_34d8c:
00034d8cadrp x0, 0x685000
00034d90add x0, x0, 54
00034d94orr x1, xzr, 24
00034d98bl runtime.throw
00034d9chint
00034da0
00034da0loc_34da0:
00034da0stp x0, x1, [sp+8]
00034da4mov x3, x30
00034da8bl runtime.morestackc.abi0
00034dacldp x0, x1, [sp+8]
00034db0b 0x34bd0
00034db4udf 0
00034db8udf 0
00034dbcudf 0
00034bd0
00034dc0
00034dc0runtime.scanblock: ; void runtime.scanblock(uintptr b0, uintptr n0, uint8 * ptrmask, runtime.gcWork * gcw, runtime.stackScanState * stk)
00034dc0ldr x16, [x28+16]
00034dc4subs xzr, sp, x16
00034dc8b.ls 0x34f14
00034dccstr x30, [sp-112]!
00034dd0stur x29, [sp-8]
00034dd4sub x29, sp, 8
00034dd8str x0, [sp+120]
00034ddcstr x1, [sp+128]
00034de0str x2, [sp+136]
00034de4str x3, [sp+144]
00034de8str x4, [sp+152]
00034decmov x5, xzr
00034df0b 0x34e08
00034df4
00034df4loc_34df4:
00034df4mov x0, x1
00034df8mov x1, x3
00034dfcldr x2, [sp+136]
00034e00ldr x3, [sp+144]
00034e04ldr x4, [sp+152]
00034e08
00034e08loc_34e08:
00034e08subs xzr, x1, x5
00034e0cb.ls 0x34e54
00034e10str x5, [sp+88]
00034e14ubfm x1, x5, 6, 63
00034e18mov x0, x2
00034e1cbl runtime.addb
00034e20ldrb w2, [x0]
00034e24cbnz w2, 0x34e40
00034e28ldr x2, [sp+88]
00034e2cadd x2, x2, 64
00034e30ldr x1, [sp+120]
00034e34ldr x3, [sp+128]
00034e38mov x5, x2
00034e3cb 0x34df4
00034e40
00034e40loc_34e40:
00034e40ldr x3, [sp+128]
00034e44ldr x1, [sp+120]
00034e48ldr x5, [sp+88]
00034e4cmov x0, xzr
00034e50b 0x34e6c
00034e54
00034e54loc_34e54:
00034e54ldur x29, [sp-8]
00034e58ldr x30, [sp], 112
00034e5cret x30
00034e60
00034e60loc_34e60:
00034e60add x0, x0, 1
00034e64ubfm x2, x2, 1, 31
00034e68add x5, x5, 8
00034e6c
00034e6cloc_34e6c:
00034e6csubs xzr, x0, 8
00034e70b.ge 0x34df4
00034e74subs xzr, x3, x5
00034e78b.ls 0x34df4
00034e7ctbz w2, 0, 0x34e60
00034e80add x4, x5, x1
00034e84ldr x4, [x4]
00034e88cbz x4, 0x34e60
00034e8cstr x0, [sp+80]
00034e90str x4, [sp+72]
00034e94str x5, [sp+96]
00034e98str w2, [sp+68]
00034e9cmov x0, x4
00034ea0mov x2, x5
00034ea4bl runtime.findObject
00034ea8cbnz x0, 0x34ee0
00034eacldr x0, [sp+152]
00034eb0cbz x0, 0x34efc
00034eb4ldr x3, [x0]
00034eb8ldr x1, [sp+72]
00034ebcsubs xzr, x3, x1
00034ec0b.hi 0x34efc
00034ec4ldr x3, [x0+8]
00034ec8subs xzr, x3, x1
00034eccb.ls 0x34efc
00034ed0mov x2, xzr
00034ed4bl runtime.(*stackScanState).putPtr
00034ed8ldr x0, [sp+152]
00034edcb 0x34efc
00034ee0
00034ee0loc_34ee0:
00034ee0mov x3, x1
00034ee4ldr x4, [sp+144]
00034ee8mov x5, x2
00034eecldr x1, [sp+120]
00034ef0ldr x2, [sp+96]
00034ef4bl runtime.greyobject
00034ef8ldr x0, [sp+152]
00034efc
00034efcloc_34efc:
00034efcldr x0, [sp+80]
00034f00ldr x1, [sp+120]
00034f04ldr w2, [sp+68]
00034f08ldr x3, [sp+128]
00034f0cldr x5, [sp+96]
00034f10b 0x34e60
00034f14
00034f14loc_34f14:
00034f14stp x0, x1, [sp+8]
00034f18stp x2, x3, [sp+24]
00034f1cstr x4, [sp+40]
00034f20mov x3, x30
00034f24bl runtime.morestack_noctxt.abi0
00034f28ldp x0, x1, [sp+8]
00034f2cldp x2, x3, [sp+24]
00034f30ldr x4, [sp+40]
00034f34b 0x34dc0
00034f38udf 0
00034f3cudf 0
00034dc0
00034dc0runtime.scanblock: ; void runtime.scanblock(uintptr b0, uintptr n0, uint8 * ptrmask, runtime.gcWork * gcw, runtime.stackScanState * stk)
00034dc0ldr x16, [x28+16]
00034dc4subs xzr, sp, x16
00034dc8b.ls 0x34f14
00034dccstr x30, [sp-112]!
00034dd0stur x29, [sp-8]
00034dd4sub x29, sp, 8
00034dd8str x0, [sp+120]
00034ddcstr x1, [sp+128]
00034de0str x2, [sp+136]
00034de4str x3, [sp+144]
00034de8str x4, [sp+152]
00034decmov x5, xzr
00034df0b 0x34e08
00034df4
00034df4loc_34df4:
00034df4mov x0, x1
00034df8mov x1, x3
00034dfcldr x2, [sp+136]
00034e00ldr x3, [sp+144]
00034e04ldr x4, [sp+152]
00034e08
00034e08loc_34e08:
00034e08subs xzr, x1, x5
00034e0cb.ls 0x34e54
00034e10str x5, [sp+88]
00034e14ubfm x1, x5, 6, 63
00034e18mov x0, x2
00034e1cbl runtime.addb
00034e20ldrb w2, [x0]
00034e24cbnz w2, 0x34e40
00034e28ldr x2, [sp+88]
00034e2cadd x2, x2, 64
00034e30ldr x1, [sp+120]
00034e34ldr x3, [sp+128]
00034e38mov x5, x2
00034e3cb 0x34df4
00034e40
00034e40loc_34e40:
00034e40ldr x3, [sp+128]
00034e44ldr x1, [sp+120]
00034e48ldr x5, [sp+88]
00034e4cmov x0, xzr
00034e50b 0x34e6c
00034e54
00034e54loc_34e54:
00034e54ldur x29, [sp-8]
00034e58ldr x30, [sp], 112
00034e5cret x30
00034e60
00034e60loc_34e60:
00034e60add x0, x0, 1
00034e64ubfm x2, x2, 1, 31
00034e68add x5, x5, 8
00034e6c
00034e6cloc_34e6c:
00034e6csubs xzr, x0, 8
00034e70b.ge 0x34df4
00034e74subs xzr, x3, x5
00034e78b.ls 0x34df4
00034e7ctbz w2, 0, 0x34e60
00034e80add x4, x5, x1
00034e84ldr x4, [x4]
00034e88cbz x4, 0x34e60
00034e8cstr x0, [sp+80]
00034e90str x4, [sp+72]
00034e94str x5, [sp+96]
00034e98str w2, [sp+68]
00034e9cmov x0, x4
00034ea0mov x2, x5
00034ea4bl runtime.findObject
00034ea8cbnz x0, 0x34ee0
00034eacldr x0, [sp+152]
00034eb0cbz x0, 0x34efc
00034eb4ldr x3, [x0]
00034eb8ldr x1, [sp+72]
00034ebcsubs xzr, x3, x1
00034ec0b.hi 0x34efc
00034ec4ldr x3, [x0+8]
00034ec8subs xzr, x3, x1
00034eccb.ls 0x34efc
00034ed0mov x2, xzr
00034ed4bl runtime.(*stackScanState).putPtr
00034ed8ldr x0, [sp+152]
00034edcb 0x34efc
00034ee0
00034ee0loc_34ee0:
00034ee0mov x3, x1
00034ee4ldr x4, [sp+144]
00034ee8mov x5, x2
00034eecldr x1, [sp+120]
00034ef0ldr x2, [sp+96]
00034ef4bl runtime.greyobject
00034ef8ldr x0, [sp+152]
00034efc
00034efcloc_34efc:
00034efcldr x0, [sp+80]
00034f00ldr x1, [sp+120]
00034f04ldr w2, [sp+68]
00034f08ldr x3, [sp+128]
00034f0cldr x5, [sp+96]
00034f10b 0x34e60
00034f14
00034f14loc_34f14:
00034f14stp x0, x1, [sp+8]
00034f18stp x2, x3, [sp+24]
00034f1cstr x4, [sp+40]
00034f20mov x3, x30
00034f24bl runtime.morestack_noctxt.abi0
00034f28ldp x0, x1, [sp+8]
00034f2cldp x2, x3, [sp+24]
00034f30ldr x4, [sp+40]
00034f34b 0x34dc0
00034f38udf 0
00034f3cudf 0
00034dc0
00034f40
00034f40runtime.scanobject: ; void runtime.scanobject(uintptr b, runtime.gcWork * gcw)
00034f40ldr x16, [x28+16]
00034f44sub x17, sp, 16
00034f48subs xzr, x17, x16
00034f4cb.ls 0x35180
00034f50str x30, [sp-144]!
00034f54stur x29, [sp-8]
00034f58sub x29, sp, 8
00034f5cstr x0, [sp+152]
00034f60str x1, [sp+160]
00034f64prfm
00034f68bl runtime.spanOfUnchecked
00034f6cldr x1, [x0+104]
00034f70cbz x1, 0x3516c
00034f74str x0, [sp+88]
00034f78str x1, [sp+104]
00034f7cldrb w0, [x0+98]
00034f80bl runtime.spanClass.noscan
00034f84tbnz w0, 0, 0x3515c
00034f88ldr x2, [sp+104]
00034f8csubs xzr, x2, 0x20000
00034f90b.ls 0x34fb0
00034f94ldr x0, [sp+88]
00034f98bl runtime.(*mspan).base
00034f9cldr x1, [sp+152]
00034fa0subs xzr, x0, x1
00034fa4b.ne 0x350ac
00034fa8add x2, x1, 0x20000
00034facb 0x35118
00034fb0
00034fb0loc_34fb0:
00034fb0ldr x0, [sp+88]
00034fb4ldr x1, [sp+152]
00034fb8bl runtime.(*mspan).typePointersOfUnchecked
00034fbcldr x4, [sp+104]
00034fc0
00034fc0loc_34fc0:
00034fc0str x4, [sp+104]
00034fc4mov x5, xzr
00034fc8b 0x34fd0
00034fcc
00034fccloc_34fcc:
00034fccadd x5, x5, 8
00034fd0
00034fd0loc_34fd0:
00034fd0str x5, [sp+80]
00034fd4bl runtime.typePointers.nextFast
00034fd8cbnz x4, 0x34ff0
00034fdcldr x5, [sp+152]
00034fe0ldr x6, [sp+104]
00034fe4add x4, x5, x6
00034fe8bl runtime.typePointers.next
00034feccbz x4, 0x3507c
00034ff0
00034ff0loc_34ff0:
00034ff0mov x5, x4
00034ff4ldr x6, [sp+152]
00034ff8sub x5, x5, x6
00034ffcldr x4, [x4]
00035000cbz x4, 0x35074
00035004sub x7, x4, x6
00035008ldr x8, [sp+104]
0003500csubs xzr, x8, x7
00035010b.hi 0x34fcc
00035014str x5, [sp+120]
00035018str x3, [sp+128]
0003501cstr x2, [sp+56]
00035020str x1, [sp+72]
00035024str x0, [sp+64]
00035028mov x0, x4
0003502cmov x1, x6
00035030mov x2, x5
00035034bl runtime.findObject
00035038cbz x0, 0x35054
0003503cmov x3, x1
00035040ldr x4, [sp+160]
00035044mov x5, x2
00035048ldr x1, [sp+152]
0003504cldr x2, [sp+120]
00035050bl runtime.greyobject
00035054
00035054loc_35054:
00035054ldr x0, [sp+64]
00035058ldr x1, [sp+72]
0003505cldr x2, [sp+56]
00035060ldr x3, [sp+128]
00035064ldr x5, [sp+120]
00035068ldr x6, [sp+152]
0003506cldr x8, [sp+104]
00035070b 0x34fcc
00035074
00035074loc_35074:
00035074ldr x8, [sp+104]
00035078b 0x34fcc
0003507c
0003507cloc_3507c:
0003507cldr x0, [sp+160]
00035080ldr x1, [x0+16]
00035084ldr x2, [sp+104]
00035088add x1, x1, x2
0003508cstr x1, [x0+16]
00035090ldr x1, [x0+24]
00035094ldr x2, [sp+80]
00035098add x1, x1, x2
0003509cstr x1, [x0+24]
000350a0ldur x29, [sp-8]
000350a4ldr x30, [sp], 144
000350a8ret x30
000350ac
000350acloc_350ac:
000350acldr x0, [sp+88]
000350b0bl runtime.(*mspan).base
000350b4str x0, [sp+120]
000350b8ldr x0, [sp+88]
000350bcldr x1, [x0+104]
000350c0str x1, [sp+112]
000350c4bl runtime.(*mspan).base
000350c8mov x1, x0
000350ccldr x0, [sp+88]
000350d0bl runtime.(*mspan).typePointersOfUnchecked
000350d4ldr x4, [sp+112]
000350d8ldr x5, [sp+120]
000350dcadd x4, x4, x5
000350e0ldr x5, [sp+152]
000350e4sub x4, x4, x5
000350e8sub x6, x5, x1
000350ecsubs xzr, x4, 0x20000
000350f0orr x7, xzr, 0x20000
000350f4csel x4, x7, x4, hi
000350f8str x4, [sp+104]
000350fcadd x5, x4, x5
00035100mov x4, x6
00035104bl runtime.typePointers.fastForward
00035108ldr x4, [sp+104]
0003510cb 0x34fc0
00035110
00035110loc_35110:
00035110ldr x1, [sp+96]
00035114add x2, x1, 0x20000
00035118
00035118loc_35118:
00035118str x2, [sp+96]
0003511cldr x0, [sp+88]
00035120bl runtime.(*mspan).base
00035124ldr x1, [sp+88]
00035128ldr x2, [x1+104]
0003512cadd x2, x2, x0
00035130ldr x3, [sp+96]
00035134subs xzr, x3, x2
00035138b.hs 0x350ac
0003513cldr x0, [sp+160]
00035140mov x1, x3
00035144bl runtime.(*gcWork).putFast
00035148tbnz w0, 0, 0x35110
0003514cldr x0, [sp+160]
00035150ldr x1, [sp+96]
00035154bl runtime.(*gcWork).put
00035158b 0x35110
0003515c
0003515cloc_3515c:
0003515cadrp x0, 0x687000
00035160add x0, x0, 830
00035164movz x1, 29
00035168bl runtime.throw
0003516c
0003516cloc_3516c:
0003516cadrp x0, 0x680000
00035170add x0, x0, 183
00035174movz x1, 17
00035178bl runtime.throw
0003517chint
00035180
00035180loc_35180:
00035180stp x0, x1, [sp+8]
00035184mov x3, x30
00035188bl runtime.morestack_noctxt.abi0
0003518cldp x0, x1, [sp+8]
00035190b 0x34f40
00035194udf 0
00035198udf 0
0003519cudf 0
00034f40
00034f40runtime.scanobject: ; void runtime.scanobject(uintptr b, runtime.gcWork * gcw)
00034f40ldr x16, [x28+16]
00034f44sub x17, sp, 16
00034f48subs xzr, x17, x16
00034f4cb.ls 0x35180
00034f50str x30, [sp-144]!
00034f54stur x29, [sp-8]
00034f58sub x29, sp, 8
00034f5cstr x0, [sp+152]
00034f60str x1, [sp+160]
00034f64prfm
00034f68bl runtime.spanOfUnchecked
00034f6cldr x1, [x0+104]
00034f70cbz x1, 0x3516c
00034f74str x0, [sp+88]
00034f78str x1, [sp+104]
00034f7cldrb w0, [x0+98]
00034f80bl runtime.spanClass.noscan
00034f84tbnz w0, 0, 0x3515c
00034f88ldr x2, [sp+104]
00034f8csubs xzr, x2, 0x20000
00034f90b.ls 0x34fb0
00034f94ldr x0, [sp+88]
00034f98bl runtime.(*mspan).base
00034f9cldr x1, [sp+152]
00034fa0subs xzr, x0, x1
00034fa4b.ne 0x350ac
00034fa8add x2, x1, 0x20000
00034facb 0x35118
00034fb0
00034fb0loc_34fb0:
00034fb0ldr x0, [sp+88]
00034fb4ldr x1, [sp+152]
00034fb8bl runtime.(*mspan).typePointersOfUnchecked
00034fbcldr x4, [sp+104]
00034fc0
00034fc0loc_34fc0:
00034fc0str x4, [sp+104]
00034fc4mov x5, xzr
00034fc8b 0x34fd0
00034fcc
00034fccloc_34fcc:
00034fccadd x5, x5, 8
00034fd0
00034fd0loc_34fd0:
00034fd0str x5, [sp+80]
00034fd4bl runtime.typePointers.nextFast
00034fd8cbnz x4, 0x34ff0
00034fdcldr x5, [sp+152]
00034fe0ldr x6, [sp+104]
00034fe4add x4, x5, x6
00034fe8bl runtime.typePointers.next
00034feccbz x4, 0x3507c
00034ff0
00034ff0loc_34ff0:
00034ff0mov x5, x4
00034ff4ldr x6, [sp+152]
00034ff8sub x5, x5, x6
00034ffcldr x4, [x4]
00035000cbz x4, 0x35074
00035004sub x7, x4, x6
00035008ldr x8, [sp+104]
0003500csubs xzr, x8, x7
00035010b.hi 0x34fcc
00035014str x5, [sp+120]
00035018str x3, [sp+128]
0003501cstr x2, [sp+56]
00035020str x1, [sp+72]
00035024str x0, [sp+64]
00035028mov x0, x4
0003502cmov x1, x6
00035030mov x2, x5
00035034bl runtime.findObject
00035038cbz x0, 0x35054
0003503cmov x3, x1
00035040ldr x4, [sp+160]
00035044mov x5, x2
00035048ldr x1, [sp+152]
0003504cldr x2, [sp+120]
00035050bl runtime.greyobject
00035054
00035054loc_35054:
00035054ldr x0, [sp+64]
00035058ldr x1, [sp+72]
0003505cldr x2, [sp+56]
00035060ldr x3, [sp+128]
00035064ldr x5, [sp+120]
00035068ldr x6, [sp+152]
0003506cldr x8, [sp+104]
00035070b 0x34fcc
00035074
00035074loc_35074:
00035074ldr x8, [sp+104]
00035078b 0x34fcc
0003507c
0003507cloc_3507c:
0003507cldr x0, [sp+160]
00035080ldr x1, [x0+16]
00035084ldr x2, [sp+104]
00035088add x1, x1, x2
0003508cstr x1, [x0+16]
00035090ldr x1, [x0+24]
00035094ldr x2, [sp+80]
00035098add x1, x1, x2
0003509cstr x1, [x0+24]
000350a0ldur x29, [sp-8]
000350a4ldr x30, [sp], 144
000350a8ret x30
000350ac
000350acloc_350ac:
000350acldr x0, [sp+88]
000350b0bl runtime.(*mspan).base
000350b4str x0, [sp+120]
000350b8ldr x0, [sp+88]
000350bcldr x1, [x0+104]
000350c0str x1, [sp+112]
000350c4bl runtime.(*mspan).base
000350c8mov x1, x0
000350ccldr x0, [sp+88]
000350d0bl runtime.(*mspan).typePointersOfUnchecked
000350d4ldr x4, [sp+112]
000350d8ldr x5, [sp+120]
000350dcadd x4, x4, x5
000350e0ldr x5, [sp+152]
000350e4sub x4, x4, x5
000350e8sub x6, x5, x1
000350ecsubs xzr, x4, 0x20000
000350f0orr x7, xzr, 0x20000
000350f4csel x4, x7, x4, hi
000350f8str x4, [sp+104]
000350fcadd x5, x4, x5
00035100mov x4, x6
00035104bl runtime.typePointers.fastForward
00035108ldr x4, [sp+104]
0003510cb 0x34fc0
00035110
00035110loc_35110:
00035110ldr x1, [sp+96]
00035114add x2, x1, 0x20000
00035118
00035118loc_35118:
00035118str x2, [sp+96]
0003511cldr x0, [sp+88]
00035120bl runtime.(*mspan).base
00035124ldr x1, [sp+88]
00035128ldr x2, [x1+104]
0003512cadd x2, x2, x0
00035130ldr x3, [sp+96]
00035134subs xzr, x3, x2
00035138b.hs 0x350ac
0003513cldr x0, [sp+160]
00035140mov x1, x3
00035144bl runtime.(*gcWork).putFast
00035148tbnz w0, 0, 0x35110
0003514cldr x0, [sp+160]
00035150ldr x1, [sp+96]
00035154bl runtime.(*gcWork).put
00035158b 0x35110
0003515c
0003515cloc_3515c:
0003515cadrp x0, 0x687000
00035160add x0, x0, 830
00035164movz x1, 29
00035168bl runtime.throw
0003516c
0003516cloc_3516c:
0003516cadrp x0, 0x680000
00035170add x0, x0, 183
00035174movz x1, 17
00035178bl runtime.throw
0003517chint
00035180
00035180loc_35180:
00035180stp x0, x1, [sp+8]
00035184mov x3, x30
00035188bl runtime.morestack_noctxt.abi0
0003518cldp x0, x1, [sp+8]
00035190b 0x34f40
00035194udf 0
00035198udf 0
0003519cudf 0
00034f40
000351a0
000351a0runtime.scanConservative: ; void runtime.scanConservative(uintptr b, uintptr n, uint8 * ptrmask, runtime.gcWork * gcw, runtime.stackScanState * state)
000351a0ldr x16, [x28+16]
000351a4subs xzr, sp, x16
000351a8b.ls 0x35328
000351acstr x30, [sp-96]!
000351b0stur x29, [sp-8]
000351b4sub x29, sp, 8
000351b8str x0, [sp+104]
000351bcstr x1, [sp+112]
000351c0str x2, [sp+120]
000351c4str x3, [sp+128]
000351c8str x4, [sp+136]
000351ccmov x5, xzr
000351d0b 0x351ec
000351d4
000351d4loc_351d4:
000351d4add x5, x5, 8
000351d8ldr x0, [sp+104]
000351dcldr x1, [sp+112]
000351e0ldr x2, [sp+120]
000351e4ldr x3, [sp+128]
000351e8ldr x4, [sp+136]
000351ec
000351ecloc_351ec:
000351ecsubs xzr, x1, x5
000351f0b.ls 0x35308
000351f4str x5, [sp+80]
000351f8cbz x2, 0x3525c
000351fcubfm x1, x5, 6, 63
00035200mov x0, x2
00035204bl runtime.addb
00035208ldrb w2, [x0]
0003520cmov x3, x2
00035210cbnz w3, 0x35228
00035214ldr x3, [sp+80]
00035218ands xzr, x3, 63
0003521cb.ne 0x35314
00035220add x5, x3, 56
00035224b 0x351d4
00035228
00035228loc_35228:
00035228mov x3, x2
0003522cldr x4, [sp+80]
00035230ubfm x5, x4, 3, 5
00035234lsrv x3, x3, x5
00035238tbnz w3, 0, 0x35244
0003523cmov x5, x4
00035240b 0x351d4
00035244
00035244loc_35244:
00035244ldr x0, [sp+104]
00035248ldr x1, [sp+112]
0003524cldr x2, [sp+120]
00035250ldr x3, [sp+128]
00035254ldr x4, [sp+136]
00035258ldr x5, [sp+80]
0003525c
0003525cloc_3525c:
0003525cadd x6, x5, x0
00035260ldr x6, [x6]
00035264cbz x4, 0x35298
00035268ldr x7, [x4]
0003526csubs xzr, x7, x6
00035270b.hi 0x35298
00035274ldr x7, [x4+8]
00035278subs xzr, x7, x6
0003527cb.ls 0x35298
00035280mov x0, x4
00035284mov x1, x6
00035288orr x2, xzr, 1
0003528cbl runtime.(*stackScanState).putPtr
00035290ldr x5, [sp+80]
00035294b 0x351d4
00035298
00035298loc_35298:
00035298str x6, [sp+56]
0003529cmov x0, x6
000352a0bl runtime.spanOfHeap
000352a4cbnz x0, 0x352b0
000352a8ldr x5, [sp+80]
000352acb 0x351d4
000352b0
000352b0loc_352b0:
000352b0str x0, [sp+64]
000352b4ldr x1, [sp+56]
000352b8bl runtime.(*mspan).objIndex
000352bcstr x0, [sp+72]
000352c0mov x1, x0
000352c4ldr x0, [sp+64]
000352c8bl runtime.(*mspan).isFree
000352cctbz w0, 0, 0x352d8
000352d0ldr x5, [sp+80]
000352d4b 0x351d4
000352d8
000352d8loc_352d8:
000352d8ldr x0, [sp+64]
000352dcbl runtime.(*mspan).base
000352e0ldr x3, [sp+64]
000352e4ldr x1, [x3+104]
000352e8ldr x5, [sp+72]
000352ecmadd x0, x1, x5, x0
000352f0ldr x1, [sp+104]
000352f4ldr x2, [sp+80]
000352f8ldr x4, [sp+128]
000352fcbl runtime.greyobject
00035300ldr x5, [sp+80]
00035304b 0x351d4
00035308
00035308loc_35308:
00035308ldur x29, [sp-8]
0003530cldr x30, [sp], 96
00035310ret x30
00035314
00035314loc_35314:
00035314adrp x0, 0x67f000
00035318add x0, x0, 567
0003531corr x1, xzr, 15
00035320bl runtime.throw
00035324hint
00035328
00035328loc_35328:
00035328stp x0, x1, [sp+8]
0003532cstp x2, x3, [sp+24]
00035330str x4, [sp+40]
00035334mov x3, x30
00035338bl runtime.morestack_noctxt.abi0
0003533cldp x0, x1, [sp+8]
00035340ldp x2, x3, [sp+24]
00035344ldr x4, [sp+40]
00035348b 0x351a0
0003534cudf 0
000351a0
000351a0runtime.scanConservative: ; void runtime.scanConservative(uintptr b, uintptr n, uint8 * ptrmask, runtime.gcWork * gcw, runtime.stackScanState * state)
000351a0ldr x16, [x28+16]
000351a4subs xzr, sp, x16
000351a8b.ls 0x35328
000351acstr x30, [sp-96]!
000351b0stur x29, [sp-8]
000351b4sub x29, sp, 8
000351b8str x0, [sp+104]
000351bcstr x1, [sp+112]
000351c0str x2, [sp+120]
000351c4str x3, [sp+128]
000351c8str x4, [sp+136]
000351ccmov x5, xzr
000351d0b 0x351ec
000351d4
000351d4loc_351d4:
000351d4add x5, x5, 8
000351d8ldr x0, [sp+104]
000351dcldr x1, [sp+112]
000351e0ldr x2, [sp+120]
000351e4ldr x3, [sp+128]
000351e8ldr x4, [sp+136]
000351ec
000351ecloc_351ec:
000351ecsubs xzr, x1, x5
000351f0b.ls 0x35308
000351f4str x5, [sp+80]
000351f8cbz x2, 0x3525c
000351fcubfm x1, x5, 6, 63
00035200mov x0, x2
00035204bl runtime.addb
00035208ldrb w2, [x0]
0003520cmov x3, x2
00035210cbnz w3, 0x35228
00035214ldr x3, [sp+80]
00035218ands xzr, x3, 63
0003521cb.ne 0x35314
00035220add x5, x3, 56
00035224b 0x351d4
00035228
00035228loc_35228:
00035228mov x3, x2
0003522cldr x4, [sp+80]
00035230ubfm x5, x4, 3, 5
00035234lsrv x3, x3, x5
00035238tbnz w3, 0, 0x35244
0003523cmov x5, x4
00035240b 0x351d4
00035244
00035244loc_35244:
00035244ldr x0, [sp+104]
00035248ldr x1, [sp+112]
0003524cldr x2, [sp+120]
00035250ldr x3, [sp+128]
00035254ldr x4, [sp+136]
00035258ldr x5, [sp+80]
0003525c
0003525cloc_3525c:
0003525cadd x6, x5, x0
00035260ldr x6, [x6]
00035264cbz x4, 0x35298
00035268ldr x7, [x4]
0003526csubs xzr, x7, x6
00035270b.hi 0x35298
00035274ldr x7, [x4+8]
00035278subs xzr, x7, x6
0003527cb.ls 0x35298
00035280mov x0, x4
00035284mov x1, x6
00035288orr x2, xzr, 1
0003528cbl runtime.(*stackScanState).putPtr
00035290ldr x5, [sp+80]
00035294b 0x351d4
00035298
00035298loc_35298:
00035298str x6, [sp+56]
0003529cmov x0, x6
000352a0bl runtime.spanOfHeap
000352a4cbnz x0, 0x352b0
000352a8ldr x5, [sp+80]
000352acb 0x351d4
000352b0
000352b0loc_352b0:
000352b0str x0, [sp+64]
000352b4ldr x1, [sp+56]
000352b8bl runtime.(*mspan).objIndex
000352bcstr x0, [sp+72]
000352c0mov x1, x0
000352c4ldr x0, [sp+64]
000352c8bl runtime.(*mspan).isFree
000352cctbz w0, 0, 0x352d8
000352d0ldr x5, [sp+80]
000352d4b 0x351d4
000352d8
000352d8loc_352d8:
000352d8ldr x0, [sp+64]
000352dcbl runtime.(*mspan).base
000352e0ldr x3, [sp+64]
000352e4ldr x1, [x3+104]
000352e8ldr x5, [sp+72]
000352ecmadd x0, x1, x5, x0
000352f0ldr x1, [sp+104]
000352f4ldr x2, [sp+80]
000352f8ldr x4, [sp+128]
000352fcbl runtime.greyobject
00035300ldr x5, [sp+80]
00035304b 0x351d4
00035308
00035308loc_35308:
00035308ldur x29, [sp-8]
0003530cldr x30, [sp], 96
00035310ret x30
00035314
00035314loc_35314:
00035314adrp x0, 0x67f000
00035318add x0, x0, 567
0003531corr x1, xzr, 15
00035320bl runtime.throw
00035324hint
00035328
00035328loc_35328:
00035328stp x0, x1, [sp+8]
0003532cstp x2, x3, [sp+24]
00035330str x4, [sp+40]
00035334mov x3, x30
00035338bl runtime.morestack_noctxt.abi0
0003533cldp x0, x1, [sp+8]
00035340ldp x2, x3, [sp+24]
00035344ldr x4, [sp+40]
00035348b 0x351a0
0003534cudf 0
000351a0
00035350
00035350runtime.shade: ; void runtime.shade(uintptr b)
00035350ldr x16, [x28+16]
00035354subs xzr, sp, x16
00035358b.ls 0x353c0
0003535cstr x30, [sp-96]!
00035360stur x29, [sp-8]
00035364sub x29, sp, 8
00035368mov x1, xzr
0003536cmov x2, x1
00035370bl runtime.findObject
00035374cbz x0, 0x353b4
00035378str x0, [sp+80]
0003537cstr x1, [sp+64]
00035380str x2, [sp+72]
00035384ldr x1, [x28+48]
00035388ldr x0, [x1+208]
0003538cbl runtime.puintptr.ptr
00035390ldrsb x27, [x0]
00035394movz x1, 4680
00035398add x4, x0, x1
0003539cldr x0, [sp+80]
000353a0mov x1, xzr
000353a4mov x2, x1
000353a8ldr x3, [sp+64]
000353acldr x5, [sp+72]
000353b0bl runtime.greyobject
000353b4
000353b4loc_353b4:
000353b4ldur x29, [sp-8]
000353b8ldr x30, [sp], 96
000353bcret x30
000353c0
000353c0loc_353c0:
000353c0str x0, [sp+8]
000353c4mov x3, x30
000353c8bl runtime.morestack_noctxt.abi0
000353ccldr x0, [sp+8]
000353d0b 0x35350
000353d4udf 0
000353d8udf 0
000353dcudf 0
00035350
00035350runtime.shade: ; void runtime.shade(uintptr b)
00035350ldr x16, [x28+16]
00035354subs xzr, sp, x16
00035358b.ls 0x353c0
0003535cstr x30, [sp-96]!
00035360stur x29, [sp-8]
00035364sub x29, sp, 8
00035368mov x1, xzr
0003536cmov x2, x1
00035370bl runtime.findObject
00035374cbz x0, 0x353b4
00035378str x0, [sp+80]
0003537cstr x1, [sp+64]
00035380str x2, [sp+72]
00035384ldr x1, [x28+48]
00035388ldr x0, [x1+208]
0003538cbl runtime.puintptr.ptr
00035390ldrsb x27, [x0]
00035394movz x1, 4680
00035398add x4, x0, x1
0003539cldr x0, [sp+80]
000353a0mov x1, xzr
000353a4mov x2, x1
000353a8ldr x3, [sp+64]
000353acldr x5, [sp+72]
000353b0bl runtime.greyobject
000353b4
000353b4loc_353b4:
000353b4ldur x29, [sp-8]
000353b8ldr x30, [sp], 96
000353bcret x30
000353c0
000353c0loc_353c0:
000353c0str x0, [sp+8]
000353c4mov x3, x30
000353c8bl runtime.morestack_noctxt.abi0
000353ccldr x0, [sp+8]
000353d0b 0x35350
000353d4udf 0
000353d8udf 0
000353dcudf 0
00035350
000353e0
000353e0runtime.greyobject: ; void runtime.greyobject(uintptr obj, uintptr base, uintptr off, runtime.mspan * span, runtime.gcWork * gcw, uintptr objIndex)
000353e0ldr x16, [x28+16]
000353e4subs xzr, sp, x16
000353e8b.ls 0x35640
000353ecstr x30, [sp-96]!
000353f0stur x29, [sp-8]
000353f4sub x29, sp, 8
000353f8ands xzr, x0, 7
000353fcb.ne 0x3562c
00035400str x0, [sp+104]
00035404str x1, [sp+112]
00035408str x2, [sp+120]
0003540cstr x3, [sp+128]
00035410str x4, [sp+136]
00035414str x5, [sp+144]
00035418mov x0, x3
0003541cmov x1, x5
00035420bl runtime.(*mspan).markBitsForIndex
00035424adrp x27, 0xa16000
00035428ldrb w3, [x27+1519]
0003542ctbnz w3, 0, 0x3551c
00035430str x2, [sp+72]
00035434strb w1, [sp+71]
00035438str x0, [sp+80]
0003543cadrp x27, 0xa17000
00035440ldrsw x3, [x27+244]
00035444subs wzr, w3, 0
00035448b.le 0x35468
0003544cldr x0, [sp+128]
00035450ldr x1, [sp+144]
00035454bl runtime.(*mspan).isFree
00035458tbnz w0, 0, 0x35580
0003545cldr x0, [sp+80]
00035460ldrb w1, [sp+71]
00035464ldr x2, [sp+72]
00035468
00035468loc_35468:
00035468bl runtime.markBits.isMarked
0003546ctbnz w0, 0, 0x35510
00035470ldr x0, [sp+80]
00035474ldrb w1, [sp+71]
00035478ldr x2, [sp+72]
0003547cbl runtime.markBits.setMarked
00035480ldr x0, [sp+128]
00035484bl runtime.(*mspan).base
00035488bl runtime.pageIndexOf
0003548cldrsb x27, [x0]
00035490movz x3, 1024
00035494movk x3, 0x10000
00035498add x3, x0, x3
0003549csubs xzr, x1, 1024
000354a0b.hs 0x35574
000354a4ldrb w4, [x3+x1]
000354a8and x4, x4, x2
000354acadd x1, x3, x1
000354b0ubfm x3, x4, 0, 7
000354b4cbnz w3, 0x354dc
000354b8adrp x27, 0xa16000
000354bcldrb w3, [x27+1516]
000354c0tbz w3, 0, 0x354cc
000354c4ldsetalb w2, w3, [x1]
000354c8b 0x354dc
000354cc
000354ccloc_354cc:
000354ccldaxrb w4, [x1]
000354d0orr x3, x4, x2
000354d4stlxrb w27, w3, [x1]
000354d8cbnz x27, 0x354cc
000354dc
000354dcloc_354dc:
000354dcldr x1, [sp+128]
000354e0ldrb w0, [x1+98]
000354e4bl runtime.spanClass.noscan
000354e8tbz w0, 0, 0x3553c
000354ecldr x0, [sp+136]
000354f0ldr x1, [x0+16]
000354f4ldr x2, [sp+128]
000354f8ldr x2, [x2+104]
000354fcadd x1, x1, x2
00035500str x1, [x0+16]
00035504ldur x29, [sp-8]
00035508ldr x30, [sp], 96
0003550cret x30
00035510
00035510loc_35510:
00035510ldur x29, [sp-8]
00035514ldr x30, [sp], 96
00035518ret x30
0003551c
0003551cloc_3551c:
0003551cmov x3, x0
00035520mov x4, x1
00035524mov x5, x2
00035528ldr x0, [sp+104]
0003552cldr x1, [sp+112]
00035530ldr x2, [sp+120]
00035534bl runtime.setCheckmark
00035538tbnz w0, 0, 0x35568
0003553c
0003553cloc_3553c:
0003553cldr x1, [sp+104]
00035540prfm
00035544ldr x0, [sp+136]
00035548bl runtime.(*gcWork).putFast
0003554ctbnz w0, 0, 0x3555c
00035550ldr x0, [sp+136]
00035554ldr x1, [sp+104]
00035558bl runtime.(*gcWork).put
0003555c
0003555cloc_3555c:
0003555cldur x29, [sp-8]
00035560ldr x30, [sp], 96
00035564ret x30
00035568
00035568loc_35568:
00035568ldur x29, [sp-8]
0003556cldr x30, [sp], 96
00035570ret x30
00035574
00035574loc_35574:
00035574mov x0, x1
00035578orr x1, xzr, 1024
0003557cbl runtime.panicIndexU
00035580
00035580loc_35580:
00035580bl runtime.printlock
00035584adrp x0, 0x687000
00035588add x0, x0, 859
0003558cmovz x1, 29
00035590bl runtime.printstring
00035594ldr x0, [sp+104]
00035598bl runtime.printhex
0003559cadrp x0, 0x67d000
000355a0add x0, x0, 3844
000355a4orr x1, xzr, 12
000355a8bl runtime.printstring
000355acldr x0, [sp+112]
000355b0bl runtime.printhex
000355b4adrp x0, 0x6da000
000355b8add x0, x0, 696
000355bcorr x1, xzr, 1
000355c0bl runtime.printstring
000355c4ldr x0, [sp+120]
000355c8bl runtime.printhex
000355ccadrp x0, 0x67a000
000355d0add x0, x0, 4061
000355d4orr x1, xzr, 2
000355d8bl runtime.printstring
000355dcbl runtime.printunlock
000355e0adrp x0, 0x67b000
000355e4add x0, x0, 802
000355e8orr x1, xzr, 4
000355ecldr x2, [sp+112]
000355f0ldr x3, [sp+120]
000355f4bl runtime.gcDumpObject
000355f8adrp x0, 0x67b000
000355fcadd x0, x0, 318
00035600orr x1, xzr, 3
00035604ldr x2, [sp+104]
00035608movn x3, 0
0003560cbl runtime.gcDumpObject
00035610ldr x0, [x28+48]
00035614orr x1, xzr, 2
00035618strb w1, [x0+290]
0003561cadrp x0, 0x681000
00035620add x0, x0, 35
00035624movz x1, 19
00035628bl runtime.throw
0003562c
0003562cloc_3562c:
0003562cadrp x0, 0x68b000
00035630add x0, x0, 2141
00035634movz x1, 35
00035638bl runtime.throw
0003563chint
00035640
00035640loc_35640:
00035640stp x0, x1, [sp+8]
00035644stp x2, x3, [sp+24]
00035648stp x4, x5, [sp+40]
0003564cmov x3, x30
00035650bl runtime.morestack_noctxt.abi0
00035654ldp x0, x1, [sp+8]
00035658ldp x2, x3, [sp+24]
0003565cldp x4, x5, [sp+40]
00035660b 0x353e0
00035664udf 0
00035668udf 0
0003566cudf 0
000353e0
000353e0runtime.greyobject: ; void runtime.greyobject(uintptr obj, uintptr base, uintptr off, runtime.mspan * span, runtime.gcWork * gcw, uintptr objIndex)
000353e0ldr x16, [x28+16]
000353e4subs xzr, sp, x16
000353e8b.ls 0x35640
000353ecstr x30, [sp-96]!
000353f0stur x29, [sp-8]
000353f4sub x29, sp, 8
000353f8ands xzr, x0, 7
000353fcb.ne 0x3562c
00035400str x0, [sp+104]
00035404str x1, [sp+112]
00035408str x2, [sp+120]
0003540cstr x3, [sp+128]
00035410str x4, [sp+136]
00035414str x5, [sp+144]
00035418mov x0, x3
0003541cmov x1, x5
00035420bl runtime.(*mspan).markBitsForIndex
00035424adrp x27, 0xa16000
00035428ldrb w3, [x27+1519]
0003542ctbnz w3, 0, 0x3551c
00035430str x2, [sp+72]
00035434strb w1, [sp+71]
00035438str x0, [sp+80]
0003543cadrp x27, 0xa17000
00035440ldrsw x3, [x27+244]
00035444subs wzr, w3, 0
00035448b.le 0x35468
0003544cldr x0, [sp+128]
00035450ldr x1, [sp+144]
00035454bl runtime.(*mspan).isFree
00035458tbnz w0, 0, 0x35580
0003545cldr x0, [sp+80]
00035460ldrb w1, [sp+71]
00035464ldr x2, [sp+72]
00035468
00035468loc_35468:
00035468bl runtime.markBits.isMarked
0003546ctbnz w0, 0, 0x35510
00035470ldr x0, [sp+80]
00035474ldrb w1, [sp+71]
00035478ldr x2, [sp+72]
0003547cbl runtime.markBits.setMarked
00035480ldr x0, [sp+128]
00035484bl runtime.(*mspan).base
00035488bl runtime.pageIndexOf
0003548cldrsb x27, [x0]
00035490movz x3, 1024
00035494movk x3, 0x10000
00035498add x3, x0, x3
0003549csubs xzr, x1, 1024
000354a0b.hs 0x35574
000354a4ldrb w4, [x3+x1]
000354a8and x4, x4, x2
000354acadd x1, x3, x1
000354b0ubfm x3, x4, 0, 7
000354b4cbnz w3, 0x354dc
000354b8adrp x27, 0xa16000
000354bcldrb w3, [x27+1516]
000354c0tbz w3, 0, 0x354cc
000354c4ldsetalb w2, w3, [x1]
000354c8b 0x354dc
000354cc
000354ccloc_354cc:
000354ccldaxrb w4, [x1]
000354d0orr x3, x4, x2
000354d4stlxrb w27, w3, [x1]
000354d8cbnz x27, 0x354cc
000354dc
000354dcloc_354dc:
000354dcldr x1, [sp+128]
000354e0ldrb w0, [x1+98]
000354e4bl runtime.spanClass.noscan
000354e8tbz w0, 0, 0x3553c
000354ecldr x0, [sp+136]
000354f0ldr x1, [x0+16]
000354f4ldr x2, [sp+128]
000354f8ldr x2, [x2+104]
000354fcadd x1, x1, x2
00035500str x1, [x0+16]
00035504ldur x29, [sp-8]
00035508ldr x30, [sp], 96
0003550cret x30
00035510
00035510loc_35510:
00035510ldur x29, [sp-8]
00035514ldr x30, [sp], 96
00035518ret x30
0003551c
0003551cloc_3551c:
0003551cmov x3, x0
00035520mov x4, x1
00035524mov x5, x2
00035528ldr x0, [sp+104]
0003552cldr x1, [sp+112]
00035530ldr x2, [sp+120]
00035534bl runtime.setCheckmark
00035538tbnz w0, 0, 0x35568
0003553c
0003553cloc_3553c:
0003553cldr x1, [sp+104]
00035540prfm
00035544ldr x0, [sp+136]
00035548bl runtime.(*gcWork).putFast
0003554ctbnz w0, 0, 0x3555c
00035550ldr x0, [sp+136]
00035554ldr x1, [sp+104]
00035558bl runtime.(*gcWork).put
0003555c
0003555cloc_3555c:
0003555cldur x29, [sp-8]
00035560ldr x30, [sp], 96
00035564ret x30
00035568
00035568loc_35568:
00035568ldur x29, [sp-8]
0003556cldr x30, [sp], 96
00035570ret x30
00035574
00035574loc_35574:
00035574mov x0, x1
00035578orr x1, xzr, 1024
0003557cbl runtime.panicIndexU
00035580
00035580loc_35580:
00035580bl runtime.printlock
00035584adrp x0, 0x687000
00035588add x0, x0, 859
0003558cmovz x1, 29
00035590bl runtime.printstring
00035594ldr x0, [sp+104]
00035598bl runtime.printhex
0003559cadrp x0, 0x67d000
000355a0add x0, x0, 3844
000355a4orr x1, xzr, 12
000355a8bl runtime.printstring
000355acldr x0, [sp+112]
000355b0bl runtime.printhex
000355b4adrp x0, 0x6da000
000355b8add x0, x0, 696
000355bcorr x1, xzr, 1
000355c0bl runtime.printstring
000355c4ldr x0, [sp+120]
000355c8bl runtime.printhex
000355ccadrp x0, 0x67a000
000355d0add x0, x0, 4061
000355d4orr x1, xzr, 2
000355d8bl runtime.printstring
000355dcbl runtime.printunlock
000355e0adrp x0, 0x67b000
000355e4add x0, x0, 802
000355e8orr x1, xzr, 4
000355ecldr x2, [sp+112]
000355f0ldr x3, [sp+120]
000355f4bl runtime.gcDumpObject
000355f8adrp x0, 0x67b000
000355fcadd x0, x0, 318
00035600orr x1, xzr, 3
00035604ldr x2, [sp+104]
00035608movn x3, 0
0003560cbl runtime.gcDumpObject
00035610ldr x0, [x28+48]
00035614orr x1, xzr, 2
00035618strb w1, [x0+290]
0003561cadrp x0, 0x681000
00035620add x0, x0, 35
00035624movz x1, 19
00035628bl runtime.throw
0003562c
0003562cloc_3562c:
0003562cadrp x0, 0x68b000
00035630add x0, x0, 2141
00035634movz x1, 35
00035638bl runtime.throw
0003563chint
00035640
00035640loc_35640:
00035640stp x0, x1, [sp+8]
00035644stp x2, x3, [sp+24]
00035648stp x4, x5, [sp+40]
0003564cmov x3, x30
00035650bl runtime.morestack_noctxt.abi0
00035654ldp x0, x1, [sp+8]
00035658ldp x2, x3, [sp+24]
0003565cldp x4, x5, [sp+40]
00035660b 0x353e0
00035664udf 0
00035668udf 0
0003566cudf 0
000353e0
00035670
00035670runtime.gcDumpObject: ; void runtime.gcDumpObject(struct string label, uintptr obj, uintptr off)
00035670ldr x16, [x28+16]
00035674subs xzr, sp, x16
00035678b.ls 0x359a8
0003567cstr x30, [sp-128]!
00035680stur x29, [sp-8]
00035684sub x29, sp, 8
00035688str x2, [sp+152]
0003568cstr x3, [sp+160]
00035690str x0, [sp+136]
00035694str x1, [sp+144]
00035698mov x0, x2
0003569cbl runtime.spanOf
000356a0str x0, [sp+48]
000356a4bl runtime.printlock
000356a8ldr x0, [sp+136]
000356acldr x1, [sp+144]
000356b0bl runtime.printstring
000356b4adrp x0, 0x6da000
000356b8add x0, x0, 720
000356bcorr x1, xzr, 1
000356c0bl runtime.printstring
000356c4ldr x0, [sp+152]
000356c8bl runtime.printhex
000356ccbl runtime.printunlock
000356d0ldr x0, [sp+48]
000356d4cbz x0, 0x35858
000356d8bl runtime.(*mspan).base
000356dcstr x0, [sp+96]
000356e0ldr x1, [sp+48]
000356e4ldr x2, [x1+112]
000356e8str x2, [sp+88]
000356ecldrb w2, [x1+98]
000356f0str x2, [sp+80]
000356f4ldr x1, [x1+104]
000356f8str x1, [sp+72]
000356fcbl runtime.printlock
00035700adrp x0, 0x67d000
00035704add x0, x0, 204
00035708movz x1, 10
0003570cbl runtime.printstring
00035710ldr x0, [sp+96]
00035714bl runtime.printhex
00035718adrp x0, 0x67c000
0003571cadd x0, x0, 2830
00035720movz x1, 9
00035724bl runtime.printstring
00035728ldr x0, [sp+88]
0003572cbl runtime.printhex
00035730adrp x0, 0x67e000
00035734add x0, x0, 1537
00035738movz x1, 13
0003573cbl runtime.printstring
00035740ldr x0, [sp+80]
00035744bl runtime.printuint
00035748adrp x0, 0x67d000
0003574cadd x0, x0, 3856
00035750orr x1, xzr, 12
00035754bl runtime.printstring
00035758ldr x0, [sp+72]
0003575cbl runtime.printuint
00035760adrp x0, 0x67c000
00035764add x0, x0, 2839
00035768movz x1, 9
0003576cbl runtime.printstring
00035770bl runtime.printunlock
00035774ldr x1, [sp+48]
00035778add x0, x1, 99
0003577cstr x0, [sp+112]
00035780bl runtime.(*mSpanStateBox).get
00035784ubfm x1, x0, 0, 7
00035788adrp x27, 0x9d8000
0003578cldr x2, [x27+3608]
00035790subs xzr, x1, x2
00035794b.ge 0x357d4
00035798adrp x27, 0x9d8000
0003579cldr x2, [x27+3600]
000357a0ubfm x0, x0, 60, 7
000357a4ldr x0, [x2+x0]
000357a8str x0, [sp+104]
000357acadd x0, x2, x1, lsl #4
000357b0ldr x0, [x0+8]
000357b4str x0, [sp+64]
000357b8bl runtime.printlock
000357bcldr x0, [sp+104]
000357c0ldr x1, [sp+64]
000357c4bl runtime.printstring
000357c8bl runtime.printnl
000357ccbl runtime.printunlock
000357d0b 0x35808
000357d4
000357d4loc_357d4:
000357d4strb w0, [sp+39]
000357d8bl runtime.printlock
000357dcadrp x0, 0x67c000
000357e0add x0, x0, 644
000357e4orr x1, xzr, 8
000357e8bl runtime.printstring
000357ecldrb w0, [sp+39]
000357f0bl runtime.printuint
000357f4adrp x0, 0x67a000
000357f8add x0, x0, 4061
000357fcorr x1, xzr, 2
00035800bl runtime.printstring
00035804bl runtime.printunlock
00035808
00035808loc_35808:
00035808ldr x1, [sp+48]
0003580cldr x1, [x1+104]
00035810str x1, [sp+40]
00035814ldr x0, [sp+112]
00035818bl runtime.(*mSpanStateBox).get
0003581cubfm x1, x0, 0, 7
00035820subs wzr, w1, 2
00035824b.ne 0x3583c
00035828ldr x0, [sp+40]
0003582ccbnz x0, 0x35840
00035830ldr x0, [sp+160]
00035834add x1, x0, 8
00035838b 0x35848
0003583c
0003583cloc_3583c:
0003583cldr x0, [sp+40]
00035840
00035840loc_35840:
00035840ldr x0, [sp+160]
00035844ldr x1, [sp+40]
00035848
00035848loc_35848:
00035848str x1, [sp+40]
0003584cmov x2, xzr
00035850mov x3, xzr
00035854b 0x35880
00035858
00035858loc_35858:
00035858bl runtime.printlock
0003585cadrp x0, 0x67b000
00035860add x0, x0, 3444
00035864orr x1, xzr, 7
00035868bl runtime.printstring
0003586cbl runtime.printunlock
00035870ldur x29, [sp-8]
00035874ldr x30, [sp], 128
00035878ret x30
0003587c
0003587cloc_3587c:
0003587cadd x2, x2, 8
00035880
00035880loc_35880:
00035880subs xzr, x1, x2
00035884b.ls 0x35980
00035888subs xzr, x2, 1024
0003588cb.lo 0x358b0
00035890sub x4, x0, 128
00035894subs xzr, x2, x4
00035898b.ls 0x358a8
0003589cadd x4, x0, 128
000358a0subs xzr, x2, x4
000358a4b.lo 0x358b0
000358a8
000358a8loc_358a8:
000358a8orr x3, xzr, 1
000358acb 0x3587c
000358b0
000358b0loc_358b0:
000358b0str x2, [sp+56]
000358b4tbz w3, 0, 0x358d4
000358b8bl runtime.printlock
000358bcadrp x0, 0x67b000
000358c0add x0, x0, 1652
000358c4movz x1, 5
000358c8bl runtime.printstring
000358ccbl runtime.printunlock
000358d0ldr x2, [sp+56]
000358d4
000358d4loc_358d4:
000358d4ldr x0, [sp+152]
000358d8add x0, x2, x0
000358dcldr x0, [x0]
000358e0str x0, [sp+96]
000358e4bl runtime.printlock
000358e8adrp x0, 0x67b000
000358ecadd x0, x0, 330
000358f0orr x1, xzr, 3
000358f4bl runtime.printstring
000358f8ldr x0, [sp+136]
000358fcldr x1, [sp+144]
00035900bl runtime.printstring
00035904adrp x0, 0x6da000
00035908add x0, x0, 696
0003590corr x1, xzr, 1
00035910bl runtime.printstring
00035914ldr x0, [sp+56]
00035918bl runtime.printuint
0003591cadrp x0, 0x67b000
00035920add x0, x0, 810
00035924orr x1, xzr, 4
00035928bl runtime.printstring
0003592cldr x0, [sp+96]
00035930bl runtime.printhex
00035934bl runtime.printunlock
00035938ldr x0, [sp+160]
0003593cldr x1, [sp+56]
00035940subs xzr, x0, x1
00035944b.ne 0x35960
00035948bl runtime.printlock
0003594cadrp x0, 0x67b000
00035950add x0, x0, 814
00035954orr x1, xzr, 4
00035958bl runtime.printstring
0003595cbl runtime.printunlock
00035960
00035960loc_35960:
00035960bl runtime.printlock
00035964bl runtime.printnl
00035968bl runtime.printunlock
0003596cldr x0, [sp+160]
00035970ldr x1, [sp+40]
00035974ldr x2, [sp+56]
00035978mov x3, xzr
0003597cb 0x3587c
00035980
00035980loc_35980:
00035980tbz w3, 0, 0x3599c
00035984bl runtime.printlock
00035988adrp x0, 0x67b000
0003598cadd x0, x0, 1652
00035990movz x1, 5
00035994bl runtime.printstring
00035998bl runtime.printunlock
0003599c
0003599cloc_3599c:
0003599cldur x29, [sp-8]
000359a0ldr x30, [sp], 128
000359a4ret x30
000359a8
000359a8loc_359a8:
000359a8stp x0, x1, [sp+8]
000359acstp x2, x3, [sp+24]
000359b0mov x3, x30
000359b4bl runtime.morestack_noctxt.abi0
000359b8ldp x0, x1, [sp+8]
000359bcldp x2, x3, [sp+24]
000359c0b 0x35670
000359c4udf 0
000359c8udf 0
000359ccudf 0
00035670
00035670runtime.gcDumpObject: ; void runtime.gcDumpObject(struct string label, uintptr obj, uintptr off)
00035670ldr x16, [x28+16]
00035674subs xzr, sp, x16
00035678b.ls 0x359a8
0003567cstr x30, [sp-128]!
00035680stur x29, [sp-8]
00035684sub x29, sp, 8
00035688str x2, [sp+152]
0003568cstr x3, [sp+160]
00035690str x0, [sp+136]
00035694str x1, [sp+144]
00035698mov x0, x2
0003569cbl runtime.spanOf
000356a0str x0, [sp+48]
000356a4bl runtime.printlock
000356a8ldr x0, [sp+136]
000356acldr x1, [sp+144]
000356b0bl runtime.printstring
000356b4adrp x0, 0x6da000
000356b8add x0, x0, 720
000356bcorr x1, xzr, 1
000356c0bl runtime.printstring
000356c4ldr x0, [sp+152]
000356c8bl runtime.printhex
000356ccbl runtime.printunlock
000356d0ldr x0, [sp+48]
000356d4cbz x0, 0x35858
000356d8bl runtime.(*mspan).base
000356dcstr x0, [sp+96]
000356e0ldr x1, [sp+48]
000356e4ldr x2, [x1+112]
000356e8str x2, [sp+88]
000356ecldrb w2, [x1+98]
000356f0str x2, [sp+80]
000356f4ldr x1, [x1+104]
000356f8str x1, [sp+72]
000356fcbl runtime.printlock
00035700adrp x0, 0x67d000
00035704add x0, x0, 204
00035708movz x1, 10
0003570cbl runtime.printstring
00035710ldr x0, [sp+96]
00035714bl runtime.printhex
00035718adrp x0, 0x67c000
0003571cadd x0, x0, 2830
00035720movz x1, 9
00035724bl runtime.printstring
00035728ldr x0, [sp+88]
0003572cbl runtime.printhex
00035730adrp x0, 0x67e000
00035734add x0, x0, 1537
00035738movz x1, 13
0003573cbl runtime.printstring
00035740ldr x0, [sp+80]
00035744bl runtime.printuint
00035748adrp x0, 0x67d000
0003574cadd x0, x0, 3856
00035750orr x1, xzr, 12
00035754bl runtime.printstring
00035758ldr x0, [sp+72]
0003575cbl runtime.printuint
00035760adrp x0, 0x67c000
00035764add x0, x0, 2839
00035768movz x1, 9
0003576cbl runtime.printstring
00035770bl runtime.printunlock
00035774ldr x1, [sp+48]
00035778add x0, x1, 99
0003577cstr x0, [sp+112]
00035780bl runtime.(*mSpanStateBox).get
00035784ubfm x1, x0, 0, 7
00035788adrp x27, 0x9d8000
0003578cldr x2, [x27+3608]
00035790subs xzr, x1, x2
00035794b.ge 0x357d4
00035798adrp x27, 0x9d8000
0003579cldr x2, [x27+3600]
000357a0ubfm x0, x0, 60, 7
000357a4ldr x0, [x2+x0]
000357a8str x0, [sp+104]
000357acadd x0, x2, x1, lsl #4
000357b0ldr x0, [x0+8]
000357b4str x0, [sp+64]
000357b8bl runtime.printlock
000357bcldr x0, [sp+104]
000357c0ldr x1, [sp+64]
000357c4bl runtime.printstring
000357c8bl runtime.printnl
000357ccbl runtime.printunlock
000357d0b 0x35808
000357d4
000357d4loc_357d4:
000357d4strb w0, [sp+39]
000357d8bl runtime.printlock
000357dcadrp x0, 0x67c000
000357e0add x0, x0, 644
000357e4orr x1, xzr, 8
000357e8bl runtime.printstring
000357ecldrb w0, [sp+39]
000357f0bl runtime.printuint
000357f4adrp x0, 0x67a000
000357f8add x0, x0, 4061
000357fcorr x1, xzr, 2
00035800bl runtime.printstring
00035804bl runtime.printunlock
00035808
00035808loc_35808:
00035808ldr x1, [sp+48]
0003580cldr x1, [x1+104]
00035810str x1, [sp+40]
00035814ldr x0, [sp+112]
00035818bl runtime.(*mSpanStateBox).get
0003581cubfm x1, x0, 0, 7
00035820subs wzr, w1, 2
00035824b.ne 0x3583c
00035828ldr x0, [sp+40]
0003582ccbnz x0, 0x35840
00035830ldr x0, [sp+160]
00035834add x1, x0, 8
00035838b 0x35848
0003583c
0003583cloc_3583c:
0003583cldr x0, [sp+40]
00035840
00035840loc_35840:
00035840ldr x0, [sp+160]
00035844ldr x1, [sp+40]
00035848
00035848loc_35848:
00035848str x1, [sp+40]
0003584cmov x2, xzr
00035850mov x3, xzr
00035854b 0x35880
00035858
00035858loc_35858:
00035858bl runtime.printlock
0003585cadrp x0, 0x67b000
00035860add x0, x0, 3444
00035864orr x1, xzr, 7
00035868bl runtime.printstring
0003586cbl runtime.printunlock
00035870ldur x29, [sp-8]
00035874ldr x30, [sp], 128
00035878ret x30
0003587c
0003587cloc_3587c:
0003587cadd x2, x2, 8
00035880
00035880loc_35880:
00035880subs xzr, x1, x2
00035884b.ls 0x35980
00035888subs xzr, x2, 1024
0003588cb.lo 0x358b0
00035890sub x4, x0, 128
00035894subs xzr, x2, x4
00035898b.ls 0x358a8
0003589cadd x4, x0, 128
000358a0subs xzr, x2, x4
000358a4b.lo 0x358b0
000358a8
000358a8loc_358a8:
000358a8orr x3, xzr, 1
000358acb 0x3587c
000358b0
000358b0loc_358b0:
000358b0str x2, [sp+56]
000358b4tbz w3, 0, 0x358d4
000358b8bl runtime.printlock
000358bcadrp x0, 0x67b000
000358c0add x0, x0, 1652
000358c4movz x1, 5
000358c8bl runtime.printstring
000358ccbl runtime.printunlock
000358d0ldr x2, [sp+56]
000358d4
000358d4loc_358d4:
000358d4ldr x0, [sp+152]
000358d8add x0, x2, x0
000358dcldr x0, [x0]
000358e0str x0, [sp+96]
000358e4bl runtime.printlock
000358e8adrp x0, 0x67b000
000358ecadd x0, x0, 330
000358f0orr x1, xzr, 3
000358f4bl runtime.printstring
000358f8ldr x0, [sp+136]
000358fcldr x1, [sp+144]
00035900bl runtime.printstring
00035904adrp x0, 0x6da000
00035908add x0, x0, 696
0003590corr x1, xzr, 1
00035910bl runtime.printstring
00035914ldr x0, [sp+56]
00035918bl runtime.printuint
0003591cadrp x0, 0x67b000
00035920add x0, x0, 810
00035924orr x1, xzr, 4
00035928bl runtime.printstring
0003592cldr x0, [sp+96]
00035930bl runtime.printhex
00035934bl runtime.printunlock
00035938ldr x0, [sp+160]
0003593cldr x1, [sp+56]
00035940subs xzr, x0, x1
00035944b.ne 0x35960
00035948bl runtime.printlock
0003594cadrp x0, 0x67b000
00035950add x0, x0, 814
00035954orr x1, xzr, 4
00035958bl runtime.printstring
0003595cbl runtime.printunlock
00035960
00035960loc_35960:
00035960bl runtime.printlock
00035964bl runtime.printnl
00035968bl runtime.printunlock
0003596cldr x0, [sp+160]
00035970ldr x1, [sp+40]
00035974ldr x2, [sp+56]
00035978mov x3, xzr
0003597cb 0x3587c
00035980
00035980loc_35980:
00035980tbz w3, 0, 0x3599c
00035984bl runtime.printlock
00035988adrp x0, 0x67b000
0003598cadd x0, x0, 1652
00035990movz x1, 5
00035994bl runtime.printstring
00035998bl runtime.printunlock
0003599c
0003599cloc_3599c:
0003599cldur x29, [sp-8]
000359a0ldr x30, [sp], 128
000359a4ret x30
000359a8
000359a8loc_359a8:
000359a8stp x0, x1, [sp+8]
000359acstp x2, x3, [sp+24]
000359b0mov x3, x30
000359b4bl runtime.morestack_noctxt.abi0
000359b8ldp x0, x1, [sp+8]
000359bcldp x2, x3, [sp+24]
000359c0b 0x35670
000359c4udf 0
000359c8udf 0
000359ccudf 0
00035670
000359d0
000359d0runtime.gcmarknewobject: ; void runtime.gcmarknewobject(runtime.mspan * span, uintptr obj)
000359d0str x30, [sp-48]!
000359d4stur x29, [sp-8]
000359d8sub x29, sp, 8
000359dcadrp x27, 0xa16000
000359e0ldrb w2, [x27+1519]
000359e4tbnz w2, 0, 0x35ab8
000359e8adrp x27, 0xa16000
000359ecldr w2, [x27+1600]
000359f0subs wzr, w2, 2
000359f4b.eq 0x35aa8
000359f8str x0, [sp+56]
000359fcbl runtime.(*mspan).objIndex
00035a00mov x1, x0
00035a04ldr x0, [sp+56]
00035a08bl runtime.(*mspan).markBitsForIndex
00035a0cbl runtime.markBits.setMarked
00035a10ldr x0, [sp+56]
00035a14bl runtime.(*mspan).base
00035a18bl runtime.pageIndexOf
00035a1cldrsb x27, [x0]
00035a20movz x3, 1024
00035a24movk x3, 0x10000
00035a28add x3, x0, x3
00035a2csubs xzr, x1, 1024
00035a30b.hs 0x35a9c
00035a34ldrb w4, [x3+x1]
00035a38and x4, x4, x2
00035a3cadd x1, x3, x1
00035a40ubfm x3, x4, 0, 7
00035a44cbnz w3, 0x35a6c
00035a48adrp x27, 0xa16000
00035a4cldrb w3, [x27+1516]
00035a50tbz w3, 0, 0x35a5c
00035a54ldsetalb w2, w3, [x1]
00035a58b 0x35a6c
00035a5c
00035a5cloc_35a5c:
00035a5cldaxrb w4, [x1]
00035a60orr x3, x4, x2
00035a64stlxrb w27, w3, [x1]
00035a68cbnz x27, 0x35a5c
00035a6c
00035a6cloc_35a6c:
00035a6cldr x1, [x28+48]
00035a70ldr x0, [x1+208]
00035a74bl runtime.puintptr.ptr
00035a78ldrsb x27, [x0]
00035a7cldr x1, [x0+4696]
00035a80ldr x2, [sp+56]
00035a84ldr x2, [x2+104]
00035a88add x1, x1, x2
00035a8cstr x1, [x0+4696]
00035a90ldur x29, [sp-8]
00035a94ldr x30, [sp], 48
00035a98ret x30
00035a9c
00035a9cloc_35a9c:
00035a9cmov x0, x1
00035aa0orr x1, xzr, 1024
00035aa4bl runtime.panicIndexU
00035aa8
00035aa8loc_35aa8:
00035aa8adrp x0, 0x694000
00035aacadd x0, x0, 858
00035ab0movz x1, 50
00035ab4bl runtime.throw
00035ab8
00035ab8loc_35ab8:
00035ab8adrp x0, 0x691000
00035abcadd x0, x0, 1244
00035ac0movz x1, 44
00035ac4bl runtime.throw
00035ac8hint
00035accudf 0
000359d0
000359d0runtime.gcmarknewobject: ; void runtime.gcmarknewobject(runtime.mspan * span, uintptr obj)
000359d0str x30, [sp-48]!
000359d4stur x29, [sp-8]
000359d8sub x29, sp, 8
000359dcadrp x27, 0xa16000
000359e0ldrb w2, [x27+1519]
000359e4tbnz w2, 0, 0x35ab8
000359e8adrp x27, 0xa16000
000359ecldr w2, [x27+1600]
000359f0subs wzr, w2, 2
000359f4b.eq 0x35aa8
000359f8str x0, [sp+56]
000359fcbl runtime.(*mspan).objIndex
00035a00mov x1, x0
00035a04ldr x0, [sp+56]
00035a08bl runtime.(*mspan).markBitsForIndex
00035a0cbl runtime.markBits.setMarked
00035a10ldr x0, [sp+56]
00035a14bl runtime.(*mspan).base
00035a18bl runtime.pageIndexOf
00035a1cldrsb x27, [x0]
00035a20movz x3, 1024
00035a24movk x3, 0x10000
00035a28add x3, x0, x3
00035a2csubs xzr, x1, 1024
00035a30b.hs 0x35a9c
00035a34ldrb w4, [x3+x1]
00035a38and x4, x4, x2
00035a3cadd x1, x3, x1
00035a40ubfm x3, x4, 0, 7
00035a44cbnz w3, 0x35a6c
00035a48adrp x27, 0xa16000
00035a4cldrb w3, [x27+1516]
00035a50tbz w3, 0, 0x35a5c
00035a54ldsetalb w2, w3, [x1]
00035a58b 0x35a6c
00035a5c
00035a5cloc_35a5c:
00035a5cldaxrb w4, [x1]
00035a60orr x3, x4, x2
00035a64stlxrb w27, w3, [x1]
00035a68cbnz x27, 0x35a5c
00035a6c
00035a6cloc_35a6c:
00035a6cldr x1, [x28+48]
00035a70ldr x0, [x1+208]
00035a74bl runtime.puintptr.ptr
00035a78ldrsb x27, [x0]
00035a7cldr x1, [x0+4696]
00035a80ldr x2, [sp+56]
00035a84ldr x2, [x2+104]
00035a88add x1, x1, x2
00035a8cstr x1, [x0+4696]
00035a90ldur x29, [sp-8]
00035a94ldr x30, [sp], 48
00035a98ret x30
00035a9c
00035a9cloc_35a9c:
00035a9cmov x0, x1
00035aa0orr x1, xzr, 1024
00035aa4bl runtime.panicIndexU
00035aa8
00035aa8loc_35aa8:
00035aa8adrp x0, 0x694000
00035aacadd x0, x0, 858
00035ab0movz x1, 50
00035ab4bl runtime.throw
00035ab8
00035ab8loc_35ab8:
00035ab8adrp x0, 0x691000
00035abcadd x0, x0, 1244
00035ac0movz x1, 44
00035ac4bl runtime.throw
00035ac8hint
00035accudf 0
000359d0
00035ad0
00035ad0runtime.gcMarkTinyAllocs: ; void runtime.gcMarkTinyAllocs(void)
00035ad0ldr x16, [x28+16]
00035ad4subs xzr, sp, x16
00035ad8b.ls 0x35b8c
00035adcstr x30, [sp-112]!
00035ae0stur x29, [sp-8]
00035ae4sub x29, sp, 8
00035ae8bl runtime.assertWorldStopped
00035aecadrp x27, 0x9ed000
00035af0ldr x0, [x27+3040]
00035af4str x0, [sp+96]
00035af8adrp x27, 0x9ed000
00035afcldr x1, [x27+3048]
00035b00str x1, [sp+80]
00035b04mov x2, xzr
00035b08b 0x35b10
00035b0c
00035b0cloc_35b0c:
00035b0cadd x2, x2, 1
00035b10
00035b10loc_35b10:
00035b10subs xzr, x2, x1
00035b14b.ge 0x35b80
00035b18ldr x3, [x0+3*x2]
00035b1cldr x4, [x3+56]
00035b20cbz x4, 0x35b0c
00035b24ldr x5, [x4+24]
00035b28cbz x5, 0x35b0c
00035b2cstr x2, [sp+72]
00035b30str x3, [sp+88]
00035b34str x4, [sp+64]
00035b38mov x0, x5
00035b3cmov x1, xzr
00035b40mov x2, x1
00035b44bl runtime.findObject
00035b48ldr x3, [sp+88]
00035b4cmovz x4, 4680
00035b50add x4, x3, x4
00035b54ldr x3, [sp+64]
00035b58ldr x0, [x3+24]
00035b5cmov x3, x1
00035b60mov x5, x2
00035b64mov x1, xzr
00035b68mov x2, x1
00035b6cbl runtime.greyobject
00035b70ldr x0, [sp+96]
00035b74ldr x1, [sp+80]
00035b78ldr x2, [sp+72]
00035b7cb 0x35b0c
00035b80
00035b80loc_35b80:
00035b80ldur x29, [sp-8]
00035b84ldr x30, [sp], 112
00035b88ret x30
00035b8c
00035b8cloc_35b8c:
00035b8cmov x3, x30
00035b90bl runtime.morestack_noctxt.abi0
00035b94b 0x35ad0
00035b98udf 0
00035b9cudf 0
00035ad0
00035ad0runtime.gcMarkTinyAllocs: ; void runtime.gcMarkTinyAllocs(void)
00035ad0ldr x16, [x28+16]
00035ad4subs xzr, sp, x16
00035ad8b.ls 0x35b8c
00035adcstr x30, [sp-112]!
00035ae0stur x29, [sp-8]
00035ae4sub x29, sp, 8
00035ae8bl runtime.assertWorldStopped
00035aecadrp x27, 0x9ed000
00035af0ldr x0, [x27+3040]
00035af4str x0, [sp+96]
00035af8adrp x27, 0x9ed000
00035afcldr x1, [x27+3048]
00035b00str x1, [sp+80]
00035b04mov x2, xzr
00035b08b 0x35b10
00035b0c
00035b0cloc_35b0c:
00035b0cadd x2, x2, 1
00035b10
00035b10loc_35b10:
00035b10subs xzr, x2, x1
00035b14b.ge 0x35b80
00035b18ldr x3, [x0+3*x2]
00035b1cldr x4, [x3+56]
00035b20cbz x4, 0x35b0c
00035b24ldr x5, [x4+24]
00035b28cbz x5, 0x35b0c
00035b2cstr x2, [sp+72]
00035b30str x3, [sp+88]
00035b34str x4, [sp+64]
00035b38mov x0, x5
00035b3cmov x1, xzr
00035b40mov x2, x1
00035b44bl runtime.findObject
00035b48ldr x3, [sp+88]
00035b4cmovz x4, 4680
00035b50add x4, x3, x4
00035b54ldr x3, [sp+64]
00035b58ldr x0, [x3+24]
00035b5cmov x3, x1
00035b60mov x5, x2
00035b64mov x1, xzr
00035b68mov x2, x1
00035b6cbl runtime.greyobject
00035b70ldr x0, [sp+96]
00035b74ldr x1, [sp+80]
00035b78ldr x2, [sp+72]
00035b7cb 0x35b0c
00035b80
00035b80loc_35b80:
00035b80ldur x29, [sp-8]
00035b84ldr x30, [sp], 112
00035b88ret x30
00035b8c
00035b8cloc_35b8c:
00035b8cmov x3, x30
00035b90bl runtime.morestack_noctxt.abi0
00035b94b 0x35ad0
00035b98udf 0
00035b9cudf 0
00035ad0
00035ba0
00035ba0runtime.(*gcControllerState).init: ; void runtime.(*gcControllerState).init(runtime.gcControllerState * c, int32 gcPercent, int64 memoryLimit)
00035ba0ldr x16, [x28+16]
00035ba4subs xzr, sp, x16
00035ba8b.ls 0x35bf8
00035bacstr x30, [sp-32]!
00035bb0stur x29, [sp-8]
00035bb4sub x29, sp, 8
00035bb8str x0, [sp+40]
00035bbcstr x2, [sp+56]
00035bc0orr x2, xzr, 0x400000
00035bc4str x2, [x0+16]
00035bc8movn x2, 0
00035bccstr x2, [x0+88]
00035bd0bl runtime.(*gcControllerState).setGCPercent
00035bd4ldr x0, [sp+40]
00035bd8ldr x1, [sp+56]
00035bdcbl runtime.(*gcControllerState).setMemoryLimit
00035be0ldr x0, [sp+40]
00035be4orr x1, xzr, 1
00035be8bl runtime.(*gcControllerState).commit
00035becldur x29, [sp-8]
00035bf0ldr x30, [sp], 32
00035bf4ret x30
00035bf8
00035bf8loc_35bf8:
00035bf8str x0, [sp+8]
00035bfcstr w1, [sp+16]
00035c00str x2, [sp+24]
00035c04mov x3, x30
00035c08bl runtime.morestack_noctxt.abi0
00035c0cldr x0, [sp+8]
00035c10ldrsw x1, [sp+16]
00035c14ldr x2, [sp+24]
00035c18b 0x35ba0
00035c1cudf 0
00035ba0
00035ba0runtime.(*gcControllerState).init: ; void runtime.(*gcControllerState).init(runtime.gcControllerState * c, int32 gcPercent, int64 memoryLimit)
00035ba0ldr x16, [x28+16]
00035ba4subs xzr, sp, x16
00035ba8b.ls 0x35bf8
00035bacstr x30, [sp-32]!
00035bb0stur x29, [sp-8]
00035bb4sub x29, sp, 8
00035bb8str x0, [sp+40]
00035bbcstr x2, [sp+56]
00035bc0orr x2, xzr, 0x400000
00035bc4str x2, [x0+16]
00035bc8movn x2, 0
00035bccstr x2, [x0+88]
00035bd0bl runtime.(*gcControllerState).setGCPercent
00035bd4ldr x0, [sp+40]
00035bd8ldr x1, [sp+56]
00035bdcbl runtime.(*gcControllerState).setMemoryLimit
00035be0ldr x0, [sp+40]
00035be4orr x1, xzr, 1
00035be8bl runtime.(*gcControllerState).commit
00035becldur x29, [sp-8]
00035bf0ldr x30, [sp], 32
00035bf4ret x30
00035bf8
00035bf8loc_35bf8:
00035bf8str x0, [sp+8]
00035bfcstr w1, [sp+16]
00035c00str x2, [sp+24]
00035c04mov x3, x30
00035c08bl runtime.morestack_noctxt.abi0
00035c0cldr x0, [sp+8]
00035c10ldrsw x1, [sp+16]
00035c14ldr x2, [sp+24]
00035c18b 0x35ba0
00035c1cudf 0
00035ba0
00035c20
00035c20runtime.(*gcControllerState).startCycle: ; void runtime.(*gcControllerState).startCycle(runtime.gcControllerState * c, int64 markStartTime, int procs, runtime.gcTrigger trigger)
00035c20ldr x16, [x28+16]
00035c24subs xzr, sp, x16
00035c28b.ls 0x35f24
00035c2cstr x30, [sp-96]!
00035c30stur x29, [sp-8]
00035c34sub x29, sp, 8
00035c38str x0, [sp+104]
00035c3cstr x1, [sp+112]
00035c40str x2, [sp+120]
00035c44str x3, [sp+80]
00035c48ldrsb x27, [x0]
00035c4cadd x0, x0, 160
00035c50mov x1, xzr
00035c54bl internal/runtime/atomic.(*Int64).Store
00035c58ldr x2, [sp+104]
00035c5cadd x0, x2, 168
00035c60mov x1, xzr
00035c64bl internal/runtime/atomic.(*Int64).Store
00035c68ldr x2, [sp+104]
00035c6cadd x0, x2, 176
00035c70mov x1, xzr
00035c74bl internal/runtime/atomic.(*Int64).Store
00035c78ldr x2, [sp+104]
00035c7cadd x0, x2, 184
00035c80mov x1, xzr
00035c84bl internal/runtime/atomic.(*Int64).Store
00035c88ldr x2, [sp+104]
00035c8cadd x0, x2, 192
00035c90mov x1, xzr
00035c94bl internal/runtime/atomic.(*Int64).Store
00035c98ldr x2, [sp+104]
00035c9cadd x0, x2, 200
00035ca0mov x1, xzr
00035ca4bl internal/runtime/atomic.(*Int64).Store
00035ca8ldr x2, [sp+104]
00035cacadd x0, x2, 208
00035cb0mov x1, xzr
00035cb4bl internal/runtime/atomic.(*Int64).Store
00035cb8ldr x2, [sp+104]
00035cbcadd x0, x2, 216
00035cc0mov x1, xzr
00035cc4bl internal/runtime/atomic.(*Int64).Store
00035cc8ldr x2, [sp+112]
00035cccldr x3, [sp+104]
00035cd0str x2, [x3+224]
00035cd4add x0, x3, 104
00035cd8bl internal/runtime/atomic.(*Uint64).Load
00035cdcldr x2, [sp+104]
00035ce0str x0, [x2+88]
00035ce4ldr x3, [sp+120]
00035ce8scvtf d0, x3
00035cecfmov d1
00035cf0fmul d2, d0, d1
00035cf4fmov d3
00035cf8fmadd d3, d1, d0, d3
00035cfcfcvtzs x4, d3
00035d00scvtf d3, x4
00035d04fdiv d4, d3, d2
00035d08fmov d5
00035d0cfsub d4, d4, d5
00035d10adrp x27, 0x6db000
00035d14ldr d5, [x27+3264]
00035d18fcmp d4, d5
00035d1cb.mi 0x35d30
00035d20adrp x27, 0x6db000
00035d24ldr d5, [x27+3176]
00035d28fcmp d5, d4
00035d2cb.pl 0x35d50
00035d30
00035d30loc_35d30:
00035d30sub x5, x4, 1
00035d34fcmp d2, d3
00035d38csel x4, x5, x4, mi
00035d3cscvtf d2, x4
00035d40fnmsub d1, d1, d0, d2
00035d44fdiv d0, d1, d0
00035d48str d0, [x2+264]
00035d4cb 0x35d58
00035d50
00035d50loc_35d50:
00035d50fmov d0, xzr
00035d54str d0, [x2+264]
00035d58
00035d58loc_35d58:
00035d58adrp x27, 0xa17000
00035d5cldrsw x5, [x27+256]
00035d60subs wzr, w5, 0
00035d64b.le 0x35d78
00035d68fmov d0, xzr
00035d6cstr d0, [x2+264]
00035d70mov x0, x3
00035d74b 0x35d80
00035d78
00035d78loc_35d78:
00035d78mov x0, x3
00035d7cmov x3, x4
00035d80
00035d80loc_35d80:
00035d80adrp x27, 0x9ed000
00035d84ldr x4, [x27+3040]
00035d88adrp x27, 0x9ed000
00035d8cldr x5, [x27+3048]
00035d90mov x1, xzr
00035d94b 0x35db0
00035d98
00035d98loc_35d98:
00035d98ldr x6, [x4+3*x1]
00035d9cldrsb x27, [x6]
00035da0add x27, x6, 544
00035da4add x27, x27, 4096
00035da8stp xzr, xzr, [x27]
00035dacadd x1, x1, 1
00035db0
00035db0loc_35db0:
00035db0subs xzr, x1, x5
00035db4b.lt 0x35d98
00035db8str x3, [sp+32]
00035dbcldr x4, [sp+80]
00035dc0subs xzr, x4, 1
00035dc4b.ne 0x35df0
00035dc8subs xzr, x3, 0
00035dccb.le 0x35de0
00035dd0mov x0, x2
00035dd4mov x1, xzr
00035dd8bl runtime.(*gcControllerState).setMaxIdleMarkWorkers
00035ddcb 0x35dfc
00035de0
00035de0loc_35de0:
00035de0mov x0, x2
00035de4orr x1, xzr, 1
00035de8bl runtime.(*gcControllerState).setMaxIdleMarkWorkers
00035decb 0x35dfc
00035df0
00035df0loc_35df0:
00035df0sub x1, x0, x3
00035df4mov x0, x2
00035df8bl runtime.(*gcControllerState).setMaxIdleMarkWorkers
00035dfc
00035dfcloc_35dfc:
00035dfcldr x2, [sp+104]
00035e00add x0, x2, 232
00035e04ldr x1, [sp+32]
00035e08bl internal/runtime/atomic.(*Int64).Store
00035e0cldr x0, [sp+104]
00035e10bl runtime.(*gcControllerState).revise
00035e14adrp x27, 0xa17000
00035e18ldrsw x2, [x27+248]
00035e1csubs wzr, w2, 0
00035e20b.le 0x35f18
00035e24ldr x0, [sp+104]
00035e28bl runtime.(*gcControllerState).heapGoal
00035e2cstr x0, [sp+24]
00035e30ldr x1, [sp+104]
00035e34add x0, x1, 248
00035e38bl internal/runtime/atomic.(*Float64).Load
00035e3cstr d0, [sp+40]
00035e40adrp x0, 0xa17000
00035e44add x0, x0, 2608
00035e48bl internal/runtime/atomic.(*Uint64).Load
00035e4cubfm x1, x0, 20, 63
00035e50str x1, [sp+72]
00035e54adrp x27, 0x9ef000
00035e58ldr x1, [x27+3128]
00035e5cubfm x1, x1, 20, 63
00035e60str x1, [sp+64]
00035e64ldr x1, [sp+24]
00035e68ubfm x1, x1, 20, 63
00035e6cstr x1, [sp+56]
00035e70ldr x1, [sp+104]
00035e74ldr d0, [x1+264]
00035e78str d0, [sp+48]
00035e7cbl runtime.printlock
00035e80adrp x0, 0x681000
00035e84add x0, x0, 2507
00035e88movz x1, 20
00035e8cbl runtime.printstring
00035e90ldr d0, [sp+40]
00035e94bl runtime.printfloat
00035e98adrp x0, 0x67b000
00035e9cadd x0, x0, 3451
00035ea0orr x1, xzr, 7
00035ea4bl runtime.printstring
00035ea8ldr x0, [sp+72]
00035eacbl runtime.printuint
00035eb0adrp x0, 0x67b000
00035eb4add x0, x0, 3458
00035eb8orr x1, xzr, 7
00035ebcbl runtime.printstring
00035ec0ldr x0, [sp+64]
00035ec4bl runtime.printuint
00035ec8adrp x0, 0x67a000
00035eccadd x0, x0, 4067
00035ed0orr x1, xzr, 2
00035ed4bl runtime.printstring
00035ed8ldr x0, [sp+56]
00035edcbl runtime.printuint
00035ee0adrp x0, 0x67e000
00035ee4add x0, x0, 1550
00035ee8movz x1, 13
00035eecbl runtime.printstring
00035ef0ldr x0, [sp+32]
00035ef4bl runtime.printint
00035ef8adrp x0, 0x6da000
00035efcadd x0, x0, 696
00035f00orr x1, xzr, 1
00035f04bl runtime.printstring
00035f08ldr d0, [sp+48]
00035f0cbl runtime.printfloat
00035f10bl runtime.printnl
00035f14bl runtime.printunlock
00035f18
00035f18loc_35f18:
00035f18ldur x29, [sp-8]
00035f1cldr x30, [sp], 96
00035f20ret x30
00035f24
00035f24loc_35f24:
00035f24stp x0, x1, [sp+8]
00035f28stp x2, x3, [sp+24]
00035f2cstr x4, [sp+40]
00035f30str w5, [sp+48]
00035f34mov x3, x30
00035f38bl runtime.morestack_noctxt.abi0
00035f3cldp x0, x1, [sp+8]
00035f40ldp x2, x3, [sp+24]
00035f44ldr x4, [sp+40]
00035f48ldr w5, [sp+48]
00035f4cb 0x35c20
00035c20
00035c20runtime.(*gcControllerState).startCycle: ; void runtime.(*gcControllerState).startCycle(runtime.gcControllerState * c, int64 markStartTime, int procs, runtime.gcTrigger trigger)
00035c20ldr x16, [x28+16]
00035c24subs xzr, sp, x16
00035c28b.ls 0x35f24
00035c2cstr x30, [sp-96]!
00035c30stur x29, [sp-8]
00035c34sub x29, sp, 8
00035c38str x0, [sp+104]
00035c3cstr x1, [sp+112]
00035c40str x2, [sp+120]
00035c44str x3, [sp+80]
00035c48ldrsb x27, [x0]
00035c4cadd x0, x0, 160
00035c50mov x1, xzr
00035c54bl internal/runtime/atomic.(*Int64).Store
00035c58ldr x2, [sp+104]
00035c5cadd x0, x2, 168
00035c60mov x1, xzr
00035c64bl internal/runtime/atomic.(*Int64).Store
00035c68ldr x2, [sp+104]
00035c6cadd x0, x2, 176
00035c70mov x1, xzr
00035c74bl internal/runtime/atomic.(*Int64).Store
00035c78ldr x2, [sp+104]
00035c7cadd x0, x2, 184
00035c80mov x1, xzr
00035c84bl internal/runtime/atomic.(*Int64).Store
00035c88ldr x2, [sp+104]
00035c8cadd x0, x2, 192
00035c90mov x1, xzr
00035c94bl internal/runtime/atomic.(*Int64).Store
00035c98ldr x2, [sp+104]
00035c9cadd x0, x2, 200
00035ca0mov x1, xzr
00035ca4bl internal/runtime/atomic.(*Int64).Store
00035ca8ldr x2, [sp+104]
00035cacadd x0, x2, 208
00035cb0mov x1, xzr
00035cb4bl internal/runtime/atomic.(*Int64).Store
00035cb8ldr x2, [sp+104]
00035cbcadd x0, x2, 216
00035cc0mov x1, xzr
00035cc4bl internal/runtime/atomic.(*Int64).Store
00035cc8ldr x2, [sp+112]
00035cccldr x3, [sp+104]
00035cd0str x2, [x3+224]
00035cd4add x0, x3, 104
00035cd8bl internal/runtime/atomic.(*Uint64).Load
00035cdcldr x2, [sp+104]
00035ce0str x0, [x2+88]
00035ce4ldr x3, [sp+120]
00035ce8scvtf d0, x3
00035cecfmov d1
00035cf0fmul d2, d0, d1
00035cf4fmov d3
00035cf8fmadd d3, d1, d0, d3
00035cfcfcvtzs x4, d3
00035d00scvtf d3, x4
00035d04fdiv d4, d3, d2
00035d08fmov d5
00035d0cfsub d4, d4, d5
00035d10adrp x27, 0x6db000
00035d14ldr d5, [x27+3264]
00035d18fcmp d4, d5
00035d1cb.mi 0x35d30
00035d20adrp x27, 0x6db000
00035d24ldr d5, [x27+3176]
00035d28fcmp d5, d4
00035d2cb.pl 0x35d50
00035d30
00035d30loc_35d30:
00035d30sub x5, x4, 1
00035d34fcmp d2, d3
00035d38csel x4, x5, x4, mi
00035d3cscvtf d2, x4
00035d40fnmsub d1, d1, d0, d2
00035d44fdiv d0, d1, d0
00035d48str d0, [x2+264]
00035d4cb 0x35d58
00035d50
00035d50loc_35d50:
00035d50fmov d0, xzr
00035d54str d0, [x2+264]
00035d58
00035d58loc_35d58:
00035d58adrp x27, 0xa17000
00035d5cldrsw x5, [x27+256]
00035d60subs wzr, w5, 0
00035d64b.le 0x35d78
00035d68fmov d0, xzr
00035d6cstr d0, [x2+264]
00035d70mov x0, x3
00035d74b 0x35d80
00035d78
00035d78loc_35d78:
00035d78mov x0, x3
00035d7cmov x3, x4
00035d80
00035d80loc_35d80:
00035d80adrp x27, 0x9ed000
00035d84ldr x4, [x27+3040]
00035d88adrp x27, 0x9ed000
00035d8cldr x5, [x27+3048]
00035d90mov x1, xzr
00035d94b 0x35db0
00035d98
00035d98loc_35d98:
00035d98ldr x6, [x4+3*x1]
00035d9cldrsb x27, [x6]
00035da0add x27, x6, 544
00035da4add x27, x27, 4096
00035da8stp xzr, xzr, [x27]
00035dacadd x1, x1, 1
00035db0
00035db0loc_35db0:
00035db0subs xzr, x1, x5
00035db4b.lt 0x35d98
00035db8str x3, [sp+32]
00035dbcldr x4, [sp+80]
00035dc0subs xzr, x4, 1
00035dc4b.ne 0x35df0
00035dc8subs xzr, x3, 0
00035dccb.le 0x35de0
00035dd0mov x0, x2
00035dd4mov x1, xzr
00035dd8bl runtime.(*gcControllerState).setMaxIdleMarkWorkers
00035ddcb 0x35dfc
00035de0
00035de0loc_35de0:
00035de0mov x0, x2
00035de4orr x1, xzr, 1
00035de8bl runtime.(*gcControllerState).setMaxIdleMarkWorkers
00035decb 0x35dfc
00035df0
00035df0loc_35df0:
00035df0sub x1, x0, x3
00035df4mov x0, x2
00035df8bl runtime.(*gcControllerState).setMaxIdleMarkWorkers
00035dfc
00035dfcloc_35dfc:
00035dfcldr x2, [sp+104]
00035e00add x0, x2, 232
00035e04ldr x1, [sp+32]
00035e08bl internal/runtime/atomic.(*Int64).Store
00035e0cldr x0, [sp+104]
00035e10bl runtime.(*gcControllerState).revise
00035e14adrp x27, 0xa17000
00035e18ldrsw x2, [x27+248]
00035e1csubs wzr, w2, 0
00035e20b.le 0x35f18
00035e24ldr x0, [sp+104]
00035e28bl runtime.(*gcControllerState).heapGoal
00035e2cstr x0, [sp+24]
00035e30ldr x1, [sp+104]
00035e34add x0, x1, 248
00035e38bl internal/runtime/atomic.(*Float64).Load
00035e3cstr d0, [sp+40]
00035e40adrp x0, 0xa17000
00035e44add x0, x0, 2608
00035e48bl internal/runtime/atomic.(*Uint64).Load
00035e4cubfm x1, x0, 20, 63
00035e50str x1, [sp+72]
00035e54adrp x27, 0x9ef000
00035e58ldr x1, [x27+3128]
00035e5cubfm x1, x1, 20, 63
00035e60str x1, [sp+64]
00035e64ldr x1, [sp+24]
00035e68ubfm x1, x1, 20, 63
00035e6cstr x1, [sp+56]
00035e70ldr x1, [sp+104]
00035e74ldr d0, [x1+264]
00035e78str d0, [sp+48]
00035e7cbl runtime.printlock
00035e80adrp x0, 0x681000
00035e84add x0, x0, 2507
00035e88movz x1, 20
00035e8cbl runtime.printstring
00035e90ldr d0, [sp+40]
00035e94bl runtime.printfloat
00035e98adrp x0, 0x67b000
00035e9cadd x0, x0, 3451
00035ea0orr x1, xzr, 7
00035ea4bl runtime.printstring
00035ea8ldr x0, [sp+72]
00035eacbl runtime.printuint
00035eb0adrp x0, 0x67b000
00035eb4add x0, x0, 3458
00035eb8orr x1, xzr, 7
00035ebcbl runtime.printstring
00035ec0ldr x0, [sp+64]
00035ec4bl runtime.printuint
00035ec8adrp x0, 0x67a000
00035eccadd x0, x0, 4067
00035ed0orr x1, xzr, 2
00035ed4bl runtime.printstring
00035ed8ldr x0, [sp+56]
00035edcbl runtime.printuint
00035ee0adrp x0, 0x67e000
00035ee4add x0, x0, 1550
00035ee8movz x1, 13
00035eecbl runtime.printstring
00035ef0ldr x0, [sp+32]
00035ef4bl runtime.printint
00035ef8adrp x0, 0x6da000
00035efcadd x0, x0, 696
00035f00orr x1, xzr, 1
00035f04bl runtime.printstring
00035f08ldr d0, [sp+48]
00035f0cbl runtime.printfloat
00035f10bl runtime.printnl
00035f14bl runtime.printunlock
00035f18
00035f18loc_35f18:
00035f18ldur x29, [sp-8]
00035f1cldr x30, [sp], 96
00035f20ret x30
00035f24
00035f24loc_35f24:
00035f24stp x0, x1, [sp+8]
00035f28stp x2, x3, [sp+24]
00035f2cstr x4, [sp+40]
00035f30str w5, [sp+48]
00035f34mov x3, x30
00035f38bl runtime.morestack_noctxt.abi0
00035f3cldp x0, x1, [sp+8]
00035f40ldp x2, x3, [sp+24]
00035f44ldr x4, [sp+40]
00035f48ldr w5, [sp+48]
00035f4cb 0x35c20
00035c20
Loading..