File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
00037720
00037720runtime.gcControllerCommit: ; void runtime.gcControllerCommit(void)
00037720ldr x16, [x28+24]
00037724subs xzr, sp, x16
00037728b.ls 0x377d8
0003772cstr x30, [sp-64]!
00037730stur x29, [sp-8]
00037734sub x29, sp, 8
00037738adrp x0, 0x9fb000
0003773cadd x0, x0, 2112
00037740bl runtime.assertWorldStoppedOrLockHeld
00037744bl runtime.isSweepDone
00037748mov x1, x0
0003774cadrp x0, 0xa15000
00037750add x0, x0, 2496
00037754bl runtime.(*gcControllerState).commit
00037758adrp x27, 0xa14000
0003775cldr w1, [x27+1600]
00037760cbz w1, 0x37770
00037764adrp x0, 0xa15000
00037768add x0, x0, 2496
0003776cbl runtime.(*gcControllerState).revise
00037770
00037770loc_37770:
00037770bl runtime.traceAcquire
00037774str x0, [sp+48]
00037778str x1, [sp+40]
0003777cbl runtime.traceLocker.ok
00037780tbz w0, 0, 0x3779c
00037784ldr x0, [sp+48]
00037788ldr x1, [sp+40]
0003778cbl runtime.traceLocker.HeapGoal
00037790ldr x0, [sp+48]
00037794ldr x1, [sp+40]
00037798bl runtime.traceRelease
0003779c
0003779cloc_3779c:
0003779cadrp x0, 0xa15000
000377a0add x0, x0, 2496
000377a4bl runtime.(*gcControllerState).trigger
000377a8str x1, [sp+32]
000377acbl runtime.gcPaceSweeper
000377b0adrp x0, 0xa15000
000377b4add x0, x0, 2504
000377b8bl internal/runtime/atomic.(*Int64).Load
000377bcadrp x27, 0xa15000
000377c0ldr x2, [x27+2592]
000377c4ldr x1, [sp+32]
000377c8bl runtime.gcPaceScavenger
000377ccldur x29, [sp-8]
000377d0ldr x30, [sp], 64
000377d4ret x30
000377d8
000377d8loc_377d8:
000377d8mov x3, x30
000377dcbl runtime.morestackc.abi0
000377e0b 0x37720
000377e4udf 0
000377e8udf 0
000377ecudf 0
00037720
00037720runtime.gcControllerCommit: ; void runtime.gcControllerCommit(void)
00037720ldr x16, [x28+24]
00037724subs xzr, sp, x16
00037728b.ls 0x377d8
0003772cstr x30, [sp-64]!
00037730stur x29, [sp-8]
00037734sub x29, sp, 8
00037738adrp x0, 0x9fb000
0003773cadd x0, x0, 2112
00037740bl runtime.assertWorldStoppedOrLockHeld
00037744bl runtime.isSweepDone
00037748mov x1, x0
0003774cadrp x0, 0xa15000
00037750add x0, x0, 2496
00037754bl runtime.(*gcControllerState).commit
00037758adrp x27, 0xa14000
0003775cldr w1, [x27+1600]
00037760cbz w1, 0x37770
00037764adrp x0, 0xa15000
00037768add x0, x0, 2496
0003776cbl runtime.(*gcControllerState).revise
00037770
00037770loc_37770:
00037770bl runtime.traceAcquire
00037774str x0, [sp+48]
00037778str x1, [sp+40]
0003777cbl runtime.traceLocker.ok
00037780tbz w0, 0, 0x3779c
00037784ldr x0, [sp+48]
00037788ldr x1, [sp+40]
0003778cbl runtime.traceLocker.HeapGoal
00037790ldr x0, [sp+48]
00037794ldr x1, [sp+40]
00037798bl runtime.traceRelease
0003779c
0003779cloc_3779c:
0003779cadrp x0, 0xa15000
000377a0add x0, x0, 2496
000377a4bl runtime.(*gcControllerState).trigger
000377a8str x1, [sp+32]
000377acbl runtime.gcPaceSweeper
000377b0adrp x0, 0xa15000
000377b4add x0, x0, 2504
000377b8bl internal/runtime/atomic.(*Int64).Load
000377bcadrp x27, 0xa15000
000377c0ldr x2, [x27+2592]
000377c4ldr x1, [sp+32]
000377c8bl runtime.gcPaceScavenger
000377ccldur x29, [sp-8]
000377d0ldr x30, [sp], 64
000377d4ret x30
000377d8
000377d8loc_377d8:
000377d8mov x3, x30
000377dcbl runtime.morestackc.abi0
000377e0b 0x37720
000377e4udf 0
000377e8udf 0
000377ecudf 0
00037720
000377f0
000377f0runtime.heapRetained: ; void runtime.heapRetained(void)
000377f0ldr x16, [x28+16]
000377f4subs xzr, sp, x16
000377f8b.ls 0x37838
000377fcstr x30, [sp-32]!
00037800stur x29, [sp-8]
00037804sub x29, sp, 8
00037808adrp x0, 0xa15000
0003780cadd x0, x0, 2768
00037810bl runtime.(*sysMemStat).load
00037814str x0, [sp+16]
00037818adrp x0, 0xa15000
0003781cadd x0, x0, 2784
00037820bl runtime.(*sysMemStat).load
00037824ldr x1, [sp+16]
00037828add x0, x1, x0
0003782cldur x29, [sp-8]
00037830ldr x30, [sp], 32
00037834ret x30
00037838
00037838loc_37838:
00037838mov x3, x30
0003783cbl runtime.morestack_noctxt.abi0
00037840b 0x377f0
00037844udf 0
00037848udf 0
0003784cudf 0
000377f0
000377f0runtime.heapRetained: ; void runtime.heapRetained(void)
000377f0ldr x16, [x28+16]
000377f4subs xzr, sp, x16
000377f8b.ls 0x37838
000377fcstr x30, [sp-32]!
00037800stur x29, [sp-8]
00037804sub x29, sp, 8
00037808adrp x0, 0xa15000
0003780cadd x0, x0, 2768
00037810bl runtime.(*sysMemStat).load
00037814str x0, [sp+16]
00037818adrp x0, 0xa15000
0003781cadd x0, x0, 2784
00037820bl runtime.(*sysMemStat).load
00037824ldr x1, [sp+16]
00037828add x0, x1, x0
0003782cldur x29, [sp-8]
00037830ldr x30, [sp], 32
00037834ret x30
00037838
00037838loc_37838:
00037838mov x3, x30
0003783cbl runtime.morestack_noctxt.abi0
00037840b 0x377f0
00037844udf 0
00037848udf 0
0003784cudf 0
000377f0
00037850
00037850runtime.gcPaceScavenger: ; void runtime.gcPaceScavenger(int64 memoryLimit, uint64 heapGoal, uint64 lastHeapGoal)
00037850ldr x16, [x28+16]
00037854subs xzr, sp, x16
00037858b.ls 0x379a8
0003785cstr x30, [sp-64]!
00037860stur x29, [sp-8]
00037864sub x29, sp, 8
00037868str x0, [sp+72]
0003786cstr x1, [sp+80]
00037870str x2, [sp+88]
00037874adrp x0, 0x9fb000
00037878add x0, x0, 2112
0003787cbl runtime.assertWorldStoppedOrLockHeld
00037880ldr x1, [sp+72]
00037884scvtf d0, x1
00037888adrp x27, 0x6d9000
0003788cldr d1, [x27+3184]
00037890fmul d0, d1, d0
00037894fcvtzu x1, d0
00037898str x1, [sp+32]
0003789cadrp x0, 0xa15000
000378a0add x0, x0, 2808
000378a4bl internal/runtime/atomic.(*Uint64).Load
000378a8ldr x1, [sp+32]
000378acsubs xzr, x0, x1
000378b0b.hi 0x378c8
000378b4adrp x0, 0xa14000
000378b8add x0, x0, 3496
000378bcmovn x1, 0
000378c0bl internal/runtime/atomic.(*Uint64).Store
000378c4b 0x378d4
000378c8
000378c8loc_378c8:
000378c8adrp x0, 0xa14000
000378ccadd x0, x0, 3496
000378d0bl internal/runtime/atomic.(*Uint64).Store
000378d4
000378d4loc_378d4:
000378d4ldr x0, [sp+88]
000378d8cbz x0, 0x3798c
000378dcldr x1, [sp+80]
000378e0ucvtf d0, x1
000378e4ucvtf d1, x0
000378e8fdiv d0, d0, d1
000378ecadrp x27, 0xa1b000
000378f0ldr x0, [x27+592]
000378f4ucvtf d1, x0
000378f8fmul d0, d0, d1
000378fcfcvtzu x0, d0
00037900movz x1, 52429
00037904movk x1, 0xcccc0000
00037908movk x1, 0xcccc00000000
0003790cmovk x1, 0xcccc000000000000
00037910umulh x1, x1, x0
00037914add x0, x0, x1, lsr #3
00037918str x0, [sp+40]
0003791cadrp x27, 0xa14000
00037920ldr x0, [x27+1760]
00037924str x0, [sp+48]
00037928bl runtime.heapRetained
0003792cldr x1, [sp+40]
00037930ldr x2, [sp+48]
00037934add x1, x1, x2
00037938sub x1, x1, 1
0003793csub x2, xzr, x2
00037940and x1, x1, x2
00037944subs xzr, x0, x1
00037948b.ls 0x37960
0003794csub x2, x0, x1
00037950adrp x27, 0xa14000
00037954ldr x3, [x27+1760]
00037958subs xzr, x3, x2
0003795cb.ls 0x37974
00037960
00037960loc_37960:
00037960adrp x0, 0xa14000
00037964add x0, x0, 3488
00037968movn x1, 0
0003796cbl internal/runtime/atomic.(*Uint64).Store
00037970b 0x37980
00037974
00037974loc_37974:
00037974adrp x0, 0xa14000
00037978add x0, x0, 3488
0003797cbl internal/runtime/atomic.(*Uint64).Store
00037980
00037980loc_37980:
00037980ldur x29, [sp-8]
00037984ldr x30, [sp], 64
00037988ret x30
0003798c
0003798cloc_3798c:
0003798cadrp x0, 0xa14000
00037990add x0, x0, 3488
00037994movn x1, 0
00037998bl internal/runtime/atomic.(*Uint64).Store
0003799cldur x29, [sp-8]
000379a0ldr x30, [sp], 64
000379a4ret x30
000379a8
000379a8loc_379a8:
000379a8stp x0, x1, [sp+8]
000379acstr x2, [sp+24]
000379b0mov x3, x30
000379b4bl runtime.morestack_noctxt.abi0
000379b8ldp x0, x1, [sp+8]
000379bcldr x2, [sp+24]
000379c0b 0x37850
000379c4udf 0
000379c8udf 0
000379ccudf 0
00037850
00037850runtime.gcPaceScavenger: ; void runtime.gcPaceScavenger(int64 memoryLimit, uint64 heapGoal, uint64 lastHeapGoal)
00037850ldr x16, [x28+16]
00037854subs xzr, sp, x16
00037858b.ls 0x379a8
0003785cstr x30, [sp-64]!
00037860stur x29, [sp-8]
00037864sub x29, sp, 8
00037868str x0, [sp+72]
0003786cstr x1, [sp+80]
00037870str x2, [sp+88]
00037874adrp x0, 0x9fb000
00037878add x0, x0, 2112
0003787cbl runtime.assertWorldStoppedOrLockHeld
00037880ldr x1, [sp+72]
00037884scvtf d0, x1
00037888adrp x27, 0x6d9000
0003788cldr d1, [x27+3184]
00037890fmul d0, d1, d0
00037894fcvtzu x1, d0
00037898str x1, [sp+32]
0003789cadrp x0, 0xa15000
000378a0add x0, x0, 2808
000378a4bl internal/runtime/atomic.(*Uint64).Load
000378a8ldr x1, [sp+32]
000378acsubs xzr, x0, x1
000378b0b.hi 0x378c8
000378b4adrp x0, 0xa14000
000378b8add x0, x0, 3496
000378bcmovn x1, 0
000378c0bl internal/runtime/atomic.(*Uint64).Store
000378c4b 0x378d4
000378c8
000378c8loc_378c8:
000378c8adrp x0, 0xa14000
000378ccadd x0, x0, 3496
000378d0bl internal/runtime/atomic.(*Uint64).Store
000378d4
000378d4loc_378d4:
000378d4ldr x0, [sp+88]
000378d8cbz x0, 0x3798c
000378dcldr x1, [sp+80]
000378e0ucvtf d0, x1
000378e4ucvtf d1, x0
000378e8fdiv d0, d0, d1
000378ecadrp x27, 0xa1b000
000378f0ldr x0, [x27+592]
000378f4ucvtf d1, x0
000378f8fmul d0, d0, d1
000378fcfcvtzu x0, d0
00037900movz x1, 52429
00037904movk x1, 0xcccc0000
00037908movk x1, 0xcccc00000000
0003790cmovk x1, 0xcccc000000000000
00037910umulh x1, x1, x0
00037914add x0, x0, x1, lsr #3
00037918str x0, [sp+40]
0003791cadrp x27, 0xa14000
00037920ldr x0, [x27+1760]
00037924str x0, [sp+48]
00037928bl runtime.heapRetained
0003792cldr x1, [sp+40]
00037930ldr x2, [sp+48]
00037934add x1, x1, x2
00037938sub x1, x1, 1
0003793csub x2, xzr, x2
00037940and x1, x1, x2
00037944subs xzr, x0, x1
00037948b.ls 0x37960
0003794csub x2, x0, x1
00037950adrp x27, 0xa14000
00037954ldr x3, [x27+1760]
00037958subs xzr, x3, x2
0003795cb.ls 0x37974
00037960
00037960loc_37960:
00037960adrp x0, 0xa14000
00037964add x0, x0, 3488
00037968movn x1, 0
0003796cbl internal/runtime/atomic.(*Uint64).Store
00037970b 0x37980
00037974
00037974loc_37974:
00037974adrp x0, 0xa14000
00037978add x0, x0, 3488
0003797cbl internal/runtime/atomic.(*Uint64).Store
00037980
00037980loc_37980:
00037980ldur x29, [sp-8]
00037984ldr x30, [sp], 64
00037988ret x30
0003798c
0003798cloc_3798c:
0003798cadrp x0, 0xa14000
00037990add x0, x0, 3488
00037994movn x1, 0
00037998bl internal/runtime/atomic.(*Uint64).Store
0003799cldur x29, [sp-8]
000379a0ldr x30, [sp], 64
000379a4ret x30
000379a8
000379a8loc_379a8:
000379a8stp x0, x1, [sp+8]
000379acstr x2, [sp+24]
000379b0mov x3, x30
000379b4bl runtime.morestack_noctxt.abi0
000379b8ldp x0, x1, [sp+8]
000379bcldr x2, [sp+24]
000379c0b 0x37850
000379c4udf 0
000379c8udf 0
000379ccudf 0
00037850
000379d0
000379d0runtime.(*scavengerState).init: ; void runtime.(*scavengerState).init(runtime.scavengerState * s)
000379d0ldr x16, [x28+16]
000379d4subs xzr, sp, x16
000379d8b.ls 0x37b64
000379dcstr x30, [sp-64]!
000379e0stur x29, [sp-8]
000379e4sub x29, sp, 8
000379e8ldr x2, [x0+8]
000379eccbnz x2, 0x37b50
000379f0str x0, [sp+72]
000379f4orr x1, xzr, 2
000379f8bl runtime.lockInit
000379fcstr x28, [sp+48]
00037a00adrp x27, 0xa14000
00037a04ldr w2, [x27+3056]
00037a08cbnz w2, 0x37a14
00037a0cldr x1, [sp+72]
00037a10b 0x37a28
00037a14
00037a14loc_37a14:
00037a14bl runtime.gcWriteBarrier2
00037a18str x28, [x25]
00037a1cldr x1, [sp+72]
00037a20ldr x2, [x1+8]
00037a24str x2, [x25+8]
00037a28
00037a28loc_37a28:
00037a28ldr x2, [sp+48]
00037a2cstr x2, [x1+8]
00037a30adrp x0, 0x665000
00037a34add x0, x0, 3200
00037a38bl runtime.newobject
00037a3cadrp x27, 0xa14000
00037a40ldr w1, [x27+3056]
00037a44cbnz w1, 0x37a50
00037a48ldr x3, [sp+72]
00037a4cb 0x37a64
00037a50
00037a50loc_37a50:
00037a50bl runtime.gcWriteBarrier2
00037a54str x0, [x25]
00037a58ldr x3, [sp+72]
00037a5cldr x4, [x3+16]
00037a60str x4, [x25+8]
00037a64
00037a64loc_37a64:
00037a64str x0, [x3+16]
00037a68adrp x1, 0x6a1000
00037a6cadd x1, x1, 1592
00037a70adrp x2, 0x626000
00037a74add x2, x2, 2464
00037a78bl runtime.(*timer).init
00037a7cadrp x27, 0x6e1000
00037a80add x27, x27, 3400
00037a84ldp x4, x5, [x27]
00037a88adrp x27, 0x6e1000
00037a8cadd x27, x27, 3416
00037a90ldp x6, x7, [x27]
00037a94adrp x27, 0x6e1000
00037a98add x27, x27, 3432
00037a9cldp x8, x9, [x27]
00037aa0ldr x10, [sp+72]
00037aa4stp x4, x5, [x10+48]
00037aa8stp x6, x7, [x10+64]
00037aacstp x8, x9, [x10+80]
00037ab0str xzr, [x10+96]
00037ab4adrp x27, 0x6d9000
00037ab8ldr d0, [x27+3160]
00037abcstr d0, [x10+40]
00037ac0ldr x4, [x10+120]
00037ac4cbnz x4, 0x37aec
00037ac8adrp x27, 0xa14000
00037accldr w0, [x27+3056]
00037ad0cbz w0, 0x37ae0
00037ad4ldr x0, [x10+120]
00037ad8bl runtime.gcWriteBarrier1
00037adcstr x0, [x25]
00037ae0
00037ae0loc_37ae0:
00037ae0adrp x0, 0x6a1000
00037ae4add x0, x0, 1600
00037ae8str x0, [x10+120]
00037aec
00037aecloc_37aec:
00037aecldr x0, [x10+128]
00037af0cbnz x0, 0x37b18
00037af4adrp x27, 0xa14000
00037af8ldr w0, [x27+3056]
00037afccbz w0, 0x37b0c
00037b00ldr x0, [x10+128]
00037b04bl runtime.gcWriteBarrier1
00037b08str x0, [x25]
00037b0c
00037b0cloc_37b0c:
00037b0cadrp x0, 0x6a1000
00037b10add x0, x0, 1608
00037b14str x0, [x10+128]
00037b18
00037b18loc_37b18:
00037b18ldr x0, [x10+136]
00037b1ccbnz x0, 0x37b44
00037b20adrp x27, 0xa14000
00037b24ldr w0, [x27+3056]
00037b28cbz w0, 0x37b38
00037b2cldr x0, [x10+136]
00037b30bl runtime.gcWriteBarrier1
00037b34str x0, [x25]
00037b38
00037b38loc_37b38:
00037b38adrp x0, 0x6a1000
00037b3cadd x0, x0, 1616
00037b40str x0, [x10+136]
00037b44
00037b44loc_37b44:
00037b44ldur x29, [sp-8]
00037b48ldr x30, [sp], 64
00037b4cret x30
00037b50
00037b50loc_37b50:
00037b50adrp x0, 0x687000
00037b54add x0, x0, 1232
00037b58orr x1, xzr, 32
00037b5cbl runtime.throw
00037b60hint
00037b64
00037b64loc_37b64:
00037b64str x0, [sp+8]
00037b68mov x3, x30
00037b6cbl runtime.morestack_noctxt.abi0
00037b70ldr x0, [sp+8]
00037b74b 0x379d0
00037b78udf 0
00037b7cudf 0
000379d0
000379d0runtime.(*scavengerState).init: ; void runtime.(*scavengerState).init(runtime.scavengerState * s)
000379d0ldr x16, [x28+16]
000379d4subs xzr, sp, x16
000379d8b.ls 0x37b64
000379dcstr x30, [sp-64]!
000379e0stur x29, [sp-8]
000379e4sub x29, sp, 8
000379e8ldr x2, [x0+8]
000379eccbnz x2, 0x37b50
000379f0str x0, [sp+72]
000379f4orr x1, xzr, 2
000379f8bl runtime.lockInit
000379fcstr x28, [sp+48]
00037a00adrp x27, 0xa14000
00037a04ldr w2, [x27+3056]
00037a08cbnz w2, 0x37a14
00037a0cldr x1, [sp+72]
00037a10b 0x37a28
00037a14
00037a14loc_37a14:
00037a14bl runtime.gcWriteBarrier2
00037a18str x28, [x25]
00037a1cldr x1, [sp+72]
00037a20ldr x2, [x1+8]
00037a24str x2, [x25+8]
00037a28
00037a28loc_37a28:
00037a28ldr x2, [sp+48]
00037a2cstr x2, [x1+8]
00037a30adrp x0, 0x665000
00037a34add x0, x0, 3200
00037a38bl runtime.newobject
00037a3cadrp x27, 0xa14000
00037a40ldr w1, [x27+3056]
00037a44cbnz w1, 0x37a50
00037a48ldr x3, [sp+72]
00037a4cb 0x37a64
00037a50
00037a50loc_37a50:
00037a50bl runtime.gcWriteBarrier2
00037a54str x0, [x25]
00037a58ldr x3, [sp+72]
00037a5cldr x4, [x3+16]
00037a60str x4, [x25+8]
00037a64
00037a64loc_37a64:
00037a64str x0, [x3+16]
00037a68adrp x1, 0x6a1000
00037a6cadd x1, x1, 1592
00037a70adrp x2, 0x626000
00037a74add x2, x2, 2464
00037a78bl runtime.(*timer).init
00037a7cadrp x27, 0x6e1000
00037a80add x27, x27, 3400
00037a84ldp x4, x5, [x27]
00037a88adrp x27, 0x6e1000
00037a8cadd x27, x27, 3416
00037a90ldp x6, x7, [x27]
00037a94adrp x27, 0x6e1000
00037a98add x27, x27, 3432
00037a9cldp x8, x9, [x27]
00037aa0ldr x10, [sp+72]
00037aa4stp x4, x5, [x10+48]
00037aa8stp x6, x7, [x10+64]
00037aacstp x8, x9, [x10+80]
00037ab0str xzr, [x10+96]
00037ab4adrp x27, 0x6d9000
00037ab8ldr d0, [x27+3160]
00037abcstr d0, [x10+40]
00037ac0ldr x4, [x10+120]
00037ac4cbnz x4, 0x37aec
00037ac8adrp x27, 0xa14000
00037accldr w0, [x27+3056]
00037ad0cbz w0, 0x37ae0
00037ad4ldr x0, [x10+120]
00037ad8bl runtime.gcWriteBarrier1
00037adcstr x0, [x25]
00037ae0
00037ae0loc_37ae0:
00037ae0adrp x0, 0x6a1000
00037ae4add x0, x0, 1600
00037ae8str x0, [x10+120]
00037aec
00037aecloc_37aec:
00037aecldr x0, [x10+128]
00037af0cbnz x0, 0x37b18
00037af4adrp x27, 0xa14000
00037af8ldr w0, [x27+3056]
00037afccbz w0, 0x37b0c
00037b00ldr x0, [x10+128]
00037b04bl runtime.gcWriteBarrier1
00037b08str x0, [x25]
00037b0c
00037b0cloc_37b0c:
00037b0cadrp x0, 0x6a1000
00037b10add x0, x0, 1608
00037b14str x0, [x10+128]
00037b18
00037b18loc_37b18:
00037b18ldr x0, [x10+136]
00037b1ccbnz x0, 0x37b44
00037b20adrp x27, 0xa14000
00037b24ldr w0, [x27+3056]
00037b28cbz w0, 0x37b38
00037b2cldr x0, [x10+136]
00037b30bl runtime.gcWriteBarrier1
00037b34str x0, [x25]
00037b38
00037b38loc_37b38:
00037b38adrp x0, 0x6a1000
00037b3cadd x0, x0, 1616
00037b40str x0, [x10+136]
00037b44
00037b44loc_37b44:
00037b44ldur x29, [sp-8]
00037b48ldr x30, [sp], 64
00037b4cret x30
00037b50
00037b50loc_37b50:
00037b50adrp x0, 0x687000
00037b54add x0, x0, 1232
00037b58orr x1, xzr, 32
00037b5cbl runtime.throw
00037b60hint
00037b64
00037b64loc_37b64:
00037b64str x0, [sp+8]
00037b68mov x3, x30
00037b6cbl runtime.morestack_noctxt.abi0
00037b70ldr x0, [sp+8]
00037b74b 0x379d0
00037b78udf 0
00037b7cudf 0
000379d0
00037b80
00037b80runtime.(*scavengerState).park: ; void runtime.(*scavengerState).park(runtime.scavengerState * s)
00037b80ldr x16, [x28+16]
00037b84subs xzr, sp, x16
00037b88b.ls 0x37bec
00037b8cstr x30, [sp-48]!
00037b90stur x29, [sp-8]
00037b94sub x29, sp, 8
00037b98str x0, [sp+56]
00037b9cldrsb x27, [x0]
00037ba0bl runtime.lock
00037ba4ldr x0, [sp+56]
00037ba8ldr x1, [x0+8]
00037bacsubs xzr, x28, x1
00037bb0b.ne 0x37bd8
00037bb4orr x4, xzr, 1
00037bb8strb w4, [x0+28]
00037bbcmovz x1, 13
00037bc0movz x2, 10
00037bc4orr x3, xzr, 2
00037bc8bl runtime.goparkunlock
00037bccldur x29, [sp-8]
00037bd0ldr x30, [sp], 48
00037bd4ret x30
00037bd8
00037bd8loc_37bd8:
00037bd8adrp x0, 0x690000
00037bdcadd x0, x0, 939
00037be0movz x1, 46
00037be4bl runtime.throw
00037be8hint
00037bec
00037becloc_37bec:
00037becstr x0, [sp+8]
00037bf0mov x3, x30
00037bf4bl runtime.morestack_noctxt.abi0
00037bf8ldr x0, [sp+8]
00037bfcb 0x37b80
00037b80
00037b80runtime.(*scavengerState).park: ; void runtime.(*scavengerState).park(runtime.scavengerState * s)
00037b80ldr x16, [x28+16]
00037b84subs xzr, sp, x16
00037b88b.ls 0x37bec
00037b8cstr x30, [sp-48]!
00037b90stur x29, [sp-8]
00037b94sub x29, sp, 8
00037b98str x0, [sp+56]
00037b9cldrsb x27, [x0]
00037ba0bl runtime.lock
00037ba4ldr x0, [sp+56]
00037ba8ldr x1, [x0+8]
00037bacsubs xzr, x28, x1
00037bb0b.ne 0x37bd8
00037bb4orr x4, xzr, 1
00037bb8strb w4, [x0+28]
00037bbcmovz x1, 13
00037bc0movz x2, 10
00037bc4orr x3, xzr, 2
00037bc8bl runtime.goparkunlock
00037bccldur x29, [sp-8]
00037bd0ldr x30, [sp], 48
00037bd4ret x30
00037bd8
00037bd8loc_37bd8:
00037bd8adrp x0, 0x690000
00037bdcadd x0, x0, 939
00037be0movz x1, 46
00037be4bl runtime.throw
00037be8hint
00037bec
00037becloc_37bec:
00037becstr x0, [sp+8]
00037bf0mov x3, x30
00037bf4bl runtime.morestack_noctxt.abi0
00037bf8ldr x0, [sp+8]
00037bfcb 0x37b80
00037b80
00037c00
00037c00runtime.(*scavengerState).ready: ; void runtime.(*scavengerState).ready(runtime.scavengerState * s)
00037c00ldr x16, [x28+16]
00037c04subs xzr, sp, x16
00037c08b.ls 0x37c34
00037c0cstr x30, [sp-32]!
00037c10stur x29, [sp-8]
00037c14sub x29, sp, 8
00037c18ldrsb x27, [x0]
00037c1cadd x0, x0, 24
00037c20orr x1, xzr, 1
00037c24bl internal/runtime/atomic.(*Uint32).Store
00037c28ldur x29, [sp-8]
00037c2cldr x30, [sp], 32
00037c30ret x30
00037c34
00037c34loc_37c34:
00037c34str x0, [sp+8]
00037c38mov x3, x30
00037c3cbl runtime.morestack_noctxt.abi0
00037c40ldr x0, [sp+8]
00037c44b 0x37c00
00037c48udf 0
00037c4cudf 0
00037c00
00037c00runtime.(*scavengerState).ready: ; void runtime.(*scavengerState).ready(runtime.scavengerState * s)
00037c00ldr x16, [x28+16]
00037c04subs xzr, sp, x16
00037c08b.ls 0x37c34
00037c0cstr x30, [sp-32]!
00037c10stur x29, [sp-8]
00037c14sub x29, sp, 8
00037c18ldrsb x27, [x0]
00037c1cadd x0, x0, 24
00037c20orr x1, xzr, 1
00037c24bl internal/runtime/atomic.(*Uint32).Store
00037c28ldur x29, [sp-8]
00037c2cldr x30, [sp], 32
00037c30ret x30
00037c34
00037c34loc_37c34:
00037c34str x0, [sp+8]
00037c38mov x3, x30
00037c3cbl runtime.morestack_noctxt.abi0
00037c40ldr x0, [sp+8]
00037c44b 0x37c00
00037c48udf 0
00037c4cudf 0
00037c00
00037c50
00037c50runtime.(*scavengerState).wake: ; void runtime.(*scavengerState).wake(runtime.scavengerState * s)
00037c50ldr x16, [x28+16]
00037c54subs xzr, sp, x16
00037c58b.ls 0x37cc0
00037c5cstr x30, [sp-48]!
00037c60stur x29, [sp-8]
00037c64sub x29, sp, 8
00037c68str x0, [sp+56]
00037c6cldrsb x27, [x0]
00037c70bl runtime.lock
00037c74ldr x0, [sp+56]
00037c78ldrb w1, [x0+28]
00037c7ctbz w1, 0, 0x37cb0
00037c80add x0, x0, 24
00037c84mov x1, xzr
00037c88bl internal/runtime/atomic.(*Uint32).Store
00037c8cldr x2, [sp+56]
00037c90strb wzr, [x2+28]
00037c94str xzr, [sp+32]
00037c98ldr x1, [x2+8]
00037c9cadd x0, sp, 32
00037ca0bl runtime.(*gList).push
00037ca4add x0, sp, 32
00037ca8bl runtime.injectglist
00037cacldr x0, [sp+56]
00037cb0
00037cb0loc_37cb0:
00037cb0bl runtime.unlock
00037cb4ldur x29, [sp-8]
00037cb8ldr x30, [sp], 48
00037cbcret x30
00037cc0
00037cc0loc_37cc0:
00037cc0str x0, [sp+8]
00037cc4mov x3, x30
00037cc8bl runtime.morestack_noctxt.abi0
00037cccldr x0, [sp+8]
00037cd0b 0x37c50
00037cd4udf 0
00037cd8udf 0
00037cdcudf 0
00037c50
00037c50runtime.(*scavengerState).wake: ; void runtime.(*scavengerState).wake(runtime.scavengerState * s)
00037c50ldr x16, [x28+16]
00037c54subs xzr, sp, x16
00037c58b.ls 0x37cc0
00037c5cstr x30, [sp-48]!
00037c60stur x29, [sp-8]
00037c64sub x29, sp, 8
00037c68str x0, [sp+56]
00037c6cldrsb x27, [x0]
00037c70bl runtime.lock
00037c74ldr x0, [sp+56]
00037c78ldrb w1, [x0+28]
00037c7ctbz w1, 0, 0x37cb0
00037c80add x0, x0, 24
00037c84mov x1, xzr
00037c88bl internal/runtime/atomic.(*Uint32).Store
00037c8cldr x2, [sp+56]
00037c90strb wzr, [x2+28]
00037c94str xzr, [sp+32]
00037c98ldr x1, [x2+8]
00037c9cadd x0, sp, 32
00037ca0bl runtime.(*gList).push
00037ca4add x0, sp, 32
00037ca8bl runtime.injectglist
00037cacldr x0, [sp+56]
00037cb0
00037cb0loc_37cb0:
00037cb0bl runtime.unlock
00037cb4ldur x29, [sp-8]
00037cb8ldr x30, [sp], 48
00037cbcret x30
00037cc0
00037cc0loc_37cc0:
00037cc0str x0, [sp+8]
00037cc4mov x3, x30
00037cc8bl runtime.morestack_noctxt.abi0
00037cccldr x0, [sp+8]
00037cd0b 0x37c50
00037cd4udf 0
00037cd8udf 0
00037cdcudf 0
00037c50
00037ce0
00037ce0runtime.(*scavengerState).sleep: ; void runtime.(*scavengerState).sleep(runtime.scavengerState * s, float64 worked)
00037ce0ldr x16, [x28+16]
00037ce4subs xzr, sp, x16
00037ce8b.ls 0x37ebc
00037cecstr x30, [sp-96]!
00037cf0stur x29, [sp-8]
00037cf4sub x29, sp, 8
00037cf8str x0, [sp+104]
00037cfcstr d0, [sp+112]
00037d00ldrsb x27, [x0]
00037d04bl runtime.lock
00037d08ldr x0, [sp+104]
00037d0cldr x1, [x0+8]
00037d10subs xzr, x28, x1
00037d14b.ne 0x37ea8
00037d18ldr d0, [sp+112]
00037d1cadrp x27, 0x6d9000
00037d20ldr d1, [x27+3240]
00037d24fcmp d0, d1
00037d28b.pl 0x37d34
00037d2cadrp x27, 0x6d9000
00037d30ldr d0, [x27+3240]
00037d34
00037d34loc_37d34:
00037d34str d0, [sp+80]
00037d38ldr d1, [x0+40]
00037d3cfdiv d1, d0, d1
00037d40fcvtzs x1, d1
00037d44str x1, [sp+56]
00037d48ldr x2, [x0+112]
00037d4ccbz x2, 0x37d6c
00037d50bl runtime.unlock
00037d54ldr x1, [sp+104]
00037d58ldr x26, [x1+112]
00037d5cldr x1, [x26]
00037d60ldr x0, [sp+56]
00037d64blr x1
00037d68b 0x37de8
00037d6c
00037d6cloc_37d6c:
00037d6cbl runtime.nanotime
00037d70str x0, [sp+48]
00037d74ldr x1, [sp+104]
00037d78ldr x1, [x1+16]
00037d7cldr x2, [sp+56]
00037d80add x0, x2, x0
00037d84mov x2, xzr
00037d88mov x3, x0
00037d8cmov x0, x1
00037d90mov x1, x3
00037d94bl runtime.(*timer).reset
00037d98orr x0, xzr, 1
00037d9cldr x1, [sp+104]
00037da0strb w0, [x1+28]
00037da4mov x0, x1
00037da8movz x1, 19
00037dacorr x2, xzr, 14
00037db0orr x3, xzr, 2
00037db4bl runtime.goparkunlock
00037db8bl runtime.nanotime
00037dbcstr x0, [sp+72]
00037dc0ldr x0, [sp+104]
00037dc4bl runtime.lock
00037dc8ldr x0, [sp+104]
00037dccldr x0, [x0+16]
00037dd0bl runtime.(*timer).stop
00037dd4ldr x0, [sp+104]
00037dd8bl runtime.unlock
00037ddcldr x0, [sp+72]
00037de0ldr x1, [sp+48]
00037de4sub x0, x0, x1
00037de8
00037de8loc_37de8:
00037de8ldr x1, [sp+104]
00037decldr x2, [x1+104]
00037df0subs xzr, x2, 0
00037df4b.le 0x37e28
00037df8ldr d0, [sp+80]
00037dfcfcvtzs x3, d0
00037e00add x0, x0, x3
00037e04subs xzr, x2, x0
00037e08b.ge 0x37e14
00037e0cstr xzr, [x1+104]
00037e10b 0x37e1c
00037e14
00037e14loc_37e14:
00037e14sub x0, x2, x0
00037e18str x0, [x1+104]
00037e1c
00037e1cloc_37e1c:
00037e1cldur x29, [sp-8]
00037e20ldr x30, [sp], 96
00037e24ret x30
00037e28
00037e28loc_37e28:
00037e28scvtf d0, x0
00037e2cldr d1, [sp+80]
00037e30fadd d0, d1, d0
00037e34str d0, [sp+64]
00037e38ldr x26, [x1+136]
00037e3cldr x0, [x26]
00037e40blr x0
00037e44scvtf d0, w0
00037e48ldr d2, [sp+64]
00037e4cfmul d0, d2, d0
00037e50ldr d1, [sp+80]
00037e54fdiv d0, d1, d0
00037e58ldr x0, [sp+104]
00037e5cadd x0, x0, 48
00037e60adrp x27, 0x6d9000
00037e64ldr d1, [x27+3168]
00037e68bl runtime.(*piController).next
00037e6cldr x1, [sp+104]
00037e70str d0, [x1+40]
00037e74tbnz w0, 0, 0x37e9c
00037e78adrp x27, 0x6d9000
00037e7cldr d0, [x27+3160]
00037e80str d0, [x1+40]
00037e84movz x2, 61952
00037e88movk x2, 0x2a050000
00037e8cmovk x2, 0x100000000
00037e90str x2, [x1+104]
00037e94mov x0, x1
00037e98bl runtime.(*scavengerState).controllerFailed
00037e9c
00037e9cloc_37e9c:
00037e9cldur x29, [sp-8]
00037ea0ldr x30, [sp], 96
00037ea4ret x30
00037ea8
00037ea8loc_37ea8:
00037ea8adrp x0, 0x690000
00037eacadd x0, x0, 3292
00037eb0movz x1, 47
00037eb4bl runtime.throw
00037eb8hint
00037ebc
00037ebcloc_37ebc:
00037ebcstr x0, [sp+8]
00037ec0str d0, [sp+16]
00037ec4mov x3, x30
00037ec8bl runtime.morestack_noctxt.abi0
00037eccldr x0, [sp+8]
00037ed0ldr d0, [sp+16]
00037ed4b 0x37ce0
00037ed8udf 0
00037edcudf 0
00037ce0
00037ce0runtime.(*scavengerState).sleep: ; void runtime.(*scavengerState).sleep(runtime.scavengerState * s, float64 worked)
00037ce0ldr x16, [x28+16]
00037ce4subs xzr, sp, x16
00037ce8b.ls 0x37ebc
00037cecstr x30, [sp-96]!
00037cf0stur x29, [sp-8]
00037cf4sub x29, sp, 8
00037cf8str x0, [sp+104]
00037cfcstr d0, [sp+112]
00037d00ldrsb x27, [x0]
00037d04bl runtime.lock
00037d08ldr x0, [sp+104]
00037d0cldr x1, [x0+8]
00037d10subs xzr, x28, x1
00037d14b.ne 0x37ea8
00037d18ldr d0, [sp+112]
00037d1cadrp x27, 0x6d9000
00037d20ldr d1, [x27+3240]
00037d24fcmp d0, d1
00037d28b.pl 0x37d34
00037d2cadrp x27, 0x6d9000
00037d30ldr d0, [x27+3240]
00037d34
00037d34loc_37d34:
00037d34str d0, [sp+80]
00037d38ldr d1, [x0+40]
00037d3cfdiv d1, d0, d1
00037d40fcvtzs x1, d1
00037d44str x1, [sp+56]
00037d48ldr x2, [x0+112]
00037d4ccbz x2, 0x37d6c
00037d50bl runtime.unlock
00037d54ldr x1, [sp+104]
00037d58ldr x26, [x1+112]
00037d5cldr x1, [x26]
00037d60ldr x0, [sp+56]
00037d64blr x1
00037d68b 0x37de8
00037d6c
00037d6cloc_37d6c:
00037d6cbl runtime.nanotime
00037d70str x0, [sp+48]
00037d74ldr x1, [sp+104]
00037d78ldr x1, [x1+16]
00037d7cldr x2, [sp+56]
00037d80add x0, x2, x0
00037d84mov x2, xzr
00037d88mov x3, x0
00037d8cmov x0, x1
00037d90mov x1, x3
00037d94bl runtime.(*timer).reset
00037d98orr x0, xzr, 1
00037d9cldr x1, [sp+104]
00037da0strb w0, [x1+28]
00037da4mov x0, x1
00037da8movz x1, 19
00037dacorr x2, xzr, 14
00037db0orr x3, xzr, 2
00037db4bl runtime.goparkunlock
00037db8bl runtime.nanotime
00037dbcstr x0, [sp+72]
00037dc0ldr x0, [sp+104]
00037dc4bl runtime.lock
00037dc8ldr x0, [sp+104]
00037dccldr x0, [x0+16]
00037dd0bl runtime.(*timer).stop
00037dd4ldr x0, [sp+104]
00037dd8bl runtime.unlock
00037ddcldr x0, [sp+72]
00037de0ldr x1, [sp+48]
00037de4sub x0, x0, x1
00037de8
00037de8loc_37de8:
00037de8ldr x1, [sp+104]
00037decldr x2, [x1+104]
00037df0subs xzr, x2, 0
00037df4b.le 0x37e28
00037df8ldr d0, [sp+80]
00037dfcfcvtzs x3, d0
00037e00add x0, x0, x3
00037e04subs xzr, x2, x0
00037e08b.ge 0x37e14
00037e0cstr xzr, [x1+104]
00037e10b 0x37e1c
00037e14
00037e14loc_37e14:
00037e14sub x0, x2, x0
00037e18str x0, [x1+104]
00037e1c
00037e1cloc_37e1c:
00037e1cldur x29, [sp-8]
00037e20ldr x30, [sp], 96
00037e24ret x30
00037e28
00037e28loc_37e28:
00037e28scvtf d0, x0
00037e2cldr d1, [sp+80]
00037e30fadd d0, d1, d0
00037e34str d0, [sp+64]
00037e38ldr x26, [x1+136]
00037e3cldr x0, [x26]
00037e40blr x0
00037e44scvtf d0, w0
00037e48ldr d2, [sp+64]
00037e4cfmul d0, d2, d0
00037e50ldr d1, [sp+80]
00037e54fdiv d0, d1, d0
00037e58ldr x0, [sp+104]
00037e5cadd x0, x0, 48
00037e60adrp x27, 0x6d9000
00037e64ldr d1, [x27+3168]
00037e68bl runtime.(*piController).next
00037e6cldr x1, [sp+104]
00037e70str d0, [x1+40]
00037e74tbnz w0, 0, 0x37e9c
00037e78adrp x27, 0x6d9000
00037e7cldr d0, [x27+3160]
00037e80str d0, [x1+40]
00037e84movz x2, 61952
00037e88movk x2, 0x2a050000
00037e8cmovk x2, 0x100000000
00037e90str x2, [x1+104]
00037e94mov x0, x1
00037e98bl runtime.(*scavengerState).controllerFailed
00037e9c
00037e9cloc_37e9c:
00037e9cldur x29, [sp-8]
00037ea0ldr x30, [sp], 96
00037ea4ret x30
00037ea8
00037ea8loc_37ea8:
00037ea8adrp x0, 0x690000
00037eacadd x0, x0, 3292
00037eb0movz x1, 47
00037eb4bl runtime.throw
00037eb8hint
00037ebc
00037ebcloc_37ebc:
00037ebcstr x0, [sp+8]
00037ec0str d0, [sp+16]
00037ec4mov x3, x30
00037ec8bl runtime.morestack_noctxt.abi0
00037eccldr x0, [sp+8]
00037ed0ldr d0, [sp+16]
00037ed4b 0x37ce0
00037ed8udf 0
00037edcudf 0
00037ce0
00037ee0
00037ee0runtime.(*scavengerState).controllerFailed: ; void runtime.(*scavengerState).controllerFailed(runtime.scavengerState * s)
00037ee0ldr x16, [x28+16]
00037ee4subs xzr, sp, x16
00037ee8b.ls 0x37f20
00037eecstr x30, [sp-32]!
00037ef0stur x29, [sp-8]
00037ef4sub x29, sp, 8
00037ef8str x0, [sp+40]
00037efcldrsb x27, [x0]
00037f00bl runtime.lock
00037f04orr x1, xzr, 1
00037f08ldr x0, [sp+40]
00037f0cstrb w1, [x0+29]
00037f10bl runtime.unlock
00037f14ldur x29, [sp-8]
00037f18ldr x30, [sp], 32
00037f1cret x30
00037f20
00037f20loc_37f20:
00037f20str x0, [sp+8]
00037f24mov x3, x30
00037f28bl runtime.morestack_noctxt.abi0
00037f2cldr x0, [sp+8]
00037f30b 0x37ee0
00037f34udf 0
00037f38udf 0
00037f3cudf 0
00037ee0
00037ee0runtime.(*scavengerState).controllerFailed: ; void runtime.(*scavengerState).controllerFailed(runtime.scavengerState * s)
00037ee0ldr x16, [x28+16]
00037ee4subs xzr, sp, x16
00037ee8b.ls 0x37f20
00037eecstr x30, [sp-32]!
00037ef0stur x29, [sp-8]
00037ef4sub x29, sp, 8
00037ef8str x0, [sp+40]
00037efcldrsb x27, [x0]
00037f00bl runtime.lock
00037f04orr x1, xzr, 1
00037f08ldr x0, [sp+40]
00037f0cstrb w1, [x0+29]
00037f10bl runtime.unlock
00037f14ldur x29, [sp-8]
00037f18ldr x30, [sp], 32
00037f1cret x30
00037f20
00037f20loc_37f20:
00037f20str x0, [sp+8]
00037f24mov x3, x30
00037f28bl runtime.morestack_noctxt.abi0
00037f2cldr x0, [sp+8]
00037f30b 0x37ee0
00037f34udf 0
00037f38udf 0
00037f3cudf 0
00037ee0
00037f40
00037f40runtime.(*scavengerState).run: ; void runtime.(*scavengerState).run(runtime.scavengerState * s)
00037f40ldr x16, [x28+16]
00037f44subs xzr, sp, x16
00037f48b.ls 0x38090
00037f4cstr x30, [sp-48]!
00037f50stur x29, [sp-8]
00037f54sub x29, sp, 8
00037f58str x0, [sp+56]
00037f5cldrsb x27, [x0]
00037f60bl runtime.lock
00037f64ldr x0, [sp+56]
00037f68ldr x1, [x0+8]
00037f6csubs xzr, x28, x1
00037f70b.ne 0x3807c
00037f74bl runtime.unlock
00037f78fmov d0, xzr
00037f7cmov x0, xzr
00037f80b 0x37f8c
00037f84
00037f84loc_37f84:
00037f84fmov d0, d1
00037f88mov x0, x2
00037f8c
00037f8cloc_37f8c:
00037f8cadrp x27, 0x6d9000
00037f90ldr d1, [x27+3240]
00037f94fcmp d0, d1
00037f98b.pl 0x38038
00037f9cstr d0, [sp+32]
00037fa0str x0, [sp+24]
00037fa4ldr x0, [sp+56]
00037fa8ldr x26, [x0+128]
00037facldr x0, [x26]
00037fb0blr x0
00037fb4tbnz w0, 0, 0x3802c
00037fb8ldr x1, [sp+56]
00037fbcldr x26, [x1+120]
00037fc0ldr x1, [x26]
00037fc4orr x0, xzr, 0x10000
00037fc8blr x1
00037fcccbnz x1, 0x37ff8
00037fd0adrp x27, 0xa14000
00037fd4ldr x2, [x27+1760]
00037fd8cbz x2, 0x38078
00037fdcudiv x2, x0, x2
00037fe0ucvtf d1, x2
00037fe4ldr d2, [sp+32]
00037fe8adrp x27, 0x6d9000
00037fecldr d3, [x27+3216]
00037ff0fmadd d1, d1, d3, d2
00037ff4b 0x3800c
00037ff8
00037ff8loc_37ff8:
00037ff8scvtf d2, x1
00037ffcldr d3, [sp+32]
00038000fadd d1, d2, d3
00038004adrp x27, 0x6d8000
00038008ldr d3, [x27+3216]
0003800c
0003800cloc_3800c:
0003800cldr x2, [sp+24]
00038010add x2, x2, x0
00038014subs xzr, x0, 0x10000
00038018b.lo 0x38040
0003801cadrp x27, 0xa13000
00038020ldr x3, [x27+2080]
00038024cbz x3, 0x37f84
00038028b 0x38040
0003802c
0003802cloc_3802c:
0003802cldr x2, [sp+24]
00038030ldr d1, [sp+32]
00038034b 0x38040
00038038
00038038loc_38038:
00038038mov x2, x0
0003803cfmov d1, d0
00038040
00038040loc_38040:
00038040cbz x2, 0x38054
00038044adrp x27, 0xa13000
00038048ldr x3, [x27+1760]
0003804csubs xzr, x2, x3
00038050b.lo 0x38068
00038054
00038054loc_38054:
00038054mov x0, x2
00038058fmov d0, d1
0003805cldur x29, [sp-8]
00038060ldr x30, [sp], 48
00038064ret x30
00038068
00038068loc_38068:
00038068adrp x0, 0x68f000
0003806cadd x0, x0, 985
00038070movz x1, 46
00038074bl runtime.throw
00038078
00038078loc_38078:
00038078bl runtime.panicdivide
0003807c
0003807cloc_3807c:
0003807cadrp x0, 0x68e000
00038080add x0, x0, 3141
00038084movz x1, 45
00038088bl runtime.throw
0003808chint
00038090
00038090loc_38090:
00038090str x0, [sp+8]
00038094mov x3, x30
00038098bl runtime.morestack_noctxt.abi0
0003809cldr x0, [sp+8]
000380a0b 0x37f40
000380a4udf 0
000380a8udf 0
000380acudf 0
00037f40
00037f40runtime.(*scavengerState).run: ; void runtime.(*scavengerState).run(runtime.scavengerState * s)
00037f40ldr x16, [x28+16]
00037f44subs xzr, sp, x16
00037f48b.ls 0x38090
00037f4cstr x30, [sp-48]!
00037f50stur x29, [sp-8]
00037f54sub x29, sp, 8
00037f58str x0, [sp+56]
00037f5cldrsb x27, [x0]
00037f60bl runtime.lock
00037f64ldr x0, [sp+56]
00037f68ldr x1, [x0+8]
00037f6csubs xzr, x28, x1
00037f70b.ne 0x3807c
00037f74bl runtime.unlock
00037f78fmov d0, xzr
00037f7cmov x0, xzr
00037f80b 0x37f8c
00037f84
00037f84loc_37f84:
00037f84fmov d0, d1
00037f88mov x0, x2
00037f8c
00037f8cloc_37f8c:
00037f8cadrp x27, 0x6d9000
00037f90ldr d1, [x27+3240]
00037f94fcmp d0, d1
00037f98b.pl 0x38038
00037f9cstr d0, [sp+32]
00037fa0str x0, [sp+24]
00037fa4ldr x0, [sp+56]
00037fa8ldr x26, [x0+128]
00037facldr x0, [x26]
00037fb0blr x0
00037fb4tbnz w0, 0, 0x3802c
00037fb8ldr x1, [sp+56]
00037fbcldr x26, [x1+120]
00037fc0ldr x1, [x26]
00037fc4orr x0, xzr, 0x10000
00037fc8blr x1
00037fcccbnz x1, 0x37ff8
00037fd0adrp x27, 0xa14000
00037fd4ldr x2, [x27+1760]
00037fd8cbz x2, 0x38078
00037fdcudiv x2, x0, x2
00037fe0ucvtf d1, x2
00037fe4ldr d2, [sp+32]
00037fe8adrp x27, 0x6d9000
00037fecldr d3, [x27+3216]
00037ff0fmadd d1, d1, d3, d2
00037ff4b 0x3800c
00037ff8
00037ff8loc_37ff8:
00037ff8scvtf d2, x1
00037ffcldr d3, [sp+32]
00038000fadd d1, d2, d3
00038004adrp x27, 0x6d8000
00038008ldr d3, [x27+3216]
0003800c
0003800cloc_3800c:
0003800cldr x2, [sp+24]
00038010add x2, x2, x0
00038014subs xzr, x0, 0x10000
00038018b.lo 0x38040
0003801cadrp x27, 0xa13000
00038020ldr x3, [x27+2080]
00038024cbz x3, 0x37f84
00038028b 0x38040
0003802c
0003802cloc_3802c:
0003802cldr x2, [sp+24]
00038030ldr d1, [sp+32]
00038034b 0x38040
00038038
00038038loc_38038:
00038038mov x2, x0
0003803cfmov d1, d0
00038040
00038040loc_38040:
00038040cbz x2, 0x38054
00038044adrp x27, 0xa13000
00038048ldr x3, [x27+1760]
0003804csubs xzr, x2, x3
00038050b.lo 0x38068
00038054
00038054loc_38054:
00038054mov x0, x2
00038058fmov d0, d1
0003805cldur x29, [sp-8]
00038060ldr x30, [sp], 48
00038064ret x30
00038068
00038068loc_38068:
00038068adrp x0, 0x68f000
0003806cadd x0, x0, 985
00038070movz x1, 46
00038074bl runtime.throw
00038078
00038078loc_38078:
00038078bl runtime.panicdivide
0003807c
0003807cloc_3807c:
0003807cadrp x0, 0x68e000
00038080add x0, x0, 3141
00038084movz x1, 45
00038088bl runtime.throw
0003808chint
00038090
00038090loc_38090:
00038090str x0, [sp+8]
00038094mov x3, x30
00038098bl runtime.morestack_noctxt.abi0
0003809cldr x0, [sp+8]
000380a0b 0x37f40
000380a4udf 0
000380a8udf 0
000380acudf 0
00037f40
000380b0
000380b0runtime.bgscavenge: ; void runtime.bgscavenge(chan int c)
000380b0ldr x16, [x28+16]
000380b4subs xzr, sp, x16
000380b8b.ls 0x3813c
000380bcstr x30, [sp-48]!
000380c0stur x29, [sp-8]
000380c4sub x29, sp, 8
000380c8str x0, [sp+56]
000380ccadrp x0, 0x9ec000
000380d0add x0, x0, 544
000380d4bl runtime.(*scavengerState).init
000380d8ldr x0, [sp+56]
000380dcadrp x1, 0x6d7000
000380e0add x1, x1, 152
000380e4bl runtime.chansend1
000380e8adrp x0, 0x9ec000
000380ecadd x0, x0, 544
000380f0bl runtime.(*scavengerState).park
000380f4
000380f4loc_380f4:
000380f4adrp x0, 0x9ec000
000380f8add x0, x0, 544
000380fcbl runtime.(*scavengerState).run
00038100cbnz x0, 0x38114
00038104adrp x0, 0x9ec000
00038108add x0, x0, 544
0003810cbl runtime.(*scavengerState).park
00038110b 0x380f4
00038114
00038114loc_38114:
00038114str d0, [sp+32]
00038118mov x1, x0
0003811cadrp x0, 0xa0a000
00038120add x0, x0, 2384
00038124bl internal/runtime/atomic.(*Uintptr).Add
00038128adrp x0, 0x9ec000
0003812cadd x0, x0, 544
00038130ldr d0, [sp+32]
00038134bl runtime.(*scavengerState).sleep
00038138b 0x380f4
0003813c
0003813cloc_3813c:
0003813cstr x0, [sp+8]
00038140mov x3, x30
00038144bl runtime.morestack_noctxt.abi0
00038148ldr x0, [sp+8]
0003814cb 0x380b0
000380b0
000380b0runtime.bgscavenge: ; void runtime.bgscavenge(chan int c)
000380b0ldr x16, [x28+16]
000380b4subs xzr, sp, x16
000380b8b.ls 0x3813c
000380bcstr x30, [sp-48]!
000380c0stur x29, [sp-8]
000380c4sub x29, sp, 8
000380c8str x0, [sp+56]
000380ccadrp x0, 0x9ec000
000380d0add x0, x0, 544
000380d4bl runtime.(*scavengerState).init
000380d8ldr x0, [sp+56]
000380dcadrp x1, 0x6d7000
000380e0add x1, x1, 152
000380e4bl runtime.chansend1
000380e8adrp x0, 0x9ec000
000380ecadd x0, x0, 544
000380f0bl runtime.(*scavengerState).park
000380f4
000380f4loc_380f4:
000380f4adrp x0, 0x9ec000
000380f8add x0, x0, 544
000380fcbl runtime.(*scavengerState).run
00038100cbnz x0, 0x38114
00038104adrp x0, 0x9ec000
00038108add x0, x0, 544
0003810cbl runtime.(*scavengerState).park
00038110b 0x380f4
00038114
00038114loc_38114:
00038114str d0, [sp+32]
00038118mov x1, x0
0003811cadrp x0, 0xa0a000
00038120add x0, x0, 2384
00038124bl internal/runtime/atomic.(*Uintptr).Add
00038128adrp x0, 0x9ec000
0003812cadd x0, x0, 544
00038130ldr d0, [sp+32]
00038134bl runtime.(*scavengerState).sleep
00038138b 0x380f4
0003813c
0003813cloc_3813c:
0003813cstr x0, [sp+8]
00038140mov x3, x30
00038144bl runtime.morestack_noctxt.abi0
00038148ldr x0, [sp+8]
0003814cb 0x380b0
000380b0
00038150
00038150runtime.(*pageAlloc).scavenge: ; void runtime.(*pageAlloc).scavenge(runtime.pageAlloc * p, uintptr nbytes, func() bool shouldStop, bool force)
00038150ldr x16, [x28+16]
00038154subs xzr, sp, x16
00038158b.ls 0x38228
0003815cstr x30, [sp-96]!
00038160stur x29, [sp-8]
00038164sub x29, sp, 8
00038168str x0, [sp+104]
0003816cstr x1, [sp+112]
00038170str x2, [sp+120]
00038174strb w3, [sp+128]
00038178str xzr, [sp+32]
0003817cb 0x38190
00038180
00038180loc_38180:
00038180ldr x0, [sp+104]
00038184ldr x1, [sp+112]
00038188ldr x2, [sp+120]
0003818cldrb w3, [sp+128]
00038190
00038190loc_38190:
00038190ldr x4, [sp+32]
00038194subs xzr, x1, x4
00038198b.ls 0x38218
0003819cldrsb x27, [x0]
000381a0movz x2, 184
000381a4movk x2, 0x10000
000381a8add x0, x0, x2
000381acmov x1, x3
000381b0bl runtime.(*scavengeIndex).find
000381b4cbz x0, 0x38218
000381b8adrp x2, 0
000381bcadd x2, x2, 592
000381c0str x2, [sp+40]
000381c4add x2, sp, 32
000381c8str x2, [sp+48]
000381ccldr x2, [sp+104]
000381d0str x2, [sp+56]
000381d4str x0, [sp+64]
000381d8str x1, [sp+72]
000381dcldr x0, [sp+112]
000381e0str x0, [sp+80]
000381e4add x0, sp, 40
000381e8str x0, [sp+8]
000381ecbl runtime.systemstack.abi0
000381f0ldr x0, [sp+120]
000381f4cbnz x0, 0x38200
000381f8mov x1, xzr
000381fcb 0x38214
00038200
00038200loc_38200:
00038200ldr x1, [x0]
00038204mov x26, x0
00038208blr x1
0003820cmov x1, x0
00038210ldr x0, [sp+120]
00038214
00038214loc_38214:
00038214tbz w1, 0, 0x38180
00038218
00038218loc_38218:
00038218ldr x0, [sp+32]
0003821cldur x29, [sp-8]
00038220ldr x30, [sp], 96
00038224ret x30
00038228
00038228loc_38228:
00038228stp x0, x1, [sp+8]
0003822cstr x2, [sp+24]
00038230strb w3, [sp+32]
00038234mov x3, x30
00038238bl runtime.morestack_noctxt.abi0
0003823cldp x0, x1, [sp+8]
00038240ldr x2, [sp+24]
00038244ldrb w3, [sp+32]
00038248b 0x38150
0003824cudf 0
00038150
00038150runtime.(*pageAlloc).scavenge: ; void runtime.(*pageAlloc).scavenge(runtime.pageAlloc * p, uintptr nbytes, func() bool shouldStop, bool force)
00038150ldr x16, [x28+16]
00038154subs xzr, sp, x16
00038158b.ls 0x38228
0003815cstr x30, [sp-96]!
00038160stur x29, [sp-8]
00038164sub x29, sp, 8
00038168str x0, [sp+104]
0003816cstr x1, [sp+112]
00038170str x2, [sp+120]
00038174strb w3, [sp+128]
00038178str xzr, [sp+32]
0003817cb 0x38190
00038180
00038180loc_38180:
00038180ldr x0, [sp+104]
00038184ldr x1, [sp+112]
00038188ldr x2, [sp+120]
0003818cldrb w3, [sp+128]
00038190
00038190loc_38190:
00038190ldr x4, [sp+32]
00038194subs xzr, x1, x4
00038198b.ls 0x38218
0003819cldrsb x27, [x0]
000381a0movz x2, 184
000381a4movk x2, 0x10000
000381a8add x0, x0, x2
000381acmov x1, x3
000381b0bl runtime.(*scavengeIndex).find
000381b4cbz x0, 0x38218
000381b8adrp x2, 0
000381bcadd x2, x2, 592
000381c0str x2, [sp+40]
000381c4add x2, sp, 32
000381c8str x2, [sp+48]
000381ccldr x2, [sp+104]
000381d0str x2, [sp+56]
000381d4str x0, [sp+64]
000381d8str x1, [sp+72]
000381dcldr x0, [sp+112]
000381e0str x0, [sp+80]
000381e4add x0, sp, 40
000381e8str x0, [sp+8]
000381ecbl runtime.systemstack.abi0
000381f0ldr x0, [sp+120]
000381f4cbnz x0, 0x38200
000381f8mov x1, xzr
000381fcb 0x38214
00038200
00038200loc_38200:
00038200ldr x1, [x0]
00038204mov x26, x0
00038208blr x1
0003820cmov x1, x0
00038210ldr x0, [sp+120]
00038214
00038214loc_38214:
00038214tbz w1, 0, 0x38180
00038218
00038218loc_38218:
00038218ldr x0, [sp+32]
0003821cldur x29, [sp-8]
00038220ldr x30, [sp], 96
00038224ret x30
00038228
00038228loc_38228:
00038228stp x0, x1, [sp+8]
0003822cstr x2, [sp+24]
00038230strb w3, [sp+32]
00038234mov x3, x30
00038238bl runtime.morestack_noctxt.abi0
0003823cldp x0, x1, [sp+8]
00038240ldr x2, [sp+24]
00038244ldrb w3, [sp+32]
00038248b 0x38150
0003824cudf 0
00038150
00038250
00038250runtime.(*pageAlloc).scavenge.func1: ; void runtime.(*pageAlloc).scavenge.func1(void)
00038250ldr x16, [x28+16]
00038254subs xzr, sp, x16
00038258b.ls 0x382a8
0003825cstr x30, [sp-64]!
00038260stur x29, [sp-8]
00038264sub x29, sp, 8
00038268ldr x0, [x26+16]
0003826cldr x1, [x26+24]
00038270ldr x2, [x26+32]
00038274ldr x4, [x26+40]
00038278ldr x5, [x26+8]
0003827cstr x5, [sp+48]
00038280ldr x5, [x5]
00038284sub x3, x4, x5
00038288bl runtime.(*pageAlloc).scavengeOne
0003828cldr x4, [sp+48]
00038290ldr x5, [x4]
00038294add x5, x5, x0
00038298str x5, [x4]
0003829cldur x29, [sp-8]
000382a0ldr x30, [sp], 64
000382a4ret x30
000382a8
000382a8loc_382a8:
000382a8mov x3, x30
000382acbl runtime.morestack.abi0
000382b0b 0x38250
000382b4udf 0
000382b8udf 0
000382bcudf 0
00038250
00038250runtime.(*pageAlloc).scavenge.func1: ; void runtime.(*pageAlloc).scavenge.func1(void)
00038250ldr x16, [x28+16]
00038254subs xzr, sp, x16
00038258b.ls 0x382a8
0003825cstr x30, [sp-64]!
00038260stur x29, [sp-8]
00038264sub x29, sp, 8
00038268ldr x0, [x26+16]
0003826cldr x1, [x26+24]
00038270ldr x2, [x26+32]
00038274ldr x4, [x26+40]
00038278ldr x5, [x26+8]
0003827cstr x5, [sp+48]
00038280ldr x5, [x5]
00038284sub x3, x4, x5
00038288bl runtime.(*pageAlloc).scavengeOne
0003828cldr x4, [sp+48]
00038290ldr x5, [x4]
00038294add x5, x5, x0
00038298str x5, [x4]
0003829cldur x29, [sp-8]
000382a0ldr x30, [sp], 64
000382a4ret x30
000382a8
000382a8loc_382a8:
000382a8mov x3, x30
000382acbl runtime.morestack.abi0
000382b0b 0x38250
000382b4udf 0
000382b8udf 0
000382bcudf 0
00038250
000382c0
000382c0runtime.printScavTrace: ; void runtime.printScavTrace(uintptr releasedBg, uintptr releasedEager, bool forced)
000382c0ldr x16, [x28+16]
000382c4subs xzr, sp, x16
000382c8b.ls 0x38428
000382ccstr x30, [sp-64]!
000382d0stur x29, [sp-8]
000382d4sub x29, sp, 8
000382d8str x0, [sp+72]
000382dcstr x1, [sp+80]
000382e0strb w2, [sp+88]
000382e4adrp x0, 0x9ec000
000382e8add x0, x0, 544
000382ecbl runtime.assertLockHeld
000382f0bl runtime.printlock
000382f4adrp x0, 0xa14000
000382f8add x0, x0, 2776
000382fcbl runtime.(*sysMemStat).load
00038300str x0, [sp+48]
00038304adrp x0, 0xa14000
00038308add x0, x0, 2768
0003830cbl runtime.(*sysMemStat).load
00038310movz x1, 100
00038314madd x1, x0, x1, xzr
00038318str x1, [sp+40]
0003831cbl runtime.heapRetained
00038320cbz x0, 0x38420
00038324str x0, [sp+32]
00038328bl runtime.printlock
0003832cadrp x0, 0x678000
00038330add x0, x0, 1662
00038334movz x1, 5
00038338bl runtime.printstring
0003833cldr x0, [sp+72]
00038340ubfm x0, x0, 10, 63
00038344bl runtime.printuint
00038348adrp x0, 0x67c000
0003834cadd x0, x0, 2260
00038350orr x1, xzr, 16
00038354bl runtime.printstring
00038358ldr x0, [sp+80]
0003835cubfm x0, x0, 10, 63
00038360bl runtime.printuint
00038364adrp x0, 0x67e000
00038368add x0, x0, 54
0003836cmovz x1, 19
00038370bl runtime.printstring
00038374ldr x0, [sp+48]
00038378ubfm x0, x0, 10, 63
0003837cbl runtime.printuint
00038380adrp x0, 0x67a000
00038384add x0, x0, 234
00038388movz x1, 10
0003838cbl runtime.printstring
00038390ldr x0, [sp+40]
00038394ldr x1, [sp+32]
00038398udiv x0, x0, x1
0003839cbl runtime.printuint
000383a0adrp x0, 0x678000
000383a4add x0, x0, 2425
000383a8orr x1, xzr, 6
000383acbl runtime.printstring
000383b0bl runtime.printunlock
000383b4ldrb w0, [sp+88]
000383b8tbnz w0, 0, 0x383ec
000383bcadrp x27, 0x9ec000
000383c0ldrb w0, [x27+573]
000383c4tbz w0, 0, 0x38404
000383c8bl runtime.printlock
000383ccadrp x0, 0x67e000
000383d0add x0, x0, 73
000383d4movz x1, 19
000383d8bl runtime.printstring
000383dcbl runtime.printunlock
000383e0adrp x27, 0x9ec000
000383e4strb wzr, [x27+573]
000383e8b 0x38404
000383ec
000383ecloc_383ec:
000383ecbl runtime.printlock
000383f0adrp x0, 0x679000
000383f4add x0, x0, 2803
000383f8movz x1, 9
000383fcbl runtime.printstring
00038400bl runtime.printunlock
00038404
00038404loc_38404:
00038404bl runtime.printlock
00038408bl runtime.printnl
0003840cbl runtime.printunlock
00038410bl runtime.printunlock
00038414ldur x29, [sp-8]
00038418ldr x30, [sp], 64
0003841cret x30
00038420
00038420loc_38420:
00038420bl runtime.panicdivide
00038424hint
00038428
00038428loc_38428:
00038428stp x0, x1, [sp+8]
0003842cstrb w2, [sp+24]
00038430mov x3, x30
00038434bl runtime.morestack_noctxt.abi0
00038438ldp x0, x1, [sp+8]
0003843cldrb w2, [sp+24]
00038440b 0x382c0
00038444udf 0
00038448udf 0
0003844cudf 0
000382c0
000382c0runtime.printScavTrace: ; void runtime.printScavTrace(uintptr releasedBg, uintptr releasedEager, bool forced)
000382c0ldr x16, [x28+16]
000382c4subs xzr, sp, x16
000382c8b.ls 0x38428
000382ccstr x30, [sp-64]!
000382d0stur x29, [sp-8]
000382d4sub x29, sp, 8
000382d8str x0, [sp+72]
000382dcstr x1, [sp+80]
000382e0strb w2, [sp+88]
000382e4adrp x0, 0x9ec000
000382e8add x0, x0, 544
000382ecbl runtime.assertLockHeld
000382f0bl runtime.printlock
000382f4adrp x0, 0xa14000
000382f8add x0, x0, 2776
000382fcbl runtime.(*sysMemStat).load
00038300str x0, [sp+48]
00038304adrp x0, 0xa14000
00038308add x0, x0, 2768
0003830cbl runtime.(*sysMemStat).load
00038310movz x1, 100
00038314madd x1, x0, x1, xzr
00038318str x1, [sp+40]
0003831cbl runtime.heapRetained
00038320cbz x0, 0x38420
00038324str x0, [sp+32]
00038328bl runtime.printlock
0003832cadrp x0, 0x678000
00038330add x0, x0, 1662
00038334movz x1, 5
00038338bl runtime.printstring
0003833cldr x0, [sp+72]
00038340ubfm x0, x0, 10, 63
00038344bl runtime.printuint
00038348adrp x0, 0x67c000
0003834cadd x0, x0, 2260
00038350orr x1, xzr, 16
00038354bl runtime.printstring
00038358ldr x0, [sp+80]
0003835cubfm x0, x0, 10, 63
00038360bl runtime.printuint
00038364adrp x0, 0x67e000
00038368add x0, x0, 54
0003836cmovz x1, 19
00038370bl runtime.printstring
00038374ldr x0, [sp+48]
00038378ubfm x0, x0, 10, 63
0003837cbl runtime.printuint
00038380adrp x0, 0x67a000
00038384add x0, x0, 234
00038388movz x1, 10
0003838cbl runtime.printstring
00038390ldr x0, [sp+40]
00038394ldr x1, [sp+32]
00038398udiv x0, x0, x1
0003839cbl runtime.printuint
000383a0adrp x0, 0x678000
000383a4add x0, x0, 2425
000383a8orr x1, xzr, 6
000383acbl runtime.printstring
000383b0bl runtime.printunlock
000383b4ldrb w0, [sp+88]
000383b8tbnz w0, 0, 0x383ec
000383bcadrp x27, 0x9ec000
000383c0ldrb w0, [x27+573]
000383c4tbz w0, 0, 0x38404
000383c8bl runtime.printlock
000383ccadrp x0, 0x67e000
000383d0add x0, x0, 73
000383d4movz x1, 19
000383d8bl runtime.printstring
000383dcbl runtime.printunlock
000383e0adrp x27, 0x9ec000
000383e4strb wzr, [x27+573]
000383e8b 0x38404
000383ec
000383ecloc_383ec:
000383ecbl runtime.printlock
000383f0adrp x0, 0x679000
000383f4add x0, x0, 2803
000383f8movz x1, 9
000383fcbl runtime.printstring
00038400bl runtime.printunlock
00038404
00038404loc_38404:
00038404bl runtime.printlock
00038408bl runtime.printnl
0003840cbl runtime.printunlock
00038410bl runtime.printunlock
00038414ldur x29, [sp-8]
00038418ldr x30, [sp], 64
0003841cret x30
00038420
00038420loc_38420:
00038420bl runtime.panicdivide
00038424hint
00038428
00038428loc_38428:
00038428stp x0, x1, [sp+8]
0003842cstrb w2, [sp+24]
00038430mov x3, x30
00038434bl runtime.morestack_noctxt.abi0
00038438ldp x0, x1, [sp+8]
0003843cldrb w2, [sp+24]
00038440b 0x382c0
00038444udf 0
00038448udf 0
0003844cudf 0
000382c0
00038450
00038450runtime.(*pageAlloc).scavengeOne: ; void runtime.(*pageAlloc).scavengeOne(runtime.pageAlloc * p, runtime.chunkIdx ci, uint searchIdx, uintptr max)
00038450ldr x16, [x28+24]
00038454subs xzr, sp, x16
00038458b.ls 0x38748
0003845cstr x30, [sp-112]!
00038460stur x29, [sp-8]
00038464sub x29, sp, 8
00038468str x0, [sp+120]
0003846cstr x1, [sp+128]
00038470str x2, [sp+136]
00038474ldrsb x27, [x0]
00038478ubfm x1, x3, 13, 63
0003847cstr x1, [sp+56]
00038480and x1, x3, 8191
00038484str x1, [sp+96]
00038488adrp x27, 0xa13000
0003848cldr x1, [x27+1760]
00038490ubfm x1, x1, 13, 63
00038494str x1, [sp+48]
00038498add x27, x0, 0x10000
0003849cldr x0, [x27+280]
000384a0bl runtime.lock
000384a4ldr x1, [sp+120]
000384a8ldr x2, [x1+104]
000384acldr x3, [sp+96]
000384b0subs xzr, x3, 0
000384b4ldr x3, [sp+56]
000384b8cinc x3, x3, ne
000384bcldr x4, [sp+48]
000384c0subs xzr, x4, 0
000384c4orr x5, xzr, 1
000384c8csel x4, x5, x4, eq
000384ccldr x0, [sp+128]
000384d0subs xzr, x0, x2
000384d4b.hs 0x3873c
000384d8str x3, [sp+56]
000384dcstr x4, [sp+48]
000384e0ldr x1, [x1+96]
000384e4ldr x0, [x1+3*x0]
000384e8bl runtime.pallocSum.max
000384ecldr x1, [sp+48]
000384f0subs xzr, x0, x1
000384f4b.lo 0x38518
000384f8ldr x0, [sp+120]
000384fcldr x1, [sp+128]
00038500bl runtime.(*pageAlloc).chunkOf
00038504ldr x1, [sp+136]
00038508ldr x2, [sp+48]
0003850cldr x3, [sp+56]
00038510bl runtime.(*pallocData).findScavengeCandidate
00038514cbnz x1, 0x38550
00038518
00038518loc_38518:
00038518ldr x2, [sp+120]
0003851cmovz x3, 184
00038520movk x3, 0x10000
00038524add x0, x2, x3
00038528ldr x1, [sp+128]
0003852cbl runtime.(*scavengeIndex).setEmpty
00038530ldr x2, [sp+120]
00038534add x27, x2, 0x10000
00038538ldr x0, [x27+280]
0003853cbl runtime.unlock
00038540mov x0, xzr
00038544ldur x29, [sp-8]
00038548ldr x30, [sp], 112
0003854cret x30
00038550
00038550loc_38550:
00038550str x0, [sp+64]
00038554str x1, [sp+40]
00038558ldr x0, [sp+128]
0003855cbl runtime.chunkBase
00038560str x0, [sp+96]
00038564ldr x0, [sp+120]
00038568ldr x1, [sp+128]
0003856cbl runtime.(*pageAlloc).chunkOf
00038570ldr x1, [sp+64]
00038574ldr x2, [sp+40]
00038578bl runtime.(*pallocData).allocRange
0003857cldr x1, [sp+96]
00038580ldr x2, [sp+64]
00038584add x1, x1, x2, lsl #13
00038588str x1, [sp+72]
0003858cldr x0, [sp+120]
00038590ldr x2, [sp+40]
00038594orr x3, xzr, 1
00038598mov x4, x3
0003859cbl runtime.(*pageAlloc).update
000385a0ldr x1, [sp+120]
000385a4add x27, x1, 0x10000
000385a8ldr x0, [x27+280]
000385acbl runtime.unlock
000385b0ldr x1, [sp+120]
000385b4add x27, x1, 0x10000
000385b8ldrb w2, [x27+305]
000385bctbnz w2, 0, 0x3868c
000385c0ldr x0, [sp+72]
000385c4mov x2, x0
000385c8ldr x3, [sp+40]
000385ccubfm x1, x3, 51, 50
000385d0mov x0, x2
000385d4bl runtime.sysUnused
000385d8ldr x2, [sp+40]
000385dcubfm x1, x2, 51, 50
000385e0str x1, [sp+88]
000385e4adrp x0, 0xa14000
000385e8add x0, x0, 2776
000385ecbl runtime.(*sysMemStat).add
000385f0ldr x2, [sp+40]
000385f4sub x1, xzr, x2, lsl #13
000385f8str x1, [sp+80]
000385fcadrp x0, 0xa14000
00038600add x0, x0, 2784
00038604bl runtime.(*sysMemStat).add
00038608adrp x0, 0xa18000
0003860cadd x0, x0, 1056
00038610bl runtime.(*consistentHeapStats).acquire
00038614ldrsb x27, [x0]
00038618adrp x27, 0xa13000
0003861cldrb w2, [x27+1516]
00038620tbz w2, 0, 0x38634
00038624ldr x1, [sp+80]
00038628ldaddal x1, x2, [x0]
0003862cadd x2, x2, x1
00038630b 0x38648
00038634
00038634loc_38634:
00038634ldr x1, [sp+80]
00038638
00038638loc_38638:
00038638ldaxr x2, [x0]
0003863cadd x2, x2, x1
00038640stlxr w27, x2, [x0]
00038644cbnz x27, 0x38638
00038648
00038648loc_38648:
00038648add x1, x0, 8
0003864cadrp x27, 0xa13000
00038650ldrb w2, [x27+1516]
00038654tbz w2, 0, 0x38668
00038658ldr x2, [sp+88]
0003865cldaddal x2, x3, [x1]
00038660add x3, x3, x2
00038664b 0x3867c
00038668
00038668loc_38668:
00038668ldr x2, [sp+88]
0003866c
0003866cloc_3866c:
0003866cldaxr x3, [x1]
00038670add x3, x3, x2
00038674stlxr w27, x3, [x1]
00038678cbnz x27, 0x3866c
0003867c
0003867cloc_3867c:
0003867cadrp x0, 0xa18000
00038680add x0, x0, 1056
00038684bl runtime.(*consistentHeapStats).release
00038688ldr x1, [sp+120]
0003868c
0003868cloc_3868c:
0003868cadd x27, x1, 0x10000
00038690ldr x0, [x27+280]
00038694bl runtime.lock
00038698ldr x1, [sp+120]
0003869cadd x27, x1, 0x10000
000386a0ldr x1, [x27+120]
000386a4ldr x0, [sp+72]
000386a8bl runtime.offAddr.lessThan
000386actbz w0, 0, 0x386c4
000386b0ldr x2, [sp+72]
000386b4ldr x0, [sp+120]
000386b8add x27, x0, 0x10000
000386bcstr x2, [x27+120]
000386c0b 0x386c8
000386c4
000386c4loc_386c4:
000386c4ldr x0, [sp+120]
000386c8
000386c8loc_386c8:
000386c8ldr x1, [sp+128]
000386ccbl runtime.(*pageAlloc).chunkOf
000386d0ldrsb x27, [x0]
000386d4ldr x1, [sp+64]
000386d8ldr x2, [sp+40]
000386dcbl runtime.(*pallocBits).free
000386e0ldr x0, [sp+120]
000386e4ldr x1, [sp+72]
000386e8ldr x2, [sp+40]
000386ecorr x3, xzr, 1
000386f0mov x4, xzr
000386f4bl runtime.(*pageAlloc).update
000386f8ldr x0, [sp+120]
000386fcldr x1, [sp+128]
00038700bl runtime.(*pageAlloc).chunkOf
00038704ldrsb x27, [x0]
00038708add x0, x0, 64
0003870cldr x1, [sp+64]
00038710ldr x2, [sp+40]
00038714bl runtime.(*pageBits).setRange
00038718ldr x2, [sp+120]
0003871cadd x27, x2, 0x10000
00038720ldr x0, [x27+280]
00038724bl runtime.unlock
00038728ldr x2, [sp+40]
0003872cubfm x0, x2, 51, 50
00038730ldur x29, [sp-8]
00038734ldr x30, [sp], 112
00038738ret x30
0003873c
0003873cloc_3873c:
0003873cmov x1, x2
00038740bl runtime.panicIndexU
00038744hint
00038748
00038748loc_38748:
00038748stp x0, x1, [sp+8]
0003874cstp x2, x3, [sp+24]
00038750mov x3, x30
00038754bl runtime.morestackc.abi0
00038758ldp x0, x1, [sp+8]
0003875cldp x2, x3, [sp+24]
00038760b 0x38450
00038764udf 0
00038768udf 0
0003876cudf 0
00038450
00038450runtime.(*pageAlloc).scavengeOne: ; void runtime.(*pageAlloc).scavengeOne(runtime.pageAlloc * p, runtime.chunkIdx ci, uint searchIdx, uintptr max)
00038450ldr x16, [x28+24]
00038454subs xzr, sp, x16
00038458b.ls 0x38748
0003845cstr x30, [sp-112]!
00038460stur x29, [sp-8]
00038464sub x29, sp, 8
00038468str x0, [sp+120]
0003846cstr x1, [sp+128]
00038470str x2, [sp+136]
00038474ldrsb x27, [x0]
00038478ubfm x1, x3, 13, 63
0003847cstr x1, [sp+56]
00038480and x1, x3, 8191
00038484str x1, [sp+96]
00038488adrp x27, 0xa13000
0003848cldr x1, [x27+1760]
00038490ubfm x1, x1, 13, 63
00038494str x1, [sp+48]
00038498add x27, x0, 0x10000
0003849cldr x0, [x27+280]
000384a0bl runtime.lock
000384a4ldr x1, [sp+120]
000384a8ldr x2, [x1+104]
000384acldr x3, [sp+96]
000384b0subs xzr, x3, 0
000384b4ldr x3, [sp+56]
000384b8cinc x3, x3, ne
000384bcldr x4, [sp+48]
000384c0subs xzr, x4, 0
000384c4orr x5, xzr, 1
000384c8csel x4, x5, x4, eq
000384ccldr x0, [sp+128]
000384d0subs xzr, x0, x2
000384d4b.hs 0x3873c
000384d8str x3, [sp+56]
000384dcstr x4, [sp+48]
000384e0ldr x1, [x1+96]
000384e4ldr x0, [x1+3*x0]
000384e8bl runtime.pallocSum.max
000384ecldr x1, [sp+48]
000384f0subs xzr, x0, x1
000384f4b.lo 0x38518
000384f8ldr x0, [sp+120]
000384fcldr x1, [sp+128]
00038500bl runtime.(*pageAlloc).chunkOf
00038504ldr x1, [sp+136]
00038508ldr x2, [sp+48]
0003850cldr x3, [sp+56]
00038510bl runtime.(*pallocData).findScavengeCandidate
00038514cbnz x1, 0x38550
00038518
00038518loc_38518:
00038518ldr x2, [sp+120]
0003851cmovz x3, 184
00038520movk x3, 0x10000
00038524add x0, x2, x3
00038528ldr x1, [sp+128]
0003852cbl runtime.(*scavengeIndex).setEmpty
00038530ldr x2, [sp+120]
00038534add x27, x2, 0x10000
00038538ldr x0, [x27+280]
0003853cbl runtime.unlock
00038540mov x0, xzr
00038544ldur x29, [sp-8]
00038548ldr x30, [sp], 112
0003854cret x30
00038550
00038550loc_38550:
00038550str x0, [sp+64]
00038554str x1, [sp+40]
00038558ldr x0, [sp+128]
0003855cbl runtime.chunkBase
00038560str x0, [sp+96]
00038564ldr x0, [sp+120]
00038568ldr x1, [sp+128]
0003856cbl runtime.(*pageAlloc).chunkOf
00038570ldr x1, [sp+64]
00038574ldr x2, [sp+40]
00038578bl runtime.(*pallocData).allocRange
0003857cldr x1, [sp+96]
00038580ldr x2, [sp+64]
00038584add x1, x1, x2, lsl #13
00038588str x1, [sp+72]
0003858cldr x0, [sp+120]
00038590ldr x2, [sp+40]
00038594orr x3, xzr, 1
00038598mov x4, x3
0003859cbl runtime.(*pageAlloc).update
000385a0ldr x1, [sp+120]
000385a4add x27, x1, 0x10000
000385a8ldr x0, [x27+280]
000385acbl runtime.unlock
000385b0ldr x1, [sp+120]
000385b4add x27, x1, 0x10000
000385b8ldrb w2, [x27+305]
000385bctbnz w2, 0, 0x3868c
000385c0ldr x0, [sp+72]
000385c4mov x2, x0
000385c8ldr x3, [sp+40]
000385ccubfm x1, x3, 51, 50
000385d0mov x0, x2
000385d4bl runtime.sysUnused
000385d8ldr x2, [sp+40]
000385dcubfm x1, x2, 51, 50
000385e0str x1, [sp+88]
000385e4adrp x0, 0xa14000
000385e8add x0, x0, 2776
000385ecbl runtime.(*sysMemStat).add
000385f0ldr x2, [sp+40]
000385f4sub x1, xzr, x2, lsl #13
000385f8str x1, [sp+80]
000385fcadrp x0, 0xa14000
00038600add x0, x0, 2784
00038604bl runtime.(*sysMemStat).add
00038608adrp x0, 0xa18000
0003860cadd x0, x0, 1056
00038610bl runtime.(*consistentHeapStats).acquire
00038614ldrsb x27, [x0]
00038618adrp x27, 0xa13000
0003861cldrb w2, [x27+1516]
00038620tbz w2, 0, 0x38634
00038624ldr x1, [sp+80]
00038628ldaddal x1, x2, [x0]
0003862cadd x2, x2, x1
00038630b 0x38648
00038634
00038634loc_38634:
00038634ldr x1, [sp+80]
00038638
00038638loc_38638:
00038638ldaxr x2, [x0]
0003863cadd x2, x2, x1
00038640stlxr w27, x2, [x0]
00038644cbnz x27, 0x38638
00038648
00038648loc_38648:
00038648add x1, x0, 8
0003864cadrp x27, 0xa13000
00038650ldrb w2, [x27+1516]
00038654tbz w2, 0, 0x38668
00038658ldr x2, [sp+88]
0003865cldaddal x2, x3, [x1]
00038660add x3, x3, x2
00038664b 0x3867c
00038668
00038668loc_38668:
00038668ldr x2, [sp+88]
0003866c
0003866cloc_3866c:
0003866cldaxr x3, [x1]
00038670add x3, x3, x2
00038674stlxr w27, x3, [x1]
00038678cbnz x27, 0x3866c
0003867c
0003867cloc_3867c:
0003867cadrp x0, 0xa18000
00038680add x0, x0, 1056
00038684bl runtime.(*consistentHeapStats).release
00038688ldr x1, [sp+120]
0003868c
0003868cloc_3868c:
0003868cadd x27, x1, 0x10000
00038690ldr x0, [x27+280]
00038694bl runtime.lock
00038698ldr x1, [sp+120]
0003869cadd x27, x1, 0x10000
000386a0ldr x1, [x27+120]
000386a4ldr x0, [sp+72]
000386a8bl runtime.offAddr.lessThan
000386actbz w0, 0, 0x386c4
000386b0ldr x2, [sp+72]
000386b4ldr x0, [sp+120]
000386b8add x27, x0, 0x10000
000386bcstr x2, [x27+120]
000386c0b 0x386c8
000386c4
000386c4loc_386c4:
000386c4ldr x0, [sp+120]
000386c8
000386c8loc_386c8:
000386c8ldr x1, [sp+128]
000386ccbl runtime.(*pageAlloc).chunkOf
000386d0ldrsb x27, [x0]
000386d4ldr x1, [sp+64]
000386d8ldr x2, [sp+40]
000386dcbl runtime.(*pallocBits).free
000386e0ldr x0, [sp+120]
000386e4ldr x1, [sp+72]
000386e8ldr x2, [sp+40]
000386ecorr x3, xzr, 1
000386f0mov x4, xzr
000386f4bl runtime.(*pageAlloc).update
000386f8ldr x0, [sp+120]
000386fcldr x1, [sp+128]
00038700bl runtime.(*pageAlloc).chunkOf
00038704ldrsb x27, [x0]
00038708add x0, x0, 64
0003870cldr x1, [sp+64]
00038710ldr x2, [sp+40]
00038714bl runtime.(*pageBits).setRange
00038718ldr x2, [sp+120]
0003871cadd x27, x2, 0x10000
00038720ldr x0, [x27+280]
00038724bl runtime.unlock
00038728ldr x2, [sp+40]
0003872cubfm x0, x2, 51, 50
00038730ldur x29, [sp-8]
00038734ldr x30, [sp], 112
00038738ret x30
0003873c
0003873cloc_3873c:
0003873cmov x1, x2
00038740bl runtime.panicIndexU
00038744hint
00038748
00038748loc_38748:
00038748stp x0, x1, [sp+8]
0003874cstp x2, x3, [sp+24]
00038750mov x3, x30
00038754bl runtime.morestackc.abi0
00038758ldp x0, x1, [sp+8]
0003875cldp x2, x3, [sp+24]
00038760b 0x38450
00038764udf 0
00038768udf 0
0003876cudf 0
00038450
00038770
00038770runtime.fillAligned: ; void runtime.fillAligned(uint64 x, uint m)
00038770ldr x16, [x28+16]
00038774subs xzr, sp, x16
00038778b.ls 0x388c4
0003877cstr x30, [sp-32]!
00038780stur x29, [sp-8]
00038784sub x29, sp, 8
00038788str x1, [sp+48]
0003878csubs xzr, x1, 4
00038790b.hi 0x387f0
00038794subs xzr, x1, 1
00038798b.eq 0x387e4
0003879csubs xzr, x1, 2
000387a0b.eq 0x387c8
000387a4subs xzr, x1, 4
000387a8b.ne 0x388b0
000387acadrp x27, 0x6a0000
000387b0ldr x2, [x27+1768]
000387b4orr x1, xzr, 0x7777777777777777
000387b8adrp x26, 0x6a0000
000387bcadd x26, x26, 1768
000387c0blr x2
000387c4b 0x38884
000387c8
000387c8loc_387c8:
000387c8adrp x27, 0x6a0000
000387ccldr x2, [x27+1768]
000387d0orr x1, xzr, 0x5555555555555555
000387d4adrp x26, 0x6a0000
000387d8add x26, x26, 1768
000387dcblr x2
000387e0b 0x38884
000387e4
000387e4loc_387e4:
000387e4ldur x29, [sp-8]
000387e8ldr x30, [sp], 32
000387ecret x30
000387f0
000387f0loc_387f0:
000387f0subs xzr, x1, 16
000387f4b.hi 0x38840
000387f8subs xzr, x1, 8
000387fcb.eq 0x38824
00038800subs xzr, x1, 16
00038804b.ne 0x388b0
00038808adrp x27, 0x6a0000
0003880cldr x2, [x27+1768]
00038810orr x1, xzr, 0x7fff7fff7fff7fff
00038814adrp x26, 0x6a0000
00038818add x26, x26, 1768
0003881cblr x2
00038820b 0x38884
00038824
00038824loc_38824:
00038824adrp x27, 0x6a0000
00038828ldr x2, [x27+1768]
0003882corr x1, xzr, 0x7f7f7f7f7f7f7f7f
00038830adrp x26, 0x6a0000
00038834add x26, x26, 1768
00038838blr x2
0003883cb 0x38884
00038840
00038840loc_38840:
00038840subs xzr, x1, 32
00038844b.eq 0x3886c
00038848subs xzr, x1, 64
0003884cb.ne 0x388b0
00038850adrp x27, 0x6a0000
00038854ldr x2, [x27+1768]
00038858movn x1, 0x8000000000000000
0003885cadrp x26, 0x6a0000
00038860add x26, x26, 1768
00038864blr x2
00038868b 0x38884
0003886c
0003886cloc_3886c:
0003886cadrp x27, 0x6a0000
00038870ldr x2, [x27+1768]
00038874orr x1, xzr, 0x7fffffff7fffffff
00038878adrp x26, 0x6a0000
0003887cadd x26, x26, 1768
00038880blr x2
00038884
00038884loc_38884:
00038884ldr x1, [sp+48]
00038888sub x1, x1, 1
0003888clsrv x2, x0, x1
00038890subs xzr, x1, 64
00038894csel x1, x2, xzr, lo
00038898sub x1, x0, x1
0003889corr x1, x1, x0
000388a0orn x0, xzr, x1
000388a4ldur x29, [sp-8]
000388a8ldr x30, [sp], 32
000388acret x30
000388b0
000388b0loc_388b0:
000388b0adrp x0, 0x67a000
000388b4add x0, x0, 2032
000388b8movz x1, 11
000388bcbl runtime.throw
000388c0hint
000388c4
000388c4loc_388c4:
000388c4stp x0, x1, [sp+8]
000388c8mov x3, x30
000388ccbl runtime.morestack_noctxt.abi0
000388d0ldp x0, x1, [sp+8]
000388d4b 0x38770
000388d8udf 0
000388dcudf 0
00038770
00038770runtime.fillAligned: ; void runtime.fillAligned(uint64 x, uint m)
00038770ldr x16, [x28+16]
00038774subs xzr, sp, x16
00038778b.ls 0x388c4
0003877cstr x30, [sp-32]!
00038780stur x29, [sp-8]
00038784sub x29, sp, 8
00038788str x1, [sp+48]
0003878csubs xzr, x1, 4
00038790b.hi 0x387f0
00038794subs xzr, x1, 1
00038798b.eq 0x387e4
0003879csubs xzr, x1, 2
000387a0b.eq 0x387c8
000387a4subs xzr, x1, 4
000387a8b.ne 0x388b0
000387acadrp x27, 0x6a0000
000387b0ldr x2, [x27+1768]
000387b4orr x1, xzr, 0x7777777777777777
000387b8adrp x26, 0x6a0000
000387bcadd x26, x26, 1768
000387c0blr x2
000387c4b 0x38884
000387c8
000387c8loc_387c8:
000387c8adrp x27, 0x6a0000
000387ccldr x2, [x27+1768]
000387d0orr x1, xzr, 0x5555555555555555
000387d4adrp x26, 0x6a0000
000387d8add x26, x26, 1768
000387dcblr x2
000387e0b 0x38884
000387e4
000387e4loc_387e4:
000387e4ldur x29, [sp-8]
000387e8ldr x30, [sp], 32
000387ecret x30
000387f0
000387f0loc_387f0:
000387f0subs xzr, x1, 16
000387f4b.hi 0x38840
000387f8subs xzr, x1, 8
000387fcb.eq 0x38824
00038800subs xzr, x1, 16
00038804b.ne 0x388b0
00038808adrp x27, 0x6a0000
0003880cldr x2, [x27+1768]
00038810orr x1, xzr, 0x7fff7fff7fff7fff
00038814adrp x26, 0x6a0000
00038818add x26, x26, 1768
0003881cblr x2
00038820b 0x38884
00038824
00038824loc_38824:
00038824adrp x27, 0x6a0000
00038828ldr x2, [x27+1768]
0003882corr x1, xzr, 0x7f7f7f7f7f7f7f7f
00038830adrp x26, 0x6a0000
00038834add x26, x26, 1768
00038838blr x2
0003883cb 0x38884
00038840
00038840loc_38840:
00038840subs xzr, x1, 32
00038844b.eq 0x3886c
00038848subs xzr, x1, 64
0003884cb.ne 0x388b0
00038850adrp x27, 0x6a0000
00038854ldr x2, [x27+1768]
00038858movn x1, 0x8000000000000000
0003885cadrp x26, 0x6a0000
00038860add x26, x26, 1768
00038864blr x2
00038868b 0x38884
0003886c
0003886cloc_3886c:
0003886cadrp x27, 0x6a0000
00038870ldr x2, [x27+1768]
00038874orr x1, xzr, 0x7fffffff7fffffff
00038878adrp x26, 0x6a0000
0003887cadd x26, x26, 1768
00038880blr x2
00038884
00038884loc_38884:
00038884ldr x1, [sp+48]
00038888sub x1, x1, 1
0003888clsrv x2, x0, x1
00038890subs xzr, x1, 64
00038894csel x1, x2, xzr, lo
00038898sub x1, x0, x1
0003889corr x1, x1, x0
000388a0orn x0, xzr, x1
000388a4ldur x29, [sp-8]
000388a8ldr x30, [sp], 32
000388acret x30
000388b0
000388b0loc_388b0:
000388b0adrp x0, 0x67a000
000388b4add x0, x0, 2032
000388b8movz x1, 11
000388bcbl runtime.throw
000388c0hint
000388c4
000388c4loc_388c4:
000388c4stp x0, x1, [sp+8]
000388c8mov x3, x30
000388ccbl runtime.morestack_noctxt.abi0
000388d0ldp x0, x1, [sp+8]
000388d4b 0x38770
000388d8udf 0
000388dcudf 0
00038770
000388e0
000388e0runtime.(*pallocData).findScavengeCandidate: ; void runtime.(*pallocData).findScavengeCandidate(runtime.pallocData * m, uint searchIdx, uintptr minimum, uintptr max)
000388e0ldr x16, [x28+16]
000388e4sub x17, sp, 32
000388e8subs xzr, x17, x16
000388ecb.ls 0x38c24
000388f0str x30, [sp-160]!
000388f4stur x29, [sp-8]
000388f8sub x29, sp, 8
000388fcstr x2, [sp+184]
00038900sub x4, x2, 1
00038904ands xzr, x2, x4
00038908b.ne 0x38bec
0003890ccbz x2, 0x38bec
00038910subs xzr, x2, 64
00038914b.hi 0x38bb8
00038918str x0, [sp+168]
0003891ccbnz x3, 0x38928
00038920mov x3, x2
00038924b 0x38948
00038928
00038928loc_38928:
00038928str x1, [sp+176]
0003892cmov x0, x3
00038930mov x1, x2
00038934bl runtime.alignUp
00038938ldr x1, [sp+176]
0003893cldr x3, [sp+184]
00038940mov x2, x0
00038944ldr x0, [sp+168]
00038948
00038948loc_38948:
00038948str x2, [sp+136]
0003894cubfm x4, x1, 6, 63
00038950b 0x38968
00038954
00038954loc_38954:
00038954ldr x5, [sp+88]
00038958sub x4, x5, 1
0003895cldr x0, [sp+168]
00038960ldr x3, [sp+184]
00038964ldr x2, [sp+136]
00038968
00038968loc_38968:
00038968str x4, [sp+88]
0003896ctbnz x4, 63, 0x389ac
00038970subs xzr, x4, 8
00038974b.hs 0x38bac
00038978ldrsb x27, [x0]
0003897cadd x2, x0, 64
00038980ldr x2, [x2+3*x4]
00038984ldr x4, [x0+3*x4]
00038988orr x0, x4, x2
0003898cmov x1, x3
00038990bl runtime.fillAligned
00038994adds xzr, x0, 1
00038998b.eq 0x38954
0003899cldr x0, [sp+168]
000389a0ldr x2, [sp+136]
000389a4ldr x3, [sp+184]
000389a8ldr x4, [sp+88]
000389ac
000389acloc_389ac:
000389actbnz x4, 63, 0x38a2c
000389b0subs xzr, x4, 8
000389b4b.hs 0x38ba0
000389b8ldrsb x27, [x0]
000389bcadd x2, x0, 64
000389c0str x2, [sp+144]
000389c4ldr x2, [x2+3*x4]
000389c8ldr x4, [x0+3*x4]
000389ccorr x0, x4, x2
000389d0mov x1, x3
000389d4bl runtime.fillAligned
000389d8str x0, [sp+40]
000389dcorn x0, xzr, x0
000389e0bl internal/runtime/sys.LeadingZeros64
000389e4str x0, [sp+128]
000389e8ldr x2, [sp+88]
000389ecubfm x3, x2, 58, 57
000389f0str x3, [sp+120]
000389f4ldr x4, [sp+40]
000389f8lslv x4, x4, x0
000389fcsub x5, x3, x0
00038a00str x5, [sp+112]
00038a04subs xzr, x0, 64
00038a08csel x4, x4, xzr, lo
00038a0ccbnz x4, 0x38a20
00038a10orr x4, xzr, 64
00038a14sub x4, x4, x0
00038a18sub x2, x2, 1
00038a1cb 0x38b48
00038a20
00038a20loc_38a20:
00038a20mov x0, x4
00038a24bl internal/runtime/sys.LeadingZeros64
00038a28b 0x38a40
00038a2c
00038a2cloc_38a2c:
00038a2cmov x0, xzr
00038a30mov x1, x0
00038a34ldur x29, [sp-8]
00038a38ldr x30, [sp], 160
00038a3cret x30
00038a40
00038a40loc_38a40:
00038a40adrp x27, 0xa13000
00038a44ldr x2, [x27+1768]
00038a48ldr x3, [sp+136]
00038a4csubs xzr, x3, x0
00038a50csel x3, x3, x0, lo
00038a54ldr x4, [sp+128]
00038a58add x5, x3, x4
00038a5cldr x6, [sp+120]
00038a60sub x7, x6, x5
00038a64add x7, x7, 64
00038a68subs xzr, x2, 8192
00038a6cb.ls 0x38b18
00038a70adrp x27, 0xa13000
00038a74ldr x8, [x27+1760]
00038a78subs xzr, x8, x2
00038a7cb.hs 0x38b18
00038a80str x5, [sp+104]
00038a84str x0, [sp+64]
00038a88str x3, [sp+56]
00038a8cstr x7, [sp+48]
00038a90ldr x3, [sp+112]
00038a94add x3, x3, 64
00038a98str x3, [sp+96]
00038a9cubfm x1, x2, 13, 63
00038aa0str x1, [sp+72]
00038aa4mov x0, x7
00038aa8bl runtime.alignUp
00038aacldr x2, [sp+96]
00038ab0subs xzr, x0, x2
00038ab4b.ls 0x38ac4
00038ab8ldr x3, [sp+56]
00038abcldr x0, [sp+48]
00038ac0b 0x38b14
00038ac4
00038ac4loc_38ac4:
00038ac4ldr x0, [sp+48]
00038ac8ldr x1, [sp+72]
00038accbl runtime.alignDown
00038ad0ldr x2, [sp+64]
00038ad4ldr x3, [sp+128]
00038ad8add x2, x2, x3
00038adcldr x3, [sp+120]
00038ae0sub x2, x3, x2
00038ae4add x2, x2, 64
00038ae8subs xzr, x0, x2
00038aecb.lo 0x38b0c
00038af0ldr x2, [sp+104]
00038af4add x2, x2, x0
00038af8sub x2, x3, x2
00038afcldr x4, [sp+56]
00038b00add x2, x4, x2
00038b04add x3, x2, 64
00038b08b 0x38b14
00038b0c
00038b0cloc_38b0c:
00038b0cldr x3, [sp+56]
00038b10ldr x0, [sp+48]
00038b14
00038b14loc_38b14:
00038b14mov x7, x0
00038b18
00038b18loc_38b18:
00038b18mov x0, x7
00038b1cmov x1, x3
00038b20ldur x29, [sp-8]
00038b24ldr x30, [sp], 160
00038b28ret x30
00038b2c
00038b2cloc_38b2c:
00038b2cldr x6, [sp+80]
00038b30sub x6, x6, 1
00038b34ldr x0, [sp+128]
00038b38ldr x3, [sp+120]
00038b3cldr x5, [sp+112]
00038b40mov x4, x2
00038b44mov x2, x6
00038b48
00038b48loc_38b48:
00038b48tbnz x2, 63, 0x38b98
00038b4cstr x2, [sp+80]
00038b50str x4, [sp+64]
00038b54ldr x3, [sp+144]
00038b58ldr x3, [x3+3*x2]
00038b5cldr x4, [sp+168]
00038b60ldr x2, [x4+3*x2]
00038b64orr x0, x2, x3
00038b68ldr x1, [sp+184]
00038b6cbl runtime.fillAligned
00038b70str x0, [sp+32]
00038b74bl internal/runtime/sys.LeadingZeros64
00038b78ldr x2, [sp+64]
00038b7cadd x2, x2, x0
00038b80ldr x0, [sp+32]
00038b84cbz x0, 0x38b2c
00038b88ldr x0, [sp+128]
00038b8cldr x3, [sp+120]
00038b90ldr x5, [sp+112]
00038b94mov x4, x2
00038b98
00038b98loc_38b98:
00038b98mov x0, x4
00038b9cb 0x38a40
00038ba0
00038ba0loc_38ba0:
00038ba0mov x0, x4
00038ba4orr x1, xzr, 8
00038ba8bl runtime.panicIndex
00038bac
00038bacloc_38bac:
00038bacmov x0, x4
00038bb0orr x1, xzr, 8
00038bb4bl runtime.panicIndex
00038bb8
00038bb8loc_38bb8:
00038bb8bl runtime.printlock
00038bbcadrp x0, 0x67c000
00038bc0add x0, x0, 582
00038bc4orr x1, xzr, 15
00038bc8bl runtime.printstring
00038bccldr x0, [sp+184]
00038bd0bl runtime.printuint
00038bd4bl runtime.printnl
00038bd8bl runtime.printunlock
00038bdcadrp x0, 0x67b000
00038be0add x0, x0, 1563
00038be4movz x1, 13
00038be8bl runtime.throw
00038bec
00038becloc_38bec:
00038becbl runtime.printlock
00038bf0adrp x0, 0x67c000
00038bf4add x0, x0, 582
00038bf8orr x1, xzr, 15
00038bfcbl runtime.printstring
00038c00ldr x0, [sp+184]
00038c04bl runtime.printuint
00038c08bl runtime.printnl
00038c0cbl runtime.printunlock
00038c10adrp x0, 0x687000
00038c14add x0, x0, 639
00038c18movz x1, 33
00038c1cbl runtime.throw
00038c20hint
00038c24
00038c24loc_38c24:
00038c24stp x0, x1, [sp+8]
00038c28stp x2, x3, [sp+24]
00038c2cmov x3, x30
00038c30bl runtime.morestack_noctxt.abi0
00038c34ldp x0, x1, [sp+8]
00038c38ldp x2, x3, [sp+24]
00038c3cb 0x388e0
000388e0
000388e0runtime.(*pallocData).findScavengeCandidate: ; void runtime.(*pallocData).findScavengeCandidate(runtime.pallocData * m, uint searchIdx, uintptr minimum, uintptr max)
000388e0ldr x16, [x28+16]
000388e4sub x17, sp, 32
000388e8subs xzr, x17, x16
000388ecb.ls 0x38c24
000388f0str x30, [sp-160]!
000388f4stur x29, [sp-8]
000388f8sub x29, sp, 8
000388fcstr x2, [sp+184]
00038900sub x4, x2, 1
00038904ands xzr, x2, x4
00038908b.ne 0x38bec
0003890ccbz x2, 0x38bec
00038910subs xzr, x2, 64
00038914b.hi 0x38bb8
00038918str x0, [sp+168]
0003891ccbnz x3, 0x38928
00038920mov x3, x2
00038924b 0x38948
00038928
00038928loc_38928:
00038928str x1, [sp+176]
0003892cmov x0, x3
00038930mov x1, x2
00038934bl runtime.alignUp
00038938ldr x1, [sp+176]
0003893cldr x3, [sp+184]
00038940mov x2, x0
00038944ldr x0, [sp+168]
00038948
00038948loc_38948:
00038948str x2, [sp+136]
0003894cubfm x4, x1, 6, 63
00038950b 0x38968
00038954
00038954loc_38954:
00038954ldr x5, [sp+88]
00038958sub x4, x5, 1
0003895cldr x0, [sp+168]
00038960ldr x3, [sp+184]
00038964ldr x2, [sp+136]
00038968
00038968loc_38968:
00038968str x4, [sp+88]
0003896ctbnz x4, 63, 0x389ac
00038970subs xzr, x4, 8
00038974b.hs 0x38bac
00038978ldrsb x27, [x0]
0003897cadd x2, x0, 64
00038980ldr x2, [x2+3*x4]
00038984ldr x4, [x0+3*x4]
00038988orr x0, x4, x2
0003898cmov x1, x3
00038990bl runtime.fillAligned
00038994adds xzr, x0, 1
00038998b.eq 0x38954
0003899cldr x0, [sp+168]
000389a0ldr x2, [sp+136]
000389a4ldr x3, [sp+184]
000389a8ldr x4, [sp+88]
000389ac
000389acloc_389ac:
000389actbnz x4, 63, 0x38a2c
000389b0subs xzr, x4, 8
000389b4b.hs 0x38ba0
000389b8ldrsb x27, [x0]
000389bcadd x2, x0, 64
000389c0str x2, [sp+144]
000389c4ldr x2, [x2+3*x4]
000389c8ldr x4, [x0+3*x4]
000389ccorr x0, x4, x2
000389d0mov x1, x3
000389d4bl runtime.fillAligned
000389d8str x0, [sp+40]
000389dcorn x0, xzr, x0
000389e0bl internal/runtime/sys.LeadingZeros64
000389e4str x0, [sp+128]
000389e8ldr x2, [sp+88]
000389ecubfm x3, x2, 58, 57
000389f0str x3, [sp+120]
000389f4ldr x4, [sp+40]
000389f8lslv x4, x4, x0
000389fcsub x5, x3, x0
00038a00str x5, [sp+112]
00038a04subs xzr, x0, 64
00038a08csel x4, x4, xzr, lo
00038a0ccbnz x4, 0x38a20
00038a10orr x4, xzr, 64
00038a14sub x4, x4, x0
00038a18sub x2, x2, 1
00038a1cb 0x38b48
00038a20
00038a20loc_38a20:
00038a20mov x0, x4
00038a24bl internal/runtime/sys.LeadingZeros64
00038a28b 0x38a40
00038a2c
00038a2cloc_38a2c:
00038a2cmov x0, xzr
00038a30mov x1, x0
00038a34ldur x29, [sp-8]
00038a38ldr x30, [sp], 160
00038a3cret x30
00038a40
00038a40loc_38a40:
00038a40adrp x27, 0xa13000
00038a44ldr x2, [x27+1768]
00038a48ldr x3, [sp+136]
00038a4csubs xzr, x3, x0
00038a50csel x3, x3, x0, lo
00038a54ldr x4, [sp+128]
00038a58add x5, x3, x4
00038a5cldr x6, [sp+120]
00038a60sub x7, x6, x5
00038a64add x7, x7, 64
00038a68subs xzr, x2, 8192
00038a6cb.ls 0x38b18
00038a70adrp x27, 0xa13000
00038a74ldr x8, [x27+1760]
00038a78subs xzr, x8, x2
00038a7cb.hs 0x38b18
00038a80str x5, [sp+104]
00038a84str x0, [sp+64]
00038a88str x3, [sp+56]
00038a8cstr x7, [sp+48]
00038a90ldr x3, [sp+112]
00038a94add x3, x3, 64
00038a98str x3, [sp+96]
00038a9cubfm x1, x2, 13, 63
00038aa0str x1, [sp+72]
00038aa4mov x0, x7
00038aa8bl runtime.alignUp
00038aacldr x2, [sp+96]
00038ab0subs xzr, x0, x2
00038ab4b.ls 0x38ac4
00038ab8ldr x3, [sp+56]
00038abcldr x0, [sp+48]
00038ac0b 0x38b14
00038ac4
00038ac4loc_38ac4:
00038ac4ldr x0, [sp+48]
00038ac8ldr x1, [sp+72]
00038accbl runtime.alignDown
00038ad0ldr x2, [sp+64]
00038ad4ldr x3, [sp+128]
00038ad8add x2, x2, x3
00038adcldr x3, [sp+120]
00038ae0sub x2, x3, x2
00038ae4add x2, x2, 64
00038ae8subs xzr, x0, x2
00038aecb.lo 0x38b0c
00038af0ldr x2, [sp+104]
00038af4add x2, x2, x0
00038af8sub x2, x3, x2
00038afcldr x4, [sp+56]
00038b00add x2, x4, x2
00038b04add x3, x2, 64
00038b08b 0x38b14
00038b0c
00038b0cloc_38b0c:
00038b0cldr x3, [sp+56]
00038b10ldr x0, [sp+48]
00038b14
00038b14loc_38b14:
00038b14mov x7, x0
00038b18
00038b18loc_38b18:
00038b18mov x0, x7
00038b1cmov x1, x3
00038b20ldur x29, [sp-8]
00038b24ldr x30, [sp], 160
00038b28ret x30
00038b2c
00038b2cloc_38b2c:
00038b2cldr x6, [sp+80]
00038b30sub x6, x6, 1
00038b34ldr x0, [sp+128]
00038b38ldr x3, [sp+120]
00038b3cldr x5, [sp+112]
00038b40mov x4, x2
00038b44mov x2, x6
00038b48
00038b48loc_38b48:
00038b48tbnz x2, 63, 0x38b98
00038b4cstr x2, [sp+80]
00038b50str x4, [sp+64]
00038b54ldr x3, [sp+144]
00038b58ldr x3, [x3+3*x2]
00038b5cldr x4, [sp+168]
00038b60ldr x2, [x4+3*x2]
00038b64orr x0, x2, x3
00038b68ldr x1, [sp+184]
00038b6cbl runtime.fillAligned
00038b70str x0, [sp+32]
00038b74bl internal/runtime/sys.LeadingZeros64
00038b78ldr x2, [sp+64]
00038b7cadd x2, x2, x0
00038b80ldr x0, [sp+32]
00038b84cbz x0, 0x38b2c
00038b88ldr x0, [sp+128]
00038b8cldr x3, [sp+120]
00038b90ldr x5, [sp+112]
00038b94mov x4, x2
00038b98
00038b98loc_38b98:
00038b98mov x0, x4
00038b9cb 0x38a40
00038ba0
00038ba0loc_38ba0:
00038ba0mov x0, x4
00038ba4orr x1, xzr, 8
00038ba8bl runtime.panicIndex
00038bac
00038bacloc_38bac:
00038bacmov x0, x4
00038bb0orr x1, xzr, 8
00038bb4bl runtime.panicIndex
00038bb8
00038bb8loc_38bb8:
00038bb8bl runtime.printlock
00038bbcadrp x0, 0x67c000
00038bc0add x0, x0, 582
00038bc4orr x1, xzr, 15
00038bc8bl runtime.printstring
00038bccldr x0, [sp+184]
00038bd0bl runtime.printuint
00038bd4bl runtime.printnl
00038bd8bl runtime.printunlock
00038bdcadrp x0, 0x67b000
00038be0add x0, x0, 1563
00038be4movz x1, 13
00038be8bl runtime.throw
00038bec
00038becloc_38bec:
00038becbl runtime.printlock
00038bf0adrp x0, 0x67c000
00038bf4add x0, x0, 582
00038bf8orr x1, xzr, 15
00038bfcbl runtime.printstring
00038c00ldr x0, [sp+184]
00038c04bl runtime.printuint
00038c08bl runtime.printnl
00038c0cbl runtime.printunlock
00038c10adrp x0, 0x687000
00038c14add x0, x0, 639
00038c18movz x1, 33
00038c1cbl runtime.throw
00038c20hint
00038c24
00038c24loc_38c24:
00038c24stp x0, x1, [sp+8]
00038c28stp x2, x3, [sp+24]
00038c2cmov x3, x30
00038c30bl runtime.morestack_noctxt.abi0
00038c34ldp x0, x1, [sp+8]
00038c38ldp x2, x3, [sp+24]
00038c3cb 0x388e0
000388e0
00038c40
00038c40runtime.(*scavengeIndex).init: ; void runtime.(*scavengeIndex).init(runtime.scavengeIndex * s, bool test, runtime.sysMemStat * sysStat)
00038c40ldr x16, [x28+16]
00038c44subs xzr, sp, x16
00038c48b.ls 0x38ca8
00038c4cstr x30, [sp-48]!
00038c50stur x29, [sp-8]
00038c54sub x29, sp, 8
00038c58str x0, [sp+56]
00038c5cstrb w1, [sp+64]
00038c60str x2, [sp+72]
00038c64ldrsb x27, [x0]
00038c68add x0, x0, 48
00038c6cbl runtime.(*atomicOffAddr).Clear
00038c70ldr x1, [sp+56]
00038c74add x0, x1, 56
00038c78bl runtime.(*atomicOffAddr).Clear
00038c7cadrp x27, 0xa13000
00038c80ldr x1, [x27+1864]
00038c84ldr x0, [sp+56]
00038c88str x1, [x0+64]
00038c8cldrb w1, [sp+64]
00038c90strb w1, [x0+76]
00038c94ldr x2, [sp+72]
00038c98bl runtime.(*scavengeIndex).sysInit
00038c9cldur x29, [sp-8]
00038ca0ldr x30, [sp], 48
00038ca4ret x30
00038ca8
00038ca8loc_38ca8:
00038ca8str x0, [sp+8]
00038cacstrb w1, [sp+16]
00038cb0str x2, [sp+24]
00038cb4mov x3, x30
00038cb8bl runtime.morestack_noctxt.abi0
00038cbcldr x0, [sp+8]
00038cc0ldrb w1, [sp+16]
00038cc4ldr x2, [sp+24]
00038cc8b 0x38c40
00038cccudf 0
00038c40
00038c40runtime.(*scavengeIndex).init: ; void runtime.(*scavengeIndex).init(runtime.scavengeIndex * s, bool test, runtime.sysMemStat * sysStat)
00038c40ldr x16, [x28+16]
00038c44subs xzr, sp, x16
00038c48b.ls 0x38ca8
00038c4cstr x30, [sp-48]!
00038c50stur x29, [sp-8]
00038c54sub x29, sp, 8
00038c58str x0, [sp+56]
00038c5cstrb w1, [sp+64]
00038c60str x2, [sp+72]
00038c64ldrsb x27, [x0]
00038c68add x0, x0, 48
00038c6cbl runtime.(*atomicOffAddr).Clear
00038c70ldr x1, [sp+56]
00038c74add x0, x1, 56
00038c78bl runtime.(*atomicOffAddr).Clear
00038c7cadrp x27, 0xa13000
00038c80ldr x1, [x27+1864]
00038c84ldr x0, [sp+56]
00038c88str x1, [x0+64]
00038c8cldrb w1, [sp+64]
00038c90strb w1, [x0+76]
00038c94ldr x2, [sp+72]
00038c98bl runtime.(*scavengeIndex).sysInit
00038c9cldur x29, [sp-8]
00038ca0ldr x30, [sp], 48
00038ca4ret x30
00038ca8
00038ca8loc_38ca8:
00038ca8str x0, [sp+8]
00038cacstrb w1, [sp+16]
00038cb0str x2, [sp+24]
00038cb4mov x3, x30
00038cb8bl runtime.morestack_noctxt.abi0
00038cbcldr x0, [sp+8]
00038cc0ldrb w1, [sp+16]
00038cc4ldr x2, [sp+24]
00038cc8b 0x38c40
00038cccudf 0
00038c40
00038cd0
00038cd0runtime.(*scavengeIndex).grow: ; void runtime.(*scavengeIndex).grow(runtime.scavengeIndex * s, uintptr base, uintptr limit, runtime.sysMemStat * sysStat)
00038cd0ldr x16, [x28+16]
00038cd4subs xzr, sp, x16
00038cd8b.ls 0x38d50
00038cdcstr x30, [sp-64]!
00038ce0stur x29, [sp-8]
00038ce4sub x29, sp, 8
00038ce8str x0, [sp+72]
00038cecstr x1, [sp+80]
00038cf0str x2, [sp+88]
00038cf4str x3, [sp+96]
00038cf8ldrsb x27, [x0]
00038cfcadd x0, x0, 40
00038d00str x0, [sp+48]
00038d04bl internal/runtime/atomic.(*Uintptr).Load
00038d08str x0, [sp+40]
00038d0cldr x0, [sp+80]
00038d10bl runtime.chunkIndex
00038d14ldr x1, [sp+40]
00038d18cbz x1, 0x38d24
00038d1csubs xzr, x0, x1
00038d20b.hs 0x38d30
00038d24
00038d24loc_38d24:
00038d24mov x1, x0
00038d28ldr x0, [sp+48]
00038d2cbl internal/runtime/atomic.(*Uintptr).Store
00038d30
00038d30loc_38d30:
00038d30ldr x0, [sp+72]
00038d34ldr x1, [sp+80]
00038d38ldr x2, [sp+88]
00038d3cldr x3, [sp+96]
00038d40bl runtime.(*scavengeIndex).sysGrow
00038d44ldur x29, [sp-8]
00038d48ldr x30, [sp], 64
00038d4cret x30
00038d50
00038d50loc_38d50:
00038d50stp x0, x1, [sp+8]
00038d54stp x2, x3, [sp+24]
00038d58mov x3, x30
00038d5cbl runtime.morestack_noctxt.abi0
00038d60ldp x0, x1, [sp+8]
00038d64ldp x2, x3, [sp+24]
00038d68b 0x38cd0
00038d6cudf 0
00038cd0
00038cd0runtime.(*scavengeIndex).grow: ; void runtime.(*scavengeIndex).grow(runtime.scavengeIndex * s, uintptr base, uintptr limit, runtime.sysMemStat * sysStat)
00038cd0ldr x16, [x28+16]
00038cd4subs xzr, sp, x16
00038cd8b.ls 0x38d50
00038cdcstr x30, [sp-64]!
00038ce0stur x29, [sp-8]
00038ce4sub x29, sp, 8
00038ce8str x0, [sp+72]
00038cecstr x1, [sp+80]
00038cf0str x2, [sp+88]
00038cf4str x3, [sp+96]
00038cf8ldrsb x27, [x0]
00038cfcadd x0, x0, 40
00038d00str x0, [sp+48]
00038d04bl internal/runtime/atomic.(*Uintptr).Load
00038d08str x0, [sp+40]
00038d0cldr x0, [sp+80]
00038d10bl runtime.chunkIndex
00038d14ldr x1, [sp+40]
00038d18cbz x1, 0x38d24
00038d1csubs xzr, x0, x1
00038d20b.hs 0x38d30
00038d24
00038d24loc_38d24:
00038d24mov x1, x0
00038d28ldr x0, [sp+48]
00038d2cbl internal/runtime/atomic.(*Uintptr).Store
00038d30
00038d30loc_38d30:
00038d30ldr x0, [sp+72]
00038d34ldr x1, [sp+80]
00038d38ldr x2, [sp+88]
00038d3cldr x3, [sp+96]
00038d40bl runtime.(*scavengeIndex).sysGrow
00038d44ldur x29, [sp-8]
00038d48ldr x30, [sp], 64
00038d4cret x30
00038d50
00038d50loc_38d50:
00038d50stp x0, x1, [sp+8]
00038d54stp x2, x3, [sp+24]
00038d58mov x3, x30
00038d5cbl runtime.morestack_noctxt.abi0
00038d60ldp x0, x1, [sp+8]
00038d64ldp x2, x3, [sp+24]
00038d68b 0x38cd0
00038d6cudf 0
00038cd0
00038d70
00038d70runtime.(*scavengeIndex).find: ; void runtime.(*scavengeIndex).find(runtime.scavengeIndex * s, bool force)
00038d70ldr x16, [x28+16]
00038d74subs xzr, sp, x16
00038d78b.ls 0x38ef0
00038d7cstr x30, [sp-96]!
00038d80stur x29, [sp-8]
00038d84sub x29, sp, 8
00038d88str x0, [sp+104]
00038d8cstrb w1, [sp+112]
00038d90ldrsb x27, [x0]
00038d94add x2, x0, 48
00038d98tbz w1, 0, 0x38da0
00038d9cadd x2, x0, 56
00038da0
00038da0loc_38da0:
00038da0str x2, [sp+80]
00038da4mov x0, x2
00038da8bl runtime.(*atomicOffAddr).Load
00038dacstr x0, [sp+56]
00038db0strb w1, [sp+43]
00038db4adrp x27, 0xa13000
00038db8ldr x0, [x27+1864]
00038dbcbl runtime.offAddr.addr
00038dc0ldr x1, [sp+56]
00038dc4subs xzr, x0, x1
00038dc8b.eq 0x38e00
00038dccldr x1, [sp+104]
00038dd0add x0, x1, 40
00038dd4ldr w1, [x1+72]
00038dd8str w1, [sp+44]
00038ddcbl internal/runtime/atomic.(*Uintptr).Load
00038de0str x0, [sp+72]
00038de4ldr x0, [sp+56]
00038de8bl runtime.chunkIndex
00038decstr x0, [sp+48]
00038df0ldr x1, [sp+72]
00038df4ldr x2, [sp+104]
00038df8mov x3, x0
00038dfcb 0x38e28
00038e00
00038e00loc_38e00:
00038e00mov x0, xzr
00038e04mov x1, xzr
00038e08ldur x29, [sp-8]
00038e0cldr x30, [sp], 96
00038e10ret x30
00038e14
00038e14loc_38e14:
00038e14ldr x4, [sp+64]
00038e18sub x0, x4, 1
00038e1cldr x1, [sp+72]
00038e20ldr x2, [sp+104]
00038e24ldr x3, [sp+48]
00038e28
00038e28loc_38e28:
00038e28subs xzr, x1, x0
00038e2cb.hi 0x38ec8
00038e30ldr x4, [x2+8]
00038e34subs xzr, x0, x4
00038e38b.hs 0x38ee4
00038e3cstr x0, [sp+64]
00038e40ldr x1, [x2]
00038e44add x0, x1, x0, lsl #3
00038e48bl runtime.(*atomicScavChunkData).load
00038e4cldr w4, [sp+44]
00038e50ldrb w5, [sp+112]
00038e54bl runtime.scavChunkData.shouldScavenge
00038e58tbz w0, 0, 0x38e14
00038e5cldr x1, [sp+48]
00038e60ldr x0, [sp+64]
00038e64subs xzr, x1, x0
00038e68b.eq 0x38eac
00038e6cbl runtime.chunkBase
00038e70add x1, x0, 0x3fe000
00038e74ldrb w0, [sp+43]
00038e78tbz w0, 0, 0x38e90
00038e7cldr x0, [sp+80]
00038e80mov x2, x1
00038e84ldr x1, [sp+56]
00038e88bl runtime.(*atomicOffAddr).StoreUnmark
00038e8cb 0x38e98
00038e90
00038e90loc_38e90:
00038e90ldr x0, [sp+80]
00038e94bl runtime.(*atomicOffAddr).StoreMin
00038e98
00038e98loc_38e98:
00038e98ldr x0, [sp+64]
00038e9corr x1, xzr, 511
00038ea0ldur x29, [sp-8]
00038ea4ldr x30, [sp], 96
00038ea8ret x30
00038eac
00038eacloc_38eac:
00038eacldr x0, [sp+56]
00038eb0bl runtime.chunkPageIndex
00038eb4mov x1, x0
00038eb8ldr x0, [sp+64]
00038ebcldur x29, [sp-8]
00038ec0ldr x30, [sp], 96
00038ec4ret x30
00038ec8
00038ec8loc_38ec8:
00038ec8ldr x0, [sp+80]
00038eccbl runtime.(*atomicOffAddr).Clear
00038ed0mov x0, xzr
00038ed4mov x1, xzr
00038ed8ldur x29, [sp-8]
00038edcldr x30, [sp], 96
00038ee0ret x30
00038ee4
00038ee4loc_38ee4:
00038ee4mov x1, x4
00038ee8bl runtime.panicIndexU
00038eechint
00038ef0
00038ef0loc_38ef0:
00038ef0str x0, [sp+8]
00038ef4strb w1, [sp+16]
00038ef8mov x3, x30
00038efcbl runtime.morestack_noctxt.abi0
00038f00ldr x0, [sp+8]
00038f04ldrb w1, [sp+16]
00038f08b 0x38d70
00038f0cudf 0
00038d70
00038d70runtime.(*scavengeIndex).find: ; void runtime.(*scavengeIndex).find(runtime.scavengeIndex * s, bool force)
00038d70ldr x16, [x28+16]
00038d74subs xzr, sp, x16
00038d78b.ls 0x38ef0
00038d7cstr x30, [sp-96]!
00038d80stur x29, [sp-8]
00038d84sub x29, sp, 8
00038d88str x0, [sp+104]
00038d8cstrb w1, [sp+112]
00038d90ldrsb x27, [x0]
00038d94add x2, x0, 48
00038d98tbz w1, 0, 0x38da0
00038d9cadd x2, x0, 56
00038da0
00038da0loc_38da0:
00038da0str x2, [sp+80]
00038da4mov x0, x2
00038da8bl runtime.(*atomicOffAddr).Load
00038dacstr x0, [sp+56]
00038db0strb w1, [sp+43]
00038db4adrp x27, 0xa13000
00038db8ldr x0, [x27+1864]
00038dbcbl runtime.offAddr.addr
00038dc0ldr x1, [sp+56]
00038dc4subs xzr, x0, x1
00038dc8b.eq 0x38e00
00038dccldr x1, [sp+104]
00038dd0add x0, x1, 40
00038dd4ldr w1, [x1+72]
00038dd8str w1, [sp+44]
00038ddcbl internal/runtime/atomic.(*Uintptr).Load
00038de0str x0, [sp+72]
00038de4ldr x0, [sp+56]
00038de8bl runtime.chunkIndex
00038decstr x0, [sp+48]
00038df0ldr x1, [sp+72]
00038df4ldr x2, [sp+104]
00038df8mov x3, x0
00038dfcb 0x38e28
00038e00
00038e00loc_38e00:
00038e00mov x0, xzr
00038e04mov x1, xzr
00038e08ldur x29, [sp-8]
00038e0cldr x30, [sp], 96
00038e10ret x30
00038e14
00038e14loc_38e14:
00038e14ldr x4, [sp+64]
00038e18sub x0, x4, 1
00038e1cldr x1, [sp+72]
00038e20ldr x2, [sp+104]
00038e24ldr x3, [sp+48]
00038e28
00038e28loc_38e28:
00038e28subs xzr, x1, x0
00038e2cb.hi 0x38ec8
00038e30ldr x4, [x2+8]
00038e34subs xzr, x0, x4
00038e38b.hs 0x38ee4
00038e3cstr x0, [sp+64]
00038e40ldr x1, [x2]
00038e44add x0, x1, x0, lsl #3
00038e48bl runtime.(*atomicScavChunkData).load
00038e4cldr w4, [sp+44]
00038e50ldrb w5, [sp+112]
00038e54bl runtime.scavChunkData.shouldScavenge
00038e58tbz w0, 0, 0x38e14
00038e5cldr x1, [sp+48]
00038e60ldr x0, [sp+64]
00038e64subs xzr, x1, x0
00038e68b.eq 0x38eac
00038e6cbl runtime.chunkBase
00038e70add x1, x0, 0x3fe000
00038e74ldrb w0, [sp+43]
00038e78tbz w0, 0, 0x38e90
00038e7cldr x0, [sp+80]
00038e80mov x2, x1
00038e84ldr x1, [sp+56]
00038e88bl runtime.(*atomicOffAddr).StoreUnmark
00038e8cb 0x38e98
00038e90
00038e90loc_38e90:
00038e90ldr x0, [sp+80]
00038e94bl runtime.(*atomicOffAddr).StoreMin
00038e98
00038e98loc_38e98:
00038e98ldr x0, [sp+64]
00038e9corr x1, xzr, 511
00038ea0ldur x29, [sp-8]
00038ea4ldr x30, [sp], 96
00038ea8ret x30
00038eac
00038eacloc_38eac:
00038eacldr x0, [sp+56]
00038eb0bl runtime.chunkPageIndex
00038eb4mov x1, x0
00038eb8ldr x0, [sp+64]
00038ebcldur x29, [sp-8]
00038ec0ldr x30, [sp], 96
00038ec4ret x30
00038ec8
00038ec8loc_38ec8:
00038ec8ldr x0, [sp+80]
00038eccbl runtime.(*atomicOffAddr).Clear
00038ed0mov x0, xzr
00038ed4mov x1, xzr
00038ed8ldur x29, [sp-8]
00038edcldr x30, [sp], 96
00038ee0ret x30
00038ee4
00038ee4loc_38ee4:
00038ee4mov x1, x4
00038ee8bl runtime.panicIndexU
00038eechint
00038ef0
00038ef0loc_38ef0:
00038ef0str x0, [sp+8]
00038ef4strb w1, [sp+16]
00038ef8mov x3, x30
00038efcbl runtime.morestack_noctxt.abi0
00038f00ldr x0, [sp+8]
00038f04ldrb w1, [sp+16]
00038f08b 0x38d70
00038f0cudf 0
00038d70
00038f10
00038f10runtime.(*scavengeIndex).alloc: ; void runtime.(*scavengeIndex).alloc(runtime.scavengeIndex * s, runtime.chunkIdx ci, uint npages)
00038f10ldr x16, [x28+16]
00038f14subs xzr, sp, x16
00038f18b.ls 0x38fc4
00038f1cstr x30, [sp-64]!
00038f20stur x29, [sp-8]
00038f24sub x29, sp, 8
00038f28ldr x3, [x0+8]
00038f2csubs xzr, x1, x3
00038f30b.hs 0x38fb4
00038f34str x0, [sp+72]
00038f38str x1, [sp+80]
00038f3cstr x2, [sp+88]
00038f40ldr x2, [x0]
00038f44add x0, x2, x1, lsl #3
00038f48bl runtime.(*atomicScavChunkData).load
00038f4cstrh w0, [sp+44]
00038f50strh w1, [sp+46]
00038f54str w2, [sp+48]
00038f58strb w3, [sp+52]
00038f5cldr x1, [sp+72]
00038f60ldr w2, [x1+72]
00038f64add x0, sp, 44
00038f68ldr x1, [sp+88]
00038f6cbl runtime.(*scavChunkData).alloc
00038f70ldr x1, [sp+72]
00038f74ldr x2, [x1+8]
00038f78ldr x0, [sp+80]
00038f7csubs xzr, x0, x2
00038f80b.hs 0x38fac
00038f84ldr x5, [x1]
00038f88add x0, x5, x0, lsl #3
00038f8cldrh w1, [sp+44]
00038f90ldrh w2, [sp+46]
00038f94ldr w3, [sp+48]
00038f98ldrb w4, [sp+52]
00038f9cbl runtime.(*atomicScavChunkData).store
00038fa0ldur x29, [sp-8]
00038fa4ldr x30, [sp], 64
00038fa8ret x30
00038fac
00038facloc_38fac:
00038facmov x1, x2
00038fb0bl runtime.panicIndexU
00038fb4
00038fb4loc_38fb4:
00038fb4mov x0, x1
00038fb8mov x1, x3
00038fbcbl runtime.panicIndexU
00038fc0hint
00038fc4
00038fc4loc_38fc4:
00038fc4stp x0, x1, [sp+8]
00038fc8str x2, [sp+24]
00038fccmov x3, x30
00038fd0bl runtime.morestack_noctxt.abi0
00038fd4ldp x0, x1, [sp+8]
00038fd8ldr x2, [sp+24]
00038fdcb 0x38f10
00038f10
00038f10runtime.(*scavengeIndex).alloc: ; void runtime.(*scavengeIndex).alloc(runtime.scavengeIndex * s, runtime.chunkIdx ci, uint npages)
00038f10ldr x16, [x28+16]
00038f14subs xzr, sp, x16
00038f18b.ls 0x38fc4
00038f1cstr x30, [sp-64]!
00038f20stur x29, [sp-8]
00038f24sub x29, sp, 8
00038f28ldr x3, [x0+8]
00038f2csubs xzr, x1, x3
00038f30b.hs 0x38fb4
00038f34str x0, [sp+72]
00038f38str x1, [sp+80]
00038f3cstr x2, [sp+88]
00038f40ldr x2, [x0]
00038f44add x0, x2, x1, lsl #3
00038f48bl runtime.(*atomicScavChunkData).load
00038f4cstrh w0, [sp+44]
00038f50strh w1, [sp+46]
00038f54str w2, [sp+48]
00038f58strb w3, [sp+52]
00038f5cldr x1, [sp+72]
00038f60ldr w2, [x1+72]
00038f64add x0, sp, 44
00038f68ldr x1, [sp+88]
00038f6cbl runtime.(*scavChunkData).alloc
00038f70ldr x1, [sp+72]
00038f74ldr x2, [x1+8]
00038f78ldr x0, [sp+80]
00038f7csubs xzr, x0, x2
00038f80b.hs 0x38fac
00038f84ldr x5, [x1]
00038f88add x0, x5, x0, lsl #3
00038f8cldrh w1, [sp+44]
00038f90ldrh w2, [sp+46]
00038f94ldr w3, [sp+48]
00038f98ldrb w4, [sp+52]
00038f9cbl runtime.(*atomicScavChunkData).store
00038fa0ldur x29, [sp-8]
00038fa4ldr x30, [sp], 64
00038fa8ret x30
00038fac
00038facloc_38fac:
00038facmov x1, x2
00038fb0bl runtime.panicIndexU
00038fb4
00038fb4loc_38fb4:
00038fb4mov x0, x1
00038fb8mov x1, x3
00038fbcbl runtime.panicIndexU
00038fc0hint
00038fc4
00038fc4loc_38fc4:
00038fc4stp x0, x1, [sp+8]
00038fc8str x2, [sp+24]
00038fccmov x3, x30
00038fd0bl runtime.morestack_noctxt.abi0
00038fd4ldp x0, x1, [sp+8]
00038fd8ldr x2, [sp+24]
00038fdcb 0x38f10
00038f10
00038fe0
00038fe0runtime.(*scavengeIndex).free: ; void runtime.(*scavengeIndex).free(runtime.scavengeIndex * s, runtime.chunkIdx ci, uint page, uint npages)
00038fe0ldr x16, [x28+16]
00038fe4subs xzr, sp, x16
00038fe8b.ls 0x39100
00038fecstr x30, [sp-80]!
00038ff0stur x29, [sp-8]
00038ff4sub x29, sp, 8
00038ff8ldr x4, [x0+8]
00038ffcsubs xzr, x1, x4
00039000b.hs 0x390f0
00039004str x0, [sp+88]
00039008str x1, [sp+96]
0003900cstr x2, [sp+104]
00039010str x3, [sp+112]
00039014ldr x2, [x0]
00039018add x0, x2, x1, lsl #3
0003901cbl runtime.(*atomicScavChunkData).load
00039020strh w0, [sp+44]
00039024strh w1, [sp+46]
00039028str w2, [sp+48]
0003902cstrb w3, [sp+52]
00039030ldr x1, [sp+88]
00039034ldr w2, [x1+72]
00039038add x0, sp, 44
0003903cldr x1, [sp+112]
00039040bl runtime.(*scavChunkData).free
00039044ldr x1, [sp+88]
00039048ldr x2, [x1+8]
0003904cldr x0, [sp+96]
00039050subs xzr, x0, x2
00039054b.hs 0x390e8
00039058ldr x5, [x1]
0003905cadd x0, x5, x0, lsl #3
00039060ldrh w1, [sp+44]
00039064ldrh w2, [sp+46]
00039068ldr w3, [sp+48]
0003906cldrb w4, [sp+52]
00039070bl runtime.(*atomicScavChunkData).store
00039074ldr x0, [sp+96]
00039078bl runtime.chunkBase
0003907cldr x5, [sp+112]
00039080ldr x6, [sp+104]
00039084add x5, x5, x6
00039088sub x5, x5, 1
0003908cadd x1, x0, x5, lsl #13
00039090str x1, [sp+56]
00039094ldr x5, [sp+88]
00039098ldr x0, [x5+64]
0003909cbl runtime.offAddr.lessThan
000390a0tbz w0, 0, 0x390b4
000390a4ldr x1, [sp+56]
000390a8ldr x2, [sp+88]
000390acstr x1, [x2+64]
000390b0b 0x390b8
000390b4
000390b4loc_390b4:
000390b4ldr x2, [sp+88]
000390b8
000390b8loc_390b8:
000390b8add x0, x2, 56
000390bcstr x0, [sp+64]
000390c0bl runtime.(*atomicOffAddr).Load
000390c4ldr x1, [sp+56]
000390c8bl runtime.offAddr.lessThan
000390cctbz w0, 0, 0x390dc
000390d0ldr x0, [sp+64]
000390d4ldr x1, [sp+56]
000390d8bl runtime.(*atomicOffAddr).StoreMarked
000390dc
000390dcloc_390dc:
000390dcldur x29, [sp-8]
000390e0ldr x30, [sp], 80
000390e4ret x30
000390e8
000390e8loc_390e8:
000390e8mov x1, x2
000390ecbl runtime.panicIndexU
000390f0
000390f0loc_390f0:
000390f0mov x0, x1
000390f4mov x1, x4
000390f8bl runtime.panicIndexU
000390fchint
00039100
00039100loc_39100:
00039100stp x0, x1, [sp+8]
00039104stp x2, x3, [sp+24]
00039108mov x3, x30
0003910cbl runtime.morestack_noctxt.abi0
00039110ldp x0, x1, [sp+8]
00039114ldp x2, x3, [sp+24]
00039118b 0x38fe0
0003911cudf 0
00038fe0
00038fe0runtime.(*scavengeIndex).free: ; void runtime.(*scavengeIndex).free(runtime.scavengeIndex * s, runtime.chunkIdx ci, uint page, uint npages)
00038fe0ldr x16, [x28+16]
00038fe4subs xzr, sp, x16
00038fe8b.ls 0x39100
00038fecstr x30, [sp-80]!
00038ff0stur x29, [sp-8]
00038ff4sub x29, sp, 8
00038ff8ldr x4, [x0+8]
00038ffcsubs xzr, x1, x4
00039000b.hs 0x390f0
00039004str x0, [sp+88]
00039008str x1, [sp+96]
0003900cstr x2, [sp+104]
00039010str x3, [sp+112]
00039014ldr x2, [x0]
00039018add x0, x2, x1, lsl #3
0003901cbl runtime.(*atomicScavChunkData).load
00039020strh w0, [sp+44]
00039024strh w1, [sp+46]
00039028str w2, [sp+48]
0003902cstrb w3, [sp+52]
00039030ldr x1, [sp+88]
00039034ldr w2, [x1+72]
00039038add x0, sp, 44
0003903cldr x1, [sp+112]
00039040bl runtime.(*scavChunkData).free
00039044ldr x1, [sp+88]
00039048ldr x2, [x1+8]
0003904cldr x0, [sp+96]
00039050subs xzr, x0, x2
00039054b.hs 0x390e8
00039058ldr x5, [x1]
0003905cadd x0, x5, x0, lsl #3
00039060ldrh w1, [sp+44]
00039064ldrh w2, [sp+46]
00039068ldr w3, [sp+48]
0003906cldrb w4, [sp+52]
00039070bl runtime.(*atomicScavChunkData).store
00039074ldr x0, [sp+96]
00039078bl runtime.chunkBase
0003907cldr x5, [sp+112]
00039080ldr x6, [sp+104]
00039084add x5, x5, x6
00039088sub x5, x5, 1
0003908cadd x1, x0, x5, lsl #13
00039090str x1, [sp+56]
00039094ldr x5, [sp+88]
00039098ldr x0, [x5+64]
0003909cbl runtime.offAddr.lessThan
000390a0tbz w0, 0, 0x390b4
000390a4ldr x1, [sp+56]
000390a8ldr x2, [sp+88]
000390acstr x1, [x2+64]
000390b0b 0x390b8
000390b4
000390b4loc_390b4:
000390b4ldr x2, [sp+88]
000390b8
000390b8loc_390b8:
000390b8add x0, x2, 56
000390bcstr x0, [sp+64]
000390c0bl runtime.(*atomicOffAddr).Load
000390c4ldr x1, [sp+56]
000390c8bl runtime.offAddr.lessThan
000390cctbz w0, 0, 0x390dc
000390d0ldr x0, [sp+64]
000390d4ldr x1, [sp+56]
000390d8bl runtime.(*atomicOffAddr).StoreMarked
000390dc
000390dcloc_390dc:
000390dcldur x29, [sp-8]
000390e0ldr x30, [sp], 80
000390e4ret x30
000390e8
000390e8loc_390e8:
000390e8mov x1, x2
000390ecbl runtime.panicIndexU
000390f0
000390f0loc_390f0:
000390f0mov x0, x1
000390f4mov x1, x4
000390f8bl runtime.panicIndexU
000390fchint
00039100
00039100loc_39100:
00039100stp x0, x1, [sp+8]
00039104stp x2, x3, [sp+24]
00039108mov x3, x30
0003910cbl runtime.morestack_noctxt.abi0
00039110ldp x0, x1, [sp+8]
00039114ldp x2, x3, [sp+24]
00039118b 0x38fe0
0003911cudf 0
00038fe0
00039120
00039120runtime.(*scavengeIndex).nextGen: ; void runtime.(*scavengeIndex).nextGen(runtime.scavengeIndex * s)
00039120ldr x16, [x28+16]
00039124subs xzr, sp, x16
00039128b.ls 0x39198
0003912cstr x30, [sp-48]!
00039130stur x29, [sp-8]
00039134sub x29, sp, 8
00039138str x0, [sp+56]
0003913cldr w1, [x0+72]
00039140add x1, x1, 1
00039144str w1, [x0+72]
00039148add x0, x0, 48
0003914cstr x0, [sp+32]
00039150bl runtime.(*atomicOffAddr).Load
00039154ldr x1, [sp+56]
00039158ldr x1, [x1+64]
0003915cbl runtime.offAddr.lessThan
00039160tbz w0, 0, 0x3917c
00039164ldr x1, [sp+56]
00039168ldr x0, [x1+64]
0003916cbl runtime.offAddr.addr
00039170mov x1, x0
00039174ldr x0, [sp+32]
00039178bl runtime.(*atomicOffAddr).StoreMarked
0003917c
0003917cloc_3917c:
0003917cadrp x27, 0xa12000
00039180ldr x0, [x27+1864]
00039184ldr x1, [sp+56]
00039188str x0, [x1+64]
0003918cldur x29, [sp-8]
00039190ldr x30, [sp], 48
00039194ret x30
00039198
00039198loc_39198:
00039198str x0, [sp+8]
0003919cmov x3, x30
000391a0bl runtime.morestack_noctxt.abi0
000391a4ldr x0, [sp+8]
000391a8b 0x39120
000391acudf 0
00039120
00039120runtime.(*scavengeIndex).nextGen: ; void runtime.(*scavengeIndex).nextGen(runtime.scavengeIndex * s)
00039120ldr x16, [x28+16]
00039124subs xzr, sp, x16
00039128b.ls 0x39198
0003912cstr x30, [sp-48]!
00039130stur x29, [sp-8]
00039134sub x29, sp, 8
00039138str x0, [sp+56]
0003913cldr w1, [x0+72]
00039140add x1, x1, 1
00039144str w1, [x0+72]
00039148add x0, x0, 48
0003914cstr x0, [sp+32]
00039150bl runtime.(*atomicOffAddr).Load
00039154ldr x1, [sp+56]
00039158ldr x1, [x1+64]
0003915cbl runtime.offAddr.lessThan
00039160tbz w0, 0, 0x3917c
00039164ldr x1, [sp+56]
00039168ldr x0, [x1+64]
0003916cbl runtime.offAddr.addr
00039170mov x1, x0
00039174ldr x0, [sp+32]
00039178bl runtime.(*atomicOffAddr).StoreMarked
0003917c
0003917cloc_3917c:
0003917cadrp x27, 0xa12000
00039180ldr x0, [x27+1864]
00039184ldr x1, [sp+56]
00039188str x0, [x1+64]
0003918cldur x29, [sp-8]
00039190ldr x30, [sp], 48
00039194ret x30
00039198
00039198loc_39198:
00039198str x0, [sp+8]
0003919cmov x3, x30
000391a0bl runtime.morestack_noctxt.abi0
000391a4ldr x0, [sp+8]
000391a8b 0x39120
000391acudf 0
00039120
000391b0
000391b0runtime.(*scavengeIndex).setEmpty: ; void runtime.(*scavengeIndex).setEmpty(runtime.scavengeIndex * s, runtime.chunkIdx ci)
000391b0ldr x16, [x28+16]
000391b4subs xzr, sp, x16
000391b8b.ls 0x39254
000391bcstr x30, [sp-64]!
000391c0stur x29, [sp-8]
000391c4sub x29, sp, 8
000391c8ldr x2, [x0+8]
000391ccsubs xzr, x1, x2
000391d0b.hs 0x39244
000391d4str x0, [sp+72]
000391d8str x1, [sp+80]
000391dcldr x2, [x0]
000391e0add x0, x2, x1, lsl #3
000391e4bl runtime.(*atomicScavChunkData).load
000391e8strh w0, [sp+44]
000391ecstrh w1, [sp+46]
000391f0str w2, [sp+48]
000391f4strb w3, [sp+52]
000391f8add x0, sp, 52
000391fcbl runtime.(*scavChunkFlags).setEmpty
00039200ldr x1, [sp+72]
00039204ldr x2, [x1+8]
00039208ldr x0, [sp+80]
0003920csubs xzr, x0, x2
00039210b.hs 0x3923c
00039214ldr x5, [x1]
00039218add x0, x5, x0, lsl #3
0003921cldrh w1, [sp+44]
00039220ldrh w2, [sp+46]
00039224ldr w3, [sp+48]
00039228ldrb w4, [sp+52]
0003922cbl runtime.(*atomicScavChunkData).store
00039230ldur x29, [sp-8]
00039234ldr x30, [sp], 64
00039238ret x30
0003923c
0003923cloc_3923c:
0003923cmov x1, x2
00039240bl runtime.panicIndexU
00039244
00039244loc_39244:
00039244mov x0, x1
00039248mov x1, x2
0003924cbl runtime.panicIndexU
00039250hint
00039254
00039254loc_39254:
00039254stp x0, x1, [sp+8]
00039258mov x3, x30
0003925cbl runtime.morestack_noctxt.abi0
00039260ldp x0, x1, [sp+8]
00039264b 0x391b0
00039268udf 0
0003926cudf 0
000391b0
000391b0runtime.(*scavengeIndex).setEmpty: ; void runtime.(*scavengeIndex).setEmpty(runtime.scavengeIndex * s, runtime.chunkIdx ci)
000391b0ldr x16, [x28+16]
000391b4subs xzr, sp, x16
000391b8b.ls 0x39254
000391bcstr x30, [sp-64]!
000391c0stur x29, [sp-8]
000391c4sub x29, sp, 8
000391c8ldr x2, [x0+8]
000391ccsubs xzr, x1, x2
000391d0b.hs 0x39244
000391d4str x0, [sp+72]
000391d8str x1, [sp+80]
000391dcldr x2, [x0]
000391e0add x0, x2, x1, lsl #3
000391e4bl runtime.(*atomicScavChunkData).load
000391e8strh w0, [sp+44]
000391ecstrh w1, [sp+46]
000391f0str w2, [sp+48]
000391f4strb w3, [sp+52]
000391f8add x0, sp, 52
000391fcbl runtime.(*scavChunkFlags).setEmpty
00039200ldr x1, [sp+72]
00039204ldr x2, [x1+8]
00039208ldr x0, [sp+80]
0003920csubs xzr, x0, x2
00039210b.hs 0x3923c
00039214ldr x5, [x1]
00039218add x0, x5, x0, lsl #3
0003921cldrh w1, [sp+44]
00039220ldrh w2, [sp+46]
00039224ldr w3, [sp+48]
00039228ldrb w4, [sp+52]
0003922cbl runtime.(*atomicScavChunkData).store
00039230ldur x29, [sp-8]
00039234ldr x30, [sp], 64
00039238ret x30
0003923c
0003923cloc_3923c:
0003923cmov x1, x2
00039240bl runtime.panicIndexU
00039244
00039244loc_39244:
00039244mov x0, x1
00039248mov x1, x2
0003924cbl runtime.panicIndexU
00039250hint
00039254
00039254loc_39254:
00039254stp x0, x1, [sp+8]
00039258mov x3, x30
0003925cbl runtime.morestack_noctxt.abi0
00039260ldp x0, x1, [sp+8]
00039264b 0x391b0
00039268udf 0
0003926cudf 0
000391b0
00039270
00039270runtime.(*atomicScavChunkData).load: ; void runtime.(*atomicScavChunkData).load(runtime.atomicScavChunkData * sc)
00039270ldr x16, [x28+16]
00039274subs xzr, sp, x16
00039278b.ls 0x392a0
0003927cstr x30, [sp-32]!
00039280stur x29, [sp-8]
00039284sub x29, sp, 8
00039288ldrsb x27, [x0]
0003928cbl internal/runtime/atomic.(*Uint64).Load
00039290bl runtime.unpackScavChunkData
00039294ldur x29, [sp-8]
00039298ldr x30, [sp], 32
0003929cret x30
000392a0
000392a0loc_392a0:
000392a0str x0, [sp+8]
000392a4mov x3, x30
000392a8bl runtime.morestack_noctxt.abi0
000392acldr x0, [sp+8]
000392b0b 0x39270
000392b4udf 0
000392b8udf 0
000392bcudf 0
00039270
00039270runtime.(*atomicScavChunkData).load: ; void runtime.(*atomicScavChunkData).load(runtime.atomicScavChunkData * sc)
00039270ldr x16, [x28+16]
00039274subs xzr, sp, x16
00039278b.ls 0x392a0
0003927cstr x30, [sp-32]!
00039280stur x29, [sp-8]
00039284sub x29, sp, 8
00039288ldrsb x27, [x0]
0003928cbl internal/runtime/atomic.(*Uint64).Load
00039290bl runtime.unpackScavChunkData
00039294ldur x29, [sp-8]
00039298ldr x30, [sp], 32
0003929cret x30
000392a0
000392a0loc_392a0:
000392a0str x0, [sp+8]
000392a4mov x3, x30
000392a8bl runtime.morestack_noctxt.abi0
000392acldr x0, [sp+8]
000392b0b 0x39270
000392b4udf 0
000392b8udf 0
000392bcudf 0
00039270
000392c0
000392c0runtime.(*atomicScavChunkData).store: ; void runtime.(*atomicScavChunkData).store(runtime.atomicScavChunkData * sc, runtime.scavChunkData ssc)
000392c0ldr x16, [x28+16]
000392c4subs xzr, sp, x16
000392c8b.ls 0x39310
000392ccstr x30, [sp-32]!
000392d0stur x29, [sp-8]
000392d4sub x29, sp, 8
000392d8str x0, [sp+40]
000392dcmov x0, x1
000392e0mov x1, x2
000392e4mov x2, x3
000392e8mov x3, x4
000392ecbl runtime.scavChunkData.pack
000392f0ldr x4, [sp+40]
000392f4ldrsb x27, [x4]
000392f8mov x1, x0
000392fcmov x0, x4
00039300bl internal/runtime/atomic.(*Uint64).Store
00039304ldur x29, [sp-8]
00039308ldr x30, [sp], 32
0003930cret x30
00039310
00039310loc_39310:
00039310str x0, [sp+8]
00039314strh w1, [sp+16]
00039318strh w2, [sp+18]
0003931cstr w3, [sp+20]
00039320strb w4, [sp+24]
00039324mov x3, x30
00039328bl runtime.morestack_noctxt.abi0
0003932cldr x0, [sp+8]
00039330ldrh w1, [sp+16]
00039334ldrh w2, [sp+18]
00039338ldr w3, [sp+20]
0003933cldrb w4, [sp+24]
00039340b 0x392c0
00039344udf 0
00039348udf 0
0003934cudf 0
000392c0
000392c0runtime.(*atomicScavChunkData).store: ; void runtime.(*atomicScavChunkData).store(runtime.atomicScavChunkData * sc, runtime.scavChunkData ssc)
000392c0ldr x16, [x28+16]
000392c4subs xzr, sp, x16
000392c8b.ls 0x39310
000392ccstr x30, [sp-32]!
000392d0stur x29, [sp-8]
000392d4sub x29, sp, 8
000392d8str x0, [sp+40]
000392dcmov x0, x1
000392e0mov x1, x2
000392e4mov x2, x3
000392e8mov x3, x4
000392ecbl runtime.scavChunkData.pack
000392f0ldr x4, [sp+40]
000392f4ldrsb x27, [x4]
000392f8mov x1, x0
000392fcmov x0, x4
00039300bl internal/runtime/atomic.(*Uint64).Store
00039304ldur x29, [sp-8]
00039308ldr x30, [sp], 32
0003930cret x30
00039310
00039310loc_39310:
00039310str x0, [sp+8]
00039314strh w1, [sp+16]
00039318strh w2, [sp+18]
0003931cstr w3, [sp+20]
00039320strb w4, [sp+24]
00039324mov x3, x30
00039328bl runtime.morestack_noctxt.abi0
0003932cldr x0, [sp+8]
00039330ldrh w1, [sp+16]
00039334ldrh w2, [sp+18]
00039338ldr w3, [sp+20]
0003933cldrb w4, [sp+24]
00039340b 0x392c0
00039344udf 0
00039348udf 0
0003934cudf 0
000392c0
00039350
00039350runtime.unpackScavChunkData: ; void runtime.unpackScavChunkData(uint64 sc)
00039350ubfm x1, x0, 16, 25
00039354ubfm x2, x0, 32, 63
00039358ubfm x3, x0, 26, 31
0003935cret x30
00039350
00039350runtime.unpackScavChunkData: ; void runtime.unpackScavChunkData(uint64 sc)
00039350ubfm x1, x0, 16, 25
00039354ubfm x2, x0, 32, 63
00039358ubfm x3, x0, 26, 31
0003935cret x30
00039350
00039360
00039360runtime.scavChunkData.pack: ; void runtime.scavChunkData.pack(runtime.scavChunkData sc)
00039360ubfm x4, x0, 0, 15
00039364ubfm x1, x1, 0, 15
00039368orr x1, x4, x1, lsl #16
0003936cubfm x3, x3, 0, 7
00039370orr x1, x1, x3, lsl #26
00039374mov w2, w2
00039378orr x0, x1, x2, lsl #32
0003937cret x30
00039360
00039360runtime.scavChunkData.pack: ; void runtime.scavChunkData.pack(runtime.scavChunkData sc)
00039360ubfm x4, x0, 0, 15
00039364ubfm x1, x1, 0, 15
00039368orr x1, x4, x1, lsl #16
0003936cubfm x3, x3, 0, 7
00039370orr x1, x1, x3, lsl #26
00039374mov w2, w2
00039378orr x0, x1, x2, lsl #32
0003937cret x30
00039360
00039380
00039380runtime.(*scavChunkFlags).isEmpty: ; void runtime.(*scavChunkFlags).isEmpty(runtime.scavChunkFlags * sc)
00039380ldrb w1, [x0]
00039384ands wzr, w1, 1
00039388cset x0, eq
0003938cret x30
00039380
00039380runtime.(*scavChunkFlags).isEmpty: ; void runtime.(*scavChunkFlags).isEmpty(runtime.scavChunkFlags * sc)
00039380ldrb w1, [x0]
00039384ands wzr, w1, 1
00039388cset x0, eq
0003938cret x30
00039380
00039390
00039390runtime.(*scavChunkFlags).setEmpty: ; void runtime.(*scavChunkFlags).setEmpty(runtime.scavChunkFlags * sc)
00039390ldrb w1, [x0]
00039394and x1, x1, -2
00039398strb w1, [x0]
0003939cret x30
00039390
00039390runtime.(*scavChunkFlags).setEmpty: ; void runtime.(*scavChunkFlags).setEmpty(runtime.scavChunkFlags * sc)
00039390ldrb w1, [x0]
00039394and x1, x1, -2
00039398strb w1, [x0]
0003939cret x30
00039390
000393a0
000393a0runtime.(*scavChunkFlags).setNonEmpty: ; void runtime.(*scavChunkFlags).setNonEmpty(runtime.scavChunkFlags * sc)
000393a0ldrb w1, [x0]
000393a4orr x1, x1, 1
000393a8strb w1, [x0]
000393acret x30
000393a0
000393a0runtime.(*scavChunkFlags).setNonEmpty: ; void runtime.(*scavChunkFlags).setNonEmpty(runtime.scavChunkFlags * sc)
000393a0ldrb w1, [x0]
000393a4orr x1, x1, 1
000393a8strb w1, [x0]
000393acret x30
000393a0
000393b0
000393b0runtime.scavChunkData.shouldScavenge: ; void runtime.scavChunkData.shouldScavenge(runtime.scavChunkData sc, uint32 currGen, bool force)
000393b0ldr x16, [x28+16]
000393b4subs xzr, sp, x16
000393b8b.ls 0x3946c
000393bcstr x30, [sp-32]!
000393c0stur x29, [sp-8]
000393c4sub x29, sp, 8
000393c8str w4, [sp+52]
000393ccstrb w5, [sp+56]
000393d0strh w0, [sp+40]
000393d4strh w1, [sp+42]
000393d8str w2, [sp+44]
000393dcstrb w3, [sp+48]
000393e0add x0, sp, 48
000393e4bl runtime.(*scavChunkFlags).isEmpty
000393e8tbnz w0, 0, 0x3945c
000393ecldrb w0, [sp+56]
000393f0tbnz w0, 0, 0x3944c
000393f4ldr w1, [sp+44]
000393f8ldr w2, [sp+52]
000393fcsubs wzr, w2, w1
00039400b.ne 0x39434
00039404ldrh w1, [sp+40]
00039408subs wzr, w1, 496
0003940cb.hs 0x39420
00039410ldrh w1, [sp+42]
00039414subs wzr, w1, 496
00039418cset x1, lo
0003941cb 0x39424
00039420
00039420loc_39420:
00039420mov x1, xzr
00039424
00039424loc_39424:
00039424mov x0, x1
00039428ldur x29, [sp-8]
0003942cldr x30, [sp], 32
00039430ret x30
00039434
00039434loc_39434:
00039434ldrh w1, [sp+40]
00039438subs wzr, w1, 496
0003943ccset x0, lo
00039440ldur x29, [sp-8]
00039444ldr x30, [sp], 32
00039448ret x30
0003944c
0003944cloc_3944c:
0003944corr x0, xzr, 1
00039450ldur x29, [sp-8]
00039454ldr x30, [sp], 32
00039458ret x30
0003945c
0003945cloc_3945c:
0003945cmov x0, xzr
00039460ldur x29, [sp-8]
00039464ldr x30, [sp], 32
00039468ret x30
0003946c
0003946cloc_3946c:
0003946cstrh w0, [sp+8]
00039470strh w1, [sp+10]
00039474str w2, [sp+12]
00039478strb w3, [sp+16]
0003947cstr w4, [sp+20]
00039480strb w5, [sp+24]
00039484mov x3, x30
00039488bl runtime.morestack_noctxt.abi0
0003948cldrh w0, [sp+8]
00039490ldrh w1, [sp+10]
00039494ldr w2, [sp+12]
00039498ldrb w3, [sp+16]
0003949cldr w4, [sp+20]
000394a0ldrb w5, [sp+24]
000394a4b 0x393b0
000394a8udf 0
000394acudf 0
000393b0
000393b0runtime.scavChunkData.shouldScavenge: ; void runtime.scavChunkData.shouldScavenge(runtime.scavChunkData sc, uint32 currGen, bool force)
000393b0ldr x16, [x28+16]
000393b4subs xzr, sp, x16
000393b8b.ls 0x3946c
000393bcstr x30, [sp-32]!
000393c0stur x29, [sp-8]
000393c4sub x29, sp, 8
000393c8str w4, [sp+52]
000393ccstrb w5, [sp+56]
000393d0strh w0, [sp+40]
000393d4strh w1, [sp+42]
000393d8str w2, [sp+44]
000393dcstrb w3, [sp+48]
000393e0add x0, sp, 48
000393e4bl runtime.(*scavChunkFlags).isEmpty
000393e8tbnz w0, 0, 0x3945c
000393ecldrb w0, [sp+56]
000393f0tbnz w0, 0, 0x3944c
000393f4ldr w1, [sp+44]
000393f8ldr w2, [sp+52]
000393fcsubs wzr, w2, w1
00039400b.ne 0x39434
00039404ldrh w1, [sp+40]
00039408subs wzr, w1, 496
0003940cb.hs 0x39420
00039410ldrh w1, [sp+42]
00039414subs wzr, w1, 496
00039418cset x1, lo
0003941cb 0x39424
00039420
00039420loc_39420:
00039420mov x1, xzr
00039424
00039424loc_39424:
00039424mov x0, x1
00039428ldur x29, [sp-8]
0003942cldr x30, [sp], 32
00039430ret x30
00039434
00039434loc_39434:
00039434ldrh w1, [sp+40]
00039438subs wzr, w1, 496
0003943ccset x0, lo
00039440ldur x29, [sp-8]
00039444ldr x30, [sp], 32
00039448ret x30
0003944c
0003944cloc_3944c:
0003944corr x0, xzr, 1
00039450ldur x29, [sp-8]
00039454ldr x30, [sp], 32
00039458ret x30
0003945c
0003945cloc_3945c:
0003945cmov x0, xzr
00039460ldur x29, [sp-8]
00039464ldr x30, [sp], 32
00039468ret x30
0003946c
0003946cloc_3946c:
0003946cstrh w0, [sp+8]
00039470strh w1, [sp+10]
00039474str w2, [sp+12]
00039478strb w3, [sp+16]
0003947cstr w4, [sp+20]
00039480strb w5, [sp+24]
00039484mov x3, x30
00039488bl runtime.morestack_noctxt.abi0
0003948cldrh w0, [sp+8]
00039490ldrh w1, [sp+10]
00039494ldr w2, [sp+12]
00039498ldrb w3, [sp+16]
0003949cldr w4, [sp+20]
000394a0ldrb w5, [sp+24]
000394a4b 0x393b0
000394a8udf 0
000394acudf 0
000393b0
000394b0
000394b0runtime.(*scavChunkData).alloc: ; void runtime.(*scavChunkData).alloc(runtime.scavChunkData * sc, uint npages, uint32 newGen)
000394b0ldr x16, [x28+16]
000394b4subs xzr, sp, x16
000394b8b.ls 0x39574
000394bcstr x30, [sp-48]!
000394c0stur x29, [sp-8]
000394c4sub x29, sp, 8
000394c8ldrh w3, [x0]
000394ccmov x4, x3
000394d0add x4, x4, x1
000394d4subs xzr, x4, 512
000394d8b.hi 0x3951c
000394dcldr w4, [x0+4]
000394e0subs wzr, w2, w4
000394e4b.eq 0x394f0
000394e8strh w3, [x0+2]
000394ecstr w2, [x0+4]
000394f0
000394f0loc_394f0:
000394f0ldrh w2, [x0]
000394f4add x1, x2, x1
000394f8strh w1, [x0]
000394fcubfm x1, x1, 0, 15
00039500subs wzr, w1, 512
00039504b.ne 0x39510
00039508add x0, x0, 8
0003950cbl runtime.(*scavChunkFlags).setEmpty
00039510
00039510loc_39510:
00039510ldur x29, [sp-8]
00039514ldr x30, [sp], 48
00039518ret x30
0003951c
0003951cloc_3951c:
0003951cstr x1, [sp+64]
00039520strh w3, [sp+38]
00039524bl runtime.printlock
00039528adrp x0, 0x67b000
0003952cadd x0, x0, 597
00039530orr x1, xzr, 15
00039534bl runtime.printstring
00039538ldrh w0, [sp+38]
0003953cbl runtime.printuint
00039540adrp x0, 0x678000
00039544add x0, x0, 660
00039548orr x1, xzr, 8
0003954cbl runtime.printstring
00039550ldr x0, [sp+64]
00039554bl runtime.printuint
00039558bl runtime.printnl
0003955cbl runtime.printunlock
00039560adrp x0, 0x686000
00039564add x0, x0, 3649
00039568movz x1, 34
0003956cbl runtime.throw
00039570hint
00039574
00039574loc_39574:
00039574stp x0, x1, [sp+8]
00039578str w2, [sp+24]
0003957cmov x3, x30
00039580bl runtime.morestack_noctxt.abi0
00039584ldp x0, x1, [sp+8]
00039588ldr w2, [sp+24]
0003958cb 0x394b0
000394b0
000394b0runtime.(*scavChunkData).alloc: ; void runtime.(*scavChunkData).alloc(runtime.scavChunkData * sc, uint npages, uint32 newGen)
000394b0ldr x16, [x28+16]
000394b4subs xzr, sp, x16
000394b8b.ls 0x39574
000394bcstr x30, [sp-48]!
000394c0stur x29, [sp-8]
000394c4sub x29, sp, 8
000394c8ldrh w3, [x0]
000394ccmov x4, x3
000394d0add x4, x4, x1
000394d4subs xzr, x4, 512
000394d8b.hi 0x3951c
000394dcldr w4, [x0+4]
000394e0subs wzr, w2, w4
000394e4b.eq 0x394f0
000394e8strh w3, [x0+2]
000394ecstr w2, [x0+4]
000394f0
000394f0loc_394f0:
000394f0ldrh w2, [x0]
000394f4add x1, x2, x1
000394f8strh w1, [x0]
000394fcubfm x1, x1, 0, 15
00039500subs wzr, w1, 512
00039504b.ne 0x39510
00039508add x0, x0, 8
0003950cbl runtime.(*scavChunkFlags).setEmpty
00039510
00039510loc_39510:
00039510ldur x29, [sp-8]
00039514ldr x30, [sp], 48
00039518ret x30
0003951c
0003951cloc_3951c:
0003951cstr x1, [sp+64]
00039520strh w3, [sp+38]
00039524bl runtime.printlock
00039528adrp x0, 0x67b000
0003952cadd x0, x0, 597
00039530orr x1, xzr, 15
00039534bl runtime.printstring
00039538ldrh w0, [sp+38]
0003953cbl runtime.printuint
00039540adrp x0, 0x678000
00039544add x0, x0, 660
00039548orr x1, xzr, 8
0003954cbl runtime.printstring
00039550ldr x0, [sp+64]
00039554bl runtime.printuint
00039558bl runtime.printnl
0003955cbl runtime.printunlock
00039560adrp x0, 0x686000
00039564add x0, x0, 3649
00039568movz x1, 34
0003956cbl runtime.throw
00039570hint
00039574
00039574loc_39574:
00039574stp x0, x1, [sp+8]
00039578str w2, [sp+24]
0003957cmov x3, x30
00039580bl runtime.morestack_noctxt.abi0
00039584ldp x0, x1, [sp+8]
00039588ldr w2, [sp+24]
0003958cb 0x394b0
000394b0
00039590
00039590runtime.(*scavChunkData).free: ; void runtime.(*scavChunkData).free(runtime.scavChunkData * sc, uint npages, uint32 newGen)
00039590ldr x16, [x28+16]
00039594subs xzr, sp, x16
00039598b.ls 0x39644
0003959cstr x30, [sp-48]!
000395a0stur x29, [sp-8]
000395a4sub x29, sp, 8
000395a8ldrh w3, [x0]
000395acmov x4, x3
000395b0subs xzr, x1, x4
000395b4b.hi 0x395ec
000395b8ldr w4, [x0+4]
000395bcsubs wzr, w2, w4
000395c0b.eq 0x395cc
000395c4strh w3, [x0+2]
000395c8str w2, [x0+4]
000395cc
000395ccloc_395cc:
000395ccldrh w2, [x0]
000395d0sub x1, x2, x1
000395d4strh w1, [x0]
000395d8add x0, x0, 8
000395dcbl runtime.(*scavChunkFlags).setNonEmpty
000395e0ldur x29, [sp-8]
000395e4ldr x30, [sp], 48
000395e8ret x30
000395ec
000395ecloc_395ec:
000395ecstr x1, [sp+64]
000395f0strh w3, [sp+38]
000395f4bl runtime.printlock
000395f8adrp x0, 0x67b000
000395fcadd x0, x0, 597
00039600orr x1, xzr, 15
00039604bl runtime.printstring
00039608ldrh w0, [sp+38]
0003960cbl runtime.printuint
00039610adrp x0, 0x678000
00039614add x0, x0, 660
00039618orr x1, xzr, 8
0003961cbl runtime.printstring
00039620ldr x0, [sp+64]
00039624bl runtime.printuint
00039628bl runtime.printnl
0003962cbl runtime.printunlock
00039630adrp x0, 0x681000
00039634add x0, x0, 3389
00039638movz x1, 27
0003963cbl runtime.throw
00039640hint
00039644
00039644loc_39644:
00039644stp x0, x1, [sp+8]
00039648str w2, [sp+24]
0003964cmov x3, x30
00039650bl runtime.morestack_noctxt.abi0
00039654ldp x0, x1, [sp+8]
00039658ldr w2, [sp+24]
0003965cb 0x39590
00039590
00039590runtime.(*scavChunkData).free: ; void runtime.(*scavChunkData).free(runtime.scavChunkData * sc, uint npages, uint32 newGen)
00039590ldr x16, [x28+16]
00039594subs xzr, sp, x16
00039598b.ls 0x39644
0003959cstr x30, [sp-48]!
000395a0stur x29, [sp-8]
000395a4sub x29, sp, 8
000395a8ldrh w3, [x0]
000395acmov x4, x3
000395b0subs xzr, x1, x4
000395b4b.hi 0x395ec
000395b8ldr w4, [x0+4]
000395bcsubs wzr, w2, w4
000395c0b.eq 0x395cc
000395c4strh w3, [x0+2]
000395c8str w2, [x0+4]
000395cc
000395ccloc_395cc:
000395ccldrh w2, [x0]
000395d0sub x1, x2, x1
000395d4strh w1, [x0]
000395d8add x0, x0, 8
000395dcbl runtime.(*scavChunkFlags).setNonEmpty
000395e0ldur x29, [sp-8]
000395e4ldr x30, [sp], 48
000395e8ret x30
000395ec
000395ecloc_395ec:
000395ecstr x1, [sp+64]
000395f0strh w3, [sp+38]
000395f4bl runtime.printlock
000395f8adrp x0, 0x67b000
000395fcadd x0, x0, 597
00039600orr x1, xzr, 15
00039604bl runtime.printstring
00039608ldrh w0, [sp+38]
0003960cbl runtime.printuint
00039610adrp x0, 0x678000
00039614add x0, x0, 660
00039618orr x1, xzr, 8
0003961cbl runtime.printstring
00039620ldr x0, [sp+64]
00039624bl runtime.printuint
00039628bl runtime.printnl
0003962cbl runtime.printunlock
00039630adrp x0, 0x681000
00039634add x0, x0, 3389
00039638movz x1, 27
0003963cbl runtime.throw
00039640hint
00039644
00039644loc_39644:
00039644stp x0, x1, [sp+8]
00039648str w2, [sp+24]
0003964cmov x3, x30
00039650bl runtime.morestack_noctxt.abi0
00039654ldp x0, x1, [sp+8]
00039658ldr w2, [sp+24]
0003965cb 0x39590
00039590
00039660
00039660runtime.(*piController).next: ; void runtime.(*piController).next(runtime.piController * c, float64 input, float64 setpoint, float64 period)
00039660ldr x16, [x28+16]
00039664subs xzr, sp, x16
00039668b.ls 0x3979c
0003966cstr x30, [sp-48]!
00039670stur x29, [sp-8]
00039674sub x29, sp, 8
00039678str x0, [sp+56]
0003967cstr d2, [sp+80]
00039680ldr d2, [x0]
00039684fsub d1, d1, d0
00039688str d1, [sp+32]
0003968cldr d3, [x0+40]
00039690fmadd d0, d1, d2, d3
00039694str d0, [sp+16]
00039698bl runtime.isInf
0003969ctbnz w0, 0, 0x396ac
000396a0ldr d0, [sp+16]
000396a4bl runtime.isNaN
000396a8tbz w0, 0, 0x396d4
000396ac
000396acloc_396ac:
000396acldr x0, [sp+56]
000396b0bl runtime.(*piController).reset
000396b4orr x1, xzr, 1
000396b8ldr x2, [sp+56]
000396bcstrb w1, [x2+49]
000396c0ldr d0, [x2+24]
000396c4mov x0, xzr
000396c8ldur x29, [sp-8]
000396ccldr x30, [sp], 48
000396d0ret x30
000396d4
000396d4loc_396d4:
000396d4ldr x1, [sp+56]
000396d8ldr d1, [x1+24]
000396dcldr d2, [sp+16]
000396e0fcmp d2, d1
000396e4b.mi 0x396f8
000396e8ldr d1, [x1+32]
000396ecfcmp d1, d2
000396f0b.mi 0x396f8
000396f4fmov d1, d2
000396f8
000396f8loc_396f8:
000396f8ldr d3, [x1+8]
000396fcfcmp d3
00039700b.eq 0x39788
00039704ldr d4, [x1+16]
00039708fcmp d4
0003970cb.eq 0x39788
00039710str d1, [sp+24]
00039714ldr d5, [x1+40]
00039718ldr d6, [x1]
0003971cldr d7, [sp+80]
00039720fmul d6, d6, d7
00039724fdiv d3, d6, d3
00039728ldr d6, [sp+32]
0003972cfmul d3, d3, d6
00039730fdiv d4, d7, d4
00039734fsub d1, d1, d2
00039738fmadd d1, d4, d1, d3
0003973cfadd d0, d1, d5
00039740str d0, [x1+40]
00039744bl runtime.isInf
00039748tbnz w0, 0, 0x3975c
0003974cldr x0, [sp+56]
00039750ldr d0, [x0+40]
00039754bl runtime.isNaN
00039758tbz w0, 0, 0x39784
0003975c
0003975cloc_3975c:
0003975cldr x0, [sp+56]
00039760bl runtime.(*piController).reset
00039764orr x1, xzr, 1
00039768ldr x2, [sp+56]
0003976cstrb w1, [x2+48]
00039770ldr d0, [x2+24]
00039774mov x0, xzr
00039778ldur x29, [sp-8]
0003977cldr x30, [sp], 48
00039780ret x30
00039784
00039784loc_39784:
00039784ldr d1, [sp+24]
00039788
00039788loc_39788:
00039788fmov d0, d1
0003978corr x0, xzr, 1
00039790ldur x29, [sp-8]
00039794ldr x30, [sp], 48
00039798ret x30
0003979c
0003979cloc_3979c:
0003979cstr x0, [sp+8]
000397a0stp d0, d1, [sp+16]
000397a4str d2, [sp+32]
000397a8mov x3, x30
000397acbl runtime.morestack_noctxt.abi0
000397b0ldr x0, [sp+8]
000397b4ldp d0, d1, [sp+16]
000397b8ldr d2, [sp+32]
000397bcb 0x39660
00039660
00039660runtime.(*piController).next: ; void runtime.(*piController).next(runtime.piController * c, float64 input, float64 setpoint, float64 period)
00039660ldr x16, [x28+16]
00039664subs xzr, sp, x16
00039668b.ls 0x3979c
0003966cstr x30, [sp-48]!
00039670stur x29, [sp-8]
00039674sub x29, sp, 8
00039678str x0, [sp+56]
0003967cstr d2, [sp+80]
00039680ldr d2, [x0]
00039684fsub d1, d1, d0
00039688str d1, [sp+32]
0003968cldr d3, [x0+40]
00039690fmadd d0, d1, d2, d3
00039694str d0, [sp+16]
00039698bl runtime.isInf
0003969ctbnz w0, 0, 0x396ac
000396a0ldr d0, [sp+16]
000396a4bl runtime.isNaN
000396a8tbz w0, 0, 0x396d4
000396ac
000396acloc_396ac:
000396acldr x0, [sp+56]
000396b0bl runtime.(*piController).reset
000396b4orr x1, xzr, 1
000396b8ldr x2, [sp+56]
000396bcstrb w1, [x2+49]
000396c0ldr d0, [x2+24]
000396c4mov x0, xzr
000396c8ldur x29, [sp-8]
000396ccldr x30, [sp], 48
000396d0ret x30
000396d4
000396d4loc_396d4:
000396d4ldr x1, [sp+56]
000396d8ldr d1, [x1+24]
000396dcldr d2, [sp+16]
000396e0fcmp d2, d1
000396e4b.mi 0x396f8
000396e8ldr d1, [x1+32]
000396ecfcmp d1, d2
000396f0b.mi 0x396f8
000396f4fmov d1, d2
000396f8
000396f8loc_396f8:
000396f8ldr d3, [x1+8]
000396fcfcmp d3
00039700b.eq 0x39788
00039704ldr d4, [x1+16]
00039708fcmp d4
0003970cb.eq 0x39788
00039710str d1, [sp+24]
00039714ldr d5, [x1+40]
00039718ldr d6, [x1]
0003971cldr d7, [sp+80]
00039720fmul d6, d6, d7
00039724fdiv d3, d6, d3
00039728ldr d6, [sp+32]
0003972cfmul d3, d3, d6
00039730fdiv d4, d7, d4
00039734fsub d1, d1, d2
00039738fmadd d1, d4, d1, d3
0003973cfadd d0, d1, d5
00039740str d0, [x1+40]
00039744bl runtime.isInf
00039748tbnz w0, 0, 0x3975c
0003974cldr x0, [sp+56]
00039750ldr d0, [x0+40]
00039754bl runtime.isNaN
00039758tbz w0, 0, 0x39784
0003975c
0003975cloc_3975c:
0003975cldr x0, [sp+56]
00039760bl runtime.(*piController).reset
00039764orr x1, xzr, 1
00039768ldr x2, [sp+56]
0003976cstrb w1, [x2+48]
00039770ldr d0, [x2+24]
00039774mov x0, xzr
00039778ldur x29, [sp-8]
0003977cldr x30, [sp], 48
00039780ret x30
00039784
00039784loc_39784:
00039784ldr d1, [sp+24]
00039788
00039788loc_39788:
00039788fmov d0, d1
0003978corr x0, xzr, 1
00039790ldur x29, [sp-8]
00039794ldr x30, [sp], 48
00039798ret x30
0003979c
0003979cloc_3979c:
0003979cstr x0, [sp+8]
000397a0stp d0, d1, [sp+16]
000397a4str d2, [sp+32]
000397a8mov x3, x30
000397acbl runtime.morestack_noctxt.abi0
000397b0ldr x0, [sp+8]
000397b4ldp d0, d1, [sp+16]
000397b8ldr d2, [sp+32]
000397bcb 0x39660
00039660
000397c0
000397c0runtime.(*piController).reset: ; void runtime.(*piController).reset(runtime.piController * c)
000397c0fmov d0, xzr
000397c4str d0, [x0+40]
000397c8ret x30
000397ccudf 0
000397c0
000397c0runtime.(*piController).reset: ; void runtime.(*piController).reset(runtime.piController * c)
000397c0fmov d0, xzr
000397c4str d0, [x0+40]
000397c8ret x30
000397ccudf 0
000397c0
000397d0
000397d0runtime.(*stackObject).setRecord: ; void runtime.(*stackObject).setRecord(runtime.stackObject * obj, runtime.stackObjectRecord * r)
000397d0str x1, [x0+8]
000397d4ret x30
000397d8udf 0
000397dcudf 0
000397d0
000397d0runtime.(*stackObject).setRecord: ; void runtime.(*stackObject).setRecord(runtime.stackObject * obj, runtime.stackObjectRecord * r)
000397d0str x1, [x0+8]
000397d4ret x30
000397d8udf 0
000397dcudf 0
000397d0
000397e0
000397e0runtime.(*stackScanState).putPtr: ; void runtime.(*stackScanState).putPtr(runtime.stackScanState * s, uintptr p, bool conservative)
000397e0ldr x16, [x28+16]
000397e4subs xzr, sp, x16
000397e8b.ls 0x398cc
000397ecstr x30, [sp-48]!
000397f0stur x29, [sp-8]
000397f4sub x29, sp, 8
000397f8ldr x3, [x0]
000397fcsubs xzr, x1, x3
00039800b.lo 0x398b8
00039804ldr x3, [x0+8]
00039808subs xzr, x1, x3
0003980cb.hs 0x398b8
00039810add x3, x0, 24
00039814tbz w2, 0, 0x3981c
00039818add x3, x0, 40
0003981c
0003981cloc_3981c:
0003981cstr x1, [sp+64]
00039820str x3, [sp+32]
00039824ldr x2, [x3]
00039828cbz x2, 0x3986c
0003982cldr x4, [x2+16]
00039830subs xzr, x4, 252
00039834b.ne 0x39884
00039838ldr x2, [x0+32]
0003983ccbz x2, 0x39848
00039840str xzr, [x0+32]
00039844b 0x39858
00039848
00039848loc_39848:
00039848bl runtime.getempty
0003984cldr x1, [sp+64]
00039850ldr x3, [sp+32]
00039854mov x2, x0
00039858
00039858loc_39858:
00039858str xzr, [x2+16]
0003985cldr x4, [x3]
00039860str x4, [x2+24]
00039864str x2, [x3]
00039868b 0x39884
0003986c
0003986cloc_3986c:
0003986cbl runtime.getempty
00039870stp xzr, xzr, [x0+16]
00039874ldr x1, [sp+32]
00039878str x0, [x1]
0003987cldr x1, [sp+64]
00039880mov x2, x0
00039884
00039884loc_39884:
00039884ldr x0, [x2+16]
00039888subs xzr, x0, 252
0003988cb.hs 0x398b0
00039890add x3, x2, 32
00039894str x1, [x3+3*x0]
00039898ldr x0, [x2+16]
0003989cadd x0, x0, 1
000398a0str x0, [x2+16]
000398a4ldur x29, [sp-8]
000398a8ldr x30, [sp], 48
000398acret x30
000398b0
000398b0loc_398b0:
000398b0orr x1, xzr, 252
000398b4bl runtime.panicIndex
000398b8
000398b8loc_398b8:
000398b8adrp x0, 0x681000
000398bcadd x0, x0, 3416
000398c0movz x1, 27
000398c4bl runtime.throw
000398c8hint
000398cc
000398ccloc_398cc:
000398ccstp x0, x1, [sp+8]
000398d0strb w2, [sp+24]
000398d4mov x3, x30
000398d8bl runtime.morestack_noctxt.abi0
000398dcldp x0, x1, [sp+8]
000398e0ldrb w2, [sp+24]
000398e4b 0x397e0
000398e8udf 0
000398ecudf 0
000397e0
000397e0runtime.(*stackScanState).putPtr: ; void runtime.(*stackScanState).putPtr(runtime.stackScanState * s, uintptr p, bool conservative)
000397e0ldr x16, [x28+16]
000397e4subs xzr, sp, x16
000397e8b.ls 0x398cc
000397ecstr x30, [sp-48]!
000397f0stur x29, [sp-8]
000397f4sub x29, sp, 8
000397f8ldr x3, [x0]
000397fcsubs xzr, x1, x3
00039800b.lo 0x398b8
00039804ldr x3, [x0+8]
00039808subs xzr, x1, x3
0003980cb.hs 0x398b8
00039810add x3, x0, 24
00039814tbz w2, 0, 0x3981c
00039818add x3, x0, 40
0003981c
0003981cloc_3981c:
0003981cstr x1, [sp+64]
00039820str x3, [sp+32]
00039824ldr x2, [x3]
00039828cbz x2, 0x3986c
0003982cldr x4, [x2+16]
00039830subs xzr, x4, 252
00039834b.ne 0x39884
00039838ldr x2, [x0+32]
0003983ccbz x2, 0x39848
00039840str xzr, [x0+32]
00039844b 0x39858
00039848
00039848loc_39848:
00039848bl runtime.getempty
0003984cldr x1, [sp+64]
00039850ldr x3, [sp+32]
00039854mov x2, x0
00039858
00039858loc_39858:
00039858str xzr, [x2+16]
0003985cldr x4, [x3]
00039860str x4, [x2+24]
00039864str x2, [x3]
00039868b 0x39884
0003986c
0003986cloc_3986c:
0003986cbl runtime.getempty
00039870stp xzr, xzr, [x0+16]
00039874ldr x1, [sp+32]
00039878str x0, [x1]
0003987cldr x1, [sp+64]
00039880mov x2, x0
00039884
00039884loc_39884:
00039884ldr x0, [x2+16]
00039888subs xzr, x0, 252
0003988cb.hs 0x398b0
00039890add x3, x2, 32
00039894str x1, [x3+3*x0]
00039898ldr x0, [x2+16]
0003989cadd x0, x0, 1
000398a0str x0, [x2+16]
000398a4ldur x29, [sp-8]
000398a8ldr x30, [sp], 48
000398acret x30
000398b0
000398b0loc_398b0:
000398b0orr x1, xzr, 252
000398b4bl runtime.panicIndex
000398b8
000398b8loc_398b8:
000398b8adrp x0, 0x681000
000398bcadd x0, x0, 3416
000398c0movz x1, 27
000398c4bl runtime.throw
000398c8hint
000398cc
000398ccloc_398cc:
000398ccstp x0, x1, [sp+8]
000398d0strb w2, [sp+24]
000398d4mov x3, x30
000398d8bl runtime.morestack_noctxt.abi0
000398dcldp x0, x1, [sp+8]
000398e0ldrb w2, [sp+24]
000398e4b 0x397e0
000398e8udf 0
000398ecudf 0
000397e0
Loading..