File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
00031900
00031900runtime.fmtNSAsMS: ; void runtime.fmtNSAsMS(struct []uint8 buf, uint64 ns)
00031900ldr x16, [x28+16]
00031904subs xzr, sp, x16
00031908b.ls 0x319e8
0003190cstr x30, [sp-64]!
00031910stur x29, [sp-8]
00031914sub x29, sp, 8
00031918str x0, [sp+72]
0003191cmovz x5, 38528
00031920movk x5, 0x980000
00031924subs xzr, x3, x5
00031928b.hs 0x31974
0003192cubfm x5, x3, 1, 63
00031930movz x6, 57148
00031934movk x6, 0x8d4f0000
00031938movk x6, 0x6e9700000000
0003193cmovk x6, 0x8312000000000000
00031940umulh x5, x6, x5
00031944ubfm x5, x5, 8, 63
00031948cbz x5, 0x31954
0003194corr x3, xzr, 3
00031950b 0x319c8
00031954
00031954loc_31954:
00031954subs xzr, x1, 0
00031958b.ls 0x319a0
0003195corr x3, xzr, 48
00031960strb w3, [x0]
00031964orr x1, xzr, 1
00031968ldur x29, [sp-8]
0003196cldr x30, [sp], 64
00031970ret x30
00031974
00031974loc_31974:
00031974movz x5, 27062
00031978movk x5, 0xaf6c0000
0003197cmovk x5, 0xbd0500000000
00031980movk x5, 0x8637000000000000
00031984umulh x5, x5, x3
00031988ubfm x3, x5, 19, 63
0003198cmov x4, xzr
00031990bl runtime.itoaDiv
00031994ldur x29, [sp-8]
00031998ldr x30, [sp], 64
0003199cret x30
000319a0
000319a0loc_319a0:
000319a0mov x0, xzr
000319a4mov x1, x0
000319a8bl runtime.panicIndex
000319ac
000319acloc_319ac:
000319acmovz x6, 52429
000319b0movk x6, 0xcccc0000
000319b4movk x6, 0xcccc00000000
000319b8movk x6, 0xcccc000000000000
000319bcumulh x7, x5, x6
000319c0ubfm x5, x7, 3, 63
000319c4sub x3, x3, 1
000319c8
000319c8loc_319c8:
000319c8subs xzr, x5, 100
000319ccb.hs 0x319ac
000319d0mov x4, x3
000319d4mov x3, x5
000319d8bl runtime.itoaDiv
000319dcldur x29, [sp-8]
000319e0ldr x30, [sp], 64
000319e4ret x30
000319e8
000319e8loc_319e8:
000319e8stp x0, x1, [sp+8]
000319ecstp x2, x3, [sp+24]
000319f0mov x3, x30
000319f4bl runtime.morestack_noctxt.abi0
000319f8ldp x0, x1, [sp+8]
000319fcldp x2, x3, [sp+24]
00031a00b 0x31900
00031a04udf 0
00031a08udf 0
00031a0cudf 0
00031900
00031900runtime.fmtNSAsMS: ; void runtime.fmtNSAsMS(struct []uint8 buf, uint64 ns)
00031900ldr x16, [x28+16]
00031904subs xzr, sp, x16
00031908b.ls 0x319e8
0003190cstr x30, [sp-64]!
00031910stur x29, [sp-8]
00031914sub x29, sp, 8
00031918str x0, [sp+72]
0003191cmovz x5, 38528
00031920movk x5, 0x980000
00031924subs xzr, x3, x5
00031928b.hs 0x31974
0003192cubfm x5, x3, 1, 63
00031930movz x6, 57148
00031934movk x6, 0x8d4f0000
00031938movk x6, 0x6e9700000000
0003193cmovk x6, 0x8312000000000000
00031940umulh x5, x6, x5
00031944ubfm x5, x5, 8, 63
00031948cbz x5, 0x31954
0003194corr x3, xzr, 3
00031950b 0x319c8
00031954
00031954loc_31954:
00031954subs xzr, x1, 0
00031958b.ls 0x319a0
0003195corr x3, xzr, 48
00031960strb w3, [x0]
00031964orr x1, xzr, 1
00031968ldur x29, [sp-8]
0003196cldr x30, [sp], 64
00031970ret x30
00031974
00031974loc_31974:
00031974movz x5, 27062
00031978movk x5, 0xaf6c0000
0003197cmovk x5, 0xbd0500000000
00031980movk x5, 0x8637000000000000
00031984umulh x5, x5, x3
00031988ubfm x3, x5, 19, 63
0003198cmov x4, xzr
00031990bl runtime.itoaDiv
00031994ldur x29, [sp-8]
00031998ldr x30, [sp], 64
0003199cret x30
000319a0
000319a0loc_319a0:
000319a0mov x0, xzr
000319a4mov x1, x0
000319a8bl runtime.panicIndex
000319ac
000319acloc_319ac:
000319acmovz x6, 52429
000319b0movk x6, 0xcccc0000
000319b4movk x6, 0xcccc00000000
000319b8movk x6, 0xcccc000000000000
000319bcumulh x7, x5, x6
000319c0ubfm x5, x7, 3, 63
000319c4sub x3, x3, 1
000319c8
000319c8loc_319c8:
000319c8subs xzr, x5, 100
000319ccb.hs 0x319ac
000319d0mov x4, x3
000319d4mov x3, x5
000319d8bl runtime.itoaDiv
000319dcldur x29, [sp-8]
000319e0ldr x30, [sp], 64
000319e4ret x30
000319e8
000319e8loc_319e8:
000319e8stp x0, x1, [sp+8]
000319ecstp x2, x3, [sp+24]
000319f0mov x3, x30
000319f4bl runtime.morestack_noctxt.abi0
000319f8ldp x0, x1, [sp+8]
000319fcldp x2, x3, [sp+24]
00031a00b 0x31900
00031a04udf 0
00031a08udf 0
00031a0cudf 0
00031900
00031a10
00031a10runtime.(*gcCPULimiterState).limiting: ; void runtime.(*gcCPULimiterState).limiting(runtime.gcCPULimiterState * l)
00031a10ldr x16, [x28+16]
00031a14subs xzr, sp, x16
00031a18b.ls 0x31a40
00031a1cstr x30, [sp-32]!
00031a20stur x29, [sp-8]
00031a24sub x29, sp, 8
00031a28ldrsb x27, [x0]
00031a2cadd x0, x0, 4
00031a30bl internal/runtime/atomic.(*Bool).Load
00031a34ldur x29, [sp-8]
00031a38ldr x30, [sp], 32
00031a3cret x30
00031a40
00031a40loc_31a40:
00031a40str x0, [sp+8]
00031a44mov x3, x30
00031a48bl runtime.morestack_noctxt.abi0
00031a4cldr x0, [sp+8]
00031a50b 0x31a10
00031a54udf 0
00031a58udf 0
00031a5cudf 0
00031a10
00031a10runtime.(*gcCPULimiterState).limiting: ; void runtime.(*gcCPULimiterState).limiting(runtime.gcCPULimiterState * l)
00031a10ldr x16, [x28+16]
00031a14subs xzr, sp, x16
00031a18b.ls 0x31a40
00031a1cstr x30, [sp-32]!
00031a20stur x29, [sp-8]
00031a24sub x29, sp, 8
00031a28ldrsb x27, [x0]
00031a2cadd x0, x0, 4
00031a30bl internal/runtime/atomic.(*Bool).Load
00031a34ldur x29, [sp-8]
00031a38ldr x30, [sp], 32
00031a3cret x30
00031a40
00031a40loc_31a40:
00031a40str x0, [sp+8]
00031a44mov x3, x30
00031a48bl runtime.morestack_noctxt.abi0
00031a4cldr x0, [sp+8]
00031a50b 0x31a10
00031a54udf 0
00031a58udf 0
00031a5cudf 0
00031a10
00031a60
00031a60runtime.(*gcCPULimiterState).startGCTransition: ; void runtime.(*gcCPULimiterState).startGCTransition(runtime.gcCPULimiterState * l, bool enableGC, int64 now)
00031a60ldr x16, [x28+16]
00031a64subs xzr, sp, x16
00031a68b.ls 0x31af0
00031a6cstr x30, [sp-32]!
00031a70stur x29, [sp-8]
00031a74sub x29, sp, 8
00031a78str x0, [sp+40]
00031a7cstrb w1, [sp+48]
00031a80str x2, [sp+56]
00031a84bl runtime.(*gcCPULimiterState).tryLock
00031a88tbz w0, 0, 0x31adc
00031a8cldr x0, [sp+40]
00031a90ldrb w2, [x0+5]
00031a94ldrb w3, [sp+48]
00031a98eor x2, x2, x3
00031a9ceor x2, x2, 1
00031aa0tbnz w2, 0, 0x31acc
00031aa4ldr x1, [sp+56]
00031aa8bl runtime.(*gcCPULimiterState).updateLocked
00031aacldrb w2, [sp+48]
00031ab0ldr x3, [sp+40]
00031ab4strb w2, [x3+5]
00031ab8orr x2, xzr, 1
00031abcstrb w2, [x3+6]
00031ac0ldur x29, [sp-8]
00031ac4ldr x30, [sp], 32
00031ac8ret x30
00031acc
00031accloc_31acc:
00031accadrp x0, 0x695000
00031ad0add x0, x0, 3051
00031ad4movz x1, 45
00031ad8bl runtime.throw
00031adc
00031adcloc_31adc:
00031adcadrp x0, 0x696000
00031ae0add x0, x0, 3198
00031ae4movz x1, 47
00031ae8bl runtime.throw
00031aechint
00031af0
00031af0loc_31af0:
00031af0str x0, [sp+8]
00031af4strb w1, [sp+16]
00031af8str x2, [sp+24]
00031afcmov x3, x30
00031b00bl runtime.morestack_noctxt.abi0
00031b04ldr x0, [sp+8]
00031b08ldrb w1, [sp+16]
00031b0cldr x2, [sp+24]
00031b10b 0x31a60
00031b14udf 0
00031b18udf 0
00031b1cudf 0
00031a60
00031a60runtime.(*gcCPULimiterState).startGCTransition: ; void runtime.(*gcCPULimiterState).startGCTransition(runtime.gcCPULimiterState * l, bool enableGC, int64 now)
00031a60ldr x16, [x28+16]
00031a64subs xzr, sp, x16
00031a68b.ls 0x31af0
00031a6cstr x30, [sp-32]!
00031a70stur x29, [sp-8]
00031a74sub x29, sp, 8
00031a78str x0, [sp+40]
00031a7cstrb w1, [sp+48]
00031a80str x2, [sp+56]
00031a84bl runtime.(*gcCPULimiterState).tryLock
00031a88tbz w0, 0, 0x31adc
00031a8cldr x0, [sp+40]
00031a90ldrb w2, [x0+5]
00031a94ldrb w3, [sp+48]
00031a98eor x2, x2, x3
00031a9ceor x2, x2, 1
00031aa0tbnz w2, 0, 0x31acc
00031aa4ldr x1, [sp+56]
00031aa8bl runtime.(*gcCPULimiterState).updateLocked
00031aacldrb w2, [sp+48]
00031ab0ldr x3, [sp+40]
00031ab4strb w2, [x3+5]
00031ab8orr x2, xzr, 1
00031abcstrb w2, [x3+6]
00031ac0ldur x29, [sp-8]
00031ac4ldr x30, [sp], 32
00031ac8ret x30
00031acc
00031accloc_31acc:
00031accadrp x0, 0x695000
00031ad0add x0, x0, 3051
00031ad4movz x1, 45
00031ad8bl runtime.throw
00031adc
00031adcloc_31adc:
00031adcadrp x0, 0x696000
00031ae0add x0, x0, 3198
00031ae4movz x1, 47
00031ae8bl runtime.throw
00031aechint
00031af0
00031af0loc_31af0:
00031af0str x0, [sp+8]
00031af4strb w1, [sp+16]
00031af8str x2, [sp+24]
00031afcmov x3, x30
00031b00bl runtime.morestack_noctxt.abi0
00031b04ldr x0, [sp+8]
00031b08ldrb w1, [sp+16]
00031b0cldr x2, [sp+24]
00031b10b 0x31a60
00031b14udf 0
00031b18udf 0
00031b1cudf 0
00031a60
00031b20
00031b20runtime.(*gcCPULimiterState).finishGCTransition: ; void runtime.(*gcCPULimiterState).finishGCTransition(runtime.gcCPULimiterState * l, int64 now)
00031b20ldr x16, [x28+16]
00031b24subs xzr, sp, x16
00031b28b.ls 0x31bb0
00031b2cstr x30, [sp-48]!
00031b30stur x29, [sp-8]
00031b34sub x29, sp, 8
00031b38ldrb w2, [x0+6]
00031b3ctbz w2, 0, 0x31b9c
00031b40str x0, [sp+56]
00031b44str x1, [sp+64]
00031b48add x0, x0, 56
00031b4cstr x0, [sp+32]
00031b50bl internal/runtime/atomic.(*Int64).Load
00031b54ldr x1, [sp+64]
00031b58subs xzr, x0, x1
00031b5cb.gt 0x31b7c
00031b60sub x3, x1, x0
00031b64ldr x0, [sp+56]
00031b68ldrsw x4, [x0+68]
00031b6cmadd x2, x3, x4, xzr
00031b70mov x1, xzr
00031b74bl runtime.(*gcCPULimiterState).accumulate
00031b78ldr x1, [sp+64]
00031b7c
00031b7cloc_31b7c:
00031b7cldr x0, [sp+32]
00031b80bl internal/runtime/atomic.(*Int64).Store
00031b84ldr x0, [sp+56]
00031b88strb wzr, [x0+6]
00031b8cbl runtime.(*gcCPULimiterState).unlock
00031b90ldur x29, [sp-8]
00031b94ldr x30, [sp], 48
00031b98ret x30
00031b9c
00031b9cloc_31b9c:
00031b9cadrp x0, 0x696000
00031ba0add x0, x0, 3245
00031ba4movz x1, 47
00031ba8bl runtime.throw
00031bachint
00031bb0
00031bb0loc_31bb0:
00031bb0stp x0, x1, [sp+8]
00031bb4mov x3, x30
00031bb8bl runtime.morestack_noctxt.abi0
00031bbcldp x0, x1, [sp+8]
00031bc0b 0x31b20
00031bc4udf 0
00031bc8udf 0
00031bccudf 0
00031b20
00031b20runtime.(*gcCPULimiterState).finishGCTransition: ; void runtime.(*gcCPULimiterState).finishGCTransition(runtime.gcCPULimiterState * l, int64 now)
00031b20ldr x16, [x28+16]
00031b24subs xzr, sp, x16
00031b28b.ls 0x31bb0
00031b2cstr x30, [sp-48]!
00031b30stur x29, [sp-8]
00031b34sub x29, sp, 8
00031b38ldrb w2, [x0+6]
00031b3ctbz w2, 0, 0x31b9c
00031b40str x0, [sp+56]
00031b44str x1, [sp+64]
00031b48add x0, x0, 56
00031b4cstr x0, [sp+32]
00031b50bl internal/runtime/atomic.(*Int64).Load
00031b54ldr x1, [sp+64]
00031b58subs xzr, x0, x1
00031b5cb.gt 0x31b7c
00031b60sub x3, x1, x0
00031b64ldr x0, [sp+56]
00031b68ldrsw x4, [x0+68]
00031b6cmadd x2, x3, x4, xzr
00031b70mov x1, xzr
00031b74bl runtime.(*gcCPULimiterState).accumulate
00031b78ldr x1, [sp+64]
00031b7c
00031b7cloc_31b7c:
00031b7cldr x0, [sp+32]
00031b80bl internal/runtime/atomic.(*Int64).Store
00031b84ldr x0, [sp+56]
00031b88strb wzr, [x0+6]
00031b8cbl runtime.(*gcCPULimiterState).unlock
00031b90ldur x29, [sp-8]
00031b94ldr x30, [sp], 48
00031b98ret x30
00031b9c
00031b9cloc_31b9c:
00031b9cadrp x0, 0x696000
00031ba0add x0, x0, 3245
00031ba4movz x1, 47
00031ba8bl runtime.throw
00031bachint
00031bb0
00031bb0loc_31bb0:
00031bb0stp x0, x1, [sp+8]
00031bb4mov x3, x30
00031bb8bl runtime.morestack_noctxt.abi0
00031bbcldp x0, x1, [sp+8]
00031bc0b 0x31b20
00031bc4udf 0
00031bc8udf 0
00031bccudf 0
00031b20
00031bd0
00031bd0runtime.(*gcCPULimiterState).needUpdate: ; void runtime.(*gcCPULimiterState).needUpdate(runtime.gcCPULimiterState * l, int64 now)
00031bd0ldr x16, [x28+16]
00031bd4subs xzr, sp, x16
00031bd8b.ls 0x31c1c
00031bdcstr x30, [sp-32]!
00031be0stur x29, [sp-8]
00031be4sub x29, sp, 8
00031be8str x1, [sp+48]
00031becldrsb x27, [x0]
00031bf0add x0, x0, 56
00031bf4bl internal/runtime/atomic.(*Int64).Load
00031bf8ldr x1, [sp+48]
00031bfcsub x1, x1, x0
00031c00movz x2, 38528
00031c04movk x2, 0x980000
00031c08subs xzr, x1, x2
00031c0ccset x0, gt
00031c10ldur x29, [sp-8]
00031c14ldr x30, [sp], 32
00031c18ret x30
00031c1c
00031c1cloc_31c1c:
00031c1cstp x0, x1, [sp+8]
00031c20mov x3, x30
00031c24bl runtime.morestack_noctxt.abi0
00031c28ldp x0, x1, [sp+8]
00031c2cb 0x31bd0
00031bd0
00031bd0runtime.(*gcCPULimiterState).needUpdate: ; void runtime.(*gcCPULimiterState).needUpdate(runtime.gcCPULimiterState * l, int64 now)
00031bd0ldr x16, [x28+16]
00031bd4subs xzr, sp, x16
00031bd8b.ls 0x31c1c
00031bdcstr x30, [sp-32]!
00031be0stur x29, [sp-8]
00031be4sub x29, sp, 8
00031be8str x1, [sp+48]
00031becldrsb x27, [x0]
00031bf0add x0, x0, 56
00031bf4bl internal/runtime/atomic.(*Int64).Load
00031bf8ldr x1, [sp+48]
00031bfcsub x1, x1, x0
00031c00movz x2, 38528
00031c04movk x2, 0x980000
00031c08subs xzr, x1, x2
00031c0ccset x0, gt
00031c10ldur x29, [sp-8]
00031c14ldr x30, [sp], 32
00031c18ret x30
00031c1c
00031c1cloc_31c1c:
00031c1cstp x0, x1, [sp+8]
00031c20mov x3, x30
00031c24bl runtime.morestack_noctxt.abi0
00031c28ldp x0, x1, [sp+8]
00031c2cb 0x31bd0
00031bd0
00031c30
00031c30runtime.(*gcCPULimiterState).addAssistTime: ; void runtime.(*gcCPULimiterState).addAssistTime(runtime.gcCPULimiterState * l, int64 t)
00031c30ldr x16, [x28+16]
00031c34subs xzr, sp, x16
00031c38b.ls 0x31c60
00031c3cstr x30, [sp-32]!
00031c40stur x29, [sp-8]
00031c44sub x29, sp, 8
00031c48ldrsb x27, [x0]
00031c4cadd x0, x0, 32
00031c50bl internal/runtime/atomic.(*Int64).Add
00031c54ldur x29, [sp-8]
00031c58ldr x30, [sp], 32
00031c5cret x30
00031c60
00031c60loc_31c60:
00031c60stp x0, x1, [sp+8]
00031c64mov x3, x30
00031c68bl runtime.morestack_noctxt.abi0
00031c6cldp x0, x1, [sp+8]
00031c70b 0x31c30
00031c74udf 0
00031c78udf 0
00031c7cudf 0
00031c30
00031c30runtime.(*gcCPULimiterState).addAssistTime: ; void runtime.(*gcCPULimiterState).addAssistTime(runtime.gcCPULimiterState * l, int64 t)
00031c30ldr x16, [x28+16]
00031c34subs xzr, sp, x16
00031c38b.ls 0x31c60
00031c3cstr x30, [sp-32]!
00031c40stur x29, [sp-8]
00031c44sub x29, sp, 8
00031c48ldrsb x27, [x0]
00031c4cadd x0, x0, 32
00031c50bl internal/runtime/atomic.(*Int64).Add
00031c54ldur x29, [sp-8]
00031c58ldr x30, [sp], 32
00031c5cret x30
00031c60
00031c60loc_31c60:
00031c60stp x0, x1, [sp+8]
00031c64mov x3, x30
00031c68bl runtime.morestack_noctxt.abi0
00031c6cldp x0, x1, [sp+8]
00031c70b 0x31c30
00031c74udf 0
00031c78udf 0
00031c7cudf 0
00031c30
00031c80
00031c80runtime.(*gcCPULimiterState).addIdleTime: ; void runtime.(*gcCPULimiterState).addIdleTime(runtime.gcCPULimiterState * l, int64 t)
00031c80ldr x16, [x28+16]
00031c84subs xzr, sp, x16
00031c88b.ls 0x31cb0
00031c8cstr x30, [sp-32]!
00031c90stur x29, [sp-8]
00031c94sub x29, sp, 8
00031c98ldrsb x27, [x0]
00031c9cadd x0, x0, 48
00031ca0bl internal/runtime/atomic.(*Int64).Add
00031ca4ldur x29, [sp-8]
00031ca8ldr x30, [sp], 32
00031cacret x30
00031cb0
00031cb0loc_31cb0:
00031cb0stp x0, x1, [sp+8]
00031cb4mov x3, x30
00031cb8bl runtime.morestack_noctxt.abi0
00031cbcldp x0, x1, [sp+8]
00031cc0b 0x31c80
00031cc4udf 0
00031cc8udf 0
00031cccudf 0
00031c80
00031c80runtime.(*gcCPULimiterState).addIdleTime: ; void runtime.(*gcCPULimiterState).addIdleTime(runtime.gcCPULimiterState * l, int64 t)
00031c80ldr x16, [x28+16]
00031c84subs xzr, sp, x16
00031c88b.ls 0x31cb0
00031c8cstr x30, [sp-32]!
00031c90stur x29, [sp-8]
00031c94sub x29, sp, 8
00031c98ldrsb x27, [x0]
00031c9cadd x0, x0, 48
00031ca0bl internal/runtime/atomic.(*Int64).Add
00031ca4ldur x29, [sp-8]
00031ca8ldr x30, [sp], 32
00031cacret x30
00031cb0
00031cb0loc_31cb0:
00031cb0stp x0, x1, [sp+8]
00031cb4mov x3, x30
00031cb8bl runtime.morestack_noctxt.abi0
00031cbcldp x0, x1, [sp+8]
00031cc0b 0x31c80
00031cc4udf 0
00031cc8udf 0
00031cccudf 0
00031c80
00031cd0
00031cd0runtime.(*gcCPULimiterState).update: ; void runtime.(*gcCPULimiterState).update(runtime.gcCPULimiterState * l, int64 now)
00031cd0ldr x16, [x28+16]
00031cd4subs xzr, sp, x16
00031cd8b.ls 0x31d40
00031cdcstr x30, [sp-32]!
00031ce0stur x29, [sp-8]
00031ce4sub x29, sp, 8
00031ce8str x0, [sp+40]
00031cecstr x1, [sp+48]
00031cf0bl runtime.(*gcCPULimiterState).tryLock
00031cf4tbz w0, 0, 0x31d20
00031cf8ldr x0, [sp+40]
00031cfcldrb w2, [x0+6]
00031d00tbnz w2, 0, 0x31d2c
00031d04ldr x1, [sp+48]
00031d08bl runtime.(*gcCPULimiterState).updateLocked
00031d0cldr x0, [sp+40]
00031d10bl runtime.(*gcCPULimiterState).unlock
00031d14ldur x29, [sp-8]
00031d18ldr x30, [sp], 32
00031d1cret x30
00031d20
00031d20loc_31d20:
00031d20ldur x29, [sp-8]
00031d24ldr x30, [sp], 32
00031d28ret x30
00031d2c
00031d2cloc_31d2c:
00031d2cadrp x0, 0x687000
00031d30add x0, x0, 4078
00031d34orr x1, xzr, 24
00031d38bl runtime.throw
00031d3chint
00031d40
00031d40loc_31d40:
00031d40stp x0, x1, [sp+8]
00031d44mov x3, x30
00031d48bl runtime.morestack_noctxt.abi0
00031d4cldp x0, x1, [sp+8]
00031d50b 0x31cd0
00031d54udf 0
00031d58udf 0
00031d5cudf 0
00031cd0
00031cd0runtime.(*gcCPULimiterState).update: ; void runtime.(*gcCPULimiterState).update(runtime.gcCPULimiterState * l, int64 now)
00031cd0ldr x16, [x28+16]
00031cd4subs xzr, sp, x16
00031cd8b.ls 0x31d40
00031cdcstr x30, [sp-32]!
00031ce0stur x29, [sp-8]
00031ce4sub x29, sp, 8
00031ce8str x0, [sp+40]
00031cecstr x1, [sp+48]
00031cf0bl runtime.(*gcCPULimiterState).tryLock
00031cf4tbz w0, 0, 0x31d20
00031cf8ldr x0, [sp+40]
00031cfcldrb w2, [x0+6]
00031d00tbnz w2, 0, 0x31d2c
00031d04ldr x1, [sp+48]
00031d08bl runtime.(*gcCPULimiterState).updateLocked
00031d0cldr x0, [sp+40]
00031d10bl runtime.(*gcCPULimiterState).unlock
00031d14ldur x29, [sp-8]
00031d18ldr x30, [sp], 32
00031d1cret x30
00031d20
00031d20loc_31d20:
00031d20ldur x29, [sp-8]
00031d24ldr x30, [sp], 32
00031d28ret x30
00031d2c
00031d2cloc_31d2c:
00031d2cadrp x0, 0x687000
00031d30add x0, x0, 4078
00031d34orr x1, xzr, 24
00031d38bl runtime.throw
00031d3chint
00031d40
00031d40loc_31d40:
00031d40stp x0, x1, [sp+8]
00031d44mov x3, x30
00031d48bl runtime.morestack_noctxt.abi0
00031d4cldp x0, x1, [sp+8]
00031d50b 0x31cd0
00031d54udf 0
00031d58udf 0
00031d5cudf 0
00031cd0
00031d60
00031d60runtime.(*gcCPULimiterState).updateLocked: ; void runtime.(*gcCPULimiterState).updateLocked(runtime.gcCPULimiterState * l, int64 now)
00031d60ldr x16, [x28+16]
00031d64subs xzr, sp, x16
00031d68b.ls 0x31f80
00031d6cstr x30, [sp-128]!
00031d70stur x29, [sp-8]
00031d74sub x29, sp, 8
00031d78str x0, [sp+136]
00031d7cstr x1, [sp+144]
00031d80ldrsb x27, [x0]
00031d84add x0, x0, 56
00031d88str x0, [sp+112]
00031d8cbl internal/runtime/atomic.(*Int64).Load
00031d90ldr x1, [sp+144]
00031d94subs xzr, x0, x1
00031d98b.gt 0x31e58
00031d9csub x2, x1, x0
00031da0str x2, [sp+88]
00031da4ldr x2, [sp+136]
00031da8ldrsw x2, [x2+68]
00031dacstr w2, [sp+36]
00031db0ldr x0, [sp+112]
00031db4bl internal/runtime/atomic.(*Int64).Store
00031db8ldrsw x2, [sp+36]
00031dbcldr x3, [sp+136]
00031dc0add x0, x3, 32
00031dc4str x0, [sp+112]
00031dc8ldr x3, [sp+88]
00031dccmadd x2, x3, x2, xzr
00031dd0str x2, [sp+40]
00031dd4bl internal/runtime/atomic.(*Int64).Load
00031dd8str x0, [sp+64]
00031ddccbz x0, 0x31dec
00031de0sub x1, xzr, x0
00031de4ldr x0, [sp+112]
00031de8bl internal/runtime/atomic.(*Int64).Add
00031dec
00031decloc_31dec:
00031decldr x1, [sp+136]
00031df0add x0, x1, 48
00031df4str x0, [sp+112]
00031df8bl internal/runtime/atomic.(*Int64).Load
00031dfcstr x0, [sp+48]
00031e00cbz x0, 0x31e14
00031e04sub x1, xzr, x0
00031e08ldr x0, [sp+112]
00031e0cbl internal/runtime/atomic.(*Int64).Add
00031e10ldr x0, [sp+48]
00031e14
00031e14loc_31e14:
00031e14ldr x3, [sp+136]
00031e18ldrb w4, [x3+7]
00031e1ctbnz w4, 0, 0x31e50
00031e20bl runtime.acquirem
00031e24str x0, [sp+96]
00031e28adrp x27, 0x9f1000
00031e2cldr x1, [x27+3040]
00031e30str x1, [sp+104]
00031e34adrp x27, 0x9f1000
00031e38ldr x2, [x27+3048]
00031e3cstr x2, [sp+80]
00031e40mov x3, xzr
00031e44ldr x4, [sp+64]
00031e48ldr x5, [sp+48]
00031e4cb 0x31ec4
00031e50
00031e50loc_31e50:
00031e50ldr x1, [sp+64]
00031e54b 0x31e64
00031e58
00031e58loc_31e58:
00031e58ldur x29, [sp-8]
00031e5cldr x30, [sp], 128
00031e60ret x30
00031e64
00031e64loc_31e64:
00031e64ldrb w4, [x3+5]
00031e68tbz w4, 0, 0x31e88
00031e6cldr x4, [sp+40]
00031e70scvtf d0, x4
00031e74fmov d1
00031e78fmul d0, d0, d1
00031e7cfcvtzs x5, d0
00031e80add x1, x5, x1
00031e84b 0x31e8c
00031e88
00031e88loc_31e88:
00031e88ldr x4, [sp+40]
00031e8c
00031e8cloc_31e8c:
00031e8cadd x5, x1, x0
00031e90sub x4, x4, x5
00031e94mov x0, x3
00031e98mov x2, x1
00031e9cmov x1, x4
00031ea0bl runtime.(*gcCPULimiterState).accumulate
00031ea4ldur x29, [sp-8]
00031ea8ldr x30, [sp], 128
00031eacret x30
00031eb0
00031eb0loc_31eb0:
00031eb0ldr x6, [sp+72]
00031eb4add x3, x6, 1
00031eb8ldr x0, [sp+96]
00031ebcldr x1, [sp+104]
00031ec0ldr x2, [sp+80]
00031ec4
00031ec4loc_31ec4:
00031ec4str x5, [sp+48]
00031ec8str x4, [sp+64]
00031eccsubs xzr, x3, x2
00031ed0b.ge 0x31f58
00031ed4str x3, [sp+72]
00031ed8ldr x2, [x1+3*x3]
00031edcldrsb x27, [x2]
00031ee0movz x3, 4656
00031ee4add x0, x2, x3
00031ee8ldr x1, [sp+144]
00031eecbl runtime.(*limiterEvent).consume
00031ef0ubfm x2, x0, 0, 7
00031ef4subs wzr, w2, 1
00031ef8b.hi 0x31f0c
00031efccbnz w2, 0x31f34
00031f00ldr x4, [sp+64]
00031f04ldr x5, [sp+48]
00031f08b 0x31eb0
00031f0c
00031f0cloc_31f0c:
00031f0csubs wzr, w2, 2
00031f10b.eq 0x31f1c
00031f14subs wzr, w2, 3
00031f18b.ne 0x31f2c
00031f1c
00031f1cloc_31f1c:
00031f1cldr x2, [sp+64]
00031f20add x4, x2, x1
00031f24ldr x5, [sp+48]
00031f28b 0x31eb0
00031f2c
00031f2cloc_31f2c:
00031f2csubs wzr, w2, 4
00031f30b.ne 0x31f6c
00031f34
00031f34loc_31f34:
00031f34str x1, [sp+56]
00031f38adrp x0, 0x9f6000
00031f3cadd x0, x0, 1744
00031f40bl internal/runtime/atomic.(*Int64).Add
00031f44ldr x2, [sp+48]
00031f48ldr x3, [sp+56]
00031f4cadd x5, x2, x3
00031f50ldr x4, [sp+64]
00031f54b 0x31eb0
00031f58
00031f58loc_31f58:
00031f58bl runtime.releasem
00031f5cldr x3, [sp+136]
00031f60ldr x1, [sp+64]
00031f64ldr x0, [sp+48]
00031f68b 0x31e64
00031f6c
00031f6cloc_31f6c:
00031f6cadrp x0, 0x68d000
00031f70add x0, x0, 1168
00031f74orr x1, xzr, 32
00031f78bl runtime.throw
00031f7chint
00031f80
00031f80loc_31f80:
00031f80stp x0, x1, [sp+8]
00031f84mov x3, x30
00031f88bl runtime.morestack_noctxt.abi0
00031f8cldp x0, x1, [sp+8]
00031f90b 0x31d60
00031f94udf 0
00031f98udf 0
00031f9cudf 0
00031d60
00031d60runtime.(*gcCPULimiterState).updateLocked: ; void runtime.(*gcCPULimiterState).updateLocked(runtime.gcCPULimiterState * l, int64 now)
00031d60ldr x16, [x28+16]
00031d64subs xzr, sp, x16
00031d68b.ls 0x31f80
00031d6cstr x30, [sp-128]!
00031d70stur x29, [sp-8]
00031d74sub x29, sp, 8
00031d78str x0, [sp+136]
00031d7cstr x1, [sp+144]
00031d80ldrsb x27, [x0]
00031d84add x0, x0, 56
00031d88str x0, [sp+112]
00031d8cbl internal/runtime/atomic.(*Int64).Load
00031d90ldr x1, [sp+144]
00031d94subs xzr, x0, x1
00031d98b.gt 0x31e58
00031d9csub x2, x1, x0
00031da0str x2, [sp+88]
00031da4ldr x2, [sp+136]
00031da8ldrsw x2, [x2+68]
00031dacstr w2, [sp+36]
00031db0ldr x0, [sp+112]
00031db4bl internal/runtime/atomic.(*Int64).Store
00031db8ldrsw x2, [sp+36]
00031dbcldr x3, [sp+136]
00031dc0add x0, x3, 32
00031dc4str x0, [sp+112]
00031dc8ldr x3, [sp+88]
00031dccmadd x2, x3, x2, xzr
00031dd0str x2, [sp+40]
00031dd4bl internal/runtime/atomic.(*Int64).Load
00031dd8str x0, [sp+64]
00031ddccbz x0, 0x31dec
00031de0sub x1, xzr, x0
00031de4ldr x0, [sp+112]
00031de8bl internal/runtime/atomic.(*Int64).Add
00031dec
00031decloc_31dec:
00031decldr x1, [sp+136]
00031df0add x0, x1, 48
00031df4str x0, [sp+112]
00031df8bl internal/runtime/atomic.(*Int64).Load
00031dfcstr x0, [sp+48]
00031e00cbz x0, 0x31e14
00031e04sub x1, xzr, x0
00031e08ldr x0, [sp+112]
00031e0cbl internal/runtime/atomic.(*Int64).Add
00031e10ldr x0, [sp+48]
00031e14
00031e14loc_31e14:
00031e14ldr x3, [sp+136]
00031e18ldrb w4, [x3+7]
00031e1ctbnz w4, 0, 0x31e50
00031e20bl runtime.acquirem
00031e24str x0, [sp+96]
00031e28adrp x27, 0x9f1000
00031e2cldr x1, [x27+3040]
00031e30str x1, [sp+104]
00031e34adrp x27, 0x9f1000
00031e38ldr x2, [x27+3048]
00031e3cstr x2, [sp+80]
00031e40mov x3, xzr
00031e44ldr x4, [sp+64]
00031e48ldr x5, [sp+48]
00031e4cb 0x31ec4
00031e50
00031e50loc_31e50:
00031e50ldr x1, [sp+64]
00031e54b 0x31e64
00031e58
00031e58loc_31e58:
00031e58ldur x29, [sp-8]
00031e5cldr x30, [sp], 128
00031e60ret x30
00031e64
00031e64loc_31e64:
00031e64ldrb w4, [x3+5]
00031e68tbz w4, 0, 0x31e88
00031e6cldr x4, [sp+40]
00031e70scvtf d0, x4
00031e74fmov d1
00031e78fmul d0, d0, d1
00031e7cfcvtzs x5, d0
00031e80add x1, x5, x1
00031e84b 0x31e8c
00031e88
00031e88loc_31e88:
00031e88ldr x4, [sp+40]
00031e8c
00031e8cloc_31e8c:
00031e8cadd x5, x1, x0
00031e90sub x4, x4, x5
00031e94mov x0, x3
00031e98mov x2, x1
00031e9cmov x1, x4
00031ea0bl runtime.(*gcCPULimiterState).accumulate
00031ea4ldur x29, [sp-8]
00031ea8ldr x30, [sp], 128
00031eacret x30
00031eb0
00031eb0loc_31eb0:
00031eb0ldr x6, [sp+72]
00031eb4add x3, x6, 1
00031eb8ldr x0, [sp+96]
00031ebcldr x1, [sp+104]
00031ec0ldr x2, [sp+80]
00031ec4
00031ec4loc_31ec4:
00031ec4str x5, [sp+48]
00031ec8str x4, [sp+64]
00031eccsubs xzr, x3, x2
00031ed0b.ge 0x31f58
00031ed4str x3, [sp+72]
00031ed8ldr x2, [x1+3*x3]
00031edcldrsb x27, [x2]
00031ee0movz x3, 4656
00031ee4add x0, x2, x3
00031ee8ldr x1, [sp+144]
00031eecbl runtime.(*limiterEvent).consume
00031ef0ubfm x2, x0, 0, 7
00031ef4subs wzr, w2, 1
00031ef8b.hi 0x31f0c
00031efccbnz w2, 0x31f34
00031f00ldr x4, [sp+64]
00031f04ldr x5, [sp+48]
00031f08b 0x31eb0
00031f0c
00031f0cloc_31f0c:
00031f0csubs wzr, w2, 2
00031f10b.eq 0x31f1c
00031f14subs wzr, w2, 3
00031f18b.ne 0x31f2c
00031f1c
00031f1cloc_31f1c:
00031f1cldr x2, [sp+64]
00031f20add x4, x2, x1
00031f24ldr x5, [sp+48]
00031f28b 0x31eb0
00031f2c
00031f2cloc_31f2c:
00031f2csubs wzr, w2, 4
00031f30b.ne 0x31f6c
00031f34
00031f34loc_31f34:
00031f34str x1, [sp+56]
00031f38adrp x0, 0x9f6000
00031f3cadd x0, x0, 1744
00031f40bl internal/runtime/atomic.(*Int64).Add
00031f44ldr x2, [sp+48]
00031f48ldr x3, [sp+56]
00031f4cadd x5, x2, x3
00031f50ldr x4, [sp+64]
00031f54b 0x31eb0
00031f58
00031f58loc_31f58:
00031f58bl runtime.releasem
00031f5cldr x3, [sp+136]
00031f60ldr x1, [sp+64]
00031f64ldr x0, [sp+48]
00031f68b 0x31e64
00031f6c
00031f6cloc_31f6c:
00031f6cadrp x0, 0x68d000
00031f70add x0, x0, 1168
00031f74orr x1, xzr, 32
00031f78bl runtime.throw
00031f7chint
00031f80
00031f80loc_31f80:
00031f80stp x0, x1, [sp+8]
00031f84mov x3, x30
00031f88bl runtime.morestack_noctxt.abi0
00031f8cldp x0, x1, [sp+8]
00031f90b 0x31d60
00031f94udf 0
00031f98udf 0
00031f9cudf 0
00031d60
00031fa0
00031fa0runtime.(*gcCPULimiterState).accumulate: ; void runtime.(*gcCPULimiterState).accumulate(runtime.gcCPULimiterState * l, int64 mutatorTime, int64 gcTime)
00031fa0ldr x16, [x28+16]
00031fa4subs xzr, sp, x16
00031fa8b.ls 0x32070
00031facstr x30, [sp-32]!
00031fb0stur x29, [sp-8]
00031fb4sub x29, sp, 8
00031fb8ldr x3, [x0+16]
00031fbcldr x4, [x0+8]
00031fc0sub x5, x2, x1
00031fc4sub x6, x3, x4
00031fc8subs xzr, x5, 0
00031fccb.le 0x3202c
00031fd0subs xzr, x5, x6
00031fd4b.lo 0x3202c
00031fd8ldr x2, [x0+24]
00031fdcadd x4, x4, x5
00031fe0sub x3, x4, x3
00031fe4add x2, x2, x3
00031fe8str x2, [x0+24]
00031fecldr x2, [x0+16]
00031ff0str x2, [x0+8]
00031ff4cbz x6, 0x32020
00031ff8str x0, [sp+40]
00031ffcadd x0, x0, 4
00032000orr x1, xzr, 1
00032004bl internal/runtime/atomic.(*Bool).Store
00032008ldr x2, [sp+40]
0003200cadd x0, x2, 64
00032010adrp x27, 0xa20000
00032014ldr w2, [x27+568]
00032018add x1, x2, 1
0003201cbl internal/runtime/atomic.(*Uint32).Store
00032020
00032020loc_32020:
00032020ldur x29, [sp-8]
00032024ldr x30, [sp], 32
00032028ret x30
0003202c
0003202cloc_3202c:
0003202ctbz x5, 63, 0x32044
00032030sub x3, x1, x2
00032034subs xzr, x4, x3
00032038b.hi 0x32044
0003203cstr xzr, [x0+8]
00032040b 0x32050
00032044
00032044loc_32044:
00032044add x2, x4, x2
00032048sub x2, x2, x1
0003204cstr x2, [x0+8]
00032050
00032050loc_32050:
00032050cbz x5, 0x32064
00032054cbnz x6, 0x32064
00032058add x0, x0, 4
0003205cmov x1, xzr
00032060bl internal/runtime/atomic.(*Bool).Store
00032064
00032064loc_32064:
00032064ldur x29, [sp-8]
00032068ldr x30, [sp], 32
0003206cret x30
00032070
00032070loc_32070:
00032070stp x0, x1, [sp+8]
00032074str x2, [sp+24]
00032078mov x3, x30
0003207cbl runtime.morestack_noctxt.abi0
00032080ldp x0, x1, [sp+8]
00032084ldr x2, [sp+24]
00032088b 0x31fa0
0003208cudf 0
00031fa0
00031fa0runtime.(*gcCPULimiterState).accumulate: ; void runtime.(*gcCPULimiterState).accumulate(runtime.gcCPULimiterState * l, int64 mutatorTime, int64 gcTime)
00031fa0ldr x16, [x28+16]
00031fa4subs xzr, sp, x16
00031fa8b.ls 0x32070
00031facstr x30, [sp-32]!
00031fb0stur x29, [sp-8]
00031fb4sub x29, sp, 8
00031fb8ldr x3, [x0+16]
00031fbcldr x4, [x0+8]
00031fc0sub x5, x2, x1
00031fc4sub x6, x3, x4
00031fc8subs xzr, x5, 0
00031fccb.le 0x3202c
00031fd0subs xzr, x5, x6
00031fd4b.lo 0x3202c
00031fd8ldr x2, [x0+24]
00031fdcadd x4, x4, x5
00031fe0sub x3, x4, x3
00031fe4add x2, x2, x3
00031fe8str x2, [x0+24]
00031fecldr x2, [x0+16]
00031ff0str x2, [x0+8]
00031ff4cbz x6, 0x32020
00031ff8str x0, [sp+40]
00031ffcadd x0, x0, 4
00032000orr x1, xzr, 1
00032004bl internal/runtime/atomic.(*Bool).Store
00032008ldr x2, [sp+40]
0003200cadd x0, x2, 64
00032010adrp x27, 0xa20000
00032014ldr w2, [x27+568]
00032018add x1, x2, 1
0003201cbl internal/runtime/atomic.(*Uint32).Store
00032020
00032020loc_32020:
00032020ldur x29, [sp-8]
00032024ldr x30, [sp], 32
00032028ret x30
0003202c
0003202cloc_3202c:
0003202ctbz x5, 63, 0x32044
00032030sub x3, x1, x2
00032034subs xzr, x4, x3
00032038b.hi 0x32044
0003203cstr xzr, [x0+8]
00032040b 0x32050
00032044
00032044loc_32044:
00032044add x2, x4, x2
00032048sub x2, x2, x1
0003204cstr x2, [x0+8]
00032050
00032050loc_32050:
00032050cbz x5, 0x32064
00032054cbnz x6, 0x32064
00032058add x0, x0, 4
0003205cmov x1, xzr
00032060bl internal/runtime/atomic.(*Bool).Store
00032064
00032064loc_32064:
00032064ldur x29, [sp-8]
00032068ldr x30, [sp], 32
0003206cret x30
00032070
00032070loc_32070:
00032070stp x0, x1, [sp+8]
00032074str x2, [sp+24]
00032078mov x3, x30
0003207cbl runtime.morestack_noctxt.abi0
00032080ldp x0, x1, [sp+8]
00032084ldr x2, [sp+24]
00032088b 0x31fa0
0003208cudf 0
00031fa0
00032090
00032090runtime.(*gcCPULimiterState).tryLock: ; void runtime.(*gcCPULimiterState).tryLock(runtime.gcCPULimiterState * l)
00032090ldr x16, [x28+16]
00032094subs xzr, sp, x16
00032098b.ls 0x320c4
0003209cstr x30, [sp-32]!
000320a0stur x29, [sp-8]
000320a4sub x29, sp, 8
000320a8ldrsb x27, [x0]
000320acmov x1, xzr
000320b0orr x2, xzr, 1
000320b4bl internal/runtime/atomic.(*Uint32).CompareAndSwap
000320b8ldur x29, [sp-8]
000320bcldr x30, [sp], 32
000320c0ret x30
000320c4
000320c4loc_320c4:
000320c4str x0, [sp+8]
000320c8mov x3, x30
000320ccbl runtime.morestack_noctxt.abi0
000320d0ldr x0, [sp+8]
000320d4b 0x32090
000320d8udf 0
000320dcudf 0
00032090
00032090runtime.(*gcCPULimiterState).tryLock: ; void runtime.(*gcCPULimiterState).tryLock(runtime.gcCPULimiterState * l)
00032090ldr x16, [x28+16]
00032094subs xzr, sp, x16
00032098b.ls 0x320c4
0003209cstr x30, [sp-32]!
000320a0stur x29, [sp-8]
000320a4sub x29, sp, 8
000320a8ldrsb x27, [x0]
000320acmov x1, xzr
000320b0orr x2, xzr, 1
000320b4bl internal/runtime/atomic.(*Uint32).CompareAndSwap
000320b8ldur x29, [sp-8]
000320bcldr x30, [sp], 32
000320c0ret x30
000320c4
000320c4loc_320c4:
000320c4str x0, [sp+8]
000320c8mov x3, x30
000320ccbl runtime.morestack_noctxt.abi0
000320d0ldr x0, [sp+8]
000320d4b 0x32090
000320d8udf 0
000320dcudf 0
00032090
000320e0
000320e0runtime.(*gcCPULimiterState).unlock: ; void runtime.(*gcCPULimiterState).unlock(runtime.gcCPULimiterState * l)
000320e0ldr x16, [x28+16]
000320e4subs xzr, sp, x16
000320e8b.ls 0x3212c
000320ecstr x30, [sp-32]!
000320f0stur x29, [sp-8]
000320f4sub x29, sp, 8
000320f8ldrsb x27, [x0]
000320fcmov x1, xzr
00032100bl internal/runtime/atomic.(*Uint32).Swap
00032104subs wzr, w0, 1
00032108b.ne 0x32118
0003210cldur x29, [sp-8]
00032110ldr x30, [sp], 32
00032114ret x30
00032118
00032118loc_32118:
00032118adrp x0, 0x681000
0003211cadd x0, x0, 1524
00032120movz x1, 13
00032124bl runtime.throw
00032128hint
0003212c
0003212cloc_3212c:
0003212cstr x0, [sp+8]
00032130mov x3, x30
00032134bl runtime.morestack_noctxt.abi0
00032138ldr x0, [sp+8]
0003213cb 0x320e0
000320e0
000320e0runtime.(*gcCPULimiterState).unlock: ; void runtime.(*gcCPULimiterState).unlock(runtime.gcCPULimiterState * l)
000320e0ldr x16, [x28+16]
000320e4subs xzr, sp, x16
000320e8b.ls 0x3212c
000320ecstr x30, [sp-32]!
000320f0stur x29, [sp-8]
000320f4sub x29, sp, 8
000320f8ldrsb x27, [x0]
000320fcmov x1, xzr
00032100bl internal/runtime/atomic.(*Uint32).Swap
00032104subs wzr, w0, 1
00032108b.ne 0x32118
0003210cldur x29, [sp-8]
00032110ldr x30, [sp], 32
00032114ret x30
00032118
00032118loc_32118:
00032118adrp x0, 0x681000
0003211cadd x0, x0, 1524
00032120movz x1, 13
00032124bl runtime.throw
00032128hint
0003212c
0003212cloc_3212c:
0003212cstr x0, [sp+8]
00032130mov x3, x30
00032134bl runtime.morestack_noctxt.abi0
00032138ldr x0, [sp+8]
0003213cb 0x320e0
000320e0
00032140
00032140runtime.(*gcCPULimiterState).resetCapacity: ; void runtime.(*gcCPULimiterState).resetCapacity(runtime.gcCPULimiterState * l, int64 now, int32 nprocs)
00032140ldr x16, [x28+16]
00032144subs xzr, sp, x16
00032148b.ls 0x32208
0003214cstr x30, [sp-32]!
00032150stur x29, [sp-8]
00032154sub x29, sp, 8
00032158str x0, [sp+40]
0003215cstr x1, [sp+48]
00032160str w2, [sp+56]
00032164bl runtime.(*gcCPULimiterState).tryLock
00032168tbz w0, 0, 0x321f4
0003216cldr x0, [sp+40]
00032170ldr x1, [sp+48]
00032174bl runtime.(*gcCPULimiterState).updateLocked
00032178ldrsw x2, [sp+56]
0003217cldr x0, [sp+40]
00032180str w2, [x0+68]
00032184movz x3, 51712
00032188movk x3, 0x3b9a0000
0003218cmadd x2, x2, x3, xzr
00032190str x2, [x0+16]
00032194ldr x3, [x0+8]
00032198subs xzr, x3, x2
0003219cb.hi 0x321b8
000321a0b.hs 0x321e4
000321a4add x0, x0, 4
000321a8mov x1, xzr
000321acbl internal/runtime/atomic.(*Bool).Store
000321b0ldr x0, [sp+40]
000321b4b 0x321e4
000321b8
000321b8loc_321b8:
000321b8str x2, [x0+8]
000321bcadd x0, x0, 4
000321c0orr x1, xzr, 1
000321c4bl internal/runtime/atomic.(*Bool).Store
000321c8ldr x2, [sp+40]
000321ccadd x0, x2, 64
000321d0adrp x27, 0xa20000
000321d4ldr w2, [x27+568]
000321d8add x1, x2, 1
000321dcbl internal/runtime/atomic.(*Uint32).Store
000321e0ldr x0, [sp+40]
000321e4
000321e4loc_321e4:
000321e4bl runtime.(*gcCPULimiterState).unlock
000321e8ldur x29, [sp-8]
000321ecldr x30, [sp], 32
000321f0ret x30
000321f4
000321f4loc_321f4:
000321f4adrp x0, 0x692000
000321f8add x0, x0, 19
000321fcmovz x1, 40
00032200bl runtime.throw
00032204hint
00032208
00032208loc_32208:
00032208stp x0, x1, [sp+8]
0003220cstr w2, [sp+24]
00032210mov x3, x30
00032214bl runtime.morestack_noctxt.abi0
00032218ldp x0, x1, [sp+8]
0003221cldrsw x2, [sp+24]
00032220b 0x32140
00032224udf 0
00032228udf 0
0003222cudf 0
00032140
00032140runtime.(*gcCPULimiterState).resetCapacity: ; void runtime.(*gcCPULimiterState).resetCapacity(runtime.gcCPULimiterState * l, int64 now, int32 nprocs)
00032140ldr x16, [x28+16]
00032144subs xzr, sp, x16
00032148b.ls 0x32208
0003214cstr x30, [sp-32]!
00032150stur x29, [sp-8]
00032154sub x29, sp, 8
00032158str x0, [sp+40]
0003215cstr x1, [sp+48]
00032160str w2, [sp+56]
00032164bl runtime.(*gcCPULimiterState).tryLock
00032168tbz w0, 0, 0x321f4
0003216cldr x0, [sp+40]
00032170ldr x1, [sp+48]
00032174bl runtime.(*gcCPULimiterState).updateLocked
00032178ldrsw x2, [sp+56]
0003217cldr x0, [sp+40]
00032180str w2, [x0+68]
00032184movz x3, 51712
00032188movk x3, 0x3b9a0000
0003218cmadd x2, x2, x3, xzr
00032190str x2, [x0+16]
00032194ldr x3, [x0+8]
00032198subs xzr, x3, x2
0003219cb.hi 0x321b8
000321a0b.hs 0x321e4
000321a4add x0, x0, 4
000321a8mov x1, xzr
000321acbl internal/runtime/atomic.(*Bool).Store
000321b0ldr x0, [sp+40]
000321b4b 0x321e4
000321b8
000321b8loc_321b8:
000321b8str x2, [x0+8]
000321bcadd x0, x0, 4
000321c0orr x1, xzr, 1
000321c4bl internal/runtime/atomic.(*Bool).Store
000321c8ldr x2, [sp+40]
000321ccadd x0, x2, 64
000321d0adrp x27, 0xa20000
000321d4ldr w2, [x27+568]
000321d8add x1, x2, 1
000321dcbl internal/runtime/atomic.(*Uint32).Store
000321e0ldr x0, [sp+40]
000321e4
000321e4loc_321e4:
000321e4bl runtime.(*gcCPULimiterState).unlock
000321e8ldur x29, [sp-8]
000321ecldr x30, [sp], 32
000321f0ret x30
000321f4
000321f4loc_321f4:
000321f4adrp x0, 0x692000
000321f8add x0, x0, 19
000321fcmovz x1, 40
00032200bl runtime.throw
00032204hint
00032208
00032208loc_32208:
00032208stp x0, x1, [sp+8]
0003220cstr w2, [sp+24]
00032210mov x3, x30
00032214bl runtime.morestack_noctxt.abi0
00032218ldp x0, x1, [sp+8]
0003221cldrsw x2, [sp+24]
00032220b 0x32140
00032224udf 0
00032228udf 0
0003222cudf 0
00032140
00032230
00032230runtime.makeLimiterEventStamp: ; void runtime.makeLimiterEventStamp(runtime.limiterEventType typ, int64 now)
00032230ubfm x2, x0, 0, 7
00032234and x1, x1, 0x1fffffffffffffff
00032238orr x0, x1, x2, lsl #61
0003223cret x30
00032230
00032230runtime.makeLimiterEventStamp: ; void runtime.makeLimiterEventStamp(runtime.limiterEventType typ, int64 now)
00032230ubfm x2, x0, 0, 7
00032234and x1, x1, 0x1fffffffffffffff
00032238orr x0, x1, x2, lsl #61
0003223cret x30
00032230
00032240
00032240runtime.limiterEventStamp.duration: ; void runtime.limiterEventStamp.duration(runtime.limiterEventStamp s, int64 now)
00032240and x2, x1, 0xe000000000000000
00032244and x3, x0, 0x1fffffffffffffff
00032248orr x2, x2, x3
0003224csubs xzr, x1, x2
00032250b.ge 0x3225c
00032254mov x0, xzr
00032258ret x30
0003225c
0003225cloc_3225c:
0003225csub x0, x1, x2
00032260ret x30
00032264udf 0
00032268udf 0
0003226cudf 0
00032240
00032240runtime.limiterEventStamp.duration: ; void runtime.limiterEventStamp.duration(runtime.limiterEventStamp s, int64 now)
00032240and x2, x1, 0xe000000000000000
00032244and x3, x0, 0x1fffffffffffffff
00032248orr x2, x2, x3
0003224csubs xzr, x1, x2
00032250b.ge 0x3225c
00032254mov x0, xzr
00032258ret x30
0003225c
0003225cloc_3225c:
0003225csub x0, x1, x2
00032260ret x30
00032264udf 0
00032268udf 0
0003226cudf 0
00032240
00032270
00032270runtime.limiterEventStamp.typ: ; void runtime.limiterEventStamp.typ(runtime.limiterEventStamp s)
00032270ubfm x0, x0, 61, 63
00032274ret x30
00032278udf 0
0003227cudf 0
00032270
00032270runtime.limiterEventStamp.typ: ; void runtime.limiterEventStamp.typ(runtime.limiterEventStamp s)
00032270ubfm x0, x0, 61, 63
00032274ret x30
00032278udf 0
0003227cudf 0
00032270
00032280
00032280runtime.(*limiterEvent).start: ; void runtime.(*limiterEvent).start(runtime.limiterEvent * e, runtime.limiterEventType typ, int64 now)
00032280ldr x16, [x28+16]
00032284subs xzr, sp, x16
00032288b.ls 0x322f0
0003228cstr x30, [sp-32]!
00032290stur x29, [sp-8]
00032294sub x29, sp, 8
00032298str x0, [sp+40]
0003229cstrb w1, [sp+48]
000322a0str x2, [sp+56]
000322a4ldrsb x27, [x0]
000322a8bl internal/runtime/atomic.(*Uint64).Load
000322acbl runtime.limiterEventStamp.typ
000322b0ubfm x1, x0, 0, 7
000322b4cbz w1, 0x322c8
000322b8mov x0, xzr
000322bcldur x29, [sp-8]
000322c0ldr x30, [sp], 32
000322c4ret x30
000322c8
000322c8loc_322c8:
000322c8ldrb w0, [sp+48]
000322ccldr x1, [sp+56]
000322d0bl runtime.makeLimiterEventStamp
000322d4mov x1, x0
000322d8ldr x0, [sp+40]
000322dcbl internal/runtime/atomic.(*Uint64).Store
000322e0orr x0, xzr, 1
000322e4ldur x29, [sp-8]
000322e8ldr x30, [sp], 32
000322ecret x30
000322f0
000322f0loc_322f0:
000322f0str x0, [sp+8]
000322f4strb w1, [sp+16]
000322f8str x2, [sp+24]
000322fcmov x3, x30
00032300bl runtime.morestack_noctxt.abi0
00032304ldr x0, [sp+8]
00032308ldrb w1, [sp+16]
0003230cldr x2, [sp+24]
00032310b 0x32280
00032314udf 0
00032318udf 0
0003231cudf 0
00032280
00032280runtime.(*limiterEvent).start: ; void runtime.(*limiterEvent).start(runtime.limiterEvent * e, runtime.limiterEventType typ, int64 now)
00032280ldr x16, [x28+16]
00032284subs xzr, sp, x16
00032288b.ls 0x322f0
0003228cstr x30, [sp-32]!
00032290stur x29, [sp-8]
00032294sub x29, sp, 8
00032298str x0, [sp+40]
0003229cstrb w1, [sp+48]
000322a0str x2, [sp+56]
000322a4ldrsb x27, [x0]
000322a8bl internal/runtime/atomic.(*Uint64).Load
000322acbl runtime.limiterEventStamp.typ
000322b0ubfm x1, x0, 0, 7
000322b4cbz w1, 0x322c8
000322b8mov x0, xzr
000322bcldur x29, [sp-8]
000322c0ldr x30, [sp], 32
000322c4ret x30
000322c8
000322c8loc_322c8:
000322c8ldrb w0, [sp+48]
000322ccldr x1, [sp+56]
000322d0bl runtime.makeLimiterEventStamp
000322d4mov x1, x0
000322d8ldr x0, [sp+40]
000322dcbl internal/runtime/atomic.(*Uint64).Store
000322e0orr x0, xzr, 1
000322e4ldur x29, [sp-8]
000322e8ldr x30, [sp], 32
000322ecret x30
000322f0
000322f0loc_322f0:
000322f0str x0, [sp+8]
000322f4strb w1, [sp+16]
000322f8str x2, [sp+24]
000322fcmov x3, x30
00032300bl runtime.morestack_noctxt.abi0
00032304ldr x0, [sp+8]
00032308ldrb w1, [sp+16]
0003230cldr x2, [sp+24]
00032310b 0x32280
00032314udf 0
00032318udf 0
0003231cudf 0
00032280
00032320
00032320runtime.(*limiterEvent).consume: ; void runtime.(*limiterEvent).consume(runtime.limiterEvent * e, int64 now)
00032320ldr x16, [x28+16]
00032324subs xzr, sp, x16
00032328b.ls 0x323e0
0003232cstr x30, [sp-64]!
00032330stur x29, [sp-8]
00032334sub x29, sp, 8
00032338str x0, [sp+72]
0003233cstr x1, [sp+80]
00032340mov x2, xzr
00032344b 0x32350
00032348
00032348loc_32348:
00032348ldr x0, [sp+72]
0003234cldr x2, [sp+48]
00032350
00032350loc_32350:
00032350str x2, [sp+48]
00032354ldrsb x27, [x0]
00032358bl internal/runtime/atomic.(*Uint64).Load
0003235cstr x0, [sp+40]
00032360bl runtime.limiterEventStamp.typ
00032364ubfm x1, x0, 0, 7
00032368cbz w1, 0x323cc
0003236cstrb w0, [sp+39]
00032370ldr x0, [sp+40]
00032374ldr x1, [sp+80]
00032378bl runtime.limiterEventStamp.duration
0003237ccbz x0, 0x323b8
00032380str x0, [sp+48]
00032384ldrb w0, [sp+39]
00032388ldr x1, [sp+80]
0003238cbl runtime.makeLimiterEventStamp
00032390ldr x1, [sp+40]
00032394mov x2, x0
00032398ldr x0, [sp+72]
0003239cbl internal/runtime/atomic.(*Uint64).CompareAndSwap
000323a0tbz w0, 0, 0x32348
000323a4ldrb w0, [sp+39]
000323a8ldr x1, [sp+48]
000323acldur x29, [sp-8]
000323b0ldr x30, [sp], 64
000323b4ret x30
000323b8
000323b8loc_323b8:
000323b8mov x0, xzr
000323bcmov x1, xzr
000323c0ldur x29, [sp-8]
000323c4ldr x30, [sp], 64
000323c8ret x30
000323cc
000323ccloc_323cc:
000323ccmov x0, xzr
000323d0ldr x1, [sp+48]
000323d4ldur x29, [sp-8]
000323d8ldr x30, [sp], 64
000323dcret x30
000323e0
000323e0loc_323e0:
000323e0stp x0, x1, [sp+8]
000323e4mov x3, x30
000323e8bl runtime.morestack_noctxt.abi0
000323ecldp x0, x1, [sp+8]
000323f0b 0x32320
000323f4udf 0
000323f8udf 0
000323fcudf 0
00032320
00032320runtime.(*limiterEvent).consume: ; void runtime.(*limiterEvent).consume(runtime.limiterEvent * e, int64 now)
00032320ldr x16, [x28+16]
00032324subs xzr, sp, x16
00032328b.ls 0x323e0
0003232cstr x30, [sp-64]!
00032330stur x29, [sp-8]
00032334sub x29, sp, 8
00032338str x0, [sp+72]
0003233cstr x1, [sp+80]
00032340mov x2, xzr
00032344b 0x32350
00032348
00032348loc_32348:
00032348ldr x0, [sp+72]
0003234cldr x2, [sp+48]
00032350
00032350loc_32350:
00032350str x2, [sp+48]
00032354ldrsb x27, [x0]
00032358bl internal/runtime/atomic.(*Uint64).Load
0003235cstr x0, [sp+40]
00032360bl runtime.limiterEventStamp.typ
00032364ubfm x1, x0, 0, 7
00032368cbz w1, 0x323cc
0003236cstrb w0, [sp+39]
00032370ldr x0, [sp+40]
00032374ldr x1, [sp+80]
00032378bl runtime.limiterEventStamp.duration
0003237ccbz x0, 0x323b8
00032380str x0, [sp+48]
00032384ldrb w0, [sp+39]
00032388ldr x1, [sp+80]
0003238cbl runtime.makeLimiterEventStamp
00032390ldr x1, [sp+40]
00032394mov x2, x0
00032398ldr x0, [sp+72]
0003239cbl internal/runtime/atomic.(*Uint64).CompareAndSwap
000323a0tbz w0, 0, 0x32348
000323a4ldrb w0, [sp+39]
000323a8ldr x1, [sp+48]
000323acldur x29, [sp-8]
000323b0ldr x30, [sp], 64
000323b4ret x30
000323b8
000323b8loc_323b8:
000323b8mov x0, xzr
000323bcmov x1, xzr
000323c0ldur x29, [sp-8]
000323c4ldr x30, [sp], 64
000323c8ret x30
000323cc
000323ccloc_323cc:
000323ccmov x0, xzr
000323d0ldr x1, [sp+48]
000323d4ldur x29, [sp-8]
000323d8ldr x30, [sp], 64
000323dcret x30
000323e0
000323e0loc_323e0:
000323e0stp x0, x1, [sp+8]
000323e4mov x3, x30
000323e8bl runtime.morestack_noctxt.abi0
000323ecldp x0, x1, [sp+8]
000323f0b 0x32320
000323f4udf 0
000323f8udf 0
000323fcudf 0
00032320
00032400
00032400runtime.(*limiterEvent).stop: ; void runtime.(*limiterEvent).stop(runtime.limiterEvent * e, runtime.limiterEventType typ, int64 now)
00032400ldr x16, [x28+16]
00032404subs xzr, sp, x16
00032408b.ls 0x32580
0003240cstr x30, [sp-64]!
00032410stur x29, [sp-8]
00032414sub x29, sp, 8
00032418str x0, [sp+72]
0003241cstrb w1, [sp+80]
00032420str x2, [sp+88]
00032424b 0x3242c
00032428
00032428loc_32428:
00032428ldr x0, [sp+72]
0003242c
0003242cloc_3242c:
0003242cldrsb x27, [x0]
00032430bl internal/runtime/atomic.(*Uint64).Load
00032434str x0, [sp+48]
00032438bl runtime.limiterEventStamp.typ
0003243cldrb w1, [sp+80]
00032440mov x2, x1
00032444ubfm x3, x0, 0, 7
00032448subs wzr, w2, w3
0003244cb.ne 0x3251c
00032450str w2, [sp+36]
00032454ldr x0, [sp+72]
00032458ldr x1, [sp+48]
0003245cmov x2, xzr
00032460bl internal/runtime/atomic.(*Uint64).CompareAndSwap
00032464tbz w0, 0, 0x32428
00032468ldr x0, [sp+48]
0003246cldr x1, [sp+88]
00032470bl runtime.limiterEventStamp.duration
00032474cbz x0, 0x32500
00032478ldr w2, [sp+36]
0003247csubs wzr, w2, 2
00032480b.hi 0x324ac
00032484subs wzr, w2, 1
00032488b.eq 0x32498
0003248csubs wzr, w2, 2
00032490b.eq 0x324b4
00032494b 0x3250c
00032498
00032498loc_32498:
00032498mov x1, x0
0003249cadrp x0, 0xa19000
000324a0add x0, x0, 4032
000324a4bl runtime.(*gcCPULimiterState).addIdleTime
000324a8b 0x324f4
000324ac
000324acloc_324ac:
000324acsubs wzr, w2, 3
000324b0b.ne 0x324c8
000324b4
000324b4loc_324b4:
000324b4mov x1, x0
000324b8adrp x0, 0xa19000
000324bcadd x0, x0, 4032
000324c0bl runtime.(*gcCPULimiterState).addAssistTime
000324c4b 0x324f4
000324c8
000324c8loc_324c8:
000324c8subs wzr, w2, 4
000324ccb.ne 0x3250c
000324d0str x0, [sp+40]
000324d4mov x1, x0
000324d8adrp x0, 0xa19000
000324dcadd x0, x0, 4032
000324e0bl runtime.(*gcCPULimiterState).addIdleTime
000324e4adrp x0, 0x9f5000
000324e8add x0, x0, 1744
000324ecldr x1, [sp+40]
000324f0bl internal/runtime/atomic.(*Int64).Add
000324f4
000324f4loc_324f4:
000324f4ldur x29, [sp-8]
000324f8ldr x30, [sp], 64
000324fcret x30
00032500
00032500loc_32500:
00032500ldur x29, [sp-8]
00032504ldr x30, [sp], 64
00032508ret x30
0003250c
0003250cloc_3250c:
0003250cadrp x0, 0x697000
00032510add x0, x0, 2209
00032514movz x1, 51
00032518bl runtime.throw
0003251c
0003251cloc_3251c:
0003251cldr x0, [sp+48]
00032520bl runtime.limiterEventStamp.typ
00032524strb w0, [sp+35]
00032528bl runtime.printlock
0003252cadrp x0, 0x681000
00032530add x0, x0, 3220
00032534orr x1, xzr, 14
00032538bl runtime.printstring
0003253cldrb w1, [sp+80]
00032540mov x0, x1
00032544bl runtime.printuint
00032548adrp x0, 0x67e000
0003254cadd x0, x0, 1647
00032550movz x1, 5
00032554bl runtime.printstring
00032558ldrb w1, [sp+35]
0003255cmov x0, x1
00032560bl runtime.printuint
00032564bl runtime.printnl
00032568bl runtime.printunlock
0003256cadrp x0, 0x69a000
00032570add x0, x0, 3256
00032574orr x1, xzr, 62
00032578bl runtime.throw
0003257chint
00032580
00032580loc_32580:
00032580str x0, [sp+8]
00032584strb w1, [sp+16]
00032588str x2, [sp+24]
0003258cmov x3, x30
00032590bl runtime.morestack_noctxt.abi0
00032594ldr x0, [sp+8]
00032598ldrb w1, [sp+16]
0003259cldr x2, [sp+24]
000325a0b 0x32400
000325a4udf 0
000325a8udf 0
000325acudf 0
00032400
00032400runtime.(*limiterEvent).stop: ; void runtime.(*limiterEvent).stop(runtime.limiterEvent * e, runtime.limiterEventType typ, int64 now)
00032400ldr x16, [x28+16]
00032404subs xzr, sp, x16
00032408b.ls 0x32580
0003240cstr x30, [sp-64]!
00032410stur x29, [sp-8]
00032414sub x29, sp, 8
00032418str x0, [sp+72]
0003241cstrb w1, [sp+80]
00032420str x2, [sp+88]
00032424b 0x3242c
00032428
00032428loc_32428:
00032428ldr x0, [sp+72]
0003242c
0003242cloc_3242c:
0003242cldrsb x27, [x0]
00032430bl internal/runtime/atomic.(*Uint64).Load
00032434str x0, [sp+48]
00032438bl runtime.limiterEventStamp.typ
0003243cldrb w1, [sp+80]
00032440mov x2, x1
00032444ubfm x3, x0, 0, 7
00032448subs wzr, w2, w3
0003244cb.ne 0x3251c
00032450str w2, [sp+36]
00032454ldr x0, [sp+72]
00032458ldr x1, [sp+48]
0003245cmov x2, xzr
00032460bl internal/runtime/atomic.(*Uint64).CompareAndSwap
00032464tbz w0, 0, 0x32428
00032468ldr x0, [sp+48]
0003246cldr x1, [sp+88]
00032470bl runtime.limiterEventStamp.duration
00032474cbz x0, 0x32500
00032478ldr w2, [sp+36]
0003247csubs wzr, w2, 2
00032480b.hi 0x324ac
00032484subs wzr, w2, 1
00032488b.eq 0x32498
0003248csubs wzr, w2, 2
00032490b.eq 0x324b4
00032494b 0x3250c
00032498
00032498loc_32498:
00032498mov x1, x0
0003249cadrp x0, 0xa19000
000324a0add x0, x0, 4032
000324a4bl runtime.(*gcCPULimiterState).addIdleTime
000324a8b 0x324f4
000324ac
000324acloc_324ac:
000324acsubs wzr, w2, 3
000324b0b.ne 0x324c8
000324b4
000324b4loc_324b4:
000324b4mov x1, x0
000324b8adrp x0, 0xa19000
000324bcadd x0, x0, 4032
000324c0bl runtime.(*gcCPULimiterState).addAssistTime
000324c4b 0x324f4
000324c8
000324c8loc_324c8:
000324c8subs wzr, w2, 4
000324ccb.ne 0x3250c
000324d0str x0, [sp+40]
000324d4mov x1, x0
000324d8adrp x0, 0xa19000
000324dcadd x0, x0, 4032
000324e0bl runtime.(*gcCPULimiterState).addIdleTime
000324e4adrp x0, 0x9f5000
000324e8add x0, x0, 1744
000324ecldr x1, [sp+40]
000324f0bl internal/runtime/atomic.(*Int64).Add
000324f4
000324f4loc_324f4:
000324f4ldur x29, [sp-8]
000324f8ldr x30, [sp], 64
000324fcret x30
00032500
00032500loc_32500:
00032500ldur x29, [sp-8]
00032504ldr x30, [sp], 64
00032508ret x30
0003250c
0003250cloc_3250c:
0003250cadrp x0, 0x697000
00032510add x0, x0, 2209
00032514movz x1, 51
00032518bl runtime.throw
0003251c
0003251cloc_3251c:
0003251cldr x0, [sp+48]
00032520bl runtime.limiterEventStamp.typ
00032524strb w0, [sp+35]
00032528bl runtime.printlock
0003252cadrp x0, 0x681000
00032530add x0, x0, 3220
00032534orr x1, xzr, 14
00032538bl runtime.printstring
0003253cldrb w1, [sp+80]
00032540mov x0, x1
00032544bl runtime.printuint
00032548adrp x0, 0x67e000
0003254cadd x0, x0, 1647
00032550movz x1, 5
00032554bl runtime.printstring
00032558ldrb w1, [sp+35]
0003255cmov x0, x1
00032560bl runtime.printuint
00032564bl runtime.printnl
00032568bl runtime.printunlock
0003256cadrp x0, 0x69a000
00032570add x0, x0, 3256
00032574orr x1, xzr, 62
00032578bl runtime.throw
0003257chint
00032580
00032580loc_32580:
00032580str x0, [sp+8]
00032584strb w1, [sp+16]
00032588str x2, [sp+24]
0003258cmov x3, x30
00032590bl runtime.morestack_noctxt.abi0
00032594ldr x0, [sp+8]
00032598ldrb w1, [sp+16]
0003259cldr x2, [sp+24]
000325a0b 0x32400
000325a4udf 0
000325a8udf 0
000325acudf 0
00032400
000325b0
000325b0runtime.gcMarkRootPrepare: ; void runtime.gcMarkRootPrepare(void)
000325b0ldr x16, [x28+16]
000325b4subs xzr, sp, x16
000325b8b.ls 0x327d4
000325bcstr x30, [sp-64]!
000325c0stur x29, [sp-8]
000325c4sub x29, sp, 8
000325c8bl runtime.assertWorldStopped
000325ccadrp x27, 0x9f2000
000325d0add x27, x27, 3016
000325d4stp xzr, xzr, [x27]
000325d8bl runtime.activeModules
000325dcstr x0, [sp+48]
000325e0str x1, [sp+40]
000325e4mov x2, xzr
000325e8b 0x325fc
000325ec
000325ecloc_325ec:
000325ecldr x3, [sp+32]
000325f0add x2, x3, 1
000325f4ldr x0, [sp+48]
000325f8ldr x1, [sp+40]
000325fc
000325fcloc_325fc:
000325fcsubs xzr, x1, x2
00032600b.le 0x32688
00032604str x2, [sp+32]
00032608ldr x1, [x0+3*x2]
0003260cstr x1, [sp+24]
00032610adrp x27, 0x6a6000
00032614ldr x2, [x27+1824]
00032618ldr x3, [x1+216]
0003261cldr x1, [x1+208]
00032620sub x0, x3, x1
00032624adrp x26, 0x6a6000
00032628add x26, x26, 1824
0003262cblr x2
00032630adrp x27, 0x9f2000
00032634ldr x1, [x27+3016]
00032638subs xzr, x0, x1
0003263cb.le 0x32648
00032640adrp x27, 0x9f2000
00032644str x0, [x27+3016]
00032648
00032648loc_32648:
00032648adrp x27, 0x6a6000
0003264cldr x1, [x27+1824]
00032650ldr x2, [sp+24]
00032654ldr x3, [x2+232]
00032658ldr x2, [x2+224]
0003265csub x0, x3, x2
00032660adrp x26, 0x6a6000
00032664add x26, x26, 1824
00032668blr x1
0003266cadrp x27, 0x9f2000
00032670ldr x1, [x27+3024]
00032674subs xzr, x0, x1
00032678b.le 0x325ec
0003267cadrp x27, 0x9f2000
00032680str x0, [x27+3024]
00032684b 0x325ec
00032688
00032688loc_32688:
00032688adrp x27, 0xa10000
0003268cldr x0, [x27+2744]
00032690adrp x27, 0xa10000
00032694ldr x1, [x27+2736]
00032698adrp x27, 0xa10000
0003269cstr x0, [x27+2792]
000326a0adrp x27, 0xa10000
000326a4str x0, [x27+2800]
000326a8adrp x27, 0xa19000
000326acldr w2, [x27+3056]
000326b0cbz w2, 0x326c8
000326b4bl runtime.gcWriteBarrier2
000326b8str x1, [x25]
000326bcadrp x27, 0xa10000
000326c0ldr x2, [x27+2784]
000326c4str x2, [x25+8]
000326c8
000326c8loc_326c8:
000326c8adrp x27, 0xa10000
000326ccstr x1, [x27+2784]
000326d0ubfm x0, x0, 60, 59
000326d4adrp x27, 0x9f2000
000326d8str x0, [x27+3032]
000326dcbl runtime.allGsSnapshot
000326e0adrp x27, 0x9f2000
000326e4str x1, [x27+3080]
000326e8adrp x27, 0x9f2000
000326ecstr x2, [x27+3088]
000326f0adrp x27, 0xa19000
000326f4ldr w2, [x27+3056]
000326f8cbz w2, 0x32710
000326fcbl runtime.gcWriteBarrier2
00032700str x0, [x25]
00032704adrp x27, 0x9f2000
00032708ldr x2, [x27+3072]
0003270cstr x2, [x25+8]
00032710
00032710loc_32710:
00032710adrp x27, 0x9f2000
00032714str x0, [x27+3072]
00032718adrp x27, 0x9f2000
0003271cstr x1, [x27+3040]
00032720adrp x27, 0x9f2000
00032724str wzr, [x27+2984]
00032728adrp x27, 0x9f2000
0003272cldr x0, [x27+3016]
00032730adrp x27, 0x9f2000
00032734ldr x1, [x27+3024]
00032738add x0, x1, x0
0003273cadrp x27, 0x9f2000
00032740ldr x1, [x27+3032]
00032744add x0, x1, x0
00032748adrp x27, 0x9f2000
0003274cldr x1, [x27+3040]
00032750add x0, x1, x0
00032754add x0, x0, 2
00032758adrp x27, 0x9f2000
0003275cstr w0, [x27+2988]
00032760orr x0, xzr, 2
00032764adrp x27, 0x9f2000
00032768str w0, [x27+3048]
0003276cadrp x27, 0x9f2000
00032770ldr x0, [x27+3016]
00032774add x1, x0, 2
00032778adrp x27, 0x9f2000
0003277cstr w1, [x27+3052]
00032780adrp x27, 0x9f2000
00032784ldr x1, [x27+3024]
00032788add x0, x0, x1
0003278cadd x1, x0, 2
00032790adrp x27, 0x9f2000
00032794str w1, [x27+3056]
00032798adrp x27, 0x9f2000
0003279cldr x1, [x27+3032]
000327a0add x0, x0, x1
000327a4add x1, x0, 2
000327a8adrp x27, 0x9f2000
000327acstr w1, [x27+3060]
000327b0adrp x27, 0x9f2000
000327b4ldr x1, [x27+3040]
000327b8add x0, x0, x1
000327bcadd x0, x0, 2
000327c0adrp x27, 0x9f2000
000327c4str w0, [x27+3064]
000327c8ldur x29, [sp-8]
000327ccldr x30, [sp], 64
000327d0ret x30
000327d4
000327d4loc_327d4:
000327d4mov x3, x30
000327d8bl runtime.morestack_noctxt.abi0
000327dcb 0x325b0
000325b0
000325b0runtime.gcMarkRootPrepare: ; void runtime.gcMarkRootPrepare(void)
000325b0ldr x16, [x28+16]
000325b4subs xzr, sp, x16
000325b8b.ls 0x327d4
000325bcstr x30, [sp-64]!
000325c0stur x29, [sp-8]
000325c4sub x29, sp, 8
000325c8bl runtime.assertWorldStopped
000325ccadrp x27, 0x9f2000
000325d0add x27, x27, 3016
000325d4stp xzr, xzr, [x27]
000325d8bl runtime.activeModules
000325dcstr x0, [sp+48]
000325e0str x1, [sp+40]
000325e4mov x2, xzr
000325e8b 0x325fc
000325ec
000325ecloc_325ec:
000325ecldr x3, [sp+32]
000325f0add x2, x3, 1
000325f4ldr x0, [sp+48]
000325f8ldr x1, [sp+40]
000325fc
000325fcloc_325fc:
000325fcsubs xzr, x1, x2
00032600b.le 0x32688
00032604str x2, [sp+32]
00032608ldr x1, [x0+3*x2]
0003260cstr x1, [sp+24]
00032610adrp x27, 0x6a6000
00032614ldr x2, [x27+1824]
00032618ldr x3, [x1+216]
0003261cldr x1, [x1+208]
00032620sub x0, x3, x1
00032624adrp x26, 0x6a6000
00032628add x26, x26, 1824
0003262cblr x2
00032630adrp x27, 0x9f2000
00032634ldr x1, [x27+3016]
00032638subs xzr, x0, x1
0003263cb.le 0x32648
00032640adrp x27, 0x9f2000
00032644str x0, [x27+3016]
00032648
00032648loc_32648:
00032648adrp x27, 0x6a6000
0003264cldr x1, [x27+1824]
00032650ldr x2, [sp+24]
00032654ldr x3, [x2+232]
00032658ldr x2, [x2+224]
0003265csub x0, x3, x2
00032660adrp x26, 0x6a6000
00032664add x26, x26, 1824
00032668blr x1
0003266cadrp x27, 0x9f2000
00032670ldr x1, [x27+3024]
00032674subs xzr, x0, x1
00032678b.le 0x325ec
0003267cadrp x27, 0x9f2000
00032680str x0, [x27+3024]
00032684b 0x325ec
00032688
00032688loc_32688:
00032688adrp x27, 0xa10000
0003268cldr x0, [x27+2744]
00032690adrp x27, 0xa10000
00032694ldr x1, [x27+2736]
00032698adrp x27, 0xa10000
0003269cstr x0, [x27+2792]
000326a0adrp x27, 0xa10000
000326a4str x0, [x27+2800]
000326a8adrp x27, 0xa19000
000326acldr w2, [x27+3056]
000326b0cbz w2, 0x326c8
000326b4bl runtime.gcWriteBarrier2
000326b8str x1, [x25]
000326bcadrp x27, 0xa10000
000326c0ldr x2, [x27+2784]
000326c4str x2, [x25+8]
000326c8
000326c8loc_326c8:
000326c8adrp x27, 0xa10000
000326ccstr x1, [x27+2784]
000326d0ubfm x0, x0, 60, 59
000326d4adrp x27, 0x9f2000
000326d8str x0, [x27+3032]
000326dcbl runtime.allGsSnapshot
000326e0adrp x27, 0x9f2000
000326e4str x1, [x27+3080]
000326e8adrp x27, 0x9f2000
000326ecstr x2, [x27+3088]
000326f0adrp x27, 0xa19000
000326f4ldr w2, [x27+3056]
000326f8cbz w2, 0x32710
000326fcbl runtime.gcWriteBarrier2
00032700str x0, [x25]
00032704adrp x27, 0x9f2000
00032708ldr x2, [x27+3072]
0003270cstr x2, [x25+8]
00032710
00032710loc_32710:
00032710adrp x27, 0x9f2000
00032714str x0, [x27+3072]
00032718adrp x27, 0x9f2000
0003271cstr x1, [x27+3040]
00032720adrp x27, 0x9f2000
00032724str wzr, [x27+2984]
00032728adrp x27, 0x9f2000
0003272cldr x0, [x27+3016]
00032730adrp x27, 0x9f2000
00032734ldr x1, [x27+3024]
00032738add x0, x1, x0
0003273cadrp x27, 0x9f2000
00032740ldr x1, [x27+3032]
00032744add x0, x1, x0
00032748adrp x27, 0x9f2000
0003274cldr x1, [x27+3040]
00032750add x0, x1, x0
00032754add x0, x0, 2
00032758adrp x27, 0x9f2000
0003275cstr w0, [x27+2988]
00032760orr x0, xzr, 2
00032764adrp x27, 0x9f2000
00032768str w0, [x27+3048]
0003276cadrp x27, 0x9f2000
00032770ldr x0, [x27+3016]
00032774add x1, x0, 2
00032778adrp x27, 0x9f2000
0003277cstr w1, [x27+3052]
00032780adrp x27, 0x9f2000
00032784ldr x1, [x27+3024]
00032788add x0, x0, x1
0003278cadd x1, x0, 2
00032790adrp x27, 0x9f2000
00032794str w1, [x27+3056]
00032798adrp x27, 0x9f2000
0003279cldr x1, [x27+3032]
000327a0add x0, x0, x1
000327a4add x1, x0, 2
000327a8adrp x27, 0x9f2000
000327acstr w1, [x27+3060]
000327b0adrp x27, 0x9f2000
000327b4ldr x1, [x27+3040]
000327b8add x0, x0, x1
000327bcadd x0, x0, 2
000327c0adrp x27, 0x9f2000
000327c4str w0, [x27+3064]
000327c8ldur x29, [sp-8]
000327ccldr x30, [sp], 64
000327d0ret x30
000327d4
000327d4loc_327d4:
000327d4mov x3, x30
000327d8bl runtime.morestack_noctxt.abi0
000327dcb 0x325b0
000325b0
000327e0
000327e0runtime.gcMarkRootCheck: ; void runtime.gcMarkRootCheck(void)
000327e0ldr x16, [x28+16]
000327e4subs xzr, sp, x16
000327e8b.ls 0x32898
000327ecstr x30, [sp-80]!
000327f0stur x29, [sp-8]
000327f4sub x29, sp, 8
000327f8adrp x27, 0x9f2000
000327fcldr w1, [x27+2984]
00032800adrp x27, 0x9f2000
00032804ldr w2, [x27+2988]
00032808subs wzr, w2, w1
0003280cb.hi 0x3283c
00032810str xzr, [sp+40]
00032814adrp x1, 0
00032818add x1, x1, 2224
0003281cstr x1, [sp+56]
00032820add x1, sp, 40
00032824str x1, [sp+64]
00032828add x0, sp, 56
0003282cbl runtime.forEachGRace
00032830ldur x29, [sp-8]
00032834ldr x30, [sp], 80
00032838ret x30
0003283c
0003283cloc_3283c:
0003283cstr w1, [sp+36]
00032840str w2, [sp+32]
00032844bl runtime.printlock
00032848ldr w0, [sp+32]
0003284cstr x0, [sp+48]
00032850ldr w0, [sp+36]
00032854bl runtime.printuint
00032858adrp x0, 0x67e000
0003285cadd x0, x0, 806
00032860orr x1, xzr, 4
00032864bl runtime.printstring
00032868ldr x0, [sp+48]
0003286cbl runtime.printuint
00032870adrp x0, 0x684000
00032874add x0, x0, 2487
00032878movz x1, 20
0003287cbl runtime.printstring
00032880bl runtime.printunlock
00032884adrp x0, 0x686000
00032888add x0, x0, 1099
0003288cmovz x1, 23
00032890bl runtime.throw
00032894hint
00032898
00032898loc_32898:
00032898mov x3, x30
0003289cbl runtime.morestack_noctxt.abi0
000328a0b 0x327e0
000328a4udf 0
000328a8udf 0
000328acudf 0
000327e0
000327e0runtime.gcMarkRootCheck: ; void runtime.gcMarkRootCheck(void)
000327e0ldr x16, [x28+16]
000327e4subs xzr, sp, x16
000327e8b.ls 0x32898
000327ecstr x30, [sp-80]!
000327f0stur x29, [sp-8]
000327f4sub x29, sp, 8
000327f8adrp x27, 0x9f2000
000327fcldr w1, [x27+2984]
00032800adrp x27, 0x9f2000
00032804ldr w2, [x27+2988]
00032808subs wzr, w2, w1
0003280cb.hi 0x3283c
00032810str xzr, [sp+40]
00032814adrp x1, 0
00032818add x1, x1, 2224
0003281cstr x1, [sp+56]
00032820add x1, sp, 40
00032824str x1, [sp+64]
00032828add x0, sp, 56
0003282cbl runtime.forEachGRace
00032830ldur x29, [sp-8]
00032834ldr x30, [sp], 80
00032838ret x30
0003283c
0003283cloc_3283c:
0003283cstr w1, [sp+36]
00032840str w2, [sp+32]
00032844bl runtime.printlock
00032848ldr w0, [sp+32]
0003284cstr x0, [sp+48]
00032850ldr w0, [sp+36]
00032854bl runtime.printuint
00032858adrp x0, 0x67e000
0003285cadd x0, x0, 806
00032860orr x1, xzr, 4
00032864bl runtime.printstring
00032868ldr x0, [sp+48]
0003286cbl runtime.printuint
00032870adrp x0, 0x684000
00032874add x0, x0, 2487
00032878movz x1, 20
0003287cbl runtime.printstring
00032880bl runtime.printunlock
00032884adrp x0, 0x686000
00032888add x0, x0, 1099
0003288cmovz x1, 23
00032890bl runtime.throw
00032894hint
00032898
00032898loc_32898:
00032898mov x3, x30
0003289cbl runtime.morestack_noctxt.abi0
000328a0b 0x327e0
000328a4udf 0
000328a8udf 0
000328acudf 0
000327e0
000328b0
000328b0runtime.gcMarkRootCheck.func1: ; void runtime.gcMarkRootCheck.func1(runtime.g * gp)
000328b0ldr x16, [x28+16]
000328b4subs xzr, sp, x16
000328b8b.ls 0x329ac
000328bcstr x30, [sp-64]!
000328c0stur x29, [sp-8]
000328c4sub x29, sp, 8
000328c8ldr x1, [x26+8]
000328ccldr x2, [x1]
000328d0adrp x27, 0x9f2000
000328d4ldr x3, [x27+3040]
000328d8subs xzr, x3, x2
000328dcb.le 0x328fc
000328e0ldrb w3, [x0+190]
000328e4tbz w3, 0, 0x32908
000328e8add x0, x2, 1
000328ecstr x0, [x1]
000328f0ldur x29, [sp-8]
000328f4ldr x30, [sp], 64
000328f8ret x30
000328fc
000328fcloc_328fc:
000328fcldur x29, [sp-8]
00032900ldr x30, [sp], 64
00032904ret x30
00032908
00032908loc_32908:
00032908str x0, [sp+72]
0003290cbl runtime.readgstatus
00032910mov w1, w0
00032914str x1, [sp+48]
00032918ldr x1, [sp+72]
0003291cldr x2, [x1+160]
00032920str x2, [sp+40]
00032924ldrb w1, [x1+190]
00032928strb w1, [sp+39]
0003292cbl runtime.printlock
00032930adrp x0, 0x67e000
00032934add x0, x0, 327
00032938orr x1, xzr, 3
0003293cbl runtime.printstring
00032940ldr x0, [sp+72]
00032944bl runtime.printpointer
00032948adrp x0, 0x67e000
0003294cadd x0, x0, 2407
00032950orr x1, xzr, 6
00032954bl runtime.printstring
00032958ldr x0, [sp+40]
0003295cbl runtime.printuint
00032960adrp x0, 0x67f000
00032964add x0, x0, 636
00032968orr x1, xzr, 8
0003296cbl runtime.printstring
00032970ldr x0, [sp+48]
00032974bl runtime.printuint
00032978adrp x0, 0x680000
0003297cadd x0, x0, 3820
00032980orr x1, xzr, 12
00032984bl runtime.printstring
00032988ldrb w0, [sp+39]
0003298cbl runtime.printbool
00032990bl runtime.printnl
00032994bl runtime.printunlock
00032998adrp x0, 0x682000
0003299cadd x0, x0, 552
000329a0orr x1, xzr, 15
000329a4bl runtime.throw
000329a8hint
000329ac
000329acloc_329ac:
000329acstr x0, [sp+8]
000329b0mov x3, x30
000329b4bl runtime.morestack.abi0
000329b8ldr x0, [sp+8]
000329bcb 0x328b0
000328b0
000328b0runtime.gcMarkRootCheck.func1: ; void runtime.gcMarkRootCheck.func1(runtime.g * gp)
000328b0ldr x16, [x28+16]
000328b4subs xzr, sp, x16
000328b8b.ls 0x329ac
000328bcstr x30, [sp-64]!
000328c0stur x29, [sp-8]
000328c4sub x29, sp, 8
000328c8ldr x1, [x26+8]
000328ccldr x2, [x1]
000328d0adrp x27, 0x9f2000
000328d4ldr x3, [x27+3040]
000328d8subs xzr, x3, x2
000328dcb.le 0x328fc
000328e0ldrb w3, [x0+190]
000328e4tbz w3, 0, 0x32908
000328e8add x0, x2, 1
000328ecstr x0, [x1]
000328f0ldur x29, [sp-8]
000328f4ldr x30, [sp], 64
000328f8ret x30
000328fc
000328fcloc_328fc:
000328fcldur x29, [sp-8]
00032900ldr x30, [sp], 64
00032904ret x30
00032908
00032908loc_32908:
00032908str x0, [sp+72]
0003290cbl runtime.readgstatus
00032910mov w1, w0
00032914str x1, [sp+48]
00032918ldr x1, [sp+72]
0003291cldr x2, [x1+160]
00032920str x2, [sp+40]
00032924ldrb w1, [x1+190]
00032928strb w1, [sp+39]
0003292cbl runtime.printlock
00032930adrp x0, 0x67e000
00032934add x0, x0, 327
00032938orr x1, xzr, 3
0003293cbl runtime.printstring
00032940ldr x0, [sp+72]
00032944bl runtime.printpointer
00032948adrp x0, 0x67e000
0003294cadd x0, x0, 2407
00032950orr x1, xzr, 6
00032954bl runtime.printstring
00032958ldr x0, [sp+40]
0003295cbl runtime.printuint
00032960adrp x0, 0x67f000
00032964add x0, x0, 636
00032968orr x1, xzr, 8
0003296cbl runtime.printstring
00032970ldr x0, [sp+48]
00032974bl runtime.printuint
00032978adrp x0, 0x680000
0003297cadd x0, x0, 3820
00032980orr x1, xzr, 12
00032984bl runtime.printstring
00032988ldrb w0, [sp+39]
0003298cbl runtime.printbool
00032990bl runtime.printnl
00032994bl runtime.printunlock
00032998adrp x0, 0x682000
0003299cadd x0, x0, 552
000329a0orr x1, xzr, 15
000329a4bl runtime.throw
000329a8hint
000329ac
000329acloc_329ac:
000329acstr x0, [sp+8]
000329b0mov x3, x30
000329b4bl runtime.morestack.abi0
000329b8ldr x0, [sp+8]
000329bcb 0x328b0
000328b0
000329c0
000329c0runtime.markroot: ; void runtime.markroot(runtime.gcWork * gcw, uint32 i, bool flushBgCredit)
000329c0ldr x16, [x28+16]
000329c4sub x17, sp, 32
000329c8subs xzr, x17, x16
000329ccb.ls 0x32d50
000329d0str x30, [sp-160]!
000329d4stur x29, [sp-8]
000329d8sub x29, sp, 8
000329dcstr x0, [sp+168]
000329e0str w1, [sp+176]
000329e4strb w2, [sp+180]
000329e8str xzr, [sp+56]
000329ecadrp x27, 0x9f2000
000329f0ldr w5, [x27+3048]
000329f4subs wzr, w1, w5
000329f8b.lo 0x32a20
000329fcadrp x27, 0x9f2000
00032a00ldr w5, [x27+3052]
00032a04subs wzr, w1, w5
00032a08b.hs 0x32a20
00032a0cbl runtime.activeModules
00032a10str x0, [sp+112]
00032a14str x1, [sp+96]
00032a18mov x2, xzr
00032a1cb 0x32d3c
00032a20
00032a20loc_32a20:
00032a20adrp x27, 0x9f2000
00032a24ldr w5, [x27+3052]
00032a28subs wzr, w1, w5
00032a2cb.lo 0x32a54
00032a30adrp x27, 0x9f2000
00032a34ldr w5, [x27+3056]
00032a38subs wzr, w1, w5
00032a3cb.hs 0x32a54
00032a40bl runtime.activeModules
00032a44str x0, [sp+112]
00032a48str x1, [sp+96]
00032a4cmov x2, xzr
00032a50b 0x32cd8
00032a54
00032a54loc_32a54:
00032a54cbnz w1, 0x32a64
00032a58adrp x27, 0xa19000
00032a5cldr x5, [x27+1816]
00032a60b 0x32c7c
00032a64
00032a64loc_32a64:
00032a64subs wzr, w1, 1
00032a68b.eq 0x32b54
00032a6cadrp x27, 0x9f2000
00032a70ldr w3, [x27+3056]
00032a74subs wzr, w1, w3
00032a78b.lo 0x32aa0
00032a7cadrp x27, 0x9f2000
00032a80ldr w4, [x27+3060]
00032a84subs wzr, w1, w4
00032a88b.hs 0x32aa0
00032a8csub x2, x1, x3
00032a90mov w1, w2
00032a94bl runtime.markrootSpans
00032a98mov x0, xzr
00032a9cb 0x32b68
00032aa0
00032aa0loc_32aa0:
00032aa0adrp x27, 0x9f2000
00032aa4ldr w3, [x27+3060]
00032aa8subs wzr, w1, w3
00032aacb.lo 0x32ba4
00032ab0adrp x27, 0x9f2000
00032ab4ldr w4, [x27+3064]
00032ab8subs wzr, w1, w4
00032abcb.hs 0x32ba4
00032ac0adrp x27, 0x9f2000
00032ac4ldr x4, [x27+3080]
00032ac8sub x3, x1, x3
00032accmov w3, w3
00032ad0subs xzr, x3, x4
00032ad4b.hs 0x32b98
00032ad8adrp x27, 0x9f2000
00032adcldr x1, [x27+3072]
00032ae0ldr x0, [x1+3*x3]
00032ae4str x0, [sp+104]
00032ae8bl runtime.readgstatus
00032aecsubs wzr, w0, 4
00032af0b.eq 0x32afc
00032af4subs wzr, w0, 3
00032af8b.ne 0x32b18
00032afc
00032afcloc_32afc:
00032afcldr x0, [sp+104]
00032b00ldr x1, [x0+176]
00032b04cbnz x1, 0x32b1c
00032b08adrp x27, 0x9f2000
00032b0cldr x1, [x27+3000]
00032b10str x1, [x0+176]
00032b14b 0x32b1c
00032b18
00032b18loc_32b18:
00032b18ldr x0, [sp+104]
00032b1c
00032b1cloc_32b1c:
00032b1cadrp x1, 0
00032b20add x1, x1, 3456
00032b24str x1, [sp+120]
00032b28str x0, [sp+128]
00032b2cadd x0, sp, 56
00032b30str x0, [sp+136]
00032b34ldr x0, [sp+168]
00032b38str x0, [sp+144]
00032b3cadd x0, sp, 120
00032b40str x0, [sp+8]
00032b44bl runtime.systemstack.abi0
00032b48adrp x0, 0xa1a000
00032b4cadd x0, x0, 2664
00032b50b 0x32b68
00032b54
00032b54loc_32b54:
00032b54adrp x0, 0x6a6000
00032b58add x0, x0, 2400
00032b5cstr x0, [sp+8]
00032b60bl runtime.systemstack.abi0
00032b64mov x0, xzr
00032b68
00032b68loc_32b68:
00032b68cbz x0, 0x32b88
00032b6cldr x1, [sp+56]
00032b70cbz x1, 0x32b88
00032b74bl internal/runtime/atomic.(*Int64).Add
00032b78ldrb w0, [sp+180]
00032b7ctbz w0, 0, 0x32b88
00032b80ldr x0, [sp+56]
00032b84bl runtime.gcFlushBgCredit
00032b88
00032b88loc_32b88:
00032b88ldr x0, [sp+56]
00032b8cldur x29, [sp-8]
00032b90ldr x30, [sp], 160
00032b94ret x30
00032b98
00032b98loc_32b98:
00032b98mov x0, x3
00032b9cmov x1, x4
00032ba0bl runtime.panicIndex
00032ba4
00032ba4loc_32ba4:
00032ba4bl runtime.printlock
00032ba8ldr w0, [sp+176]
00032bacstr x0, [sp+88]
00032bb0adrp x27, 0x9f2000
00032bb4ldr w0, [x27+3060]
00032bb8str x0, [sp+80]
00032bbcadrp x27, 0x9f2000
00032bc0ldr w0, [x27+3064]
00032bc4str w0, [sp+52]
00032bc8bl runtime.printlock
00032bccadrp x0, 0x687000
00032bd0add x0, x0, 6
00032bd4orr x1, xzr, 24
00032bd8bl runtime.printstring
00032bdcldr x0, [sp+88]
00032be0bl runtime.printuint
00032be4adrp x0, 0x688000
00032be8add x0, x0, 3362
00032becmovz x1, 27
00032bf0bl runtime.printstring
00032bf4ldr x0, [sp+80]
00032bf8bl runtime.printuint
00032bfcadrp x0, 0x67d000
00032c00add x0, x0, 4049
00032c04orr x1, xzr, 2
00032c08bl runtime.printstring
00032c0cldr w0, [sp+52]
00032c10bl runtime.printuint
00032c14adrp x0, 0x67d000
00032c18add x0, x0, 4061
00032c1corr x1, xzr, 2
00032c20bl runtime.printstring
00032c24bl runtime.printunlock
00032c28adrp x0, 0x683000
00032c2cadd x0, x0, 4074
00032c30movz x1, 19
00032c34bl runtime.throw
00032c38
00032c38loc_32c38:
00032c38str x5, [sp+64]
00032c3cadd x6, x5, 16
00032c40ldar w6, [x6]
00032c44mov w6, w6
00032c48add x5, x5, 24
00032c4cadd x6, x6, x6, lsl #2
00032c50ubfm x1, x6, 61, 60
00032c54adrp x2, 0xa19000
00032c58add x2, x2, 3968
00032c5cmov x3, x0
00032c60mov x4, xzr
00032c64mov x0, x5
00032c68bl runtime.scanblock
00032c6cldr x5, [sp+64]
00032c70ldr x5, [x5]
00032c74ldr x0, [sp+168]
00032c78ldrb w2, [sp+180]
00032c7c
00032c7cloc_32c7c:
00032c7ccbnz x5, 0x32c38
00032c80mov x0, xzr
00032c84b 0x32b68
00032c88
00032c88loc_32c88:
00032c88str x2, [sp+72]
00032c8cldr x5, [x0+3*x2]
00032c90ldr x0, [x5+224]
00032c94ldr x6, [x5+232]
00032c98sub x1, x6, x0
00032c9cldr x2, [x5+560]
00032ca0adrp x27, 0x9f2000
00032ca4ldr w5, [x27+3052]
00032ca8ldr w6, [sp+176]
00032cacsub x5, x6, x5
00032cb0mov w4, w5
00032cb4ldr x3, [sp+168]
00032cb8bl runtime.markrootBlock
00032cbcldr x5, [sp+56]
00032cc0add x5, x5, x0
00032cc4str x5, [sp+56]
00032cc8ldr x5, [sp+72]
00032cccadd x2, x5, 1
00032cd0ldr x0, [sp+112]
00032cd4ldr x1, [sp+96]
00032cd8
00032cd8loc_32cd8:
00032cd8subs xzr, x1, x2
00032cdcb.gt 0x32c88
00032ce0adrp x0, 0xa1a000
00032ce4add x0, x0, 2672
00032ce8b 0x32b68
00032cec
00032cecloc_32cec:
00032cecstr x2, [sp+72]
00032cf0ldr x5, [x0+3*x2]
00032cf4ldr x0, [x5+208]
00032cf8ldr x6, [x5+216]
00032cfcsub x1, x6, x0
00032d00ldr x2, [x5+544]
00032d04adrp x27, 0x9f2000
00032d08ldr w5, [x27+3048]
00032d0cldr w6, [sp+176]
00032d10sub x5, x6, x5
00032d14mov w4, w5
00032d18ldr x3, [sp+168]
00032d1cbl runtime.markrootBlock
00032d20ldr x5, [sp+56]
00032d24add x5, x5, x0
00032d28str x5, [sp+56]
00032d2cldr x5, [sp+72]
00032d30add x2, x5, 1
00032d34ldr x0, [sp+112]
00032d38ldr x1, [sp+96]
00032d3c
00032d3cloc_32d3c:
00032d3csubs xzr, x1, x2
00032d40b.gt 0x32cec
00032d44adrp x0, 0xa1a000
00032d48add x0, x0, 2672
00032d4cb 0x32b68
00032d50
00032d50loc_32d50:
00032d50str x0, [sp+8]
00032d54str w1, [sp+16]
00032d58strb w2, [sp+20]
00032d5cmov x3, x30
00032d60bl runtime.morestack_noctxt.abi0
00032d64ldr x0, [sp+8]
00032d68ldr w1, [sp+16]
00032d6cldrb w2, [sp+20]
00032d70b 0x329c0
00032d74udf 0
00032d78udf 0
00032d7cudf 0
000329c0
000329c0runtime.markroot: ; void runtime.markroot(runtime.gcWork * gcw, uint32 i, bool flushBgCredit)
000329c0ldr x16, [x28+16]
000329c4sub x17, sp, 32
000329c8subs xzr, x17, x16
000329ccb.ls 0x32d50
000329d0str x30, [sp-160]!
000329d4stur x29, [sp-8]
000329d8sub x29, sp, 8
000329dcstr x0, [sp+168]
000329e0str w1, [sp+176]
000329e4strb w2, [sp+180]
000329e8str xzr, [sp+56]
000329ecadrp x27, 0x9f2000
000329f0ldr w5, [x27+3048]
000329f4subs wzr, w1, w5
000329f8b.lo 0x32a20
000329fcadrp x27, 0x9f2000
00032a00ldr w5, [x27+3052]
00032a04subs wzr, w1, w5
00032a08b.hs 0x32a20
00032a0cbl runtime.activeModules
00032a10str x0, [sp+112]
00032a14str x1, [sp+96]
00032a18mov x2, xzr
00032a1cb 0x32d3c
00032a20
00032a20loc_32a20:
00032a20adrp x27, 0x9f2000
00032a24ldr w5, [x27+3052]
00032a28subs wzr, w1, w5
00032a2cb.lo 0x32a54
00032a30adrp x27, 0x9f2000
00032a34ldr w5, [x27+3056]
00032a38subs wzr, w1, w5
00032a3cb.hs 0x32a54
00032a40bl runtime.activeModules
00032a44str x0, [sp+112]
00032a48str x1, [sp+96]
00032a4cmov x2, xzr
00032a50b 0x32cd8
00032a54
00032a54loc_32a54:
00032a54cbnz w1, 0x32a64
00032a58adrp x27, 0xa19000
00032a5cldr x5, [x27+1816]
00032a60b 0x32c7c
00032a64
00032a64loc_32a64:
00032a64subs wzr, w1, 1
00032a68b.eq 0x32b54
00032a6cadrp x27, 0x9f2000
00032a70ldr w3, [x27+3056]
00032a74subs wzr, w1, w3
00032a78b.lo 0x32aa0
00032a7cadrp x27, 0x9f2000
00032a80ldr w4, [x27+3060]
00032a84subs wzr, w1, w4
00032a88b.hs 0x32aa0
00032a8csub x2, x1, x3
00032a90mov w1, w2
00032a94bl runtime.markrootSpans
00032a98mov x0, xzr
00032a9cb 0x32b68
00032aa0
00032aa0loc_32aa0:
00032aa0adrp x27, 0x9f2000
00032aa4ldr w3, [x27+3060]
00032aa8subs wzr, w1, w3
00032aacb.lo 0x32ba4
00032ab0adrp x27, 0x9f2000
00032ab4ldr w4, [x27+3064]
00032ab8subs wzr, w1, w4
00032abcb.hs 0x32ba4
00032ac0adrp x27, 0x9f2000
00032ac4ldr x4, [x27+3080]
00032ac8sub x3, x1, x3
00032accmov w3, w3
00032ad0subs xzr, x3, x4
00032ad4b.hs 0x32b98
00032ad8adrp x27, 0x9f2000
00032adcldr x1, [x27+3072]
00032ae0ldr x0, [x1+3*x3]
00032ae4str x0, [sp+104]
00032ae8bl runtime.readgstatus
00032aecsubs wzr, w0, 4
00032af0b.eq 0x32afc
00032af4subs wzr, w0, 3
00032af8b.ne 0x32b18
00032afc
00032afcloc_32afc:
00032afcldr x0, [sp+104]
00032b00ldr x1, [x0+176]
00032b04cbnz x1, 0x32b1c
00032b08adrp x27, 0x9f2000
00032b0cldr x1, [x27+3000]
00032b10str x1, [x0+176]
00032b14b 0x32b1c
00032b18
00032b18loc_32b18:
00032b18ldr x0, [sp+104]
00032b1c
00032b1cloc_32b1c:
00032b1cadrp x1, 0
00032b20add x1, x1, 3456
00032b24str x1, [sp+120]
00032b28str x0, [sp+128]
00032b2cadd x0, sp, 56
00032b30str x0, [sp+136]
00032b34ldr x0, [sp+168]
00032b38str x0, [sp+144]
00032b3cadd x0, sp, 120
00032b40str x0, [sp+8]
00032b44bl runtime.systemstack.abi0
00032b48adrp x0, 0xa1a000
00032b4cadd x0, x0, 2664
00032b50b 0x32b68
00032b54
00032b54loc_32b54:
00032b54adrp x0, 0x6a6000
00032b58add x0, x0, 2400
00032b5cstr x0, [sp+8]
00032b60bl runtime.systemstack.abi0
00032b64mov x0, xzr
00032b68
00032b68loc_32b68:
00032b68cbz x0, 0x32b88
00032b6cldr x1, [sp+56]
00032b70cbz x1, 0x32b88
00032b74bl internal/runtime/atomic.(*Int64).Add
00032b78ldrb w0, [sp+180]
00032b7ctbz w0, 0, 0x32b88
00032b80ldr x0, [sp+56]
00032b84bl runtime.gcFlushBgCredit
00032b88
00032b88loc_32b88:
00032b88ldr x0, [sp+56]
00032b8cldur x29, [sp-8]
00032b90ldr x30, [sp], 160
00032b94ret x30
00032b98
00032b98loc_32b98:
00032b98mov x0, x3
00032b9cmov x1, x4
00032ba0bl runtime.panicIndex
00032ba4
00032ba4loc_32ba4:
00032ba4bl runtime.printlock
00032ba8ldr w0, [sp+176]
00032bacstr x0, [sp+88]
00032bb0adrp x27, 0x9f2000
00032bb4ldr w0, [x27+3060]
00032bb8str x0, [sp+80]
00032bbcadrp x27, 0x9f2000
00032bc0ldr w0, [x27+3064]
00032bc4str w0, [sp+52]
00032bc8bl runtime.printlock
00032bccadrp x0, 0x687000
00032bd0add x0, x0, 6
00032bd4orr x1, xzr, 24
00032bd8bl runtime.printstring
00032bdcldr x0, [sp+88]
00032be0bl runtime.printuint
00032be4adrp x0, 0x688000
00032be8add x0, x0, 3362
00032becmovz x1, 27
00032bf0bl runtime.printstring
00032bf4ldr x0, [sp+80]
00032bf8bl runtime.printuint
00032bfcadrp x0, 0x67d000
00032c00add x0, x0, 4049
00032c04orr x1, xzr, 2
00032c08bl runtime.printstring
00032c0cldr w0, [sp+52]
00032c10bl runtime.printuint
00032c14adrp x0, 0x67d000
00032c18add x0, x0, 4061
00032c1corr x1, xzr, 2
00032c20bl runtime.printstring
00032c24bl runtime.printunlock
00032c28adrp x0, 0x683000
00032c2cadd x0, x0, 4074
00032c30movz x1, 19
00032c34bl runtime.throw
00032c38
00032c38loc_32c38:
00032c38str x5, [sp+64]
00032c3cadd x6, x5, 16
00032c40ldar w6, [x6]
00032c44mov w6, w6
00032c48add x5, x5, 24
00032c4cadd x6, x6, x6, lsl #2
00032c50ubfm x1, x6, 61, 60
00032c54adrp x2, 0xa19000
00032c58add x2, x2, 3968
00032c5cmov x3, x0
00032c60mov x4, xzr
00032c64mov x0, x5
00032c68bl runtime.scanblock
00032c6cldr x5, [sp+64]
00032c70ldr x5, [x5]
00032c74ldr x0, [sp+168]
00032c78ldrb w2, [sp+180]
00032c7c
00032c7cloc_32c7c:
00032c7ccbnz x5, 0x32c38
00032c80mov x0, xzr
00032c84b 0x32b68
00032c88
00032c88loc_32c88:
00032c88str x2, [sp+72]
00032c8cldr x5, [x0+3*x2]
00032c90ldr x0, [x5+224]
00032c94ldr x6, [x5+232]
00032c98sub x1, x6, x0
00032c9cldr x2, [x5+560]
00032ca0adrp x27, 0x9f2000
00032ca4ldr w5, [x27+3052]
00032ca8ldr w6, [sp+176]
00032cacsub x5, x6, x5
00032cb0mov w4, w5
00032cb4ldr x3, [sp+168]
00032cb8bl runtime.markrootBlock
00032cbcldr x5, [sp+56]
00032cc0add x5, x5, x0
00032cc4str x5, [sp+56]
00032cc8ldr x5, [sp+72]
00032cccadd x2, x5, 1
00032cd0ldr x0, [sp+112]
00032cd4ldr x1, [sp+96]
00032cd8
00032cd8loc_32cd8:
00032cd8subs xzr, x1, x2
00032cdcb.gt 0x32c88
00032ce0adrp x0, 0xa1a000
00032ce4add x0, x0, 2672
00032ce8b 0x32b68
00032cec
00032cecloc_32cec:
00032cecstr x2, [sp+72]
00032cf0ldr x5, [x0+3*x2]
00032cf4ldr x0, [x5+208]
00032cf8ldr x6, [x5+216]
00032cfcsub x1, x6, x0
00032d00ldr x2, [x5+544]
00032d04adrp x27, 0x9f2000
00032d08ldr w5, [x27+3048]
00032d0cldr w6, [sp+176]
00032d10sub x5, x6, x5
00032d14mov w4, w5
00032d18ldr x3, [sp+168]
00032d1cbl runtime.markrootBlock
00032d20ldr x5, [sp+56]
00032d24add x5, x5, x0
00032d28str x5, [sp+56]
00032d2cldr x5, [sp+72]
00032d30add x2, x5, 1
00032d34ldr x0, [sp+112]
00032d38ldr x1, [sp+96]
00032d3c
00032d3cloc_32d3c:
00032d3csubs xzr, x1, x2
00032d40b.gt 0x32cec
00032d44adrp x0, 0xa1a000
00032d48add x0, x0, 2672
00032d4cb 0x32b68
00032d50
00032d50loc_32d50:
00032d50str x0, [sp+8]
00032d54str w1, [sp+16]
00032d58strb w2, [sp+20]
00032d5cmov x3, x30
00032d60bl runtime.morestack_noctxt.abi0
00032d64ldr x0, [sp+8]
00032d68ldr w1, [sp+16]
00032d6cldrb w2, [sp+20]
00032d70b 0x329c0
00032d74udf 0
00032d78udf 0
00032d7cudf 0
000329c0
00032d80
00032d80runtime.markroot.func1: ; void runtime.markroot.func1(void)
00032d80ldr x16, [x28+16]
00032d84subs xzr, sp, x16
00032d88b.ls 0x32eb0
00032d8cstr x30, [sp-80]!
00032d90stur x29, [sp-8]
00032d94sub x29, sp, 8
00032d98ldr x0, [x26+8]
00032d9cstr x0, [sp+40]
00032da0ldr x3, [x28+48]
00032da4ldr x3, [x3+192]
00032da8str x3, [sp+32]
00032dacldr x4, [x26+16]
00032db0str x4, [sp+64]
00032db4ldr x5, [x26+24]
00032db8str x5, [sp+48]
00032dbcsubs xzr, x3, x0
00032dc0b.eq 0x32dcc
00032dc4mov x1, xzr
00032dc8b 0x32dec
00032dcc
00032dccloc_32dcc:
00032dccmov x0, x3
00032dd0bl runtime.readgstatus
00032dd4subs wzr, w0, 2
00032dd8cset x1, eq
00032ddcldr x0, [sp+40]
00032de0ldr x3, [sp+32]
00032de4ldr x4, [sp+64]
00032de8ldr x5, [sp+48]
00032dec
00032decloc_32dec:
00032decstrb w1, [sp+29]
00032df0tbz w1, 0, 0x32e08
00032df4mov x0, x3
00032df8orr x1, xzr, 2
00032dfcorr x2, xzr, 7
00032e00bl runtime.casGToWaitingForSuspendG
00032e04ldr x0, [sp+40]
00032e08
00032e08loc_32e08:
00032e08bl runtime.suspendG
00032e0ctbnz w1, 0, 0x32e84
00032e10ldr x3, [sp+40]
00032e14ldrb w4, [x3+190]
00032e18tbnz w4, 0, 0x32e9c
00032e1cstrb w2, [sp+31]
00032e20strb w1, [sp+30]
00032e24str x0, [sp+56]
00032e28mov x0, x3
00032e2cldr x1, [sp+48]
00032e30bl runtime.scanstack
00032e34ldr x2, [sp+64]
00032e38ldr x3, [x2]
00032e3cadd x3, x3, x0
00032e40str x3, [x2]
00032e44orr x2, xzr, 1
00032e48ldr x3, [sp+40]
00032e4cstrb w2, [x3+190]
00032e50ldr x0, [sp+56]
00032e54ldrb w1, [sp+30]
00032e58ldrb w2, [sp+31]
00032e5cbl runtime.resumeG
00032e60ldrb w0, [sp+29]
00032e64tbz w0, 0, 0x32e78
00032e68ldr x0, [sp+32]
00032e6corr x1, xzr, 4
00032e70orr x2, xzr, 2
00032e74bl runtime.casgstatus
00032e78
00032e78loc_32e78:
00032e78ldur x29, [sp-8]
00032e7cldr x30, [sp], 80
00032e80ret x30
00032e84
00032e84loc_32e84:
00032e84orr x0, xzr, 1
00032e88ldr x1, [sp+40]
00032e8cstrb w0, [x1+190]
00032e90ldur x29, [sp-8]
00032e94ldr x30, [sp], 80
00032e98ret x30
00032e9c
00032e9cloc_32e9c:
00032e9cadrp x0, 0x683000
00032ea0add x0, x0, 149
00032ea4movz x1, 17
00032ea8bl runtime.throw
00032eachint
00032eb0
00032eb0loc_32eb0:
00032eb0mov x3, x30
00032eb4bl runtime.morestack.abi0
00032eb8b 0x32d80
00032ebcudf 0
00032d80
00032d80runtime.markroot.func1: ; void runtime.markroot.func1(void)
00032d80ldr x16, [x28+16]
00032d84subs xzr, sp, x16
00032d88b.ls 0x32eb0
00032d8cstr x30, [sp-80]!
00032d90stur x29, [sp-8]
00032d94sub x29, sp, 8
00032d98ldr x0, [x26+8]
00032d9cstr x0, [sp+40]
00032da0ldr x3, [x28+48]
00032da4ldr x3, [x3+192]
00032da8str x3, [sp+32]
00032dacldr x4, [x26+16]
00032db0str x4, [sp+64]
00032db4ldr x5, [x26+24]
00032db8str x5, [sp+48]
00032dbcsubs xzr, x3, x0
00032dc0b.eq 0x32dcc
00032dc4mov x1, xzr
00032dc8b 0x32dec
00032dcc
00032dccloc_32dcc:
00032dccmov x0, x3
00032dd0bl runtime.readgstatus
00032dd4subs wzr, w0, 2
00032dd8cset x1, eq
00032ddcldr x0, [sp+40]
00032de0ldr x3, [sp+32]
00032de4ldr x4, [sp+64]
00032de8ldr x5, [sp+48]
00032dec
00032decloc_32dec:
00032decstrb w1, [sp+29]
00032df0tbz w1, 0, 0x32e08
00032df4mov x0, x3
00032df8orr x1, xzr, 2
00032dfcorr x2, xzr, 7
00032e00bl runtime.casGToWaitingForSuspendG
00032e04ldr x0, [sp+40]
00032e08
00032e08loc_32e08:
00032e08bl runtime.suspendG
00032e0ctbnz w1, 0, 0x32e84
00032e10ldr x3, [sp+40]
00032e14ldrb w4, [x3+190]
00032e18tbnz w4, 0, 0x32e9c
00032e1cstrb w2, [sp+31]
00032e20strb w1, [sp+30]
00032e24str x0, [sp+56]
00032e28mov x0, x3
00032e2cldr x1, [sp+48]
00032e30bl runtime.scanstack
00032e34ldr x2, [sp+64]
00032e38ldr x3, [x2]
00032e3cadd x3, x3, x0
00032e40str x3, [x2]
00032e44orr x2, xzr, 1
00032e48ldr x3, [sp+40]
00032e4cstrb w2, [x3+190]
00032e50ldr x0, [sp+56]
00032e54ldrb w1, [sp+30]
00032e58ldrb w2, [sp+31]
00032e5cbl runtime.resumeG
00032e60ldrb w0, [sp+29]
00032e64tbz w0, 0, 0x32e78
00032e68ldr x0, [sp+32]
00032e6corr x1, xzr, 4
00032e70orr x2, xzr, 2
00032e74bl runtime.casgstatus
00032e78
00032e78loc_32e78:
00032e78ldur x29, [sp-8]
00032e7cldr x30, [sp], 80
00032e80ret x30
00032e84
00032e84loc_32e84:
00032e84orr x0, xzr, 1
00032e88ldr x1, [sp+40]
00032e8cstrb w0, [x1+190]
00032e90ldur x29, [sp-8]
00032e94ldr x30, [sp], 80
00032e98ret x30
00032e9c
00032e9cloc_32e9c:
00032e9cadrp x0, 0x683000
00032ea0add x0, x0, 149
00032ea4movz x1, 17
00032ea8bl runtime.throw
00032eachint
00032eb0
00032eb0loc_32eb0:
00032eb0mov x3, x30
00032eb4bl runtime.morestack.abi0
00032eb8b 0x32d80
00032ebcudf 0
00032d80
00032ec0
00032ec0runtime.markrootBlock: ; void runtime.markrootBlock(uintptr b0, uintptr n0, uint8 * ptrmask0, runtime.gcWork * gcw, int shard)
00032ec0ldr x16, [x28+16]
00032ec4subs xzr, sp, x16
00032ec8b.ls 0x32f60
00032eccstr x30, [sp-80]!
00032ed0stur x29, [sp-8]
00032ed4sub x29, sp, 8
00032ed8subs xzr, x1, x4, lsl #18
00032edcb.hi 0x32ef0
00032ee0mov x0, xzr
00032ee4ldur x29, [sp-8]
00032ee8ldr x30, [sp], 80
00032eecret x30
00032ef0
00032ef0loc_32ef0:
00032ef0str x1, [sp+96]
00032ef4str x3, [sp+112]
00032ef8str x4, [sp+120]
00032efcubfm x3, x4, 46, 45
00032f00str x3, [sp+48]
00032f04add x3, x0, x4, lsl #18
00032f08str x3, [sp+64]
00032f0cubfm x1, x4, 52, 51
00032f10mov x0, x2
00032f14bl runtime.add
00032f18ldr x2, [sp+48]
00032f1cadd x2, x2, 0x40000
00032f20ldr x3, [sp+96]
00032f24ldr x4, [sp+120]
00032f28sub x4, x3, x4, lsl #18
00032f2csubs xzr, x3, x2
00032f30orr x2, xzr, 0x40000
00032f34csel x1, x4, x2, lo
00032f38str x1, [sp+56]
00032f3cmov x2, x0
00032f40ldr x3, [sp+112]
00032f44mov x4, xzr
00032f48ldr x0, [sp+64]
00032f4cbl runtime.scanblock
00032f50ldr x0, [sp+56]
00032f54ldur x29, [sp-8]
00032f58ldr x30, [sp], 80
00032f5cret x30
00032f60
00032f60loc_32f60:
00032f60stp x0, x1, [sp+8]
00032f64stp x2, x3, [sp+24]
00032f68str x4, [sp+40]
00032f6cmov x3, x30
00032f70bl runtime.morestack_noctxt.abi0
00032f74ldp x0, x1, [sp+8]
00032f78ldp x2, x3, [sp+24]
00032f7cldr x4, [sp+40]
00032f80b 0x32ec0
00032f84udf 0
00032f88udf 0
00032f8cudf 0
00032ec0
00032ec0runtime.markrootBlock: ; void runtime.markrootBlock(uintptr b0, uintptr n0, uint8 * ptrmask0, runtime.gcWork * gcw, int shard)
00032ec0ldr x16, [x28+16]
00032ec4subs xzr, sp, x16
00032ec8b.ls 0x32f60
00032eccstr x30, [sp-80]!
00032ed0stur x29, [sp-8]
00032ed4sub x29, sp, 8
00032ed8subs xzr, x1, x4, lsl #18
00032edcb.hi 0x32ef0
00032ee0mov x0, xzr
00032ee4ldur x29, [sp-8]
00032ee8ldr x30, [sp], 80
00032eecret x30
00032ef0
00032ef0loc_32ef0:
00032ef0str x1, [sp+96]
00032ef4str x3, [sp+112]
00032ef8str x4, [sp+120]
00032efcubfm x3, x4, 46, 45
00032f00str x3, [sp+48]
00032f04add x3, x0, x4, lsl #18
00032f08str x3, [sp+64]
00032f0cubfm x1, x4, 52, 51
00032f10mov x0, x2
00032f14bl runtime.add
00032f18ldr x2, [sp+48]
00032f1cadd x2, x2, 0x40000
00032f20ldr x3, [sp+96]
00032f24ldr x4, [sp+120]
00032f28sub x4, x3, x4, lsl #18
00032f2csubs xzr, x3, x2
00032f30orr x2, xzr, 0x40000
00032f34csel x1, x4, x2, lo
00032f38str x1, [sp+56]
00032f3cmov x2, x0
00032f40ldr x3, [sp+112]
00032f44mov x4, xzr
00032f48ldr x0, [sp+64]
00032f4cbl runtime.scanblock
00032f50ldr x0, [sp+56]
00032f54ldur x29, [sp-8]
00032f58ldr x30, [sp], 80
00032f5cret x30
00032f60
00032f60loc_32f60:
00032f60stp x0, x1, [sp+8]
00032f64stp x2, x3, [sp+24]
00032f68str x4, [sp+40]
00032f6cmov x3, x30
00032f70bl runtime.morestack_noctxt.abi0
00032f74ldp x0, x1, [sp+8]
00032f78ldp x2, x3, [sp+24]
00032f7cldr x4, [sp+40]
00032f80b 0x32ec0
00032f84udf 0
00032f88udf 0
00032f8cudf 0
00032ec0
00032f90
00032f90runtime.markrootFreeGStacks: ; void runtime.markrootFreeGStacks(void)
00032f90ldr x16, [x28+16]
00032f94subs xzr, sp, x16
00032f98b.ls 0x3306c
00032f9cstr x30, [sp-80]!
00032fa0stur x29, [sp-8]
00032fa4sub x29, sp, 8
00032fa8adrp x0, 0x9f5000
00032facadd x0, x0, 288
00032fb0bl runtime.lock
00032fb4adrp x27, 0x9f5000
00032fb8ldr x1, [x27+296]
00032fbcstr x1, [sp+56]
00032fc0adrp x27, 0x9f5000
00032fc4str xzr, [x27+296]
00032fc8adrp x0, 0x9f5000
00032fccadd x0, x0, 288
00032fd0bl runtime.unlock
00032fd4add x0, sp, 56
00032fd8bl runtime.(*gList).empty
00032fdctbnz w0, 0, 0x32ff8
00032fe0ldr x1, [sp+56]
00032fe4str x1, [sp+40]
00032fe8str x1, [sp+48]
00032fecldr x0, [sp+56]
00032ff0bl runtime.guintptr.ptr
00032ff4b 0x33030
00032ff8
00032ff8loc_32ff8:
00032ff8ldur x29, [sp-8]
00032ffcldr x30, [sp], 80
00033000ret x30
00033004
00033004loc_33004:
00033004str x0, [sp+64]
00033008ldr x1, [x0+8]
0003300cldr x0, [x0]
00033010bl runtime.stackfree
00033014ldr x1, [sp+64]
00033018stp xzr, xzr, [x1]
0003301cadd x0, sp, 48
00033020bl runtime.(*guintptr).set
00033024ldr x2, [sp+64]
00033028ldr x0, [x2+168]
0003302cbl runtime.guintptr.ptr
00033030
00033030loc_33030:
00033030cbnz x0, 0x33004
00033034adrp x0, 0x9f4000
00033038add x0, x0, 288
0003303cbl runtime.lock
00033040ldr x1, [sp+40]
00033044ldr x2, [sp+48]
00033048adrp x0, 0x9f4000
0003304cadd x0, x0, 304
00033050bl runtime.(*gList).pushAll
00033054adrp x0, 0x9f4000
00033058add x0, x0, 288
0003305cbl runtime.unlock
00033060ldur x29, [sp-8]
00033064ldr x30, [sp], 80
00033068ret x30
0003306c
0003306cloc_3306c:
0003306cmov x3, x30
00033070bl runtime.morestack_noctxt.abi0
00033074b 0x32f90
00033078udf 0
0003307cudf 0
00032f90
00032f90runtime.markrootFreeGStacks: ; void runtime.markrootFreeGStacks(void)
00032f90ldr x16, [x28+16]
00032f94subs xzr, sp, x16
00032f98b.ls 0x3306c
00032f9cstr x30, [sp-80]!
00032fa0stur x29, [sp-8]
00032fa4sub x29, sp, 8
00032fa8adrp x0, 0x9f5000
00032facadd x0, x0, 288
00032fb0bl runtime.lock
00032fb4adrp x27, 0x9f5000
00032fb8ldr x1, [x27+296]
00032fbcstr x1, [sp+56]
00032fc0adrp x27, 0x9f5000
00032fc4str xzr, [x27+296]
00032fc8adrp x0, 0x9f5000
00032fccadd x0, x0, 288
00032fd0bl runtime.unlock
00032fd4add x0, sp, 56
00032fd8bl runtime.(*gList).empty
00032fdctbnz w0, 0, 0x32ff8
00032fe0ldr x1, [sp+56]
00032fe4str x1, [sp+40]
00032fe8str x1, [sp+48]
00032fecldr x0, [sp+56]
00032ff0bl runtime.guintptr.ptr
00032ff4b 0x33030
00032ff8
00032ff8loc_32ff8:
00032ff8ldur x29, [sp-8]
00032ffcldr x30, [sp], 80
00033000ret x30
00033004
00033004loc_33004:
00033004str x0, [sp+64]
00033008ldr x1, [x0+8]
0003300cldr x0, [x0]
00033010bl runtime.stackfree
00033014ldr x1, [sp+64]
00033018stp xzr, xzr, [x1]
0003301cadd x0, sp, 48
00033020bl runtime.(*guintptr).set
00033024ldr x2, [sp+64]
00033028ldr x0, [x2+168]
0003302cbl runtime.guintptr.ptr
00033030
00033030loc_33030:
00033030cbnz x0, 0x33004
00033034adrp x0, 0x9f4000
00033038add x0, x0, 288
0003303cbl runtime.lock
00033040ldr x1, [sp+40]
00033044ldr x2, [sp+48]
00033048adrp x0, 0x9f4000
0003304cadd x0, x0, 304
00033050bl runtime.(*gList).pushAll
00033054adrp x0, 0x9f4000
00033058add x0, x0, 288
0003305cbl runtime.unlock
00033060ldur x29, [sp-8]
00033064ldr x30, [sp], 80
00033068ret x30
0003306c
0003306cloc_3306c:
0003306cmov x3, x30
00033070bl runtime.morestack_noctxt.abi0
00033074b 0x32f90
00033078udf 0
0003307cudf 0
00032f90
00033080
00033080runtime.markrootSpans: ; void runtime.markrootSpans(runtime.gcWork * gcw, int shard)
00033080ldr x16, [x28+16]
00033084sub x17, sp, 48
00033088subs xzr, x17, x16
0003308cb.ls 0x33414
00033090str x30, [sp-176]!
00033094stur x29, [sp-8]
00033098sub x29, sp, 8
0003309cadrp x27, 0xa0f000
000330a0ldr x2, [x27+2792]
000330a4sbfm x3, x1, 63, 63
000330a8add x3, x1, x3, lsr #60
000330acadrp x27, 0xa0f000
000330b0ldr w4, [x27+2432]
000330b4sbfm x5, x3, 4, 63
000330b8subs xzr, x2, x3, asr #4
000330bcb.ls 0x33404
000330c0str x0, [sp+184]
000330c4str x1, [sp+192]
000330c8str w4, [sp+64]
000330ccadrp x27, 0xa0f000
000330d0ldr x1, [x27+2784]
000330d4ldr x0, [x1+3*x5]
000330d8str x0, [sp+112]
000330dcbl runtime.arenaIdx.l1
000330e0str x0, [sp+144]
000330e4ldr x0, [sp+112]
000330e8bl runtime.arenaIdx.l2
000330ecldr x1, [sp+144]
000330f0subs xzr, x1, 1
000330f4b.hs 0x333f8
000330f8subs xzr, x0, 0x400000
000330fcb.hs 0x333f0
00033100adrp x27, 0xa0f000
00033104ldr x3, [x27+2648]
00033108ldrsb x27, [x3]
0003310cldr x3, [x3+3*x0]
00033110ldrsb x27, [x3]
00033114ldr x4, [sp+192]
00033118ubfm x0, x4, 58, 3
0003311cmovz x5, 2048
00033120movk x5, 0x10000
00033124add x5, x3, x5
00033128subs xzr, x0, 1024
0003312cb.hi 0x333e8
00033130ubfm x4, x4, 55, 3
00033134orr x6, xzr, 1024
00033138sub x2, x6, x4, lsr #3
0003313csub x6, xzr, x2
00033140sbfm x6, x6, 63, 63
00033144and x6, x6, x4, lsr #3
00033148add x5, x6, x5
0003314csubs xzr, x2, 64
00033150b.lo 0x333e0
00033154str x3, [sp+104]
00033158str x4, [sp+136]
0003315cstr x5, [sp+152]
00033160mov x0, xzr
00033164b 0x3316c
00033168
00033168loc_33168:
00033168add x0, x0, 1
0003316c
0003316cloc_3316c:
0003316csubs xzr, x0, 64
00033170b.ge 0x33194
00033174add x2, x0, x5
00033178ldarb w2, [x2]
0003317cubfm x6, x2, 0, 7
00033180cbz w6, 0x33168
00033184str x0, [sp+96]
00033188strb w2, [sp+63]
0003318cmov x1, xzr
00033190b 0x331a4
00033194
00033194loc_33194:
00033194ldur x29, [sp-8]
00033198ldr x30, [sp], 176
0003319cret x30
000331a0
000331a0loc_331a0:
000331a0add x1, x1, 1
000331a4
000331a4loc_331a4:
000331a4subs xzr, x1, 8
000331a8b.hs 0x33168
000331acorr x6, xzr, 1
000331b0lslv x7, x6, x1
000331b4and x7, x2, x7
000331b8ubfm x7, x7, 0, 7
000331bccbz w7, 0x331a0
000331c0add x7, x4, x0, lsl #3
000331c4add x7, x1, x7
000331c8subs xzr, x7, 8192
000331ccb.hs 0x333d4
000331d0str x1, [sp+88]
000331d4ldr x1, [x3+3*x7]
000331d8str x1, [sp+72]
000331dcldrsb x27, [x1]
000331e0add x0, x1, 99
000331e4bl runtime.(*mSpanStateBox).get
000331e8ubfm x1, x0, 0, 7
000331ecsubs wzr, w1, 1
000331f0b.ne 0x3339c
000331f4adrp x27, 0xa18000
000331f8ldrb w1, [x27+1519]
000331fctbz w1, 0, 0x33208
00033200ldr x1, [sp+72]
00033204b 0x33228
00033208
00033208loc_33208:
00033208ldr x1, [sp+72]
0003320cldr w2, [x1+88]
00033210ldr w3, [sp+64]
00033214subs wzr, w2, w3
00033218b.eq 0x33228
0003321cadd x4, x3, 3
00033220subs wzr, w2, w4
00033224b.ne 0x33350
00033228
00033228loc_33228:
00033228add x0, x1, 120
0003322cstr x0, [sp+160]
00033230bl runtime.lock
00033234ldr x0, [sp+72]
00033238ldr x1, [x0+128]
0003323cb 0x3326c
00033240
00033240loc_33240:
00033240ldr x0, [sp+160]
00033244bl runtime.unlock
00033248ldr x0, [sp+96]
0003324cldr x1, [sp+88]
00033250ldrb w2, [sp+63]
00033254ldr x3, [sp+104]
00033258ldr x4, [sp+136]
0003325cldr x5, [sp+152]
00033260orr x6, xzr, 1
00033264b 0x331a0
00033268
00033268loc_33268:
00033268ldr x1, [x1]
0003326c
0003326cloc_3326c:
0003326ccbz x1, 0x33240
00033270str x1, [sp+128]
00033274ldrb w5, [x1+16]
00033278subs wzr, w5, 1
0003327cb.eq 0x332e0
00033280subs wzr, w5, 2
00033284b.eq 0x332b8
00033288subs wzr, w5, 6
0003328cb.ne 0x33268
00033290add x0, x1, 24
00033294orr x1, xzr, 8
00033298adrp x2, 0x98d000
0003329cadd x2, x2, 1377
000332a0ldr x3, [sp+184]
000332a4mov x4, xzr
000332a8bl runtime.scanblock
000332acldr x0, [sp+72]
000332b0ldr x1, [sp+128]
000332b4b 0x33268
000332b8
000332b8loc_332b8:
000332b8add x0, x1, 24
000332bcorr x1, xzr, 8
000332c0adrp x2, 0x98d000
000332c4add x2, x2, 1377
000332c8ldr x3, [sp+184]
000332ccmov x4, xzr
000332d0bl runtime.scanblock
000332d4ldr x0, [sp+72]
000332d8ldr x1, [sp+128]
000332dcb 0x33268
000332e0
000332e0loc_332e0:
000332e0bl runtime.(*mspan).base
000332e4ldr x1, [sp+72]
000332e8ldr x2, [x1+104]
000332eccbz x2, 0x3334c
000332f0ldr x3, [sp+128]
000332f4ldr x3, [x3+8]
000332f8udiv x3, x3, x2
000332fcldrb w1, [x1+98]
00033300madd x2, x2, x3, x0
00033304str x2, [sp+80]
00033308mov x0, x1
0003330cbl runtime.spanClass.noscan
00033310tbnz w0, 0, 0x33320
00033314ldr x0, [sp+80]
00033318ldr x1, [sp+184]
0003331cbl runtime.scanobject
00033320
00033320loc_33320:
00033320ldr x5, [sp+128]
00033324add x0, x5, 24
00033328orr x1, xzr, 8
0003332cadrp x2, 0x98d000
00033330add x2, x2, 1377
00033334ldr x3, [sp+184]
00033338mov x4, xzr
0003333cbl runtime.scanblock
00033340ldr x0, [sp+72]
00033344ldr x1, [sp+128]
00033348b 0x33268
0003334c
0003334cloc_3334c:
0003334cbl runtime.panicdivide
00033350
00033350loc_33350:
00033350str w2, [sp+68]
00033354bl runtime.printlock
00033358adrp x0, 0x67d000
0003335cadd x0, x0, 2413
00033360orr x1, xzr, 6
00033364bl runtime.printstring
00033368ldr w0, [sp+64]
0003336cstr x0, [sp+120]
00033370ldr w0, [sp+68]
00033374bl runtime.printuint
00033378bl runtime.printsp
0003337cldr x0, [sp+120]
00033380bl runtime.printuint
00033384bl runtime.printnl
00033388bl runtime.printunlock
0003338cadrp x0, 0x681000
00033390add x0, x0, 2244
00033394orr x1, xzr, 16
00033398bl runtime.throw
0003339c
0003339cloc_3339c:
0003339cstrb w0, [sp+62]
000333a0bl runtime.printlock
000333a4adrp x0, 0x67f000
000333a8add x0, x0, 194
000333acmovz x1, 10
000333b0bl runtime.printstring
000333b4ldrb w0, [sp+62]
000333b8bl runtime.printuint
000333bcbl runtime.printnl
000333c0bl runtime.printunlock
000333c4adrp x0, 0x692000
000333c8add x0, x0, 3096
000333ccmovz x1, 43
000333d0bl runtime.throw
000333d4
000333d4loc_333d4:
000333d4mov x0, x7
000333d8orr x1, xzr, 8192
000333dcbl runtime.panicIndexU
000333e0
000333e0loc_333e0:
000333e0orr x1, xzr, 64
000333e4bl runtime.panicSliceAcap
000333e8
000333e8loc_333e8:
000333e8orr x1, xzr, 1024
000333ecbl runtime.panicSliceBU
000333f0
000333f0loc_333f0:
000333f0orr x1, xzr, 0x400000
000333f4bl runtime.panicIndexU
000333f8
000333f8loc_333f8:
000333f8mov x0, x1
000333fcorr x1, xzr, 1
00033400bl runtime.panicIndexU
00033404
00033404loc_33404:
00033404mov x0, x5
00033408mov x1, x2
0003340cbl runtime.panicIndex
00033410hint
00033414
00033414loc_33414:
00033414stp x0, x1, [sp+8]
00033418mov x3, x30
0003341cbl runtime.morestack_noctxt.abi0
00033420ldp x0, x1, [sp+8]
00033424b 0x33080
00033428udf 0
0003342cudf 0
00033080
00033080runtime.markrootSpans: ; void runtime.markrootSpans(runtime.gcWork * gcw, int shard)
00033080ldr x16, [x28+16]
00033084sub x17, sp, 48
00033088subs xzr, x17, x16
0003308cb.ls 0x33414
00033090str x30, [sp-176]!
00033094stur x29, [sp-8]
00033098sub x29, sp, 8
0003309cadrp x27, 0xa0f000
000330a0ldr x2, [x27+2792]
000330a4sbfm x3, x1, 63, 63
000330a8add x3, x1, x3, lsr #60
000330acadrp x27, 0xa0f000
000330b0ldr w4, [x27+2432]
000330b4sbfm x5, x3, 4, 63
000330b8subs xzr, x2, x3, asr #4
000330bcb.ls 0x33404
000330c0str x0, [sp+184]
000330c4str x1, [sp+192]
000330c8str w4, [sp+64]
000330ccadrp x27, 0xa0f000
000330d0ldr x1, [x27+2784]
000330d4ldr x0, [x1+3*x5]
000330d8str x0, [sp+112]
000330dcbl runtime.arenaIdx.l1
000330e0str x0, [sp+144]
000330e4ldr x0, [sp+112]
000330e8bl runtime.arenaIdx.l2
000330ecldr x1, [sp+144]
000330f0subs xzr, x1, 1
000330f4b.hs 0x333f8
000330f8subs xzr, x0, 0x400000
000330fcb.hs 0x333f0
00033100adrp x27, 0xa0f000
00033104ldr x3, [x27+2648]
00033108ldrsb x27, [x3]
0003310cldr x3, [x3+3*x0]
00033110ldrsb x27, [x3]
00033114ldr x4, [sp+192]
00033118ubfm x0, x4, 58, 3
0003311cmovz x5, 2048
00033120movk x5, 0x10000
00033124add x5, x3, x5
00033128subs xzr, x0, 1024
0003312cb.hi 0x333e8
00033130ubfm x4, x4, 55, 3
00033134orr x6, xzr, 1024
00033138sub x2, x6, x4, lsr #3
0003313csub x6, xzr, x2
00033140sbfm x6, x6, 63, 63
00033144and x6, x6, x4, lsr #3
00033148add x5, x6, x5
0003314csubs xzr, x2, 64
00033150b.lo 0x333e0
00033154str x3, [sp+104]
00033158str x4, [sp+136]
0003315cstr x5, [sp+152]
00033160mov x0, xzr
00033164b 0x3316c
00033168
00033168loc_33168:
00033168add x0, x0, 1
0003316c
0003316cloc_3316c:
0003316csubs xzr, x0, 64
00033170b.ge 0x33194
00033174add x2, x0, x5
00033178ldarb w2, [x2]
0003317cubfm x6, x2, 0, 7
00033180cbz w6, 0x33168
00033184str x0, [sp+96]
00033188strb w2, [sp+63]
0003318cmov x1, xzr
00033190b 0x331a4
00033194
00033194loc_33194:
00033194ldur x29, [sp-8]
00033198ldr x30, [sp], 176
0003319cret x30
000331a0
000331a0loc_331a0:
000331a0add x1, x1, 1
000331a4
000331a4loc_331a4:
000331a4subs xzr, x1, 8
000331a8b.hs 0x33168
000331acorr x6, xzr, 1
000331b0lslv x7, x6, x1
000331b4and x7, x2, x7
000331b8ubfm x7, x7, 0, 7
000331bccbz w7, 0x331a0
000331c0add x7, x4, x0, lsl #3
000331c4add x7, x1, x7
000331c8subs xzr, x7, 8192
000331ccb.hs 0x333d4
000331d0str x1, [sp+88]
000331d4ldr x1, [x3+3*x7]
000331d8str x1, [sp+72]
000331dcldrsb x27, [x1]
000331e0add x0, x1, 99
000331e4bl runtime.(*mSpanStateBox).get
000331e8ubfm x1, x0, 0, 7
000331ecsubs wzr, w1, 1
000331f0b.ne 0x3339c
000331f4adrp x27, 0xa18000
000331f8ldrb w1, [x27+1519]
000331fctbz w1, 0, 0x33208
00033200ldr x1, [sp+72]
00033204b 0x33228
00033208
00033208loc_33208:
00033208ldr x1, [sp+72]
0003320cldr w2, [x1+88]
00033210ldr w3, [sp+64]
00033214subs wzr, w2, w3
00033218b.eq 0x33228
0003321cadd x4, x3, 3
00033220subs wzr, w2, w4
00033224b.ne 0x33350
00033228
00033228loc_33228:
00033228add x0, x1, 120
0003322cstr x0, [sp+160]
00033230bl runtime.lock
00033234ldr x0, [sp+72]
00033238ldr x1, [x0+128]
0003323cb 0x3326c
00033240
00033240loc_33240:
00033240ldr x0, [sp+160]
00033244bl runtime.unlock
00033248ldr x0, [sp+96]
0003324cldr x1, [sp+88]
00033250ldrb w2, [sp+63]
00033254ldr x3, [sp+104]
00033258ldr x4, [sp+136]
0003325cldr x5, [sp+152]
00033260orr x6, xzr, 1
00033264b 0x331a0
00033268
00033268loc_33268:
00033268ldr x1, [x1]
0003326c
0003326cloc_3326c:
0003326ccbz x1, 0x33240
00033270str x1, [sp+128]
00033274ldrb w5, [x1+16]
00033278subs wzr, w5, 1
0003327cb.eq 0x332e0
00033280subs wzr, w5, 2
00033284b.eq 0x332b8
00033288subs wzr, w5, 6
0003328cb.ne 0x33268
00033290add x0, x1, 24
00033294orr x1, xzr, 8
00033298adrp x2, 0x98d000
0003329cadd x2, x2, 1377
000332a0ldr x3, [sp+184]
000332a4mov x4, xzr
000332a8bl runtime.scanblock
000332acldr x0, [sp+72]
000332b0ldr x1, [sp+128]
000332b4b 0x33268
000332b8
000332b8loc_332b8:
000332b8add x0, x1, 24
000332bcorr x1, xzr, 8
000332c0adrp x2, 0x98d000
000332c4add x2, x2, 1377
000332c8ldr x3, [sp+184]
000332ccmov x4, xzr
000332d0bl runtime.scanblock
000332d4ldr x0, [sp+72]
000332d8ldr x1, [sp+128]
000332dcb 0x33268
000332e0
000332e0loc_332e0:
000332e0bl runtime.(*mspan).base
000332e4ldr x1, [sp+72]
000332e8ldr x2, [x1+104]
000332eccbz x2, 0x3334c
000332f0ldr x3, [sp+128]
000332f4ldr x3, [x3+8]
000332f8udiv x3, x3, x2
000332fcldrb w1, [x1+98]
00033300madd x2, x2, x3, x0
00033304str x2, [sp+80]
00033308mov x0, x1
0003330cbl runtime.spanClass.noscan
00033310tbnz w0, 0, 0x33320
00033314ldr x0, [sp+80]
00033318ldr x1, [sp+184]
0003331cbl runtime.scanobject
00033320
00033320loc_33320:
00033320ldr x5, [sp+128]
00033324add x0, x5, 24
00033328orr x1, xzr, 8
0003332cadrp x2, 0x98d000
00033330add x2, x2, 1377
00033334ldr x3, [sp+184]
00033338mov x4, xzr
0003333cbl runtime.scanblock
00033340ldr x0, [sp+72]
00033344ldr x1, [sp+128]
00033348b 0x33268
0003334c
0003334cloc_3334c:
0003334cbl runtime.panicdivide
00033350
00033350loc_33350:
00033350str w2, [sp+68]
00033354bl runtime.printlock
00033358adrp x0, 0x67d000
0003335cadd x0, x0, 2413
00033360orr x1, xzr, 6
00033364bl runtime.printstring
00033368ldr w0, [sp+64]
0003336cstr x0, [sp+120]
00033370ldr w0, [sp+68]
00033374bl runtime.printuint
00033378bl runtime.printsp
0003337cldr x0, [sp+120]
00033380bl runtime.printuint
00033384bl runtime.printnl
00033388bl runtime.printunlock
0003338cadrp x0, 0x681000
00033390add x0, x0, 2244
00033394orr x1, xzr, 16
00033398bl runtime.throw
0003339c
0003339cloc_3339c:
0003339cstrb w0, [sp+62]
000333a0bl runtime.printlock
000333a4adrp x0, 0x67f000
000333a8add x0, x0, 194
000333acmovz x1, 10
000333b0bl runtime.printstring
000333b4ldrb w0, [sp+62]
000333b8bl runtime.printuint
000333bcbl runtime.printnl
000333c0bl runtime.printunlock
000333c4adrp x0, 0x692000
000333c8add x0, x0, 3096
000333ccmovz x1, 43
000333d0bl runtime.throw
000333d4
000333d4loc_333d4:
000333d4mov x0, x7
000333d8orr x1, xzr, 8192
000333dcbl runtime.panicIndexU
000333e0
000333e0loc_333e0:
000333e0orr x1, xzr, 64
000333e4bl runtime.panicSliceAcap
000333e8
000333e8loc_333e8:
000333e8orr x1, xzr, 1024
000333ecbl runtime.panicSliceBU
000333f0
000333f0loc_333f0:
000333f0orr x1, xzr, 0x400000
000333f4bl runtime.panicIndexU
000333f8
000333f8loc_333f8:
000333f8mov x0, x1
000333fcorr x1, xzr, 1
00033400bl runtime.panicIndexU
00033404
00033404loc_33404:
00033404mov x0, x5
00033408mov x1, x2
0003340cbl runtime.panicIndex
00033410hint
00033414
00033414loc_33414:
00033414stp x0, x1, [sp+8]
00033418mov x3, x30
0003341cbl runtime.morestack_noctxt.abi0
00033420ldp x0, x1, [sp+8]
00033424b 0x33080
00033428udf 0
0003342cudf 0
00033080
00033430
00033430runtime.gcAssistAlloc: ; void runtime.gcAssistAlloc(runtime.g * gp)
00033430ldr x16, [x28+16]
00033434sub x17, sp, 48
00033438subs xzr, x17, x16
0003343cb.ls 0x33840
00033440str x30, [sp-176]!
00033444stur x29, [sp-8]
00033448sub x29, sp, 8
0003344cstr xzr, [sp+160]
00033450strb wzr, [sp+31]
00033454ldr x1, [x0+48]
00033458ldr x1, [x1]
0003345csubs xzr, x28, x1
00033460b.eq 0x334f0
00033464ldr x1, [x28+48]
00033468ldrsw x2, [x1+264]
0003346csubs wzr, w2, 0
00033470b.gt 0x3347c
00033474ldr x1, [x1+256]
00033478cbz x1, 0x33488
0003347c
0003347cloc_3347c:
0003347cldur x29, [sp-8]
00033480ldr x30, [sp], 176
00033484ret x30
00033488
00033488loc_33488:
00033488ldr x1, [x28+392]
0003348ccbz x1, 0x334d8
00033490str x28, [sp+104]
00033494adrp x27, 0xa18000
00033498ldr w2, [x27+3056]
0003349ccbz w2, 0x334ac
000334a0ldr x2, [x28+392]
000334a4bl runtime.gcWriteBarrier1
000334a8str x2, [x25]
000334ac
000334acloc_334ac:
000334acldr x2, [sp+104]
000334b0str xzr, [x2+392]
000334b4adrp x3, 0
000334b8add x3, x3, 2208
000334bcstr x3, [sp+112]
000334c0str x2, [sp+120]
000334c4str x1, [sp+128]
000334c8add x2, sp, 112
000334ccstr x2, [sp+160]
000334d0orr x2, xzr, 1
000334d4strb w2, [sp+31]
000334d8
000334d8loc_334d8:
000334d8str x0, [sp+184]
000334dcsubs xzr, x1, 0
000334e0cset x1, ne
000334e4strb w1, [sp+30]
000334e8mov x2, xzr
000334ecb 0x33500
000334f0
000334f0loc_334f0:
000334f0ldur x29, [sp-8]
000334f4ldr x30, [sp], 176
000334f8ret x30
000334fc
000334fcloc_334fc:
000334fcorr x2, xzr, 1
00033500
00033500loc_33500:
00033500strb w2, [sp+29]
00033504adrp x0, 0xa18000
00033508add x0, x0, 4032
0003350cbl runtime.(*gcCPULimiterState).limiting
00033510tbnz w0, 0, 0x337c0
00033514adrp x0, 0xa19000
00033518add x0, x0, 2744
0003351cbl internal/runtime/atomic.(*Float64).Load
00033520str d0, [sp+56]
00033524adrp x0, 0xa19000
00033528add x0, x0, 2752
0003352cbl internal/runtime/atomic.(*Float64).Load
00033530str d0, [sp+64]
00033534ldr x1, [sp+184]
00033538ldr x1, [x1+432]
0003353cstr x1, [sp+88]
00033540sub x1, xzr, x1
00033544scvtf d1, x1
00033548ldr d2, [sp+56]
0003354cfmul d1, d2, d1
00033550fcvtzs x1, d1
00033554str x1, [sp+40]
00033558adrp x27, 0x6dd000
0003355cldr d1, [x27+3224]
00033560fmul d0, d1, d0
00033564fcvtzs x1, d0
00033568str x1, [sp+48]
0003356cadrp x0, 0xa19000
00033570add x0, x0, 2680
00033574bl internal/runtime/atomic.(*Int64).Load
00033578ldr x1, [sp+40]
0003357csubs xzr, x1, 0x10000
00033580ldr x2, [sp+48]
00033584ldr x3, [sp+88]
00033588csneg x2, x2, x3, lt
0003358corr x3, xzr, 0x10000
00033590csel x1, x3, x1, lt
00033594subs xzr, x0, 0
00033598b.le 0x33610
0003359cstr x1, [sp+80]
000335a0subs xzr, x0, x1
000335a4b.ge 0x335d0
000335a8ldr x2, [sp+184]
000335acldr x4, [x2+432]
000335b0scvtf d0, x0
000335b4ldr d1, [sp+64]
000335b8fmul d0, d1, d0
000335bcfcvtzs x5, d0
000335c0add x4, x4, x5
000335c4add x4, x4, 1
000335c8str x4, [x2+432]
000335ccb 0x335e4
000335d0
000335d0loc_335d0:
000335d0ldr x4, [sp+184]
000335d4ldr x5, [x4+432]
000335d8add x2, x2, x5
000335dcstr x2, [x4+432]
000335e0mov x0, x1
000335e4
000335e4loc_335e4:
000335e4str x0, [sp+32]
000335e8sub x1, xzr, x0
000335ecadrp x0, 0xa19000
000335f0add x0, x0, 2680
000335f4bl internal/runtime/atomic.(*Int64).Add
000335f8ldr x2, [sp+80]
000335fcldr x3, [sp+32]
00033600sub x2, x2, x3
00033604cbz x2, 0x33750
00033608orr x3, xzr, 0x10000
0003360cmov x1, x2
00033610
00033610loc_33610:
00033610ldrb w0, [sp+29]
00033614tbnz w0, 0, 0x33670
00033618str x1, [sp+40]
0003361cbl runtime.traceAcquire
00033620str x0, [sp+96]
00033624str x1, [sp+72]
00033628bl runtime.traceLocker.ok
0003362ctbnz w0, 0, 0x33640
00033630orr x0, xzr, 1
00033634ldr x1, [sp+184]
00033638strb w0, [x1+194]
0003363cb 0x3366c
00033640
00033640loc_33640:
00033640ldr x0, [sp+96]
00033644ldr x1, [sp+72]
00033648bl runtime.traceLocker.GCMarkAssistStart
0003364corr x2, xzr, 1
00033650ldr x3, [sp+184]
00033654strb w2, [x3+194]
00033658ldr x0, [sp+96]
0003365cldr x1, [sp+72]
00033660bl runtime.traceRelease
00033664orr x0, xzr, 1
00033668ldr x1, [sp+184]
0003366c
0003366cloc_3366c:
0003366cldr x1, [sp+40]
00033670
00033670loc_33670:
00033670adrp x0, 0
00033674add x0, x0, 2144
00033678str x0, [sp+136]
0003367cldr x0, [sp+184]
00033680str x0, [sp+144]
00033684str x1, [sp+152]
00033688add x0, sp, 136
0003368cstr x0, [sp+8]
00033690bl runtime.systemstack.abi0
00033694ldr x0, [sp+184]
00033698ldr x1, [x0+144]
0003369cadrp x27, 0xa18000
000336a0ldr w2, [x27+3056]
000336a4cbz w2, 0x336b4
000336a8ldr x2, [x0+144]
000336acbl runtime.gcWriteBarrier1
000336b0str x2, [x25]
000336b4
000336b4loc_336b4:
000336b4str xzr, [x0+144]
000336b8cbz x1, 0x336c4
000336bcbl runtime.gcMarkDone
000336c0ldr x0, [sp+184]
000336c4
000336c4loc_336c4:
000336c4ldr x1, [x0+432]
000336c8tbz x1, 63, 0x336e8
000336ccldrb w1, [x0+185]
000336d0tbz w1, 0, 0x336e0
000336d4bl runtime.Gosched
000336d8orr x2, xzr, 1
000336dcb 0x33500
000336e0
000336e0loc_336e0:
000336e0bl runtime.gcParkAssist
000336e4tbz w0, 0, 0x334fc
000336e8
000336e8loc_336e8:
000336e8bl runtime.traceAcquire
000336ecstr x0, [sp+96]
000336f0str x1, [sp+72]
000336f4bl runtime.traceLocker.ok
000336f8tbnz w0, 0, 0x33708
000336fcldr x0, [sp+184]
00033700strb wzr, [x0+194]
00033704b 0x33728
00033708
00033708loc_33708:
00033708ldr x0, [sp+96]
0003370cldr x1, [sp+72]
00033710bl runtime.traceLocker.GCMarkAssistDone
00033714ldr x2, [sp+184]
00033718strb wzr, [x2+194]
0003371cldr x0, [sp+96]
00033720ldr x1, [sp+72]
00033724bl runtime.traceRelease
00033728
00033728loc_33728:
00033728ldrb w0, [sp+30]
0003372ctbz w0, 0, 0x33744
00033730and x0, x0, -2
00033734strb w0, [sp+31]
00033738ldr x26, [sp+160]
0003373cldr x0, [x26]
00033740blr x0
00033744
00033744loc_33744:
00033744ldur x29, [sp-8]
00033748ldr x30, [sp], 176
0003374cret x30
00033750
00033750loc_33750:
00033750ldrb w0, [sp+29]
00033754tbz w0, 0, 0x33798
00033758bl runtime.traceAcquire
0003375cstr x0, [sp+96]
00033760str x1, [sp+72]
00033764bl runtime.traceLocker.ok
00033768tbnz w0, 0, 0x33778
0003376cldr x0, [sp+184]
00033770strb wzr, [x0+194]
00033774b 0x33798
00033778
00033778loc_33778:
00033778ldr x0, [sp+96]
0003377cldr x1, [sp+72]
00033780bl runtime.traceLocker.GCMarkAssistDone
00033784ldr x2, [sp+184]
00033788strb wzr, [x2+194]
0003378cldr x0, [sp+96]
00033790ldr x1, [sp+72]
00033794bl runtime.traceRelease
00033798
00033798loc_33798:
00033798ldrb w0, [sp+30]
0003379ctbz w0, 0, 0x337b4
000337a0and x0, x0, -2
000337a4strb w0, [sp+31]
000337a8ldr x26, [sp+160]
000337acldr x0, [x26]
000337b0blr x0
000337b4
000337b4loc_337b4:
000337b4ldur x29, [sp-8]
000337b8ldr x30, [sp], 176
000337bcret x30
000337c0
000337c0loc_337c0:
000337c0ldrb w0, [sp+29]
000337c4tbz w0, 0, 0x33808
000337c8bl runtime.traceAcquire
000337ccstr x0, [sp+96]
000337d0str x1, [sp+72]
000337d4bl runtime.traceLocker.ok
000337d8tbnz w0, 0, 0x337e8
000337dcldr x0, [sp+184]
000337e0strb wzr, [x0+194]
000337e4b 0x33808
000337e8
000337e8loc_337e8:
000337e8ldr x0, [sp+96]
000337ecldr x1, [sp+72]
000337f0bl runtime.traceLocker.GCMarkAssistDone
000337f4ldr x2, [sp+184]
000337f8strb wzr, [x2+194]
000337fcldr x0, [sp+96]
00033800ldr x1, [sp+72]
00033804bl runtime.traceRelease
00033808
00033808loc_33808:
00033808ldrb w0, [sp+30]
0003380ctbz w0, 0, 0x33824
00033810and x0, x0, -2
00033814strb w0, [sp+31]
00033818ldr x26, [sp+160]
0003381cldr x0, [x26]
00033820blr x0
00033824
00033824loc_33824:
00033824ldur x29, [sp-8]
00033828ldr x30, [sp], 176
0003382cret x30
00033830bl runtime.deferreturn
00033834ldur x29, [sp-8]
00033838ldr x30, [sp], 176
0003383cret x30
00033840
00033840loc_33840:
00033840str x0, [sp+8]
00033844mov x3, x30
00033848bl runtime.morestack_noctxt.abi0
0003384cldr x0, [sp+8]
00033850b 0x33430
00033854udf 0
00033858udf 0
0003385cudf 0
00033430
00033430runtime.gcAssistAlloc: ; void runtime.gcAssistAlloc(runtime.g * gp)
00033430ldr x16, [x28+16]
00033434sub x17, sp, 48
00033438subs xzr, x17, x16
0003343cb.ls 0x33840
00033440str x30, [sp-176]!
00033444stur x29, [sp-8]
00033448sub x29, sp, 8
0003344cstr xzr, [sp+160]
00033450strb wzr, [sp+31]
00033454ldr x1, [x0+48]
00033458ldr x1, [x1]
0003345csubs xzr, x28, x1
00033460b.eq 0x334f0
00033464ldr x1, [x28+48]
00033468ldrsw x2, [x1+264]
0003346csubs wzr, w2, 0
00033470b.gt 0x3347c
00033474ldr x1, [x1+256]
00033478cbz x1, 0x33488
0003347c
0003347cloc_3347c:
0003347cldur x29, [sp-8]
00033480ldr x30, [sp], 176
00033484ret x30
00033488
00033488loc_33488:
00033488ldr x1, [x28+392]
0003348ccbz x1, 0x334d8
00033490str x28, [sp+104]
00033494adrp x27, 0xa18000
00033498ldr w2, [x27+3056]
0003349ccbz w2, 0x334ac
000334a0ldr x2, [x28+392]
000334a4bl runtime.gcWriteBarrier1
000334a8str x2, [x25]
000334ac
000334acloc_334ac:
000334acldr x2, [sp+104]
000334b0str xzr, [x2+392]
000334b4adrp x3, 0
000334b8add x3, x3, 2208
000334bcstr x3, [sp+112]
000334c0str x2, [sp+120]
000334c4str x1, [sp+128]
000334c8add x2, sp, 112
000334ccstr x2, [sp+160]
000334d0orr x2, xzr, 1
000334d4strb w2, [sp+31]
000334d8
000334d8loc_334d8:
000334d8str x0, [sp+184]
000334dcsubs xzr, x1, 0
000334e0cset x1, ne
000334e4strb w1, [sp+30]
000334e8mov x2, xzr
000334ecb 0x33500
000334f0
000334f0loc_334f0:
000334f0ldur x29, [sp-8]
000334f4ldr x30, [sp], 176
000334f8ret x30
000334fc
000334fcloc_334fc:
000334fcorr x2, xzr, 1
00033500
00033500loc_33500:
00033500strb w2, [sp+29]
00033504adrp x0, 0xa18000
00033508add x0, x0, 4032
0003350cbl runtime.(*gcCPULimiterState).limiting
00033510tbnz w0, 0, 0x337c0
00033514adrp x0, 0xa19000
00033518add x0, x0, 2744
0003351cbl internal/runtime/atomic.(*Float64).Load
00033520str d0, [sp+56]
00033524adrp x0, 0xa19000
00033528add x0, x0, 2752
0003352cbl internal/runtime/atomic.(*Float64).Load
00033530str d0, [sp+64]
00033534ldr x1, [sp+184]
00033538ldr x1, [x1+432]
0003353cstr x1, [sp+88]
00033540sub x1, xzr, x1
00033544scvtf d1, x1
00033548ldr d2, [sp+56]
0003354cfmul d1, d2, d1
00033550fcvtzs x1, d1
00033554str x1, [sp+40]
00033558adrp x27, 0x6dd000
0003355cldr d1, [x27+3224]
00033560fmul d0, d1, d0
00033564fcvtzs x1, d0
00033568str x1, [sp+48]
0003356cadrp x0, 0xa19000
00033570add x0, x0, 2680
00033574bl internal/runtime/atomic.(*Int64).Load
00033578ldr x1, [sp+40]
0003357csubs xzr, x1, 0x10000
00033580ldr x2, [sp+48]
00033584ldr x3, [sp+88]
00033588csneg x2, x2, x3, lt
0003358corr x3, xzr, 0x10000
00033590csel x1, x3, x1, lt
00033594subs xzr, x0, 0
00033598b.le 0x33610
0003359cstr x1, [sp+80]
000335a0subs xzr, x0, x1
000335a4b.ge 0x335d0
000335a8ldr x2, [sp+184]
000335acldr x4, [x2+432]
000335b0scvtf d0, x0
000335b4ldr d1, [sp+64]
000335b8fmul d0, d1, d0
000335bcfcvtzs x5, d0
000335c0add x4, x4, x5
000335c4add x4, x4, 1
000335c8str x4, [x2+432]
000335ccb 0x335e4
000335d0
000335d0loc_335d0:
000335d0ldr x4, [sp+184]
000335d4ldr x5, [x4+432]
000335d8add x2, x2, x5
000335dcstr x2, [x4+432]
000335e0mov x0, x1
000335e4
000335e4loc_335e4:
000335e4str x0, [sp+32]
000335e8sub x1, xzr, x0
000335ecadrp x0, 0xa19000
000335f0add x0, x0, 2680
000335f4bl internal/runtime/atomic.(*Int64).Add
000335f8ldr x2, [sp+80]
000335fcldr x3, [sp+32]
00033600sub x2, x2, x3
00033604cbz x2, 0x33750
00033608orr x3, xzr, 0x10000
0003360cmov x1, x2
00033610
00033610loc_33610:
00033610ldrb w0, [sp+29]
00033614tbnz w0, 0, 0x33670
00033618str x1, [sp+40]
0003361cbl runtime.traceAcquire
00033620str x0, [sp+96]
00033624str x1, [sp+72]
00033628bl runtime.traceLocker.ok
0003362ctbnz w0, 0, 0x33640
00033630orr x0, xzr, 1
00033634ldr x1, [sp+184]
00033638strb w0, [x1+194]
0003363cb 0x3366c
00033640
00033640loc_33640:
00033640ldr x0, [sp+96]
00033644ldr x1, [sp+72]
00033648bl runtime.traceLocker.GCMarkAssistStart
0003364corr x2, xzr, 1
00033650ldr x3, [sp+184]
00033654strb w2, [x3+194]
00033658ldr x0, [sp+96]
0003365cldr x1, [sp+72]
00033660bl runtime.traceRelease
00033664orr x0, xzr, 1
00033668ldr x1, [sp+184]
0003366c
0003366cloc_3366c:
0003366cldr x1, [sp+40]
00033670
00033670loc_33670:
00033670adrp x0, 0
00033674add x0, x0, 2144
00033678str x0, [sp+136]
0003367cldr x0, [sp+184]
00033680str x0, [sp+144]
00033684str x1, [sp+152]
00033688add x0, sp, 136
0003368cstr x0, [sp+8]
00033690bl runtime.systemstack.abi0
00033694ldr x0, [sp+184]
00033698ldr x1, [x0+144]
0003369cadrp x27, 0xa18000
000336a0ldr w2, [x27+3056]
000336a4cbz w2, 0x336b4
000336a8ldr x2, [x0+144]
000336acbl runtime.gcWriteBarrier1
000336b0str x2, [x25]
000336b4
000336b4loc_336b4:
000336b4str xzr, [x0+144]
000336b8cbz x1, 0x336c4
000336bcbl runtime.gcMarkDone
000336c0ldr x0, [sp+184]
000336c4
000336c4loc_336c4:
000336c4ldr x1, [x0+432]
000336c8tbz x1, 63, 0x336e8
000336ccldrb w1, [x0+185]
000336d0tbz w1, 0, 0x336e0
000336d4bl runtime.Gosched
000336d8orr x2, xzr, 1
000336dcb 0x33500
000336e0
000336e0loc_336e0:
000336e0bl runtime.gcParkAssist
000336e4tbz w0, 0, 0x334fc
000336e8
000336e8loc_336e8:
000336e8bl runtime.traceAcquire
000336ecstr x0, [sp+96]
000336f0str x1, [sp+72]
000336f4bl runtime.traceLocker.ok
000336f8tbnz w0, 0, 0x33708
000336fcldr x0, [sp+184]
00033700strb wzr, [x0+194]
00033704b 0x33728
00033708
00033708loc_33708:
00033708ldr x0, [sp+96]
0003370cldr x1, [sp+72]
00033710bl runtime.traceLocker.GCMarkAssistDone
00033714ldr x2, [sp+184]
00033718strb wzr, [x2+194]
0003371cldr x0, [sp+96]
00033720ldr x1, [sp+72]
00033724bl runtime.traceRelease
00033728
00033728loc_33728:
00033728ldrb w0, [sp+30]
0003372ctbz w0, 0, 0x33744
00033730and x0, x0, -2
00033734strb w0, [sp+31]
00033738ldr x26, [sp+160]
0003373cldr x0, [x26]
00033740blr x0
00033744
00033744loc_33744:
00033744ldur x29, [sp-8]
00033748ldr x30, [sp], 176
0003374cret x30
00033750
00033750loc_33750:
00033750ldrb w0, [sp+29]
00033754tbz w0, 0, 0x33798
00033758bl runtime.traceAcquire
0003375cstr x0, [sp+96]
00033760str x1, [sp+72]
00033764bl runtime.traceLocker.ok
00033768tbnz w0, 0, 0x33778
0003376cldr x0, [sp+184]
00033770strb wzr, [x0+194]
00033774b 0x33798
00033778
00033778loc_33778:
00033778ldr x0, [sp+96]
0003377cldr x1, [sp+72]
00033780bl runtime.traceLocker.GCMarkAssistDone
00033784ldr x2, [sp+184]
00033788strb wzr, [x2+194]
0003378cldr x0, [sp+96]
00033790ldr x1, [sp+72]
00033794bl runtime.traceRelease
00033798
00033798loc_33798:
00033798ldrb w0, [sp+30]
0003379ctbz w0, 0, 0x337b4
000337a0and x0, x0, -2
000337a4strb w0, [sp+31]
000337a8ldr x26, [sp+160]
000337acldr x0, [x26]
000337b0blr x0
000337b4
000337b4loc_337b4:
000337b4ldur x29, [sp-8]
000337b8ldr x30, [sp], 176
000337bcret x30
000337c0
000337c0loc_337c0:
000337c0ldrb w0, [sp+29]
000337c4tbz w0, 0, 0x33808
000337c8bl runtime.traceAcquire
000337ccstr x0, [sp+96]
000337d0str x1, [sp+72]
000337d4bl runtime.traceLocker.ok
000337d8tbnz w0, 0, 0x337e8
000337dcldr x0, [sp+184]
000337e0strb wzr, [x0+194]
000337e4b 0x33808
000337e8
000337e8loc_337e8:
000337e8ldr x0, [sp+96]
000337ecldr x1, [sp+72]
000337f0bl runtime.traceLocker.GCMarkAssistDone
000337f4ldr x2, [sp+184]
000337f8strb wzr, [x2+194]
000337fcldr x0, [sp+96]
00033800ldr x1, [sp+72]
00033804bl runtime.traceRelease
00033808
00033808loc_33808:
00033808ldrb w0, [sp+30]
0003380ctbz w0, 0, 0x33824
00033810and x0, x0, -2
00033814strb w0, [sp+31]
00033818ldr x26, [sp+160]
0003381cldr x0, [x26]
00033820blr x0
00033824
00033824loc_33824:
00033824ldur x29, [sp-8]
00033828ldr x30, [sp], 176
0003382cret x30
00033830bl runtime.deferreturn
00033834ldur x29, [sp-8]
00033838ldr x30, [sp], 176
0003383cret x30
00033840
00033840loc_33840:
00033840str x0, [sp+8]
00033844mov x3, x30
00033848bl runtime.morestack_noctxt.abi0
0003384cldr x0, [sp+8]
00033850b 0x33430
00033854udf 0
00033858udf 0
0003385cudf 0
00033430
00033860
00033860runtime.gcAssistAlloc.func2: ; void runtime.gcAssistAlloc.func2(void)
00033860ldr x16, [x28+16]
00033864subs xzr, sp, x16
00033868b.ls 0x33890
0003386cstr x30, [sp-32]!
00033870stur x29, [sp-8]
00033874sub x29, sp, 8
00033878ldr x1, [x26+16]
0003387cldr x0, [x26+8]
00033880bl runtime.gcAssistAlloc1
00033884ldur x29, [sp-8]
00033888ldr x30, [sp], 32
0003388cret x30
00033890
00033890loc_33890:
00033890mov x3, x30
00033894bl runtime.morestack.abi0
00033898b 0x33860
0003389cudf 0
00033860
00033860runtime.gcAssistAlloc.func2: ; void runtime.gcAssistAlloc.func2(void)
00033860ldr x16, [x28+16]
00033864subs xzr, sp, x16
00033868b.ls 0x33890
0003386cstr x30, [sp-32]!
00033870stur x29, [sp-8]
00033874sub x29, sp, 8
00033878ldr x1, [x26+16]
0003387cldr x0, [x26+8]
00033880bl runtime.gcAssistAlloc1
00033884ldur x29, [sp-8]
00033888ldr x30, [sp], 32
0003388cret x30
00033890
00033890loc_33890:
00033890mov x3, x30
00033894bl runtime.morestack.abi0
00033898b 0x33860
0003389cudf 0
00033860
000338a0
000338a0runtime.gcAssistAlloc.func1: ; void runtime.gcAssistAlloc.func1(void)
000338a0ldr x16, [x28+16]
000338a4subs xzr, sp, x16
000338a8b.ls 0x338f0
000338acstr x30, [sp-16]!
000338b0stur x29, [sp-8]
000338b4sub x29, sp, 8
000338b8ldr x0, [x26+8]
000338bcldrsb x27, [x0]
000338c0ldr x1, [x26+16]
000338c4adrp x27, 0xa18000
000338c8ldr w2, [x27+3056]
000338cccbz w2, 0x338e0
000338d0bl runtime.gcWriteBarrier2
000338d4str x1, [x25]
000338d8ldr x2, [x0+392]
000338dcstr x2, [x25+8]
000338e0
000338e0loc_338e0:
000338e0str x1, [x0+392]
000338e4ldur x29, [sp-8]
000338e8ldr x30, [sp], 16
000338ecret x30
000338f0
000338f0loc_338f0:
000338f0mov x3, x30
000338f4bl runtime.morestack.abi0
000338f8b 0x338a0
000338fcudf 0
000338a0
000338a0runtime.gcAssistAlloc.func1: ; void runtime.gcAssistAlloc.func1(void)
000338a0ldr x16, [x28+16]
000338a4subs xzr, sp, x16
000338a8b.ls 0x338f0
000338acstr x30, [sp-16]!
000338b0stur x29, [sp-8]
000338b4sub x29, sp, 8
000338b8ldr x0, [x26+8]
000338bcldrsb x27, [x0]
000338c0ldr x1, [x26+16]
000338c4adrp x27, 0xa18000
000338c8ldr w2, [x27+3056]
000338cccbz w2, 0x338e0
000338d0bl runtime.gcWriteBarrier2
000338d4str x1, [x25]
000338d8ldr x2, [x0+392]
000338dcstr x2, [x25+8]
000338e0
000338e0loc_338e0:
000338e0str x1, [x0+392]
000338e4ldur x29, [sp-8]
000338e8ldr x30, [sp], 16
000338ecret x30
000338f0
000338f0loc_338f0:
000338f0mov x3, x30
000338f4bl runtime.morestack.abi0
000338f8b 0x338a0
000338fcudf 0
000338a0
00033900
00033900runtime.gcAssistAlloc1: ; void runtime.gcAssistAlloc1(runtime.g * gp, int64 scanWork)
00033900ldr x16, [x28+24]
00033904subs xzr, sp, x16
00033908b.ls 0x33c2c
0003390cstr x30, [sp-96]!
00033910stur x29, [sp-8]
00033914sub x29, sp, 8
00033918ldrsb x27, [x0]
0003391cadrp x27, 0xa18000
00033920ldr w2, [x27+3056]
00033924cbz w2, 0x33934
00033928ldr x2, [x0+144]
0003392cbl runtime.gcWriteBarrier1
00033930str x2, [x25]
00033934
00033934loc_33934:
00033934str xzr, [x0+144]
00033938adrp x2, 0xa18000
0003393cadd x2, x2, 1604
00033940ldar w2, [x2]
00033944cbz w2, 0x33b70
00033948str x0, [sp+104]
0003394cstr x1, [sp+112]
00033950bl runtime.nanotime
00033954str x0, [sp+56]
00033958ldr x0, [sp+104]
0003395cldr x0, [x0+48]
00033960ldr x0, [x0+208]
00033964bl runtime.puintptr.ptr
00033968ldrsb x27, [x0]
0003396cmovz x1, 4656
00033970add x0, x0, x1
00033974orr x1, xzr, 2
00033978ldr x2, [sp+56]
0003397cbl runtime.(*limiterEvent).start
00033980adrp x27, 0xa18000
00033984ldrb w1, [x27+1516]
00033988tbz w1, 0, 0x339a4
0003398cmovn x3, 0
00033990adrp x4, 0x9f1000
00033994add x4, x4, 3008
00033998ldaddal w3, w5, [x4]
0003399cadd x5, x5, x3
000339a0b 0x339c0
000339a4
000339a4loc_339a4:
000339a4movn x3, 0
000339a8adrp x4, 0x9f1000
000339acadd x4, x4, 3008
000339b0
000339b0loc_339b0:
000339b0ldaxr w5, [x4]
000339b4add x5, x5, x3
000339b8stlxr w27, w5, [x4]
000339bccbnz x27, 0x339b0
000339c0
000339c0loc_339c0:
000339c0adrp x27, 0x9f1000
000339c4ldr w3, [x27+2992]
000339c8subs wzr, w5, w3
000339ccb.eq 0x33bd4
000339d0strb w0, [sp+35]
000339d4ldr x0, [sp+104]
000339d8orr x1, xzr, 2
000339dcorr x2, xzr, 1
000339e0bl runtime.casGToWaitingForSuspendG
000339e4ldr x3, [x28+48]
000339e8ldr x0, [x3+208]
000339ecbl runtime.puintptr.ptr
000339f0ldrsb x27, [x0]
000339f4movz x3, 4680
000339f8add x0, x0, x3
000339fcldr x1, [sp+112]
00033a00bl runtime.gcDrainN
00033a04str x0, [sp+48]
00033a08ldr x0, [sp+104]
00033a0corr x1, xzr, 4
00033a10orr x2, xzr, 2
00033a14bl runtime.casgstatus
00033a18adrp x0, 0xa19000
00033a1cadd x0, x0, 2752
00033a20bl internal/runtime/atomic.(*Float64).Load
00033a24ldr x3, [sp+104]
00033a28ldr x4, [x3+432]
00033a2cldr x5, [sp+48]
00033a30scvtf d1, x5
00033a34fmul d0, d0, d1
00033a38fcvtzs x5, d0
00033a3cadd x4, x5, x4
00033a40add x4, x4, 1
00033a44str x4, [x3+432]
00033a48adrp x27, 0xa18000
00033a4cldrb w4, [x27+1516]
00033a50tbz w4, 0, 0x33a6c
00033a54orr x1, xzr, 1
00033a58adrp x2, 0x9f1000
00033a5cadd x2, x2, 3008
00033a60ldaddal w1, w4, [x2]
00033a64add x4, x4, x1
00033a68b 0x33a88
00033a6c
00033a6cloc_33a6c:
00033a6corr x1, xzr, 1
00033a70adrp x2, 0x9f1000
00033a74add x2, x2, 3008
00033a78
00033a78loc_33a78:
00033a78ldaxr w4, [x2]
00033a7cadd x4, x4, x1
00033a80stlxr w27, w4, [x2]
00033a84cbnz x27, 0x33a78
00033a88
00033a88loc_33a88:
00033a88adrp x27, 0x9f1000
00033a8cldr w1, [x27+2992]
00033a90subs wzr, w4, w1
00033a94b.hi 0x33b80
00033a98b.ne 0x33ad4
00033a9cmov x0, xzr
00033aa0bl runtime.gcMarkWorkAvailable
00033aa4tbnz w0, 0, 0x33ad4
00033aa8adrp x27, 0xa18000
00033aacldr w0, [x27+3056]
00033ab0cbnz w0, 0x33abc
00033ab4ldr x0, [sp+104]
00033ab8b 0x33ad0
00033abc
00033abcloc_33abc:
00033abcbl runtime.gcWriteBarrier2
00033ac0ldr x0, [sp+104]
00033ac4str x0, [x25]
00033ac8ldr x1, [x0+144]
00033accstr x1, [x25+8]
00033ad0
00033ad0loc_33ad0:
00033ad0str x0, [x0+144]
00033ad4
00033ad4loc_33ad4:
00033ad4bl runtime.nanotime
00033ad8str x0, [sp+64]
00033adcldr x1, [sp+56]
00033ae0sub x0, x0, x1
00033ae4str x0, [sp+72]
00033ae8ldr x0, [sp+104]
00033aecldr x0, [x0+48]
00033af0ldr x0, [x0+208]
00033af4bl runtime.puintptr.ptr
00033af8str x0, [sp+80]
00033afcldrsb x27, [x0]
00033b00ldr x1, [x0+4640]
00033b04ldr x2, [sp+72]
00033b08add x1, x2, x1
00033b0cstr x1, [x0+4640]
00033b10ldrb w1, [sp+35]
00033b14tbz w1, 0, 0x33b30
00033b18movz x3, 4656
00033b1cadd x0, x0, x3
00033b20orr x1, xzr, 2
00033b24ldr x2, [sp+64]
00033b28bl runtime.(*limiterEvent).stop
00033b2cldr x0, [sp+80]
00033b30
00033b30loc_33b30:
00033b30ldr x1, [x0+4640]
00033b34movz x2, 5000
00033b38subs xzr, x1, x2
00033b3cb.le 0x33b64
00033b40adrp x0, 0xa19000
00033b44add x0, x0, 2688
00033b48bl internal/runtime/atomic.(*Int64).Add
00033b4cadrp x0, 0xa18000
00033b50add x0, x0, 4032
00033b54ldr x1, [sp+64]
00033b58bl runtime.(*gcCPULimiterState).update
00033b5cldr x2, [sp+80]
00033b60str xzr, [x2+4640]
00033b64
00033b64loc_33b64:
00033b64ldur x29, [sp-8]
00033b68ldr x30, [sp], 96
00033b6cret x30
00033b70
00033b70loc_33b70:
00033b70str xzr, [x0+432]
00033b74ldur x29, [sp-8]
00033b78ldr x30, [sp], 96
00033b7cret x30
00033b80
00033b80loc_33b80:
00033b80str w4, [sp+36]
00033b84str w1, [sp+44]
00033b88bl runtime.printlock
00033b8cadrp x0, 0x684000
00033b90add x0, x0, 459
00033b94movz x1, 21
00033b98bl runtime.printstring
00033b9cldr w0, [sp+36]
00033ba0bl runtime.printuint
00033ba4adrp x0, 0x680000
00033ba8add x0, x0, 1472
00033bacmovz x1, 13
00033bb0bl runtime.printstring
00033bb4ldr w0, [sp+44]
00033bb8bl runtime.printuint
00033bbcbl runtime.printnl
00033bc0bl runtime.printunlock
00033bc4adrp x0, 0x685000
00033bc8add x0, x0, 1076
00033bccmovz x1, 23
00033bd0bl runtime.throw
00033bd4
00033bd4loc_33bd4:
00033bd4str w5, [sp+40]
00033bd8str w3, [sp+44]
00033bdcbl runtime.printlock
00033be0adrp x0, 0x684000
00033be4add x0, x0, 2600
00033be8movz x1, 22
00033becbl runtime.printstring
00033bf0ldr w0, [sp+40]
00033bf4bl runtime.printuint
00033bf8adrp x0, 0x680000
00033bfcadd x0, x0, 1472
00033c00movz x1, 13
00033c04bl runtime.printstring
00033c08ldr w0, [sp+44]
00033c0cbl runtime.printuint
00033c10bl runtime.printnl
00033c14bl runtime.printunlock
00033c18adrp x0, 0x682000
00033c1cadd x0, x0, 4093
00033c20movz x1, 19
00033c24bl runtime.throw
00033c28hint
00033c2c
00033c2cloc_33c2c:
00033c2cstp x0, x1, [sp+8]
00033c30mov x3, x30
00033c34bl runtime.morestackc.abi0
00033c38ldp x0, x1, [sp+8]
00033c3cb 0x33900
00033900
00033900runtime.gcAssistAlloc1: ; void runtime.gcAssistAlloc1(runtime.g * gp, int64 scanWork)
00033900ldr x16, [x28+24]
00033904subs xzr, sp, x16
00033908b.ls 0x33c2c
0003390cstr x30, [sp-96]!
00033910stur x29, [sp-8]
00033914sub x29, sp, 8
00033918ldrsb x27, [x0]
0003391cadrp x27, 0xa18000
00033920ldr w2, [x27+3056]
00033924cbz w2, 0x33934
00033928ldr x2, [x0+144]
0003392cbl runtime.gcWriteBarrier1
00033930str x2, [x25]
00033934
00033934loc_33934:
00033934str xzr, [x0+144]
00033938adrp x2, 0xa18000
0003393cadd x2, x2, 1604
00033940ldar w2, [x2]
00033944cbz w2, 0x33b70
00033948str x0, [sp+104]
0003394cstr x1, [sp+112]
00033950bl runtime.nanotime
00033954str x0, [sp+56]
00033958ldr x0, [sp+104]
0003395cldr x0, [x0+48]
00033960ldr x0, [x0+208]
00033964bl runtime.puintptr.ptr
00033968ldrsb x27, [x0]
0003396cmovz x1, 4656
00033970add x0, x0, x1
00033974orr x1, xzr, 2
00033978ldr x2, [sp+56]
0003397cbl runtime.(*limiterEvent).start
00033980adrp x27, 0xa18000
00033984ldrb w1, [x27+1516]
00033988tbz w1, 0, 0x339a4
0003398cmovn x3, 0
00033990adrp x4, 0x9f1000
00033994add x4, x4, 3008
00033998ldaddal w3, w5, [x4]
0003399cadd x5, x5, x3
000339a0b 0x339c0
000339a4
000339a4loc_339a4:
000339a4movn x3, 0
000339a8adrp x4, 0x9f1000
000339acadd x4, x4, 3008
000339b0
000339b0loc_339b0:
000339b0ldaxr w5, [x4]
000339b4add x5, x5, x3
000339b8stlxr w27, w5, [x4]
000339bccbnz x27, 0x339b0
000339c0
000339c0loc_339c0:
000339c0adrp x27, 0x9f1000
000339c4ldr w3, [x27+2992]
000339c8subs wzr, w5, w3
000339ccb.eq 0x33bd4
000339d0strb w0, [sp+35]
000339d4ldr x0, [sp+104]
000339d8orr x1, xzr, 2
000339dcorr x2, xzr, 1
000339e0bl runtime.casGToWaitingForSuspendG
000339e4ldr x3, [x28+48]
000339e8ldr x0, [x3+208]
000339ecbl runtime.puintptr.ptr
000339f0ldrsb x27, [x0]
000339f4movz x3, 4680
000339f8add x0, x0, x3
000339fcldr x1, [sp+112]
00033a00bl runtime.gcDrainN
00033a04str x0, [sp+48]
00033a08ldr x0, [sp+104]
00033a0corr x1, xzr, 4
00033a10orr x2, xzr, 2
00033a14bl runtime.casgstatus
00033a18adrp x0, 0xa19000
00033a1cadd x0, x0, 2752
00033a20bl internal/runtime/atomic.(*Float64).Load
00033a24ldr x3, [sp+104]
00033a28ldr x4, [x3+432]
00033a2cldr x5, [sp+48]
00033a30scvtf d1, x5
00033a34fmul d0, d0, d1
00033a38fcvtzs x5, d0
00033a3cadd x4, x5, x4
00033a40add x4, x4, 1
00033a44str x4, [x3+432]
00033a48adrp x27, 0xa18000
00033a4cldrb w4, [x27+1516]
00033a50tbz w4, 0, 0x33a6c
00033a54orr x1, xzr, 1
00033a58adrp x2, 0x9f1000
00033a5cadd x2, x2, 3008
00033a60ldaddal w1, w4, [x2]
00033a64add x4, x4, x1
00033a68b 0x33a88
00033a6c
00033a6cloc_33a6c:
00033a6corr x1, xzr, 1
00033a70adrp x2, 0x9f1000
00033a74add x2, x2, 3008
00033a78
00033a78loc_33a78:
00033a78ldaxr w4, [x2]
00033a7cadd x4, x4, x1
00033a80stlxr w27, w4, [x2]
00033a84cbnz x27, 0x33a78
00033a88
00033a88loc_33a88:
00033a88adrp x27, 0x9f1000
00033a8cldr w1, [x27+2992]
00033a90subs wzr, w4, w1
00033a94b.hi 0x33b80
00033a98b.ne 0x33ad4
00033a9cmov x0, xzr
00033aa0bl runtime.gcMarkWorkAvailable
00033aa4tbnz w0, 0, 0x33ad4
00033aa8adrp x27, 0xa18000
00033aacldr w0, [x27+3056]
00033ab0cbnz w0, 0x33abc
00033ab4ldr x0, [sp+104]
00033ab8b 0x33ad0
00033abc
00033abcloc_33abc:
00033abcbl runtime.gcWriteBarrier2
00033ac0ldr x0, [sp+104]
00033ac4str x0, [x25]
00033ac8ldr x1, [x0+144]
00033accstr x1, [x25+8]
00033ad0
00033ad0loc_33ad0:
00033ad0str x0, [x0+144]
00033ad4
00033ad4loc_33ad4:
00033ad4bl runtime.nanotime
00033ad8str x0, [sp+64]
00033adcldr x1, [sp+56]
00033ae0sub x0, x0, x1
00033ae4str x0, [sp+72]
00033ae8ldr x0, [sp+104]
00033aecldr x0, [x0+48]
00033af0ldr x0, [x0+208]
00033af4bl runtime.puintptr.ptr
00033af8str x0, [sp+80]
00033afcldrsb x27, [x0]
00033b00ldr x1, [x0+4640]
00033b04ldr x2, [sp+72]
00033b08add x1, x2, x1
00033b0cstr x1, [x0+4640]
00033b10ldrb w1, [sp+35]
00033b14tbz w1, 0, 0x33b30
00033b18movz x3, 4656
00033b1cadd x0, x0, x3
00033b20orr x1, xzr, 2
00033b24ldr x2, [sp+64]
00033b28bl runtime.(*limiterEvent).stop
00033b2cldr x0, [sp+80]
00033b30
00033b30loc_33b30:
00033b30ldr x1, [x0+4640]
00033b34movz x2, 5000
00033b38subs xzr, x1, x2
00033b3cb.le 0x33b64
00033b40adrp x0, 0xa19000
00033b44add x0, x0, 2688
00033b48bl internal/runtime/atomic.(*Int64).Add
00033b4cadrp x0, 0xa18000
00033b50add x0, x0, 4032
00033b54ldr x1, [sp+64]
00033b58bl runtime.(*gcCPULimiterState).update
00033b5cldr x2, [sp+80]
00033b60str xzr, [x2+4640]
00033b64
00033b64loc_33b64:
00033b64ldur x29, [sp-8]
00033b68ldr x30, [sp], 96
00033b6cret x30
00033b70
00033b70loc_33b70:
00033b70str xzr, [x0+432]
00033b74ldur x29, [sp-8]
00033b78ldr x30, [sp], 96
00033b7cret x30
00033b80
00033b80loc_33b80:
00033b80str w4, [sp+36]
00033b84str w1, [sp+44]
00033b88bl runtime.printlock
00033b8cadrp x0, 0x684000
00033b90add x0, x0, 459
00033b94movz x1, 21
00033b98bl runtime.printstring
00033b9cldr w0, [sp+36]
00033ba0bl runtime.printuint
00033ba4adrp x0, 0x680000
00033ba8add x0, x0, 1472
00033bacmovz x1, 13
00033bb0bl runtime.printstring
00033bb4ldr w0, [sp+44]
00033bb8bl runtime.printuint
00033bbcbl runtime.printnl
00033bc0bl runtime.printunlock
00033bc4adrp x0, 0x685000
00033bc8add x0, x0, 1076
00033bccmovz x1, 23
00033bd0bl runtime.throw
00033bd4
00033bd4loc_33bd4:
00033bd4str w5, [sp+40]
00033bd8str w3, [sp+44]
00033bdcbl runtime.printlock
00033be0adrp x0, 0x684000
00033be4add x0, x0, 2600
00033be8movz x1, 22
00033becbl runtime.printstring
00033bf0ldr w0, [sp+40]
00033bf4bl runtime.printuint
00033bf8adrp x0, 0x680000
00033bfcadd x0, x0, 1472
00033c00movz x1, 13
00033c04bl runtime.printstring
00033c08ldr w0, [sp+44]
00033c0cbl runtime.printuint
00033c10bl runtime.printnl
00033c14bl runtime.printunlock
00033c18adrp x0, 0x682000
00033c1cadd x0, x0, 4093
00033c20movz x1, 19
00033c24bl runtime.throw
00033c28hint
00033c2c
00033c2cloc_33c2c:
00033c2cstp x0, x1, [sp+8]
00033c30mov x3, x30
00033c34bl runtime.morestackc.abi0
00033c38ldp x0, x1, [sp+8]
00033c3cb 0x33900
00033900
Loading..