Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-40388-32531.so 0.29 stp x29, x30, [sp, #-80]! 0.73 stp x19, x20, [sp, #24] 0.07 stp x21, x22, [sp, #40] 0.07 stp x23, x24, [sp, #56] 0.07 str x25, [sp, #72] 0.15 mov x29, sp mov x19, x0 0.15 ldr w20, [x19, #32] 0.51 asr w21, w20, #0 0.36 ldp x23, x22, [x19] 0.36 ldrb w24, [x19, #40] 0.15 ldrb w25, [x19, #44] 0.36 ldrb w0, [x19, #68] 0.44 ↓ cbnz w0, 354 0.22 38: ldr w0, [x19, #88] 0.29 ↓ cbz w0, 3dc 0.07 uxtb w0, w1 0.15 cmp w0, #0x2c ↓ b.ne 304 0.22 add w0, w20, #0x1 0.07 str w0, [x19, #32] 0.36 ldr x0, [x19, #8] add x0, x0, #0x1 0.22 str x0, [x19, #8] 0.22 ldr w0, [x19, #32] 0.65 ldr w1, [x19, #56] cmp x1, w0, sxtw 0.15 ↓ b.le 434 1.74 add x20, x19, #0x30 mov x1, x20 0.36 ldr w2, [x1, #8] 0.29 cmp w0, w2 ↓ b.cs 858 0.22 ldr x1, [x1] 0.51 ldrb w1, [x1, w0, uxtw #0] 0.58 cmp w1, #0x20 ↓ b.le 494 1.09 94: ldrsw x0, [x19, #32] 0.15 str x0, [x19, #24] 0.29 ldrb w0, [x19, #68] cmp w0, #0x2 ↓ b.eq 528 0.07 a8: ldrb w2, [x19, #38] 0.07 ↓ cbz w2, 79c 0.07 cmp w1, #0x22 ↓ b.ne 558 0.29 strb wzr, [x19, #44] 0.15 ldr w1, [x19, #32] 0.07 add w1, w1, #0x1 ldr w2, [x20, #8] 0.15 cmp w1, w2 0.22 ↓ b.hi 620 0.44 ldr x0, [x20] 0.22 mov w3, w1 0.15 add x0, x0, x3 0.29 sub w20, w2, w1 0.15 mov x1, #0x3358 // #13144 movk x1, #0x35c0, lsl #16 0.15 movk x1, #0xf151, lsl #32 0.29 ldr x1, [x1] 0.07 mov x2, x0 0.29 asr w3, w20, #0 0.07 add x1, x1, #0x8 0.22 mov x4, x2 0.15 cmp w3, #0x8 ↓ b.lt 5c0 0.44 ldr q16, [x1] 1.67 cmp w3, #0x10 ↓ b.le 26c 0.15 sub w1, w3, #0x10 mov w1, w1 0.22 add x2, x2, x1 0.15 movi v17.16b, #0xf 0.15 ldr q18, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x860 0.22 128: ldr q19, [x4] 2.03 and v20.16b, v19.16b, v17.16b tbl v20.16b, {v16.16b}, v20.16b 0.07 sshr v19.16b, v19.16b, #4 tbl v19.16b, {v18.16b}, v19.16b 0.36 and v19.16b, v20.16b, v19.16b 0.15 umaxp v20.4s, v19.4s, v19.4s mov x1, v20.d[0] 0.15 cmp x1, #0x0 ↓ b.eq 260 15.74 cmeq v17.16b, v19.16b, #0 0.15 movi v16.16b, #0x80 0.15 and v18.16b, v17.16b, v16.16b 0.29 ldr q16, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x870 0.36 ushl v16.16b, v18.16b, v16.16b 0.07 uxtl2 v17.8h, v16.16b 0.15 shl v17.8h, v17.8h, #8 uaddw v16.8h, v17.8h, v16.8b 0.29 addv h16, v16.8h 0.15 umov w1, v16.h[0] 0.07 mvn w1, w1 0.07 rbit w1, w1 0.36 clz w1, w1 0.15 sub x4, x4, x0 0.15 add w3, w1, w4 18c: ↓ tbnz w3, #31, 660 31.47 cmp w3, w20 ↓ b.cs 858 0.73 ldrb w1, [x0, w3, uxtw #0] 5.44 cmp w1, #0x22 ↓ b.ne 638 2.10 ldr x1, [x19, #8] 0.07 add w2, w3, #0x2 0.22 add x1, x1, w2, sxtw 0.15 str x1, [x19, #8] 0.15 cmp w3, w20 ↓ b.hi 620 0.29 str x0, [x19, #152] 0.36 str w3, [x19, #160] 0.07 strb wzr, [x19, #46] 0.29 mov w0, #0x7 // #7 0.15 strb w0, [x19, #40] ldr w1, [x19, #32] 0.22 add w1, w1, w3 0.07 add w1, w1, #0x2 0.15 str w1, [x19, #32] 0.36 1e0: ldr w0, [x19, #32] 1.81 ldr w1, [x19, #56] cmp x1, w0, sxtw 0.36 ↓ b.le 6b8 4.93 add x20, x19, #0x30 0.29 mov x1, x20 0.29 ldr w2, [x1, #8] 0.44 cmp w0, w2 ↓ b.cs 858 0.44 ldr x1, [x1] 0.22 ldrb w2, [x1, w0, uxtw #0] 0.94 cmp w2, #0x20 ↓ b.le 6d8 1.16 214: cmp w2, #0x3a ↓ b.ne 774 0.58 ldr w3, [x19, #32] 0.07 add w3, w3, #0x1 0.44 str w3, [x19, #32] 0.07 ldr x3, [x19, #8] add x3, x3, #0x1 0.29 str x3, [x19, #8] 0.15 mov w3, #0x5 // #5 0.22 strb w3, [x19, #40] 0.36 23c: mov w20, wzr 0.22 240: ↓ cbnz w20, 824 0.29 mov w0, #0x1 // #1 0.29 ldr x25, [sp, #72] 0.15 ldp x23, x24, [sp, #56] 0.22 ldp x21, x22, [sp, #40] 0.29 ldp x19, x20, [sp, #24] 0.15 ldp x29, x30, [sp], #80 0.07 ← ret 3.84 260: add x4, x4, #0x10 cmp x4, x2 ↑ b.cc 128 26c: sub w3, w20, #0x8 mov w1, w3 add x1, x0, x1 cmp x4, x1 csel x4, x1, x4, hi // hi = pmore ldr x2, [x4] mov v17.d[0], x2 ldr x2, [x1] mov v17.d[1], x2 movi v18.16b, #0xf and v18.16b, v17.16b, v18.16b tbl v16.16b, {v16.16b}, v18.16b ldr q18, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x860 sshr v17.16b, v17.16b, #4 tbl v17.16b, {v18.16b}, v17.16b and v16.16b, v16.16b, v17.16b umaxp v17.4s, v16.4s, v16.4s mov x2, v17.d[0] cmp x2, #0x0 ↓ b.eq 60c cmeq v16.16b, v16.16b, #0 movi v17.16b, #0x80 and v16.16b, v16.16b, v17.16b ldr q17, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x870 ushl v16.16b, v16.16b, v17.16b uxtl2 v17.8h, v16.16b shl v17.8h, v17.8h, #8 uaddw v16.8h, v17.8h, v16.8b addv h16, v16.8h umov w2, v16.h[0] mvn w2, w2 rbit w2, w2 clz w2, w2 cmp w2, #0x8 ↓ b.ge 614 2f8: sub x1, x4, x0 add w3, w1, w2 ↑ b 18c 0.07 304: uxtb w0, w1 cmp w0, #0x7d ↓ b.ne 32c 310: mov x0, x19 mov x1, #0xc648 // #50760 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ b 23c 0.07 32c: uxtb w0, w1 cmp w0, #0x5d ↓ b.ne 7f8 338: mov x0, x19 0.07 mov x1, #0xc678 // #50808 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ b 23c 354: ldrb w0, [x19, #68] cmp w0, #0x2 ↓ b.ne 3b8 uxtb w0, w1 cmp w0, #0x2f ↓ b.ne 38c mov x0, x19 mov x1, #0xc8b8 // #51384 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 23c ↓ b 748 38c: ldrb w0, [x19, #40] cmp w0, #0x6 ↑ b.ne 38 mov x0, x19 mov x1, #0xc900 // #51456 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 240 3b8: uxtb w1, w1 mov x0, x19 mov x2, #0xc918 // #51480 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 asr w20, w0, #0 ↑ b 240 3dc: ldrb w0, [x19, #70] ↓ cbz w0, 408 uxtb w1, w1 mov x0, x19 mov x2, #0xc6a8 // #50856 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 23c ↓ b 748 408: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x6 // #6 mov x5, #0xc5e8 // #50664 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 434: mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 ldr w3, [x19, #32] sub w3, w3, #0x1 str w3, [x19, #32] ldr x3, [x19, #8] sub x3, x3, #0x1 str x3, [x19, #8] mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 494: mov x0, x19 mov x1, #0xc618 // #50712 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ldrsw x0, [x19, #32] ldr w1, [x19, #56] cmp x0, x1 ↓ b.lt 504 mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 504: ldr w0, [x19, #32] add x20, x19, #0x30 mov x1, x20 ldr w2, [x1, #8] cmp w0, w2 ↓ b.cs 858 ldr x1, [x1] ldrb w1, [x1, w0, uxtw #0] ↑ b 94 528: cmp w1, #0x2f ↑ b.ne a8 mov w0, #0x1 // #1 strb w0, [x19, #44] mov x0, x19 mov x1, #0xc8b8 // #51384 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 23c ↓ b 748 558: cmp w1, #0x7d ↓ b.ne 594 ldrb w3, [x19, #69] ↑ cbnz w3, 310 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x22 // #34 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 594: mov x3, xzr mov w4, wzr mov x0, x19 mov w2, w1 mov w1, #0xc // #12 mov x5, #0xc5e8 // #50664 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 5c0: mov w3, w20 add x2, x2, x3 cmp x4, x2 ↓ b.eq 60c 5d0: ldrb w3, [x4] add x5, x1, #0x20 asr w6, w3, #5 mov w7, #0x1 // #1 lsl w3, w7, w3 ldrsb wzr, [x5] ldr w5, [x5, w6, uxtw #2] tst w5, w3 ↓ b.ne 604 add x4, x4, #0x1 cmp x4, x2 ↑ b.ne 5d0 ↓ b 60c 604: sub x3, x4, x0 ↑ b 18c 60c: mov w3, #0xffffffff // #-1 ↑ b 18c 614: mov x4, x1 sub w2, w2, #0x8 ↑ b 2f8 620: mov x0, #0xdb30 // #56112 movk x0, #0xe945, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 638: mov x1, x0 mov w2, w20 mov x0, x19 mov x4, #0xc7c8 // #51144 movk x4, #0xe9d6, lsl #16 movk x4, #0xf160, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, 1e0 ↓ b 748 660: mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 ldr x3, [x19, #8] add w4, w20, #0x1 add x3, x3, w4, sxtw str x3, [x19, #8] mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x2 // #2 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 6b8: mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 ↓ b 71c 6d8: mov x0, x19 mov x1, #0xc618 // #50712 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ldrsw x3, [x19, #32] ldr w4, [x19, #56] cmp x3, x4 ↓ b.lt 750 mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 748 71c: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 748: mov w20, #0x1 // #1 ↑ b 240 750: ldr w3, [x19, #32] add x20, x19, #0x30 mov x4, x20 ldr w0, [x4, #8] cmp w3, w0 ↓ b.cs 858 ldr x4, [x4] ldrb w2, [x4, w3, uxtw #0] ↑ b 214 774: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xb // #11 mov x5, #0xc5e8 // #50664 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 79c: cmp w1, #0x5d ↓ b.ne 7d8 ldrb w3, [x19, #69] ↑ cbnz w3, 338 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x21 // #33 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 7d8: mov x0, x19 mov x2, #0xc690 // #50832 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 23c ↑ b 748 7f8: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x12 // #18 mov x5, #0xc5e8 // #50664 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 824: cmp w20, #0x1 ↓ b.ne 83c str w21, [x19, #32] strb w24, [x19, #40] stp x23, x22, [x19] strb w25, [x19, #44] 83c: mov w0, wzr ldr x25, [sp, #72] ldp x23, x24, [sp, #56] ldp x21, x22, [sp, #40] ldp x19, x20, [sp, #24] ldp x29, x30, [sp], #80 ← ret 858: bl ffffffffff2afb68 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-40388-32744.so 0.09 sub sp, sp, #0x1c0 0.09 stp x19, x20, [sp, #352] stp x21, x22, [sp, #368] stp x23, x24, [sp, #384] stp x25, x26, [sp, #400] stp x27, x28, [sp, #416] stp x29, x30, [sp, #432] 0.09 add x29, sp, #0x1b0 movi v16.16b, #0x0 0.09 sub x9, x29, #0x158 sub x10, x29, #0xa8 stp q16, q16, [x9, #-64] 0.09 stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 0.17 38: dc zva, x9 0.17 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 0.17 stp q16, q16, [x10] stp q16, q16, [x10, #32] 0.09 mov x4, #0x7263 // #29283 movk x4, #0xd13a, lsl #16 movk x4, #0x4c82, lsl #32 movk x4, #0x7abb, lsl #48 stur x4, [x29, #-88] 0.09 stur x1, [x29, #-104] 0.17 stur x2, [x29, #-96] mov x19, x0 mov w20, w3 mov w0, #0xaaaa // #43690 movk w0, #0x2aaa, lsl #16 cmp w2, w0 ↓ b.gt 1ff4 0.09 mov x17, #0xfffffffffffffe58 // #-424 str xzr, [x29, x17] cmp w2, #0x55 ↓ b.le 2010 mov w0, #0x5555 // #21845 movk w0, #0x1555, lsl #16 cmp w2, w0 ↓ b.gt 2020 0.09 mov x0, #0x3338 // #13112 0.09 movk x0, #0x35c0, lsl #16 movk x0, #0xf151, lsl #32 ldr x21, [x0] 0.09 mov x22, x21 mov w0, #0x3 // #3 mul w23, w2, w0 0.09 mov x0, #0xdc0 // #3520 movk x0, #0x35c0, lsl #16 0.17 movk x0, #0xf151, lsl #32 0.09 ldr x24, [x0] 0.43 sub w0, w23, #0x1 orr w0, w0, #0xf clz w0, w0 eor w0, w0, #0x1f sub w25, w0, #0x3 mov x0, #0x63e8 // #25576 movk x0, #0xe9da, lsl #16 movk x0, #0xf160, lsl #32 0.09 mov x1, #0x68c8 // #26824 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 0.09 ldr x1, [x1] → blr x1 ldr x0, [x0, #16] 0.60 ↓ cbz x0, 20bc ldr w1, [x0, #8] 0.26 cmp w1, w25 ↓ b.ls 20bc 0.09 ubfiz x1, x25, #4, #32 add x1, x1, #0x10 ldr x26, [x0, x1] ↓ cbz x26, 20bc str xzr, [x0, x1] ldrb w0, [x24, #157] 0.09 ↓ cbnz w0, 2058 0.09 134: mov x17, #0xfffffffffffffe58 // #-424 str x26, [x29, x17] 13c: ↓ cbz x26, 2430 add x21, x26, #0x10 ldr w22, [x26, #8] 0.09 148: mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] mov x17, #0xfffffffffffffe64 // #-412 str w22, [x29, x17] ldur x0, [x29, #-104] ldur x1, [x29, #-96] 0.09 mov x2, x21 mov w3, w22 mov x4, #0xc030 // #49200 movk x4, #0xe9d6, lsl #16 movk x4, #0xf160, lsl #32 ldr x4, [x4] → blr x4 cmp w0, w22 ↓ b.hi 1f30 mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] mov x17, #0xfffffffffffffe64 // #-412 str w0, [x29, x17] stur x21, [x29, #-120] stur w0, [x29, #-112] ldur w21, [x29, #-112] ↓ cbz w21, dd0 0.09 tst w20, #0xff ↓ b.ne e08 0.09 ldur x1, [x29, #-120] ldur w2, [x29, #-112] mov x17, #0xfffffffffffffe90 // #-368 str xzr, [x29, x17] mov x17, #0xfffffffffffffe98 // #-360 str xzr, [x29, x17] mov x17, #0xfffffffffffffea0 // #-352 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea1 // #-351 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea2 // #-350 strb wzr, [x29, x17] 0.09 mov x17, #0xfffffffffffffea3 // #-349 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea4 // #-348 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea5 // #-347 strb wzr, [x29, x17] mov x17, #0xfffffffffffffea8 // #-344 str xzr, [x29, x17] sub x0, x29, #0x150 stp xzr, xzr, [x0] str xzr, [x0, #16] sub x0, x29, #0x138 sub x4, x29, #0x170 mov w3, #0x1 // #1 mov x5, #0xc450 // #50256 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] 0.09 → blr x5 ↓ b 748 22c: mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] strb w0, [x19, #58] 238: add w1, w21, #0x1 ldr w0, [x19, #76] 0.09 ldr w2, [x19, #52] sub w0, w0, w2 cmp w0, w1 0.09 ↓ b.lt 1f14 0.09 250: add x0, x19, #0x40 mov x1, #0x6bf8 // #27640 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] 0.26 → blr x1 0.17 ldr w2, [x19, #40] ↓ tbz w2, #31, 28c ldr w2, [x19, #52] add w3, w2, #0x1 str w3, [x19, #52] cmp w2, w1 ↓ b.cs 1f48 mov w3, #0x2c // #44 strb w3, [x0, w2, uxtw #0] 0.09 28c: ldr w2, [x19, #52] 0.09 cmp w2, w1 ↓ b.hi 1f30 0.43 mov w3, w2 add x0, x0, x3 sub w2, w1, w2 mov x1, x0 sub x0, x29, #0x78 mov x3, #0xc408 // #50184 movk x3, #0xe9d6, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] 0.09 → blr x3 ldr w1, [x19, #52] 0.09 add w1, w1, w21 str w1, [x19, #52] ldr w1, [x19, #40] orr w1, w1, #0x80000000 str w1, [x19, #40] ↓ b 1f50 0.43 2dc: mov x17, #0xfffffffffffffef4 // #-268 0.17 strb wzr, [x29, x17] 0.09 cmp w2, #0x22 ↓ b.eq 5f4 0.26 2ec: cmp w2, #0x7b ↓ b.eq 544 0.34 cmp w2, #0x5b ↓ b.eq 494 0.95 sub w0, w2, #0x30 0.17 mov w1, #0x2d // #45 0.26 cmp w0, #0x9 ccmp w2, w1, #0x4, hi // hi = pmore 0.34 ↓ b.eq 1584 2.23 cmp w2, #0x66 ↓ b.ne 3c0 0.09 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] 0.09 ldur w20, [x29, #-256] 0.09 cmp w1, w20 ↓ b.hi 1f30 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] mov w3, w1 add x2, x2, x3 0.09 sub w3, w20, w1 cmp w3, #0x5 ↓ b.lt 19d8 mov x1, x2 mov x4, #0xe5ae // #58798 movk x4, #0xcb3, lsl #16 movk x4, #0xf151, lsl #32 0.26 ldr w0, [x1] ldur w1, [x1, #1] 0.09 ldr w5, [x4] 0.17 ldur w4, [x4, #1] cmp w0, w5 ccmp w1, w4, #0x0, eq // eq = none 0.09 cset x1, eq // eq = none 0.09 ↓ cbz w1, 19d8 0.34 stur x2, [x29, #-160] 0.09 mov w1, #0x5 // #5 0.26 stur w1, [x29, #-152] 0.09 mov w1, #0xa // #10 0.09 mov x17, #0xfffffffffffffef0 // #-272 0.17 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w1, [x29, x17] add w1, w1, #0x5 0.09 mov x17, #0xfffffffffffffee8 // #-280 0.17 str w1, [x29, x17] 0.09 mov x17, #0xfffffffffffffed0 // #-304 0.09 ldr x1, [x29, x17] 0.09 add x1, x1, #0x5 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] 0.09 mov w20, #0x1 // #1 3bc: ↓ b 73c 3c0: cmp w2, #0x74 ↓ b.ne 13a0 sub x0, x29, #0x108 mov x17, #0xfffffffffffffee8 // #-280 0.26 ldr w1, [x29, x17] mov x2, #0x7420 // #29728 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] 0.09 → blr x2 0.09 mov x17, #0xfffffffffffffe68 // #-408 0.17 str x0, [x29, x17] 0.26 mov x17, #0xfffffffffffffe70 // #-400 0.17 str x1, [x29, x17] 0.17 mov x17, #0xfffffffffffffe68 // #-408 0.17 ldr x0, [x29, x17] 0.17 mov x17, #0xfffffffffffffe70 // #-400 0.17 ldr x1, [x29, x17] mov x2, #0xe612 // #58898 movk x2, #0xcb3, lsl #16 0.09 movk x2, #0xf151, lsl #32 mov w3, #0x4 // #4 0.09 mov x4, #0xca68 // #51816 movk x4, #0xe9d6, lsl #16 0.09 movk x4, #0xf160, lsl #32 0.17 ldr x4, [x4] 0.26 → blr x4 ↓ cbz w0, 1a10 0.60 sub x0, x29, #0x198 mov w1, wzr 0.09 mov w2, #0x4 // #4 mov x3, #0xc720 // #50976 movk x3, #0xe9d6, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] 0.17 → blr x3 0.09 stur x0, [x29, #-160] stur w1, [x29, #-152] mov w1, #0x9 // #9 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w1, [x29, x17] add w1, w1, #0x4 0.17 mov x17, #0xfffffffffffffee8 // #-280 0.09 str w1, [x29, x17] 0.09 mov x17, #0xfffffffffffffed0 // #-304 0.09 ldr x1, [x29, x17] add x1, x1, #0x4 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] 0.09 mov w20, #0x1 // #1 0.09 490: ↓ b 73c 494: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c98 ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1564 ldur x0, [x29, #-232] lsl x0, x0, #1 stur x0, [x29, #-232] 0.09 4bc: ldur w0, [x29, #-224] add w0, w0, #0x1 stur w0, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] mov w1, w0 add x1, x1, #0x1 0.09 ldur w2, [x29, #-256] 0.09 cmp x1, x2 0.09 ↓ b.hi 1f30 mov x17, #0xfffffffffffffef8 // #-264 0.09 ldr x1, [x29, x17] mov w0, w0 add x0, x1, x0 stur x0, [x29, #-160] mov w0, #0x1 // #1 stur w0, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x0, [x29, x17] add x0, x0, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] mov w0, #0x3 // #3 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb wzr, [x29, x17] 53c: mov w20, #0x1 // #1 ↓ b 73c 544: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c6c ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1544 ldur x0, [x29, #-232] lsl x0, x0, #1 orr x0, x0, #0x1 stur x0, [x29, #-232] 570: ldur w1, [x29, #-224] add w1, w1, #0x1 stur w1, [x29, #-224] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] mov w2, w1 add x2, x2, #0x1 ldur w0, [x29, #-256] cmp x2, x0 ↓ b.hi 1f30 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] mov w1, w1 add x1, x2, x1 stur x1, [x29, #-160] mov w1, #0x1 // #1 stur w1, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] add w1, w1, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add x1, x1, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] mov w1, #0x1 // #1 mov x17, #0xfffffffffffffef0 // #-272 strb w1, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 strb w1, [x29, x17] ↑ b 53c 0.17 5f4: mov x17, #0xfffffffffffffee8 // #-280 0.34 ldr w1, [x29, x17] 0.09 add w1, w1, #0x1 ldur w2, [x29, #-256] cmp w1, w2 ↓ b.hi 1f30 mov x17, #0xfffffffffffffef8 // #-264 0.09 ldr x0, [x29, x17] mov w3, w1 0.17 add x0, x0, x3 0.09 sub w22, w2, w1 0.17 mov x1, #0x3358 // #13144 movk x1, #0x35c0, lsl #16 movk x1, #0xf151, lsl #32 0.26 ldr x1, [x1] 0.09 mov x2, x0 asr w3, w22, #0 add x1, x1, #0x8 mov x4, x2 cmp w3, #0x8 ↓ b.lt 1490 0.09 ldr q16, [x1] cmp w3, #0x10 ↓ b.le 804 0.09 sub w1, w3, #0x10 mov w1, w1 0.17 add x2, x2, x1 0.17 660: ldr q17, [x4] 0.77 movi v18.16b, #0xf and v18.16b, v17.16b, v18.16b 0.09 tbl v18.16b, {v16.16b}, v18.16b sshr v17.16b, v17.16b, #4 0.17 ldr q19, instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]+0xffffffffff29c2a8> brk #0xf000 1f50: mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] 0.09 ↓ cbz x1, 1fb0 mov x17, #0xfffffffffffffe64 // #-412 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] 0.09 mov x2, #0x5818 // #22552 movk x2, #0xe926, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0x35c0, lsl #16 movk x0, #0xf151, lsl #32 ldr x0, [x0] 0.17 mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] 0.09 mov w2, wzr mov x3, #0x63b8 // #25528 movk x3, #0xe9da, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] → blr x3 1fb0: mov x16, #0x7263 // #29283 movk x16, #0xd13a, lsl #16 movk x16, #0x4c82, lsl #32 movk x16, #0x7abb, lsl #48 ldur x17, [x29, #-88] cmp x16, x17 ↓ b.eq 1fd0 bl ffffffffff2ec950 ,bool)[OptimizedTier1]+0xffffffffff2ec8d0> 1fd0: sub sp, x29, #0x1b0 ldp x29, x30, [sp, #432] ldp x27, x28, [sp, #416] ldp x25, x26, [sp, #400] ldp x23, x24, [sp, #384] ldp x21, x22, [sp, #368] ldp x19, x20, [sp, #352] add sp, sp, #0x1c0 ← ret 1ff4: mov w0, w2 mov x1, #0x7fa8 // #32680 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2010: ldr wzr, [sp], #-256 mov x21, sp mov w22, #0x100 // #256 ↑ b 148 2020: ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, #0x7fc0 // #32704 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 sxtw x1, w0 mov x0, #0xb9e8 // #47592 movk x0, #0xe936, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2ec9d0 ,bool)[OptimizedTier1]+0xffffffffff2ec950> mov x26, x0 ↑ b 13c 2058: mov x0, x26 mov x1, #0xdf20 // #57120 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 asr w22, w0, #0 ldr w23, [x26, #8] mov x0, x21 mov x1, #0xdf20 // #57120 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w22 mov w2, w23 mov x0, x24 mov w4, w25 mov x5, #0x7f90 // #32656 movk x5, #0xe9f5, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 20bc: ldr x0, [x22, #16] ldr w1, [x0, #8] cmp w1, w25 ↓ b.ls 2300 add x0, x0, #0x10 ldr x0, [x0, w25, uxtw #3] ↓ cbz x0, 22f4 ldr x26, [x0, #8] mov x0, #0xb168 // #45416 movk x0, #0xea03, lsl #16 movk x0, #0xf160, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0xe926, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb23c // #45628 movk x0, #0xe803, lsl #16 movk x0, #0xf160, lsl #32 ldrb w0, [x0] ↓ cbz w0, 211c bl fffffffffff92f48 ,bool)[OptimizedTier1]+0xfffffffffff92ec8> asr w21, w0, #0 ↓ b 2190 211c: mov x0, #0xb1b8 // #45496 movk x0, #0xea03, lsl #16 movk x0, #0xf160, lsl #32 mov x1, #0x7fa8 // #32680 movk x1, #0xe9f5, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ldr w23, [x0, #16] mov x0, #0xb1b8 // #45496 movk x0, #0xea03, lsl #16 movk x0, #0xf160, lsl #32 mov x1, #0x7fa8 // #32680 movk x1, #0xe9f5, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 sub w1, w23, #0x1 str w1, [x0, #16] uxth w0, w23 ↓ cbnz w0, 218c mov x0, #0x7fc0 // #32704 movk x0, #0xe9f5, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 asr w21, w0, #0 ↓ b 2190 218c: asr w21, w23, #16 2190: mov x0, #0xafc0 // #44992 movk x0, #0xea03, lsl #16 movk x0, #0xf160, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0xe926, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb230 // #45616 movk x0, #0xe803, lsl #16 movk x0, #0xf160, lsl #32 ldr w0, [x0] ↓ cbz w0, 243c udiv w1, w21, w0 msub w21, w1, w0, w21 mov w23, wzr ↓ b 2268 21d4: ldr w0, [x26, #8] cmp w21, w0 ↓ b.cs 2444 add x0, x26, #0x10 ldr x27, [x0, w21, uxtw #3] ldrsb wzr, [x27] mov x28, xzr mov x0, x27 mov x1, #0x7fd8 // #32728 movk x1, #0xe9f5, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x27, #8] ldr w1, [x27, #16] sub w1, w1, #0x1 ldr w2, [x0, #8] cmp w2, w1 ↓ b.ls 2234 add x2, x0, #0x10 ldr x28, [x2, w1, uxtw #3] add x0, x0, #0x10 str xzr, [x0, w1, uxtw #3] str w1, [x27, #16] 2234: mov x0, x27 mov x1, #0x68c8 // #26824 movk x1, #0xe926, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz x28, 2278 add w21, w21, #0x1 ldr w0, [x26, #8] cmp w0, w21 ↓ b.ne 2264 mov w21, wzr 2264: add w23, w23, #0x1 2268: ldr w0, [x26, #8] cmp w0, w23 ↑ b.gt 21d4 ↓ b 2280 2278: mov x26, x28 ↓ b 2284 2280: mov x26, xzr 2284: ↓ cbz x26, 22f4 ldrb w0, [x24, #157] ↑ cbz w0, 134 mov x0, x26 mov x1, #0xdf20 // #57120 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf20 // #57120 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w21 mov w2, w23 mov x0, x24 mov w4, w25 mov x5, #0x7f90 // #32656 movk x5, #0xe9f5, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 22f4: mov w0, #0x10 // #16 lsl w23, w0, w25 ↓ b 2324 2300: mov w0, w23 mov x1, #0x4cb8 // #19640 movk x1, #0x1000, lsl #16 movk x1, #0xf151, lsl #32 mov x2, #0x5ec0 // #24256 movk x2, #0xe98b, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 2324: cmp w23, #0x800 ↓ b.ge 2348 sxtw x1, w23 mov x0, #0xb9e8 // #47592 movk x0, #0xe936, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2ec9d0 ,bool)[OptimizedTier1]+0xffffffffff2ec950> mov x26, x0 ↓ b 2368 2348: mov w0, w23 mov w1, wzr mov x2, #0x7e40 // #32320 movk x2, #0xe9c9, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 2368: ldrb w0, [x24, #157] ↑ cbz w0, 134 ldrsb wzr, [x26] mov x0, x26 mov x1, #0xdf20 // #57120 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf20 // #57120 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov w1, w21 mov w2, w23 mov x0, x24 mov w4, #0xffffffff // #-1 mov x5, #0x7f90 // #32656 movk x5, #0xe9f5, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf20 // #57120 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 ldr x0, [x22, #16] ldr w0, [x0, #8] mov w1, #0x1 // #1 cmp w0, w25 cinc w5, w1, gt mov x0, x24 mov w1, w21 mov w2, w23 mov w4, #0xffffffff // #-1 mov x6, #0xc000 // #49152 movk x6, #0xe9f5, lsl #16 movk x6, #0xf160, lsl #32 ldr x6, [x6] → blr x6 ↑ b 134 2430: mov x21, xzr mov w22, wzr ↑ b 148 243c: bl ffffffffff29c340 ,bool)[OptimizedTier1]+0xffffffffff29c2c0> brk #0xf000 2444: bl ffffffffff29c328 ,bool)[OptimizedTier1]+0xffffffffff29c2a8> brk #0xf000 sub sp, sp, #0x60 stp x19, x20, [sp] stp x21, x22, [sp, #16] stp x23, x24, [sp, #32] stp x25, x26, [sp, #48] stp x27, x28, [sp, #64] stp x29, x30, [sp, #80] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] ↓ cbz x1, 24c8 mov x17, #0xfffffffffffffe64 // #-412 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0xe926, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0x35c0, lsl #16 movk x0, #0xf151, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x63b8 // #25528 movk x3, #0xe9da, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] → blr x3 24c8: ldp x29, x30, [sp, #80] ldp x27, x28, [sp, #64] ldp x25, x26, [sp, #48] ldp x23, x24, [sp, #32] ldp x21, x22, [sp, #16] ldp x19, x20, [sp] add sp, sp, #0x60 ← ret Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-40388-32808.so Percent stp x19, x20, [sp, #-80]! stp x21, x22, [sp, #16] stp x23, x24, [sp, #32] stp x25, x26, [sp, #48] stp x27, x28, [sp, #64] sub sp, sp, #0x320 stp x29, x30, [sp] mov x29, sp movi v16.16b, #0x0 add x9, x29, #0xc8 add x10, x29, #0x2e0 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 38: dc zva, x9 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 stp q16, q16, [x10] stp q16, q16, [x10, #32] mov x19, x0 mov x0, #0xb1b0 // #45488 movk x0, #0xe937, lsl #16 movk x0, #0xf160, lsl #32 mov x1, #0x68c8 // #26824 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 mov x20, x0 ldr x21, [x20, #24] ↓ cbz x21, 147c 80: ldr x2, [x21] mov x1, #0xec60 // #60512 movk x1, #0xe99f, lsl #16 movk x1, #0xf160, lsl #32 cmp x2, x1 ↓ b.ne 1570 ldrb w2, [x21, #43] ↓ cbz w2, 14b8 ldr w22, [x21, #24] neg w2, w22 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 add w2, w2, w1 sxtw x2, w2 ↓ tbnz x2, #63, 14d4 str w22, [x21, #28] ldrb w2, [x21, #41] ↓ cbz w2, 15a4 ↓ tbnz w22, #31, 15bc ldr w2, [x21, #36] cmp w22, w2 ↓ b.gt 160c ldr w2, [x21, #32] cmp w22, w2 ↓ b.gt 1674 e4: str w22, [x21, #32] ldr w0, [x21, #28] cmp w0, w22 ↓ b.gt 169c f4: ldr x22, [x20, #16] ↓ cbz x22, 16a4 ldr x0, [x22, #16] ↓ cbz x0, 1710 104: ldr x0, [x21] mov x1, #0xec60 // #60512 movk x1, #0xe99f, lsl #16 movk x1, #0xf160, lsl #32 cmp x0, x1 ↓ b.ne 1730 ldrb w20, [x21, #41] 120: ↓ cbz w20, 174c add x14, x22, #0x10 mov x15, x21 bl fffffffffe054c14 ldr x20, [x22, #24] ↓ cbz x20, 179c ldr x1, [x20, #8] ldr w0, [x20, #16] ↓ cbz x1, 17d4 ldr w2, [x1, #8] cmp w2, w0 ↓ b.cc 280c add x2, x1, #0x10 154: mov w1, w0 mov x0, x2 mov x2, #0x5818 // #22552 movk x2, #0xe926, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 str wzr, [x20, #16] 174: str xzr, [x22, #8] str wzr, [x22, #52] str xzr, [x22, #32] stp xzr, xzr, [x22, #64] strb wzr, [x22, #56] sturh wzr, [x22, #57] str wzr, [x22, #40] stp xzr, xzr, [x22, #80] str xzr, [x22, #96] strh wzr, [x22, #104] strb wzr, [x22, #106] strb wzr, [x22, #59] 1a4: ldr w0, [x22, #40] and w0, w0, #0x7fffffff ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 17e4 1b8: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1800 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 1820 1dc: add x20, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x20] ↓ cbz x0, 228 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 1840 add x1, x0, #0x10 ldr w2, [x0, #8] 208: ldp w0, w3, [x20, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 280c add x1, x1, x0 asr w2, w3, #0 228: ldr w0, [x22, #40] ↓ tbz w0, #31, 24c ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2894 mov w3, #0x2c // #44 strb w3, [x1, w0, uxtw #0] 24c: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2894 mov w2, #0x7b // #123 strb w2, [x1, w0, uxtw #0] 268: ldr w2, [x22, #40] and w2, w2, #0x7fffffff str w2, [x22, #40] add w2, w2, #0x1 str w2, [x22, #40] mov w2, #0x1 // #1 strb w2, [x22, #58] mov x20, #0xcb44 // #52036 movk x20, #0x1001, lsl #16 movk x20, #0xf151, lsl #32 ldr w2, [x22, #40] and w2, w2, #0x7fffffff ldr w3, [x22, #120] cmp w2, w3 ↓ b.ge 185c 2a4: add x1, x22, #0x70 ldr x0, [x1] str x20, [x29, #776] mov x1, x20 mov x2, #0x2e08 // #11784 movk x2, #0x35c0, lsl #16 movk x2, #0xf151, lsl #32 ldr x2, [x2] cmp x0, #0x0 csel x0, x0, x2, ne // ne = any ldr x2, [x0] 0.11 mov x3, #0xb1e0 // #45536 movk x3, #0xe9d8, lsl #16 movk x3, #0xf160, lsl #32 cmp x2, x3 ↓ b.ne 1884 ldr x0, [x0, #8] ldrsb wzr, [x0] mov w2, #0x7 // #7 mov x3, #0x7df8 // #32248 movk x3, #0xe9d6, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] → blr x3 asr w4, w0, #0 308: str xzr, [x29, #776] cmn w4, #0x1 ↓ b.ne 18a0 ldr w0, [x22, #124] ↓ tbz w0, #1, 18c8 31c: ldr w0, [x22, #124] ↓ tbnz w0, #0, 194c ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x1a ↓ b.lt 1974 338: add x23, x22, #0x40 mov x24, xzr mov w25, wzr ldr x0, [x23] ↓ cbz x0, 384 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 1994 add x24, x0, #0x10 ldr w25, [x0, #8] 364: ldp w2, w5, [x23, #8] and w2, w2, #0x7fffffff mov w2, w2 add x4, x2, w5, uxtw cmp x4, w25, uxtw ↓ b.hi 280c add x24, x24, x2 asr w25, w5, #0 384: ldr w2, [x22, #40] ↓ tbnz w2, #31, 19b0 38c: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2894 mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] ldr w2, [x22, #52] cmp w2, w25 ↓ b.hi 280c mov w5, w2 add x23, x24, x5 sub w3, w25, w2 str x20, [x29, #768] mov x2, x20 str x23, [x29, #760] str x2, [x29, #752] str x23, [x29, #744] mov x0, x20 mov x2, x23 add x5, x29, #0x2e8 add x4, x29, #0x2f0 mov w1, #0x7 // #7 mov x6, #0x78e8 // #30952 movk x6, #0xe926, lsl #16 movk x6, #0xf160, lsl #32 ldr x6, [x6] → blr x6 ldr w1, [x29, #744] sub w1, w1, w23 str xzr, [x29, #768] str xzr, [x29, #760] ldr w2, [x22, #52] add w23, w2, w1 str w23, [x22, #52] add w1, w23, #0x1 str w1, [x22, #52] cmp w23, w25 ↓ b.cs 2894 mov w1, #0x22 // #34 strb w1, [x24, w23, uxtw #0] ldr w23, [x22, #52] add w1, w23, #0x1 str w1, [x22, #52] cmp w23, w25 ↓ b.cs 2894 mov w1, #0x3a // #58 strb w1, [x24, w23, uxtw #0] ldr w23, [x22, #52] add w1, w23, #0x1 str w1, [x22, #52] cmp w23, w25 ↓ b.cs 2894 mov w1, #0x5b // #91 strb w1, [x24, w23, uxtw #0] 468: ldr w0, [x22, #40] and w0, w0, #0x7fffffff str w0, [x22, #40] add w0, w0, #0x1 str w0, [x22, #40] mov w0, #0x3 // #3 strb w0, [x22, #58] ldr x19, [x19, #8] ldr w20, [x19, #20] mov w23, wzr ↓ b d30 494: mov x24, xzr mov w23, #0xffffffff // #-1 mov w0, wzr ↓ b d6c 4a4: ldr x0, [x24] 1.88 mov x1, #0xea90 // #60048 1.55 movk x1, #0xe929, lsl #16 movk x1, #0xf160, lsl #32 cmp x0, x1 ↓ b.ne d74 0.11 ldr w0, [x24, #8] 1.33 ↓ cbz w0, d30 ldr w0, [x22, #124] ↓ tbz w0, #1, 19f0 4cc: add x1, x24, #0xc ldr w2, [x24, #8] mov x0, x22 mov w3, wzr mov x4, #0x7f90 // #32656 movk x4, #0xe9d6, lsl #16 movk x4, #0xf160, lsl #32 0.11 ldr x4, [x4] 0.22 → blr x4 ↓ b d30 4f4: ldr w0, [x22, #76] ↓ cbnz w0, 1b2c ldr x0, [x22, #16] ↓ cbz x0, 1ae0 ldr x24, [x22, #24] ldr x0, [x24, #8] ldr w0, [x0, #8] ldr w1, [x24, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 1a44 520: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 1acc ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 280c ldr w14, [x15, #8] sub w11, w14, w0 540: add x14, x22, #0x40 bl fffffffffe054c14 stp w0, w11, [x22, #72] ↓ b dd0 550: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6b80 // #27520 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↓ b e5c 570: mov x1, x28 ldr w2, [x29, #692] mov x0, x22 mov x4, #0xcbb8 // #52152 movk x4, #0xe9d6, lsl #16 movk x4, #0xf160, lsl #32 ldr x4, [x4] → blr x4 ↓ b a54 0.55 594: ldapur x5, [x5, #24] ↓ cbz x5, 20b0 ldr w2, [x29, #412] ↓ b bf8 5a4: ldr x7, [x29, #96] 5a8: ldapur x5, [x5, #24] ↓ cbz x5, 2130 ldr w2, [x29, #412] 5b4: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 5a4 str x5, [x29, #40] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xdc40 // #56384 movk x1, #0xe974, lsl #16 movk x1, #0xf160, lsl #32 cmp x0, x1 ↓ b.ne 20b8 ldr x4, [x29, #48] ↓ cbz x6, 20f0 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0xe803, lsl #16 movk x1, #0xf160, lsl #32 cmp x0, x1 ↓ b.ne 20fc ldr x7, [x29, #96] cmp x7, x6 cset x8, eq // eq = none 60c: ↓ cbz w8, 2128 ↓ b c38 614: ldr x28, [x29, #576] ↓ cbz x28, 2768 ldr x1, [x28] mov x0, #0x7b10 // #31504 movk x0, #0xe927, lsl #16 movk x0, #0xf160, lsl #32 cmp x1, x0 ↓ b.eq 658 mov x1, x28 mov x0, #0x7b10 // #31504 movk x0, #0xe927, lsl #16 movk x0, #0xf160, lsl #32 mov x2, #0x58c0 // #22720 movk x2, #0xe926, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 0.11 658: ldr w0, [x28, #8] str w0, [x29, #392] ldrb w0, [x26, #278] ↓ cbnz w0, 223c movi v16.16b, #0x0 str xzr, [x29, #232] stp q16, q16, [x29, #240] 0.11 stp q16, q16, [x29, #272] stp q16, q16, [x29, #304] 0.11 stp q16, q16, [x29, #336] str q16, [x29, #368] 0.11 str xzr, [x29, #384] str x26, [x29, #336] ldr x0, [x26, #208] str x0, [x29, #328] 0.11 ldr x0, [x29, #328] 0.22 ldr x0, [x0, #200] 0.44 str x0, [x29, #376] strb wzr, [x29, #310] strb wzr, [x29, #311] ldr x2, [x26, #184] 0.11 str x2, [x29, #32] ldr w0, [x2, #140] ↓ cbnz w0, 2258 0.11 6b8: ldr x0, [x26, #344] ldr x3, [x26, #184] add x2, x29, #0x188 0.11 add x4, x29, #0xe8 mov x1, x22 mov x5, #0x6bc8 // #27592 0.11 movk x5, #0xe9e4, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] 0.22 ldr wzr, [x0] → blr x5 0.11 ↓ b 75c 6e8: add x0, x29, #0x1a0 movi v16.16b, #0x0 stp q16, q16, [x0] stp q16, q16, [x0, #32] stp q16, q16, [x0, #64] stp q16, q16, [x0, #96] stp q16, q16, [x0, #128] str x26, [x29, #520] ldr x0, [x26, #208] str x0, [x29, #512] ldr x0, [x29, #512] ldr x0, [x0, #200] str x0, [x29, #560] strb wzr, [x29, #494] strb wzr, [x29, #495] ldr x0, [x26, #184] ldr w1, [x0, #140] ↓ cbnz w1, 22bc 730: ldr x0, [x26, #344] ldr x3, [x26, #184] add x2, x29, #0x240 add x4, x29, #0x1a0 mov x1, x22 mov x5, #0xfe70 // #65136 movk x5, #0xe9de, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 75c: mov x0, x22 0.11 mov x1, #0x69b8 // #27064 movk x1, #0xe9d6, lsl #16 0.11 movk x1, #0xf160, lsl #32 ldr x1, [x1] 0.11 → blr x1 mov w26, w27 0.22 778: ldr w1, [x25, #68] cmp w24, w1 ↓ b.ne 2824 0.55 ldr w1, [x25, #56] 0.22 cmp w26, w1 0.11 ↓ b.cs cd8 790: ldr x1, [x25, #16] 0.11 add w2, w26, #0x1 asr w27, w2, #0 0.11 ldr w2, [x1, #8] 1.33 cmp w26, w2 ↓ b.cs 2894 0.44 mov w2, #0x18 // #24 0.22 mov x0, #0x10 // #16 0.11 umaddl x2, w26, w2, x0 add x1, x1, x2 ldr w2, [x1, #20] 0.33 cmn w2, #0x1 ↓ b.lt 22dc 0.33 ldp x2, x26, [x1] 0.11 ↓ cbz x2, 26dc 0.22 add x28, x2, #0xc ldr w3, [x2, #8] 1.44 str w3, [x29, #692] mov w1, #0x21aa // #8618 movk w1, #0x9ef, lsl #16 0.22 cmp w3, w1 ↓ b.gt 2700 0.22 add x1, x22, #0x70 0.11 ldr x0, [x1] 0.11 ↓ cbz w3, 1c44 str x28, [x29, #680] mov x1, x28 ↓ cbnz x0, 810 0.11 mov x0, #0x2e08 // #11784 movk x0, #0x35c0, lsl #16 movk x0, #0xf151, lsl #32 0.11 ldr x0, [x0] 0.11 810: ldr x2, [x0] 0.11 mov x4, #0xb1e0 // #45536 movk x4, #0xe9d8, lsl #16 movk x4, #0xf160, lsl #32 0.11 cmp x2, x4 ↓ b.ne 1c54 ldr x0, [x0, #8] ldrsb wzr, [x0] 0.33 mov w2, w3 0.33 mov x4, #0x7df8 // #32248 0.11 movk x4, #0xe9d6, lsl #16 movk x4, #0xf160, lsl #32 0.11 ldr x4, [x4] → blr x4 0.11 asr w3, w0, #0 84c: str xzr, [x29, #680] 0.11 cmn w3, #0x1 ↑ b.ne 570 0.22 ldr w0, [x22, #124] ↓ tbz w0, #1, 1c70 0.22 860: ldr w0, [x22, #124] 0.22 ↓ tbnz w0, #0, 1ca4 0.11 mov w0, #0x3 // #3 ldr w2, [x29, #692] 0.11 mul w0, w2, w0 add w0, w0, #0x4 ldr w1, [x22, #76] 0.11 ldr w3, [x22, #52] 0.11 sub w1, w1, w3 cmp w1, w0 ↓ b.ge 8f8 0.22 ldr w1, [x22, #76] 0.11 ↓ cbnz w1, 1dd4 0.22 cmp w0, #0x100 0.11 ↓ b.gt 1cc8 mov w1, #0x100 // #256 8a0: ldr x0, [x22, #16] 0.22 ↓ cbz x0, 1d84 0.11 ldr x3, [x22, #24] 0.11 str x3, [x29, #120] ldrsb wzr, [x3] 0.22 ldr x0, [x3, #8] 0.11 ldr w0, [x0, #8] 1.00 ldr w4, [x3, #16] sub w0, w0, w4 0.11 cmp w0, w1 ↓ b.lt 1cd0 0.66 8cc: ldr x15, [x3, #8] ldr w0, [x3, #16] ↓ cbz x15, 1d70 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 280c 0.44 ldr w14, [x15, #8] sub w1, w14, w0 8ec: add x14, x22, #0x40 0.11 bl fffffffffe054c14 stp w0, w1, [x22, #72] 0.11 8f8: add x1, x22, #0x40 str x1, [x29, #104] 0.44 mov x3, xzr mov w4, wzr 0.11 ldr x0, [x1] 0.11 ↓ cbz x0, 94c ldr x3, [x0] 0.11 ldr w4, [x3] 0.55 tst w4, #0x80000000 0.22 ↓ b.eq 1ed8 1.11 add x3, x0, #0x10 ldr w4, [x0, #8] 0.11 928: ldr x1, [x29, #104] 0.22 ldp w5, w1, [x1, #8] 0.22 and w5, w5, #0x7fffffff mov w5, w5 add x0, x5, w1, uxtw cmp x0, w4, uxtw 0.11 ↓ b.hi 280c 1.11 add x3, x3, x5 asr w4, w1, #0 94c: ldr w5, [x22, #40] ↓ tbz w5, #31, 970 ldr w6, [x22, #52] add w5, w6, #0x1 0.11 str w5, [x22, #52] cmp w6, w4 ↓ b.cs 2894 mov w5, #0x2c // #44 0.11 strb w5, [x3, w6, uxtw #0] 0.11 970: ldr w6, [x22, #52] 0.11 add w5, w6, #0x1 str w5, [x22, #52] 0.11 cmp w6, w4 ↓ b.cs 2894 0.66 mov w5, #0x22 // #34 0.11 strb w5, [x3, w6, uxtw #0] 0.22 ldr w5, [x22, #52] 0.77 cmp w5, w4 ↓ b.hi 280c 0.66 mov w1, w5 str x3, [x29, #112] 0.11 add x6, x3, x1 0.11 str w4, [x29, #620] sub w7, w4, w5 0.11 str x28, [x29, #608] 0.11 mov x5, x28 0.11 str x6, [x29, #600] str x6, [x29, #128] 0.11 str x5, [x29, #592] 0.11 str x6, [x29, #584] ldr w2, [x29, #692] 0.11 ↓ cbz w2, 9fc mov x0, x28 mov x2, x6 add x5, x29, #0x248 0.22 add x4, x29, #0x250 ldr w1, [x29, #692] 0.11 mov w3, w7 mov x7, #0x78e8 // #30952 movk x7, #0xe926, lsl #16 0.11 movk x7, #0xf160, lsl #32 0.22 ldr x7, [x7] 0.22 → blr x7 0.11 ldr x6, [x29, #128] 0.55 9fc: ldr w1, [x29, #584] sub w1, w1, w6 str xzr, [x29, #608] str xzr, [x29, #600] ldr w2, [x22, #52] 0.22 add w6, w2, w1 0.11 str w6, [x22, #52] add w1, w6, #0x1 str w1, [x22, #52] ldr w4, [x29, #620] cmp w6, w4 ↓ b.cs 2894 1.00 mov w1, #0x22 // #34 ldr x3, [x29, #112] 0.11 strb w1, [x3, w6, uxtw #0] 0.11 ldr w6, [x22, #52] 2.21 add w1, w6, #0x1 1.22 str w1, [x22, #52] cmp w6, w4 ↓ b.cs 2894 0.66 mov w1, #0x3a // #58 strb w1, [x3, w6, uxtw #0] a54: ldr w0, [x22, #40] 0.22 and w0, w0, #0x7fffffff 0.11 str w0, [x22, #40] 0.11 mov w0, #0x500 // #1280 sturh w0, [x22, #57] 0.22 str x26, [x29, #576] 0.11 mov x0, #0x33d8 // #13272 0.11 movk x0, #0x35c0, lsl #16 0.11 movk x0, #0xf151, lsl #32 ldr x26, [x0] 0.44 ↓ cbz x26, 1f04 0.11 a80: ldapurb w0, [x26, #159] 0.77 ↓ cbz w0, 1f30 0.44 a88: ldr x1, [x26, #24] ↓ cbz x1, 1f4c 0.22 a90: mov x26, x1 ↓ cbz x26, ab0 0.22 mov x0, #0x94a8 // #38056 0.11 movk x0, #0xe9db, lsl #16 0.22 movk x0, #0xf160, lsl #32 0.11 ldr x2, [x26] 2.32 cmp x2, x0 ↓ b.ne 1f94 0.44 ab0: ldrb w0, [x26, #278] 0.88 ↓ cbnz w0, 1fac 0.22 ldr x0, [x26, #200] 0.44 ldrb w0, [x0, #18] 1.11 ↑ cbz w0, 6e8 0.77 ldr x0, [x29, #576] ↑ cbz x0, 6e8 0.11 ldr x28, [x26, #184] ldr x0, [x29, #576] 0.33 ldrsb wzr, [x28] 0.11 mov x1, #0x66a0 // #26272 0.11 movk x1, #0xe957, lsl #16 movk x1, #0xf160, lsl #32 0.11 ldr x1, [x1] 0.11 → blr x1 mov x1, x0 str x1, [x29, #96] 0.11 mov x0, #0x2620 // #9760 0.11 movk x0, #0x1000, lsl #16 0.11 movk x0, #0xf151, lsl #32 0.11 cmp x1, x0 ↑ b.eq 6e8 0.33 ldapur x26, [x28, #16] 0.11 ↓ cbz x26, b20 0.11 ldr x0, [x26, #192] 0.11 cmp x0, x1 0.33 ldr x1, [x29, #96] 1.88 ↓ b.eq c88 0.44 b20: mov x26, xzr ldapurb w0, [x28, #158] 0.22 ↓ cbz w0, c78 ldr x26, [x28, #8] ↓ cbz x26, 1fc8 b34: ldr x2, [x26, #8] str x2, [x29, #88] 0.11 mov x0, #0x3428 // #13352 0.11 movk x0, #0x35c0, lsl #16 0.11 movk x0, #0xf151, lsl #32 ldr x3, [x0] ↓ cbz x3, 1fec 0.11 b50: ldr x2, [x29, #88] 0.55 str x2, [x29, #64] mov x4, x1 stp x3, x4, [x29, #72] 0.11 ldrsb wzr, [x2] 1.00 ldapur x5, [x2, #8] str x5, [x29, #56] 0.33 ldr x0, [x5, #8] 3.54 ldrb w6, [x2, #25] 0.11 ↓ cbz w6, 2034 mov x0, x4 0.22 bl ffffffffff2e6aa0 ↓ cbz w0, 2054 b84: asr w2, w0, #0 b88: str w2, [x29, #412] 0.11 ldr x3, [x29, #56] 0.33 ldr x4, [x3, #8] 0.88 str x4, [x29, #48] 0.11 ldr x0, [x3, #16] 0.44 ldr x1, [x3, #40] mov w5, w2 0.11 mul x1, x1, x5 lsr x1, x1, #32 add x1, x1, #0x1 0.22 ldr w5, [x0, #8] 1.55 mul x1, x1, x5 0.22 lsr x1, x1, #32 ldr w5, [x0, #8] 0.11 cmp w1, w5 ↓ b.cs 2894 3.43 ubfiz x1, x1, #3, #32 0.22 add x1, x1, #0x10 0.11 add x0, x0, x1 0.11 ldapr x5, [x0] 4.42 ↓ cbz x5, 2078 0.33 ↑ cbz x4, 5b4 0.22 ldr x0, [x4] mov x1, #0xdc40 // #56384 0.11 movk x1, #0xe974, lsl #16 movk x1, #0xf160, lsl #32 cmp x0, x1 ↑ b.ne 5b4 0.22 bf8: ldr w0, [x5, #32] 4.20 cmp w2, w0 0.11 ↑ b.ne 594 0.66 str x5, [x29, #40] ldr x6, [x5, #8] 0.11 ↓ cbz x6, 2070 0.22 ldr x0, [x6] 1.11 mov x1, #0xa290 // #41616 movk x1, #0xe803, lsl #16 movk x1, #0xf160, lsl #32 cmp x0, x1 0.11 ↓ b.ne 2080 0.66 ldr x7, [x29, #96] 0.11 cmp x7, x6 0.22 cset x8, eq // eq = none 0.11 c34: ↓ cbz w8, 20a8 c38: ldr x5, [x29, #40] ldr x1, [x5, #16] 0.22 str x1, [x29, #400] 0.44 c44: ldr x2, [x29, #400] 1.00 str xzr, [x29, #400] ldrb w0, [x2, #32] 4.76 ↓ cbz w0, 2190 0.66 ldr x0, [x2, #16] ↓ cbnz x0, 2750 ldr x26, [x2, #8] 0.33 c60: ↓ cbz x26, 21f8 0.22 add x0, x26, #0x119 ldaprb w0, [x0] 1.44 cmp w0, #0x2 ↓ b.ne 21b8 0.77 mov x1, x7 c78: ↓ cbz x26, 21d8 0.33 add x14, x28, #0x10 mov x15, x26 bl fffffffffe054c14 c88: add x0, x26, #0x11a ldaprb w0, [x0] ↓ cbz w0, 2200 0.11 c94: ldr x0, [x26, #248] ↓ cbnz x0, 2234 0.11 c9c: ldr x0, [x26] mov x1, #0xfcc0 // #64704 movk x1, #0xe9e1, lsl #16 movk x1, #0xf160, lsl #32 0.22 cmp x0, x1 ↑ b.eq 614 mov x0, x26 mov x1, x22 ldr x2, [x29, #576] ldr x3, [x26] ldr x3, [x3, #64] 1.44 ldr x3, [x3, #56] 2.99 → blr x3 mov w26, w27 ↑ b 778 0.11 cd8: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne e8c 0.55 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6d30 // #27952 0.11 movk x2, #0xe9eb, lsl #16 0.11 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 d04: ldr w0, [x22, #40] orr w0, w0, #0x80000000 0.11 str w0, [x22, #40] 0.33 ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq d28 0.11 ldr w0, [x22, #40] 0.22 sub w0, w0, #0x1 0.11 str w0, [x22, #40] d28: mov w0, #0x2 // #2 strb w0, [x22, #58] 0.11 d30: ldr w0, [x19, #20] 0.11 cmp w20, w0 ↓ b.ne 2824 0.11 ldr w0, [x19, #16] cmp w23, w0 ↑ b.cs 494 0.11 ldr x0, [x19, #8] ldr w1, [x0, #8] 0.44 cmp w23, w1 ↓ b.cs 2894 0.11 add x0, x0, #0x10 ldr x1, [x0, w23, uxtw #3] 0.55 mov x24, x1 add w23, w23, #0x1 0.11 mov w0, #0x1 // #1 d6c: ↓ cbz w0, 1320 ↑ cbnz x24, 4a4 0.11 d74: mov x25, x24 ↓ cbz x25, d94 mov x0, #0xc660 // #50784 0.11 movk x0, #0xe92a, lsl #16 0.11 movk x0, #0xf160, lsl #32 ldr x1, [x25] 0.11 cmp x1, x0 0.11 ↓ b.ne 19d0 d94: ↑ cbz x25, d30 0.22 ldr w0, [x22, #40] and w0, w0, #0x7fffffff ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 1a28 dac: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↑ b.ne 550 0.11 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 0.11 cmp w0, #0x2 ↑ b.lt 4f4 dd0: add x24, x22, #0x40 0.11 mov x1, xzr mov w2, wzr ldr x0, [x24] 0.11 ↓ cbz x0, e1c 0.11 ldr x1, [x0] 0.11 ldr w2, [x1] 0.11 tst w2, #0x80000000 ↓ b.eq 1c28 0.11 add x1, x0, #0x10 0.11 ldr w2, [x0, #8] dfc: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 0.11 add x4, x0, w3, uxtw cmp x4, w2, uxtw 0.11 ↓ b.hi 280c add x1, x1, x0 asr w2, w3, #0 e1c: ldr w0, [x22, #40] ↓ tbz w0, #31, e40 0.11 ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2894 mov w3, #0x2c // #44 strb w3, [x1, w0, uxtw #0] 0.22 e40: ldr w0, [x22, #52] 0.11 add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2894 mov w2, #0x7b // #123 strb w2, [x1, w0, uxtw #0] e5c: ldr w1, [x22, #40] and w1, w1, #0x7fffffff str w1, [x22, #40] 0.11 add w1, w1, #0x1 str w1, [x22, #40] mov w1, #0x1 // #1 0.11 strb w1, [x22, #58] ldr w24, [x25, #68] 0.11 mov w26, wzr ↑ b 778 nop nop e8c: ldr w0, [x22, #124] ↓ tbz w0, #0, 122c ldr w0, [x22, #124] ↓ tbnz w0, #1, eb8 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc6f0 // #50928 movk x2, #0xe9f5, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 eb8: ldrb w0, [x22, #58] cmp w0, #0x1 ↓ b.eq 1154 ldrb w0, [x22, #58] cmp w0, #0x3 ↓ b.eq 1154 ldp w0, w1, [x22, #40] and w0, w0, #0x7fffffff mul w24, w0, w1 ↓ cbz w24, ee8 ldr w0, [x22, #44] sub w24, w24, w0 ee8: add w1, w24, #0x3 ldr w0, [x22, #76] ldr w2, [x22, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.ge f18 mov x0, x22 mov x2, #0x6be0 // #27616 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 f18: add x25, x22, #0x40 mov x26, xzr mov w27, wzr ldr x0, [x25] ↓ cbz x0, f64 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 24b8 add x26, x0, #0x10 ldr w27, [x0, #8] f44: ldp w0, w1, [x25, #8] and w0, w0, #0x7fffffff mov w0, w0 add x2, x0, w1, uxtw cmp x2, w27, uxtw ↓ b.hi 280c add x26, x26, x0 asr w27, w1, #0 f64: ldr w0, [x22, #48] cmp w0, #0x2 ↓ b.ne f8c ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w27 ↓ b.cs 2894 mov w1, #0xd // #13 strb w1, [x26, w0, uxtw #0] f8c: ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w27 ↓ b.cs 2894 mov w1, #0xa // #10 strb w1, [x26, w0, uxtw #0] ldr w0, [x22, #52] cmp w0, w27 ↓ b.hi 280c mov w1, w0 add x1, x26, x1 sub w0, w27, w0 mov x2, x1 asr w3, w0, #0 ldrb w4, [x22, #60] cmp w24, #0x8 ↓ b.ge 105c mov w0, wzr cmp w24, #0x1 ↓ b.le 1018 fe0: add w1, w0, #0x1 cmp w0, w3 ↓ b.cs 2894 strb w4, [x2, w0, uxtw #0] asr w0, w1, #0 add w1, w0, #0x1 cmp w0, w3 ↓ b.cs 2894 strb w4, [x2, w0, uxtw #0] add w0, w1, #0x1 cmp w0, w24 ↓ b.ge 101c mov w0, w1 ↑ b fe0 1018: mov w1, w0 101c: cmp w1, w24 ↓ b.ge 1030 cmp w1, w3 ↓ b.cs 2894 strb w4, [x2, w1, uxtw #0] 1030: ldr w0, [x22, #52] add w0, w0, w24 str w0, [x22, #52] ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w27 ↓ b.cs 2894 mov w1, #0x7d // #125 strb w1, [x26, w0, uxtw #0] ↑ b d04 105c: cmp w24, w0 ↓ b.hi 280c mov x0, x1 mov w2, w24 cmp x2, #0x10 ↓ b.cs 1110 mov x1, xzr cmp x2, #0x8 ↓ b.cc 10cc and x3, x2, #0xfffffffffffffff8 1084: strb w4, [x0, x1, lsl #0] add x5, x1, #0x1 strb w4, [x0, x5, lsl #0] add x5, x1, #0x2 strb w4, [x0, x5, lsl #0] add x5, x1, #0x3 strb w4, [x0, x5, lsl #0] add x5, x1, #0x4 strb w4, [x0, x5, lsl #0] add x5, x1, #0x5 strb w4, [x0, x5, lsl #0] add x5, x1, #0x6 strb w4, [x0, x5, lsl #0] add x5, x1, #0x7 strb w4, [x0, x5, lsl #0] add x1, x1, #0x8 cmp x1, x3 ↑ b.cc 1084 10cc: ↓ tbz w2, #2, 10f0 strb w4, [x0, x1, lsl #0] add x3, x1, #0x1 strb w4, [x0, x3, lsl #0] add x3, x1, #0x2 strb w4, [x0, x3, lsl #0] add x3, x1, #0x3 strb w4, [x0, x3, lsl #0] add x1, x1, #0x4 10f0: ↓ tbz w2, #1, 1104 strb w4, [x0, x1, lsl #0] add x3, x1, #0x1 strb w4, [x0, x3, lsl #0] add x1, x1, #0x2 1104: ↑ tbz w2, #0, 1030 strb w4, [x0, x1, lsl #0] ↑ b 1030 1110: dup v16.16b, w4 and x0, x2, #0xffffffffffffffe0 mov x3, xzr cmp x2, #0x20 ↓ b.cc 113c 1124: str q16, [x1, x3] add x4, x3, #0x10 str q16, [x1, x4] add x3, x3, #0x20 cmp x3, x0 ↑ b.cc 1124 113c: ↓ tbnz w2, #4, 114c 1140: sub x0, x2, #0x10 str q16, [x1, x0] ↑ b 1030 114c: str q16, [x1, x3] ↑ b 1140 1154: ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 11c0 ldr w0, [x22, #76] ↓ cbnz w0, 23d0 ldr x0, [x22, #16] ↓ cbz x0, 238c ldr x24, [x22, #24] ldr x0, [x24, #8] ldr w0, [x0, #8] ldr w1, [x24, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 22f0 1194: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 2378 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 280c ldr w14, [x15, #8] sub w11, w14, w0 11b4: add x14, x22, #0x40 bl fffffffffe054c14 stp w0, w11, [x22, #72] 11c0: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, 120c ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 249c add x1, x0, #0x10 ldr w2, [x0, #8] 11ec: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 280c add x1, x1, x0 asr w2, w3, #0 120c: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2894 mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] ↑ b d04 122c: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc6f0 // #50928 movk x2, #0xe9f5, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 12b4 ldr w0, [x22, #76] ↓ cbnz w0, 25c4 ldr x0, [x22, #16] ↓ cbz x0, 2580 ldr x24, [x22, #24] ldr x0, [x24, #8] ldr w0, [x0, #8] ldr w1, [x24, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 24d4 1288: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 256c ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 280c ldr w14, [x15, #8] sub w11, w14, w0 12a8: add x14, x22, #0x40 bl fffffffffe054c14 stp w0, w11, [x22, #72] 12b4: add x24, x22, #0x40 mov x25, xzr mov w1, wzr ldr x0, [x24] ↓ cbz x0, 1300 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 2690 add x25, x0, #0x10 ldr w1, [x0, #8] 12e0: ldp w0, w2, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x3, x0, w2, uxtw cmp x3, w1, uxtw ↓ b.hi 280c add x25, x25, x0 asr w1, w2, #0 1300: ldr w0, [x22, #52] add w2, w0, #0x1 str w2, [x22, #52] cmp w0, w1 ↓ b.cs 2894 mov w1, #0x7d // #125 strb w1, [x25, w0, uxtw #0] ↑ b d04 1320: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 143c mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6d30 // #27952 movk x2, #0xe9eb, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 134c: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 1370 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 1370: mov w0, #0x4 // #4 strb w0, [x22, #58] ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 145c mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6d30 // #27952 movk x2, #0xe9eb, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 13a4: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 13c8 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 13c8: mov w0, #0x2 // #2 strb w0, [x22, #58] mov x0, x22 mov x1, #0x69b8 // #27064 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x21] mov x1, #0xec60 // #60512 movk x1, #0xe99f, lsl #16 movk x1, #0xf160, lsl #32 cmp x0, x1 ↓ b.ne 283c mov x0, x21 mov x1, #0xed38 // #60728 movk x1, #0xe99f, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 1418: ↓ cbz x0, 2854 ldp x29, x30, [sp] add sp, sp, #0x320 ldp x27, x28, [sp, #64] ldp x25, x26, [sp, #48] ldp x23, x24, [sp, #32] ldp x21, x22, [sp, #16] ldp x19, x20, [sp], #80 ← ret 143c: mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6d18 // #27928 movk x2, #0xe9eb, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ b 134c 145c: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6d18 // #27928 movk x2, #0xe9eb, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ b 13a4 147c: mov x0, #0xec60 // #60512 movk x0, #0xe99f, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2e6950 mov x21, x0 mov w1, #0x10000 // #65536 mov x2, #0xc570 // #50544 movk x2, #0xe9b8, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 add x14, x20, #0x18 mov x15, x21 bl fffffffffe054c14 ↑ b 80 14b8: mov x0, xzr mov x1, #0x7198 // #29080 movk x1, #0xe9f5, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 14d4: mov x0, #0x7b10 // #31504 movk x0, #0xe927, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2e6950 mov x20, x0 mov x0, #0xc168 // #49512 movk x0, #0xe9f5, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 mov x19, x0 mov w0, #0xffc7 // #65479 movk w0, #0x7fff, lsl #16 str w0, [x20, #8] mov x0, #0x5718 // #22296 movk x0, #0xe935, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2e6950 mov x21, x0 mov x1, x20 mov x0, x19 mov x2, #0xc180 // #49536 movk x2, #0xe9f5, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 mov x0, x21 mov x1, #0x1ae0 // #6880 movk x1, #0x1000, lsl #16 movk x1, #0xf151, lsl #32 mov x3, #0xeaa8 // #60072 movk x3, #0xe945, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] → blr x3 mov x0, x21 bl ffffffffff2e6970 brk #0xf000 1570: mov x0, x21 mov x1, xzr ldr x2, [x21] ldr x2, [x2, #72] ldr x2, [x2, #24] → blr x2 mov x0, x21 mov x1, xzr ldr x2, [x21] ldr x2, [x2, #104] ldr x2, [x2, #8] → blr x2 ↑ b f4 15a4: mov x0, #0x71b0 // #29104 movk x0, #0xe9f5, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 15bc: mov x0, #0xd20 // #3360 movk x0, #0xe952, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2e6950 mov x21, x0 mov x0, #0x71c8 // #29128 movk x0, #0xe9f5, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc930 // #51504 movk x2, #0xe9c9, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6970 brk #0xf000 160c: mov w0, #0x100 // #256 cmp w22, #0x100 csel w1, w22, w0, ge // ge = tcont ldr w0, [x21, #36] cmp w1, w0, lsl #1 ↓ b.ge 162c ldr w1, [x21, #36] lsl w1, w1, #1 162c: ldr w0, [x21, #36] mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w2, w0, lsl #1 ↓ b.cs 1658 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 mov w0, #0xffc7 // #65479 movk w0, #0x7fff, lsl #16 cmp w22, w1 csel w1, w22, w0, ge // ge = tcont 1658: mov x0, x21 mov x2, #0xee90 // #61072 movk x2, #0xe99f, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ b e4 1674: ldr w2, [x21, #32] sub w2, w22, w2 ldr w1, [x21, #32] ldr x0, [x21, #16] mov x3, #0xcfa8 // #53160 movk x3, #0xe95d, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] → blr x3 ↑ b e4 169c: str w22, [x21, #28] ↑ b f4 16a4: add x0, x29, #0x310 stp xzr, xzr, [x0] add x0, x29, #0x310 mov w1, #0x1 // #1 mov x2, #0x68e0 // #26848 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0xe3f0 // #58352 movk x0, #0xe99f, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2e6950 mov x22, x0 ldr x2, [x29, #784] ldr x3, [x29, #792] mov x0, x22 mov x1, x21 mov x4, #0x68f8 // #26872 movk x4, #0xe9d6, lsl #16 movk x4, #0xf160, lsl #32 ldr x4, [x4] → blr x4 add x14, x20, #0x10 mov x15, x22 bl fffffffffe054c14 ↑ b 1a4 1710: ldr x0, [x22, #8] ↑ cbnz x0, 104 mov x0, #0x6eb0 // #28336 movk x0, #0xe9e4, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1730: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #64] ldr x1, [x1, #48] → blr x1 asr w20, w0, #0 ↑ b 120 174c: mov x0, #0xeab8 // #60088 movk x0, #0xe92a, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2e6950 mov x21, x0 mov x0, #0x6a18 // #27160 movk x0, #0xe9d6, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc8d0 // #51408 movk x2, #0xe945, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6970 brk #0xf000 179c: mov x0, #0x58f8 // #22776 movk x0, #0xe9d8, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2e6950 mov x20, x0 mov x1, #0x6a48 // #27208 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 add x14, x22, #0x18 mov x15, x20 bl fffffffffe054c14 ↑ b 174 17d4: ↓ cbnz w0, 280c mov x2, xzr mov w0, wzr ↑ b 154 17e4: mov x0, x22 mov x1, #0x6b50 // #27472 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1b8 1800: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6b80 // #27520 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ b 268 1820: mov x0, x22 mov w1, #0x2 // #2 mov x2, #0x6be0 // #27616 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1dc 1840: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 208 185c: ldr w2, [x22, #40] ldr w3, [x22, #120] mov x0, x20 mov w1, #0x7 // #7 mov x4, #0x6dd8 // #28120 movk x4, #0xe9d6, lsl #16 movk x4, #0xf160, lsl #32 ldr x4, [x4] → blr x4 ↑ b 2a4 1884: mov w2, #0x7 // #7 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w4, w0, #0 ↑ b 308 18a0: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x5, #0x6e68 // #28264 movk x5, #0xe9d6, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] → blr x5 ↑ b 468 18c8: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 18e0 ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.ne 18f8 18e0: mov x0, x22 mov x1, #0x7ee8 // #32488 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 18f8: add x23, x22, #0x50 ldr w0, [x23, #16] cmp w0, #0x40 ↓ b.ge 1918 ldr x0, [x23, #8] lsl x0, x0, #1 str x0, [x23, #8] ↓ b 1934 1918: mov x0, x23 mov w1, wzr mov x2, #0xcab0 // #51888 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 1934: ldr w0, [x23, #16] add w0, w0, #0x1 str w0, [x23, #16] mov w0, #0x10 // #16 strb w0, [x22, #56] ↑ b 31c 194c: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x4, #0x7ea0 // #32416 movk x4, #0xe9d6, lsl #16 movk x4, #0xf160, lsl #32 ldr x4, [x4] → blr x4 ↑ b 468 1974: mov x0, x22 mov w1, #0x1a // #26 mov x2, #0x6be0 // #27616 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ b 338 1994: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x24, x0 mov w25, w1 ↑ b 364 19b0: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2894 mov w2, #0x2c // #44 strb w2, [x24, w23, uxtw #0] ↑ b 38c 19d0: mov x1, x24 mov x2, #0x68f8 // #26872 movk x2, #0xe926, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x25, x0 ↑ b d94 19f0: mov x0, x22 mov x1, #0xc228 // #49704 movk x1, #0xe9f5, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 4cc mov x0, x22 mov x1, #0xc240 // #49728 movk x1, #0xe9f5, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ b 4cc 1a28: mov x0, x22 mov x1, #0x6b50 // #27472 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ b dac 1a44: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 1a5c asr w1, w0, #0 ↓ b 1a60 1a5c: mov w1, #0x100 // #256 1a60: asr w2, w1, #0 ↓ cbnz w0, 1a6c asr w2, w1, #0 1a6c: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 1ab0 ldr x1, [x24, #8] ldr w1, [x1, #8] ldr w2, [x24, #16] sub w1, w1, w2 sub w0, w0, w1 add w0, w0, #0x100 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 cmp w0, w1 ↓ b.hi 26a8 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 1ab0: add x0, x24, #0x8 mov x2, #0x6d30 // #27952 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ b 520 1acc: ↓ cbnz w0, 280c mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 540 1ae0: ldr x0, [x22, #8] mov x11, #0x2830 // #10288 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 str x0, [x29, #712] str x1, [x29, #720] add x14, x22, #0x40 ldr x15, [x29, #712] bl fffffffffe054c14 ldr w0, [x29, #720] ldr w1, [x29, #724] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge dd0 ↓ b 27f4 1b2c: ldr x0, [x22, #16] ↓ cbz x0, 1bac ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 26c0 ldr x24, [x22, #24] ldrsb wzr, [x24] mov x0, x24 mov x2, #0x6d18 // #27928 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 add x26, x22, #0x40 ldr x0, [x24, #8] ldr w1, [x24, #16] mov x2, #0x6ce8 // #27880 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 str x0, [x29, #696] str x1, [x29, #704] ldr x15, [x29, #696] mov x14, x26 bl fffffffffe054c14 ldr w0, [x29, #704] ldr w1, [x29, #708] stp w0, w1, [x26, #8] ↑ b dd0 1bac: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2820 // #10272 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w11, [x22, #52] add x0, x0, w11, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] mov x11, #0x2828 // #10280 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 str x0, [x29, #728] str x1, [x29, #736] add x14, x22, #0x40 ldr x15, [x29, #728] bl fffffffffe054c14 ldr w0, [x29, #736] ldr w1, [x29, #740] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge dd0 ↓ b 27f4 1c28: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b dfc 1c44: mov w0, #0xffffffff // #-1 asr w1, w0, #0 mov w3, w1 ↑ b 84c 1c54: mov w2, w3 ldr x4, [x0] ldr x4, [x4, #64] ldr x4, [x4, #40] → blr x4 asr w3, w0, #0 ↑ b 84c 1c70: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1c88 ldrb w0, [x22, #58] cmp w0, #0x5 ↑ b.ne 860 1c88: mov x0, x22 mov x1, #0x7ee8 // #32488 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ b 860 1ca4: mov x1, x28 ldr w2, [x29, #692] mov x0, x22 mov x3, #0xcc18 // #52248 movk x3, #0xe9d6, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] → blr x3 ↑ b a54 1cc8: asr w1, w0, #0 ↑ b 8a0 1cd0: ldr x0, [x3, #8] ldr w0, [x0, #8] cmp w1, w0 ↓ b.ge 1ce8 asr w4, w0, #0 ↓ b 1cec 1ce8: asr w4, w1, #0 1cec: asr w5, w4, #0 ↓ cbnz w0, 1d08 cmp w4, #0x100 ↓ b.ge 1d04 mov w5, #0x100 // #256 ↓ b 1d08 1d04: asr w5, w4, #0 1d08: add w4, w0, w5 mov w5, #0xffc7 // #65479 movk w5, #0x7fff, lsl #16 cmp w4, w5 ↓ b.ls 1d4c ldr x4, [x3, #8] ldr w4, [x4, #8] ldr w5, [x3, #16] sub w4, w4, w5 sub w0, w0, w4 add w0, w0, w1 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 cmp w0, w1 ↓ b.hi 271c mov w4, #0xffc7 // #65479 movk w4, #0x7fff, lsl #16 1d4c: add x0, x3, #0x8 mov w1, w4 mov x4, #0x6d30 // #27952 movk x4, #0xe9d6, lsl #16 movk x4, #0xf160, lsl #32 ldr x4, [x4] → blr x4 ldr x3, [x29, #120] ↑ b 8cc 1d70: ↓ cbnz w0, 280c mov x15, xzr mov w0, wzr mov w1, wzr ↑ b 8ec 1d84: ldr x0, [x22, #8] str w1, [x29, #644] mov x11, #0x2848 // #10312 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #648] str x1, [x29, #656] add x14, x22, #0x40 ldr x15, [x29, #648] bl fffffffffe054c14 ldr w0, [x29, #656] ldr w1, [x29, #660] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #644] cmp w0, w1 ↑ b.ge 8f8 ↓ b 27f4 1dd4: cmp w0, #0x1, lsl #12 ↓ b.le 1de4 str w0, [x29, #640] ↓ b 1dec 1de4: mov w3, #0x1000 // #4096 str w3, [x29, #640] 1dec: ldr x0, [x22, #16] ↓ cbz x0, 1e58 ldr w0, [x22, #52] ldr w3, [x29, #640] add w1, w0, w3 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2734 add x3, x22, #0x40 str x3, [x29, #24] ldr x0, [x22, #24] mov x4, #0x5990 // #22928 movk x4, #0xe9d8, lsl #16 movk x4, #0xf160, lsl #32 ldr x4, [x4] ldr wzr, [x0] → blr x4 str x0, [x29, #624] str x1, [x29, #632] ldr x15, [x29, #624] ldr x14, [x29, #24] bl fffffffffe054c14 ldr w0, [x29, #632] ldr w1, [x29, #636] ldr x14, [x29, #24] stp w0, w1, [x14, #8] ↑ b 8f8 1e58: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2838 // #10296 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w1, [x22, #52] add x0, x0, w1, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] ldr w1, [x29, #640] mov x11, #0x2840 // #10304 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #664] str x1, [x29, #672] add x14, x22, #0x40 ldr x15, [x29, #664] bl fffffffffe054c14 ldr w0, [x29, #672] ldr w1, [x29, #676] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #640] cmp w0, w1 ↑ b.ge 8f8 ↓ b 27f4 1ed8: ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 mov x3, x0 mov w4, w1 mov x6, x3 asr w7, w4, #0 mov x3, x6 mov w4, w7 ↑ b 928 1f04: mov x0, #0x33d8 // #13272 movk x0, #0x35c0, lsl #16 movk x0, #0xf151, lsl #32 mov w1, wzr mov x2, #0xd4a0 // #54432 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ↑ b a80 1f30: mov x0, x26 mov x1, #0xd9f8 // #55800 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ b a88 1f4c: mov w3, #0x101 // #257 mov x0, x26 mov x1, #0x2620 // #9760 movk x1, #0x1000, lsl #16 movk x1, #0xf151, lsl #32 mov w2, #0x1 // #1 mov w4, wzr mov w5, wzr mov x6, #0xdb18 // #56088 movk x6, #0xe9d6, lsl #16 movk x6, #0xf160, lsl #32 ldr x6, [x6] → blr x6 mov x1, x0 add x14, x26, #0x18 mov x15, x1 bl fffffffffe054c14 ↑ b a90 1f94: mov x2, #0x63b8 // #25528 movk x2, #0xe926, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 1fac: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #576] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 75c 1fc8: mov x0, x28 mov x2, #0xdbd8 // #56280 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ldr x1, [x29, #96] ↑ b b34 1fec: mov x0, #0xbd0 // #3024 movk x0, #0xe9dc, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2e6950 mov x3, x0 add x14, x3, #0x8 mov x15, x3 bl fffffffffe054c14 ldr q16, instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x28a0 stur q16, [x3, #24] mov x14, #0x3428 // #13352 movk x14, #0x35c0, lsl #16 movk x14, #0xf151, lsl #32 mov x15, x3 bl fffffffffe054c14 mov x1, x3 ldr x1, [x29, #96] ↑ b b50 2034: mov x1, x4 mov x11, #0x2850 // #10320 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b b88 2054: ldr x0, [x29, #80] mov x1, #0xc720 // #50976 movk x1, #0xe945, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ b b84 2070: ldr x5, [x29, #40] ↑ b 594 2078: ldr x7, [x29, #96] ↓ b 2130 2080: ldr x7, [x29, #96] mov x0, x6 mov x1, x7 ldr x4, [x6] ldr x4, [x4, #64] ldr x4, [x4, #16] → blr x4 asr w8, w0, #0 ldr x7, [x29, #96] ↑ b c34 20a8: ldr x5, [x29, #40] ↑ b 594 20b0: ldr x7, [x29, #96] ↓ b 2130 20b8: ldr x4, [x29, #48] ldr x7, [x29, #96] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2858 // #10328 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #48] ldr x7, [x29, #96] ↑ b 60c 20f0: ldr x5, [x29, #40] ldr x7, [x29, #96] ↑ b 5a8 20fc: ldr x7, [x29, #96] mov x0, x6 mov x1, x7 ldr x6, [x6] ldr x6, [x6, #64] ldr x6, [x6, #16] → blr x6 asr w8, w0, #0 ldr x4, [x29, #48] ldr x7, [x29, #96] ↑ b 60c 2128: ldr x5, [x29, #40] ↑ b 5a8 2130: str xzr, [x29, #400] mov x1, x7 mov x2, x26 ldr x4, [x29, #72] ldr x0, [x4, #8] ldr x4, [x4, #24] → blr x4 mov x4, x0 ldr w3, [x29, #412] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x190 ldr x1, [x29, #56] ldr x2, [x29, #96] ldr x0, [x29, #64] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce88 // #52872 movk x8, #0xe971, lsl #16 movk x8, #0xf160, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #96] ↑ b c44 2190: mov x0, x26 mov x1, x7 mov x3, #0xe178 // #57720 movk x3, #0xe9d6, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] → blr x3 mov x26, x0 ldr x7, [x29, #96] ↑ b c60 21b8: mov x0, x26 mov x1, #0xf1b0 // #61872 movk x1, #0xe9de, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ldr x1, [x29, #96] ↑ b c78 21d8: ldr x1, [x28, #32] ldr x0, [x29, #96] mov x2, #0xdbc0 // #56256 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 21f8: mov x1, x7 ↑ b c78 2200: mov x0, x26 mov x1, #0x4390 // #17296 movk x1, #0xe9e4, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe054c14 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b c94 2234: mov x26, x0 ↑ b c9c 223c: ldr x3, [x26, #328] mov x1, x22 ldr w2, [x29, #392] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 75c 2258: ldr x0, [x2, #56] mov w1, #0x1 // #1 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 str x0, [x29, #264] ldr x0, [x29, #32] ldr w0, [x0, #140] cmp w0, #0x2 ↑ b.ne 6b8 ldr x0, [x26, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 6b8 ldr x0, [x29, #264] mov x1, x28 ldr x2, [x29, #264] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 6b8 22bc: ldr x0, [x0, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #448] ↑ b 730 22dc: ldr w1, [x25, #56] cmp w27, w1 mov w26, w27 ↑ b.cc 790 ↑ b cd8 22f0: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 2308 asr w1, w0, #0 ↓ b 230c 2308: mov w1, #0x100 // #256 230c: asr w2, w1, #0 ↓ cbnz w0, 2318 asr w2, w1, #0 2318: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 235c ldr x1, [x24, #8] ldr w1, [x1, #8] ldr w2, [x24, #16] sub w1, w1, w2 sub w0, w0, w1 add w0, w0, #0x100 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 cmp w0, w1 ↓ b.hi 278c mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 235c: add x0, x24, #0x8 mov x2, #0x6d30 // #27952 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1194 2378: ↓ cbnz w0, 280c mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 11b4 238c: ldr x0, [x22, #8] mov x11, #0x2870 // #10352 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #200] add x14, x22, #0x40 ldr x15, [x29, #200] bl fffffffffe054c14 ldp w0, w1, [x29, #208] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 11c0 ↓ b 27f4 23d0: ldr x0, [x22, #16] ↓ cbz x0, 2428 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 27a4 add x24, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x5990 // #22928 movk x2, #0xe9d8, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #184] ldr x15, [x29, #184] mov x14, x24 bl fffffffffe054c14 ldp w0, w1, [x29, #192] stp w0, w1, [x24, #8] ↑ b 11c0 2428: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2860 // #10336 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w11, [x22, #52] add x0, x0, w11, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] mov x11, #0x2868 // #10344 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #216] add x14, x22, #0x40 ldr x15, [x29, #216] bl fffffffffe054c14 ldp w0, w1, [x29, #224] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 11c0 ↓ b 27f4 249c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 11ec 24b8: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x26, x0 mov w27, w1 ↑ b f44 24d4: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 24ec asr w1, w0, #0 ↓ b 24f0 24ec: mov w1, #0x100 // #256 24f0: asr w2, w1, #0 ↓ cbnz w0, 250c cmp w1, #0x100 ↓ b.ge 2508 mov w2, #0x100 // #256 ↓ b 250c 2508: asr w2, w1, #0 250c: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 2550 ldr x1, [x24, #8] ldr w1, [x1, #8] ldr w2, [x24, #16] sub w1, w1, w2 sub w0, w0, w1 add w0, w0, #0x100 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 cmp w0, w1 ↓ b.hi 27c0 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 2550: add x0, x24, #0x8 mov x2, #0x6d30 // #27952 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1288 256c: ↓ cbnz w0, 280c mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 12a8 2580: ldr x0, [x22, #8] mov x11, #0x2888 // #10376 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #152] add x14, x22, #0x40 ldr x15, [x29, #152] bl fffffffffe054c14 ldp w0, w1, [x29, #160] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 12b4 ↓ b 27f4 25c4: ldr x0, [x22, #16] ↓ cbz x0, 261c ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 27d8 add x24, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x5990 // #22928 movk x2, #0xe9d8, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #136] ldr x15, [x29, #136] mov x14, x24 bl fffffffffe054c14 ldp w0, w1, [x29, #144] stp w0, w1, [x24, #8] ↑ b 12b4 261c: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2878 // #10360 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w11, [x22, #52] add x0, x0, w11, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] mov x11, #0x2880 // #10368 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #168] add x14, x22, #0x40 ldr x15, [x29, #168] bl fffffffffe054c14 ldp w0, w1, [x29, #176] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 12b4 ↓ b 27f4 2690: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x25, x0 ↑ b 12e0 26a8: mov x1, #0x6d78 // #28024 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 26c0: mov w0, w1 mov x1, #0xcb28 // #52008 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 26dc: mov x0, #0xcbe0 // #52192 movk x0, #0x1001, lsl #16 movk x0, #0xf151, lsl #32 mov x1, #0x76d8 // #30424 movk x1, #0xe9a4, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2700: mov w0, w3 mov x1, #0xcbe8 // #52200 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 271c: mov x1, #0x6d78 // #28024 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2734: mov w0, w1 mov x1, #0xcb28 // #52008 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2750: mov x1, #0xf180 // #61824 movk x1, #0xe9de, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2768: mov x0, #0x43a0 // #17312 movk x0, #0x1000, lsl #16 movk x0, #0xf151, lsl #32 mov x1, #0x6b98 // #27544 movk x1, #0xe9e4, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 278c: mov x1, #0x6d78 // #28024 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27a4: mov w0, w1 mov x1, #0xcb28 // #52008 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27c0: mov x1, #0x6d78 // #28024 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27d8: mov w0, w1 mov x1, #0xcb28 // #52008 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27f4: mov x0, #0x6cd0 // #27856 movk x0, #0xe9d6, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 280c: mov x0, #0xdb30 // #56112 movk x0, #0xe945, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2824: mov x0, #0xec70 // #60528 movk x0, #0xe945, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 283c: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #72] ldr x1, [x1, #8] → blr x1 ↑ b 1418 2854: mov x0, #0x1690 // #5776 movk x0, #0xe92a, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2e6950 mov x19, x0 mov x1, #0xcb60 // #52064 movk x1, #0x1001, lsl #16 movk x1, #0xf151, lsl #32 mov x2, #0xf7e0 // #63456 movk x2, #0xe95d, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x0, x19 bl ffffffffff2e6970 brk #0xf000 2894: bl ffffffffff296368 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-40388-32613.so 0.93 stp x29, x30, [sp, #-64]! 0.93 stp x19, x20, [sp, #16] 0.93 stp x21, x22, [sp, #32] 0.47 stp x23, x24, [sp, #48] mov x29, sp 0.47 mov x19, x0 ldr x20, [x19, #16] 0.93 ↓ cbz x20, 1a4 0.47 20: stp xzr, xzr, [x19, #64] 0.47 ↓ cbz x20, 39c 0.93 ldr w1, [x19, #52] 0.47 ↓ cbz w1, 174 0.47 ldr x0, [x19, #24] mov x2, x0 0.47 ldrsb wzr, [x2] 7.94 ↓ tbnz w1, #31, 1c4 0.93 ldr w3, [x2, #16] 2.34 ldr x4, [x2, #8] 1.87 ldr w4, [x4, #8] 1.87 sub w4, w4, w1 3.74 cmp w3, w4 ↓ b.gt 208 5.61 add w21, w3, w1 0.47 str w21, [x2, #16] str wzr, [x19, #52] 1.40 ldr x0, [x0, #8] 0.47 ↓ cbz x0, 228 ldr w1, [x0, #8] cmp w1, w21 ↓ b.cc 364 0.47 add x22, x0, #0x10 0.47 7c: ldr x0, [x20] 0.47 mov x1, #0xec60 // #60512 0.47 movk x1, #0xe99f, lsl #16 0.47 movk x1, #0xf160, lsl #32 0.47 cmp x0, x1 ↓ b.ne 334 0.93 ldrb w0, [x20, #43] 0.47 ↓ cbz w0, 238 ldrb w0, [x20, #41] 0.47 ↓ cbz w0, 254 ldr w0, [x20, #28] 0.47 add w23, w0, w21 ↓ tbnz w23, #31, 26c ldr w1, [x20, #32] 0.47 cmp w23, w1 0.47 ↓ b.le d8 0.47 cmp w0, w1 cset x24, gt ldr w0, [x20, #36] 0.93 cmp w23, w0 ↓ b.gt 2bc 0.47 d0: ↓ cbnz w24, 2e0 0.47 d4: str w23, [x20, #32] 0.47 d8: ldr x2, [x20, #16] ldr w0, [x20, #28] ↓ cbz x2, 308 mov w1, w0 0.47 add x1, x1, w21, uxtw ldr w3, [x2, #8] 0.47 cmp x1, x3 ↓ b.hi 364 0.93 add x2, x2, #0x10 1.40 mov w0, w0 0.47 add x0, x2, x0 asr w2, w21, #0 108: cmp w21, w2 ↓ b.gt 31c 0.93 mov w2, w21 mov x1, x22 mov x3, #0x5848 // #22600 movk x3, #0xe926, lsl #16 movk x3, #0xf160, lsl #32 2.34 ldr x3, [x3] 3.27 → blr x3 1.87 str w23, [x20, #28] 130: ldp x20, x0, [x19, #24] 1.87 ldr w1, [x20, #16] 0.47 add x0, x0, w1, sxtw 2.34 str x0, [x19, #32] ldr x0, [x20, #8] ↓ cbz x0, 354 1.87 ldr w2, [x0, #8] 9.81 cmp w2, w1 ↓ b.cc 364 6.07 add x0, x0, #0x10 0.47 158: mov w1, w1 0.47 mov x2, #0x5818 // #22552 movk x2, #0xe926, lsl #16 movk x2, #0xf160, lsl #32 0.93 ldr x2, [x2] → blr x2 0.93 str wzr, [x20, #16] 174: ldr x0, [x19, #16] 4.21 ldr x1, [x0] 6.07 mov x2, #0xec60 // #60512 2.34 movk x2, #0xe99f, lsl #16 0.93 movk x2, #0xf160, lsl #32 cmp x1, x2 ↓ b.ne 37c 3.27 190: ldp x23, x24, [sp, #48] 0.93 ldp x21, x22, [sp, #32] 0.93 ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #64 0.47 ← ret 1a4: ldr x0, [x19, #8] ↑ cbnz x0, 20 mov x0, #0x6eb0 // #28336 movk x0, #0xe9e4, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1c4: mov x0, #0xeab8 // #60088 movk x0, #0xe92a, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2f9ee0 mov x19, x0 mov x1, xzr mov x2, #0x2898 // #10392 movk x2, #0x1000, lsl #16 movk x2, #0xf151, lsl #32 mov x3, #0xc480 // #50304 movk x3, #0xe95d, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] → blr x3 mov x0, x19 bl ffffffffff2f9f00 brk #0xf000 208: ldr x0, [x2, #8] ldr w0, [x0, #8] mov x1, #0x6ec8 // #28360 movk x1, #0xe9e4, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 228: ↓ cbnz w21, 364 mov x22, xzr mov w21, wzr ↑ b 7c 238: mov x0, xzr mov x1, #0x7198 // #29080 movk x1, #0xe9f5, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 254: mov x0, #0x71b0 // #29104 movk x0, #0xe9f5, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 26c: mov x0, #0xd20 // #3360 movk x0, #0xe952, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2f9ee0 mov x22, x0 mov x0, #0x71c8 // #29128 movk x0, #0xe9f5, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x22 mov x2, #0xc930 // #51504 movk x2, #0xe9c9, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 bl ffffffffff2f9f00 brk #0xf000 2bc: mov x0, x20 mov w1, w23 mov x2, #0xc5d0 // #50640 movk x2, #0xe9b8, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, d4 ↑ b d0 2e0: ldr w2, [x20, #32] sub w2, w23, w2 ldr w1, [x20, #32] ldr x0, [x20, #16] mov x3, #0xcfa8 // #53160 movk x3, #0xe95d, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] → blr x3 ↑ b d4 308: orr w2, w0, w21 ↓ cbnz w2, 364 mov x0, xzr mov w2, wzr ↑ b 108 31c: mov x0, #0x4c90 // #19600 movk x0, #0xe97b, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 334: mov x1, x22 mov w2, w21 mov x0, x20 ldr x3, [x20] ldr x3, [x3, #104] ldr x3, [x3, #48] → blr x3 ↑ b 130 354: ↓ cbnz w1, 364 mov x0, xzr mov w1, wzr ↑ b 158 364: mov x0, #0xdb30 // #56112 movk x0, #0xe945, lsl #16 movk x0, #0xf160, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 37c: ldr x1, [x0] ldr x1, [x1, #88] ldr x1, [x1] ldp x23, x24, [sp, #48] ldp x21, x22, [sp, #32] ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #64 → br x1 39c: ldr w1, [x19, #52] ↑ cbz w1, 190 ldr x0, [x19, #8] mov x11, #0x2718 // #10008 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x19, #32] ldr w1, [x19, #52] add x0, x0, w1, sxtw str x0, [x19, #32] str wzr, [x19, #52] ↑ b 190 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]() /tmp/jitted-40388-32561.so 1.72 stp x29, x30, [sp, #-16]! 0.57 mov x29, sp 1.15 cmp w1, w3 csel w6, w1, w3, le mov w6, w6 0.57 mov x7, xzr 0.57 cmp x6, #0x20 ↓ b.cs c4 20: sub x6, x6, x7 cmp x6, #0x4 ↓ b.cc 60 2.30 add x8, x7, x6 1.72 sub x8, x8, #0x4 1.15 lsl x9, x7, #1 ldr x9, [x0, x9] 0.57 tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1d8 1.15 44: mov v16.d[0], x9 1.15 sqxtun v16.8b, v16.8h 1.15 mov w9, v16.s[0] 1.15 str w9, [x2, x7] 0.57 add x7, x7, #0x4 cmp x7, x8 ↓ b.ls 19c 0.57 60: ↓ tbz w6, #1, 88 0.57 lsl x9, x7, #1 1.15 ldr w8, [x0, x9] 0.57 tst w8, #0xff80ff80 0.57 ↓ b.ne 1fc add x9, x2, x7 strb w8, [x9] 0.57 lsr w8, w8, #16 strb w8, [x9, #1] 0.57 add x7, x7, #0x2 88: ↓ tbz w6, #0, a0 1.15 ldrh w8, [x0, x7, lsl #1] cmp w8, #0x7f ↓ b.hi a0 1.72 98: strb w8, [x2, x7, lsl #0] add x7, x7, #0x1 0.57 a0: add x0, x0, x7, lsl #1 0.57 add x2, x2, x7 1.15 cmp w7, w1 ↓ b.ne 208 0.57 str x0, [x4] 0.57 str x2, [x5] 0.57 mov w0, wzr 0.57 ldp x29, x30, [sp], #16 2.30 ← ret c4: ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 mov x9, x8 ↓ b.ne 1d8 mov x7, x0 ldr q16, [x7] umaxp v17.8h, v16.8h, v16.8h mov x8, v17.d[0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 1b0 1.15 mov x8, x2 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8] mov x9, #0x8 // #8 ↓ tbnz w2, #3, 11c ldr q16, [x7, #16] umaxp v17.8h, v16.8h, v16.8h mov x10, v17.d[0] tst x10, #0xff80ff80ff80ff80 ↓ b.ne 194 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, #8] 11c: and x9, x2, #0xf neg x9, x9 add x9, x9, #0x10 sub x10, x6, #0x10 lsl x11, x9, #1 ldr q16, [x7, x11] lsl x11, x9, #1 add x11, x11, #0x10 ldr q17, [x7, x11] 0.57 orr v18.16b, v16.16b, v17.16b umaxp v18.8h, v18.8h, v18.8h mov x11, v18.d[0] tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1b8 8.05 154: uzp1 v16.16b, v16.16b, v17.16b 2.87 str q16, [x8, x9] 1.72 add x9, x9, #0x10 2.87 cmp x9, x10 ↓ b.hi 194 0.57 lsl x11, x9, #1 3.45 ldr q16, [x7, x11] 1.72 lsl x11, x9, #1 1.15 add x11, x11, #0x10 2.30 ldr q17, [x7, x11] 4.60 orr v18.16b, v16.16b, v17.16b 1.15 umaxp v18.8h, v18.8h, v18.8h mov x11, v18.d[0] 0.57 tst x11, #0xff80ff80ff80ff80 0.57 ↓ b.ne 1b8 36.78 ↑ b 154 194: mov x7, x9 198: ↑ b 20 19c: lsl x9, x7, #1 ldr x9, [x0, x9] tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1d8 ↑ b 44 1b0: mov x7, xzr ↑ b 198 1b8: umaxp v17.8h, v16.8h, v16.8h mov x7, v17.d[0] tst x7, #0xff80ff80ff80ff80 ↑ b.ne 194 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, x9] add x9, x9, #0x8 ↑ b 194 1d8: asr w8, w9, #0 tst w8, #0xff80ff80 ↓ b.ne 1fc add x6, x2, x7 strb w8, [x6] lsr w8, w8, #16 strb w8, [x6, #1] lsr x8, x9, #32 add x7, x7, #0x2 1fc: tst w8, #0xff80 ↑ b.eq 98 ↑ b a0 208: sub w1, w1, w7 sub w3, w3, w7 cmp w1, #0x2 ↓ b.lt 628 ubfiz x6, x1, #1, #32 add x6, x0, x6 sub x6, x6, #0x4 224: ldr w7, [x0] ↓ b 550 22c: cmp w3, #0x2 ↓ b.lt 634 orr w7, w7, w7, lsr #8 strh w7, [x2] add x0, x0, #0x4 add x2, x2, #0x2 sub w3, w3, #0x2 sub x7, x6, x0 add x7, x7, x7, lsr #63 asr x7, x7, #1 add w7, w7, #0x2 mov w7, w7 mov w8, w3 cmp x7, x8 ↓ b.le 270 mov x7, x8 ↓ b 270 270: lsr w8, w7, #3 mov w9, wzr ↓ b 2a4 27c: ldr q16, [x0] mvni v17.8h, #0x7f cmtst v17.8h, v16.8h, v17.8h sminp v17.8h, v17.8h, v17.8h mov x10, v17.d[0] ↓ cbnz x10, 2c4 sqxtun v16.8b, v16.8h str d16, [x2], #8 add x0, x0, #0x10 add w9, w9, #0x1 2a4: cmp w9, w8 ↑ b.cc 27c sub w3, w3, w9, lsl #3 ↓ tbz w7, #2, 600 ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2ec ↓ b 578 2c4: sub w3, w3, w9, lsl #3 mov x8, v16.d[0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2ec sqxtun v17.8b, v16.8h st1 {v17.s}[0], [x2] add x0, x0, #0x8 add x2, x2, #0x4 sub w3, w3, #0x4 mov x8, v16.d[1] 2ec: asr w7, w8, #0 tst w7, #0xff80ff80 ↓ b.ne 310 orr w7, w7, w7, lsr #8 strh w7, [x2] add x0, x0, #0x4 add x2, x2, #0x2 sub w3, w3, #0x2 lsr x7, x8, #32 310: tst w7, #0xff80 ↓ b.ne 320 ↓ cbz w3, 6f8 ↓ b 32c 320: tst w7, #0xf800 ↓ b.ne 55c ↓ b 3a8 32c: strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 618 ldr w7, [x0] ↑ b 320 34c: cmp w3, #0x2 ↓ b.lt 6f8 ↓ b 3bc 358: cmp w3, #0x4 ↓ b.lt 634 lsr w8, w7, #6 and w8, w8, #0x1f001f lsl w7, w7, #8 and w7, w7, #0x3f003f00 add w7, w8, w7 mov w8, #0x80c0 // #32960 movk w8, #0x80c0, lsl #16 add w7, w7, w8 str w7, [x2], #4 add x0, x0, #0x4 sub w3, w3, #0x4 cmp x0, x6 ↓ b.hi 618 ldr w7, [x0] sub w8, w7, #0x80 uxth w8, w8 cmp w8, #0x780 ↓ b.ge 550 3a8: sub w8, w7, #0x800, lsl #12 mov w9, #0x77fffff // #125829119 cmp w8, w9 ↑ b.ls 358 ↑ b 34c 3bc: lsl w8, w7, #2 and w8, w8, #0x1f00 and w9, w7, #0x3f add w8, w8, w9 mov w9, #0xc080 // #49280 add w8, w8, w9 rev16 w8, w8 uxth w8, w8 strh w8, [x2] cmp w7, #0x800, lsl #12 ↓ b.cc 400 add x0, x0, #0x2 add x2, x2, #0x2 sub w3, w3, #0x2 cmp x0, x6 ↓ b.hi 618 ↓ b 40c 400: cmp w3, #0x3 ↓ b.lt 60c ↓ b 58c 40c: ldr w7, [x0] ↓ b 55c 414: tst w7, #0xf8000000 ↓ b.ne 438 ↓ b 454 420: mov w8, #0x2800 // #10240 movk w8, #0x23ff, lsl #16 add w8, w7, w8 tst w8, #0xfc00fc00 ↓ b.eq 5ac ↓ b 5a4 438: mov w8, #0x28000000 // #671088640 add w8, w7, w8 mov w9, #0x8000000 // #134217728 cmp w8, w9 ↓ b.cc 454 cmp w3, #0x6 ↓ b.ge 460 454: cmp w3, #0x3 ↓ b.lt 6f8 ↓ b 4dc 460: lsl w8, w7, #2 and w8, w8, #0x3f00 and w9, w7, #0x3f orr w8, w8, w9, lsl #16 lsr w9, w7, #4 and w9, w9, #0xf000000 lsr w10, w7, #12 and w10, w10, #0xf orr w9, w9, w10 add w8, w8, w9 mov w9, #0x80e0 // #32992 movk w9, #0xe080, lsl #16 add w8, w8, w9 str w8, [x2] lsr w8, w7, #22 and w8, w8, #0x3f lsr w7, w7, #8 and w7, w7, #0x3f00 add w7, w8, w7 mov w8, #0x8080 // #32896 add w7, w7, w8 strh w7, [x2, #4] add x0, x0, #0x4 add x2, x2, #0x6 sub w3, w3, #0x6 cmp x0, x6 ↓ b.hi 618 ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 55c ↓ b 550 4dc: lsl w8, w7, #2 and w8, w8, #0x3f00 uxth w9, w7 add w8, w8, w9, lsr #12 mov w9, #0x80e0 // #32992 add w8, w8, w9 strh w8, [x2] and w8, w7, #0x3f orr w8, w8, #0xffffff80 strb w8, [x2, #2] add x0, x0, #0x2 add x2, x2, #0x3 sub w3, w3, #0x3 cmp w7, #0x800, lsl #12 ↓ b.cc 524 cmp x0, x6 ↓ b.hi 618 ↓ b 570 524: ↓ cbz w3, 6f8 lsr w7, w7, #16 strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 618 ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 55c 550: tst w7, #0xff80ff80 ↑ b.ne 310 ↑ b 22c 55c: mov w8, #0xffff2800 // #-55296 add w8, w7, w8 tst w8, #0xf800 ↑ b.eq 420 ↑ b 414 570: ldr w7, [x0] ↑ b 310 578: mov v16.d[0], x8 sqxtun v16.8b, v16.8h st1 {v16.s}[0], [x2] add x0, x0, #0x8 ↓ b 5f8 58c: lsr w7, w7, #16 strb w7, [x2, #2] add x0, x0, #0x4 add x2, x2, #0x3 sub w3, w3, #0x3 ↓ b 600 5a4: mov w1, #0x3 // #3 ↓ b 6fc 5ac: cmp w3, #0x4 ↓ b.lt 6f8 add w7, w7, #0x40 and w8, w7, #0x3 mov w9, #0x80f0 // #33008 movk w9, #0x8080, lsl #16 orr w8, w9, w8, lsl #20 mov w9, #0x700 // #1792 movk w9, #0x3f, lsl #16 and w9, w7, w9 rev w9, w9 orr w8, w8, w9, ror #16 lsr w9, w7, #6 and w9, w9, #0xf0000 orr w8, w8, w9 and w7, w7, #0xfc orr w7, w8, w7, lsl #6 str w7, [x2] add x0, x0, #0x4 5f8: add x2, x2, #0x4 sub w3, w3, #0x4 600: cmp x0, x6 ↑ b.ls 224 ↓ b 618 60c: add x0, x0, #0x2 add x2, x2, #0x2 ↓ b 6f8 618: sub x1, x6, x0 add x7, x1, x1, lsr #63 asr x1, x7, #1 add w1, w1, #0x2 628: ↓ cbz w1, 6f0 ldrh w7, [x0] ↓ b 638 634: uxth w7, w7 638: cmp w7, #0x7f ↓ b.hi 654 ↓ cbz w3, 6f8 strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 ↓ b 6e8 654: cmp w7, #0x800 ↓ b.cs 688 cmp w3, #0x2 ↓ b.lt 6f8 and w3, w7, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #1] lsr w7, w7, #6 orr w3, w7, #0xffffffc0 strb w3, [x2] add x0, x0, #0x2 add x2, x2, #0x2 ↓ b 6e8 688: mov w6, #0xffff2800 // #-55296 add w6, w7, w6 cmp w6, #0x7ff ↓ b.ls 6d4 cmp w3, #0x3 ↓ b.lt 6f8 and w3, w7, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #2] lsr w3, w7, #6 and w3, w3, #0x3f orr w3, w3, #0xffffff80 strb w3, [x2, #1] lsr w7, w7, #12 orr w3, w7, #0xffffffe0 strb w3, [x2] add x0, x0, #0x2 add x2, x2, #0x3 ↓ b 6e8 6d4: mov w1, #0xdbff // #56319 cmp w7, w1 ↑ b.hi 5a4 mov w1, #0x2 // #2 ↓ b 6fc 6e8: cmp w1, #0x1 ↓ b.gt 6f8 6f0: mov w1, wzr ↓ b 6fc 6f8: mov w1, #0x1 // #1 6fc: str x0, [x4] str x2, [x5] mov w0, w1 ldp x29, x30, [sp], #16 ← ret Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] instance void [System.Text.Json] System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.__Canon]::SerializeAsObject(class System.Text.Json.Utf8JsonWriter,object)[OptimizedTier1]() /tmp/jitted-40388-32645.so 6.38 stp x29, x30, [sp, #-304]! 0.71 stp x19, x20, [sp, #224] stp x21, x22, [sp, #240] stp x23, x24, [sp, #256] stp x25, x26, [sp, #272] 0.71 stp x27, x28, [sp, #288] 0.71 mov x29, sp 0.71 add x9, x29, #0x28 0.71 movi v16.16b, #0x0 stp q16, q16, [x9] stp q16, q16, [x9, #32] stp q16, q16, [x9, #64] stp q16, q16, [x9, #96] stp q16, q16, [x9, #128] stp xzr, xzr, [x9, #160] str x0, [x29, #216] mov x19, x0 0.71 mov x20, x1 0.71 mov x21, x2 ldr x0, [x19] 0.71 ldr x1, [x0, #48] ldr x1, [x1] ldr x2, [x1, #56] 1.42 ↓ cbz x2, 28c 2.13 60: ldr x0, [x2, #24] 9.93 ldr x0, [x0] 13.48 mov x2, x21 0.71 ↓ cbz x2, 98 ldr x1, [x2] 2.13 cmp x1, x0 ↓ b.eq 98 mov x1, x21 mov x2, #0x5908 // #22792 movk x2, #0xe926, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 1.42 98: str x2, [x29, #208] ldrb w0, [x19, #278] 0.71 ↓ cbnz w0, 408 ldr x0, [x19, #200] ldrb w0, [x0, #18] ↓ cbz w0, 360 ldr x0, [x29, #208] ↓ cbz x0, 360 ldr x22, [x19, #184] ldr x0, [x29, #208] ldrsb wzr, [x22] mov x1, #0x66a0 // #26272 movk x1, #0xe957, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 mov x23, x0 mov x0, #0x2620 // #9760 movk x0, #0x1000, lsl #16 movk x0, #0xf151, lsl #32 cmp x23, x0 ↓ b.eq 360 ldapur x21, [x22, #16] ↓ cbz x21, 104 ldr x0, [x21, #192] cmp x0, x23 ↓ b.eq 240 104: mov x21, xzr ldapurb w0, [x22, #158] ↓ cbz w0, 230 ldr x21, [x22, #8] ↓ cbz x21, 424 118: ldr x24, [x21, #8] mov x0, #0x3428 // #13352 movk x0, #0x35c0, lsl #16 movk x0, #0xf151, lsl #32 ldr x25, [x0] ↓ cbz x25, 444 130: mov x26, x23 ldrsb wzr, [x24] ldapur x27, [x24, #8] ldr x0, [x27, #8] ldrb w1, [x24, #25] ↓ cbz w1, 4a0 mov x0, x26 bl ffffffffff2f6ce0 ↓ cbz w0, 4c0 154: asr w28, w0, #0 158: ldp x26, x0, [x27, #8] ldr x1, [x27, #40] mov w2, w28 mul x1, x1, x2 lsr x1, x1, #32 add x1, x1, #0x1 ldr w2, [x0, #8] mov w3, w2 mul x1, x1, x3 lsr x1, x1, #32 cmp w1, w2 ↓ b.cs 6d4 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 add x0, x0, x1 ldapr x2, [x0] ↓ cbz x2, 56c ↓ cbz x26, 2c0 ldr x0, [x26] mov x1, #0xdc40 // #56384 movk x1, #0xe974, lsl #16 movk x1, #0xf160, lsl #32 cmp x0, x1 ↓ b.ne 2c0 1b8: ldr w0, [x2, #32] cmp w28, w0 ↓ b.ne 2b4 str x2, [x29, #24] ldr x3, [x2, #8] ↓ cbz x3, 4dc ldr x0, [x3] mov x1, #0xa290 // #41616 movk x1, #0xe803, lsl #16 movk x1, #0xf160, lsl #32 cmp x0, x1 ↓ b.ne 4e4 cmp x23, x3 cset x4, eq // eq = none 1f0: ↓ cbz w4, 504 1f4: ldr x2, [x29, #24] ldr x1, [x2, #16] str x1, [x29, #40] 200: ldr x2, [x29, #40] str xzr, [x29, #40] ldrb w0, [x2, #32] ↓ cbz w0, 5dc ldr x0, [x2, #16] ↓ cbnz x0, 5c4 ldr x21, [x2, #8] 21c: ↓ cbz x21, 230 add x0, x21, #0x119 ldaprb w0, [x0] cmp w0, #0x2 ↓ b.ne 600 230: ↓ cbz x21, 61c add x14, x22, #0x10 mov x15, x21 bl fffffffffe064e54 240: add x0, x21, #0x11a ldaprb w0, [x0] ↓ cbz w0, 63c 24c: ldr x0, [x21, #248] cmp x0, #0x0 csel x21, x21, x0, eq // eq = none ldr x3, [x21] mov x0, #0xfcc0 // #64704 movk x0, #0xe9e1, lsl #16 movk x0, #0xf160, lsl #32 cmp x3, x0 ↓ b.eq 318 mov x0, x21 mov x1, x20 ldr x2, [x29, #208] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↓ b 3ec 28c: mov x1, #0xbee0 // #48864 movk x1, #0xe9e8, lsl #16 movk x1, #0xf160, lsl #32 mov x2, #0x7210 // #29200 movk x2, #0xe945, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 ↑ b 60 2b4: ldapur x2, [x2, #24] ↑ cbnz x2, 1b8 ↓ b 56c 2c0: ldr w0, [x2, #32] cmp w28, w0 ↓ b.ne 538 str x2, [x29, #24] ldr x3, [x2, #8] ldr x0, [x26] mov x1, #0xdc40 // #56384 movk x1, #0xe974, lsl #16 movk x1, #0xf160, lsl #32 cmp x0, x1 ↓ b.ne 50c ↓ cbz x3, 534 ldr x0, [x3] mov x1, #0xa290 // #41616 movk x1, #0xe803, lsl #16 movk x1, #0xf160, lsl #32 cmp x0, x1 ↓ b.ne 544 cmp x23, x3 cset x4, eq // eq = none 310: ↓ cbz w4, 564 ↑ b 1f4 318: ldr x22, [x29, #208] mov x0, x22 mov x1, #0x6b50 // #27472 movk x1, #0xe9e4, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 str w0, [x29, #32] add x2, x29, #0x20 mov x0, x21 mov x1, x20 mov x3, x22 mov x4, #0x6b80 // #27520 movk x4, #0xe9e4, lsl #16 movk x4, #0xf160, lsl #32 ldr x4, [x4] → blr x4 ↓ b 3ec 0.71 360: movi v16.16b, #0x0 0.71 stp q16, q16, [x29, #48] stp q16, q16, [x29, #80] 0.71 stp q16, q16, [x29, #112] stp q16, q16, [x29, #144] 5.67 stp q16, q16, [x29, #176] 2.13 str x19, [x29, #152] ldr x0, [x19, #208] 1.42 str x0, [x29, #144] ldr x0, [x29, #144] 12.06 ldr x0, [x0, #200] 14.89 str x0, [x29, #192] 0.71 strb wzr, [x29, #126] strb wzr, [x29, #127] 0.71 ldr x22, [x19, #184] ldr w0, [x22, #140] ↓ cbnz w0, 670 3a4: ldr x0, [x19, #344] ldr x3, [x19, #184] add x2, x29, #0xd0 add x4, x29, #0x30 0.71 mov x1, x20 0.71 mov x5, #0xfe70 // #65136 movk x5, #0xe9de, lsl #16 movk x5, #0xf160, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 1.42 3d0: mov x0, x20 mov x1, #0x69b8 // #27064 movk x1, #0xe9d6, lsl #16 0.71 movk x1, #0xf160, lsl #32 ldr x1, [x1] 2.13 ldr wzr, [x0] 0.71 → blr x1 3ec: ldp x27, x28, [sp, #288] 0.71 ldp x25, x26, [sp, #272] 2.13 ldp x23, x24, [sp, #256] 2.13 ldp x21, x22, [sp, #240] 1.42 ldp x19, x20, [sp, #224] 2.13 ldp x29, x30, [sp], #304 1.42 ← ret 408: ldr x3, [x19, #328] mov x1, x20 ldr x2, [x29, #208] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 3d0 424: mov x0, x22 mov x1, #0xdbd8 // #56280 movk x1, #0xe9d6, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 mov x21, x0 ↑ b 118 444: mov x0, #0xbd0 // #3024 movk x0, #0xe9dc, lsl #16 movk x0, #0xf160, lsl #32 bl ffffffffff2f6b90 mov x25, x0 mov x1, xzr mov x2, #0xa1c0 // #41408 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0xe803, lsl #16 movk x3, #0xf160, lsl #32 mov x4, #0x7cc0 // #31936 movk x4, #0xe926, lsl #16 movk x4, #0xf160, lsl #32 ldr x4, [x4] → blr x4 mov x14, #0x3428 // #13352 movk x14, #0x35c0, lsl #16 movk x14, #0xf151, lsl #32 mov x15, x25 bl fffffffffe064e54 ↑ b 130 4a0: mov x1, x26 mov x11, #0x27b0 // #10160 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 ldr x16, [x11] → blr x16 asr w28, w0, #0 ↑ b 158 4c0: mov x0, x26 mov x1, #0xc720 // #50976 movk x1, #0xe945, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ b 154 4dc: ldr x2, [x29, #24] ↑ b 2b4 4e4: mov x0, x3 mov x1, x23 ldr x3, [x3] ldr x3, [x3, #64] ldr x3, [x3, #16] → blr x3 asr w4, w0, #0 ↑ b 1f0 504: ldr x2, [x29, #24] ↑ b 2b4 50c: mov x0, x26 mov x2, x23 mov x1, x3 mov x11, #0x27b8 // #10168 movk x11, #0xe804, lsl #16 movk x11, #0xf160, lsl #32 ldr x16, [x11] → blr x16 asr w4, w0, #0 ↑ b 310 534: ldr x2, [x29, #24] 538: ldapur x2, [x2, #24] ↑ cbnz x2, 2c0 ↓ b 56c 544: mov x0, x3 mov x1, x23 ldr x3, [x3] ldr x3, [x3, #64] ldr x3, [x3, #16] → blr x3 asr w4, w0, #0 ↑ b 310 564: ldr x2, [x29, #24] ↑ b 538 56c: str xzr, [x29, #40] mov x1, x23 mov x2, x21 ldr x0, [x25, #8] ldr x3, [x25, #24] → blr x3 mov x4, x0 mov w3, w28 lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x28 mov x1, x27 mov x2, x23 mov x0, x24 mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce88 // #52872 movk x8, #0xe971, lsl #16 movk x8, #0xf160, lsl #32 ldr x8, [x8] → blr x8 ↑ b 200 5c4: mov x1, #0xf180 // #61824 movk x1, #0xe9de, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 5dc: mov x0, x21 mov x1, x23 mov x3, #0xe178 // #57720 movk x3, #0xe9d6, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] → blr x3 mov x21, x0 ↑ b 21c 600: mov x0, x21 mov x1, #0xf1b0 // #61872 movk x1, #0xe9de, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 ↑ b 230 61c: ldr x1, [x22, #32] mov x0, x23 mov x2, #0xdbc0 // #56256 movk x2, #0xe9d6, lsl #16 movk x2, #0xf160, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 63c: mov x0, x21 mov x1, #0x4390 // #17296 movk x1, #0xe9e4, lsl #16 movk x1, #0xf160, lsl #32 ldr x1, [x1] → blr x1 add x14, x21, #0xf8 mov x15, x0 bl fffffffffe064e54 add x0, x21, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b 24c 670: ldr x0, [x22, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #80] ldr w0, [x22, #140] cmp w0, #0x2 ↑ b.ne 3a4 ↑ cbz x21, 3a4 ldr x0, [x19, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 3a4 ldr x0, [x29, #80] mov x1, x21 ldr x2, [x29, #80] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 3a4 6d4: bl ffffffffff2a65a8 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5011011006, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-40388-32563.so 3.23 stp x29, x30, [sp, #-16]! 1.61 mov x29, sp 0.81 sub x3, x0, x1 0.81 sub x4, x1, x0 cmp x3, x2 ccmp x4, x2, #0x0, cs // cs = hs, nlast ↓ b.cc 124 4.84 add x3, x1, x2 add x4, x0, x2 0.81 cmp x2, #0x10 ↓ b.ls d4 0.81 cmp x2, #0x40 ↓ b.ls 98 cmp x2, #0x100 ↓ b.cc 68 mov x5, x0 and x5, x5, #0x3f 1.61 neg x5, x5 add x5, x5, #0x40 ldp q16, q17, [x1] stp q16, q17, [x0] ldp q16, q17, [x1, #32] 0.81 stp q16, q17, [x0, #32] 0.81 add x1, x1, x5 add x0, x0, x5 sub x2, x2, x5 68: lsr x5, x2, #6 1.61 6c: ldp q16, q17, [x1] 24.19 stp q16, q17, [x0] 0.81 ldp q16, q17, [x1, #32] 29.03 stp q16, q17, [x0, #32] 4.03 add x0, x0, #0x40 2.42 add x1, x1, #0x40 2.42 sub x5, x5, #0x1 1.61 ↑ cbnz x5, 6c and x2, x2, #0x3f cmp x2, #0x10 ↓ b.ls a8 98: ldr q16, [x1] 4.84 str q16, [x0] 0.81 cmp x2, #0x20 ↓ b.hi b8 0.81 a8: ldur q16, [x3, #-16] 2.42 stur q16, [x4, #-16] b0: ldp x29, x30, [sp], #16 3.23 ← ret b8: ldr q16, [x1, #16] 1.61 str q16, [x0, #16] 0.81 cmp x2, #0x30 ↑ b.ls a8 ldr q16, [x1, #32] 2.42 str q16, [x0, #32] ↑ b a8 d4: tst w2, #0x18 ↓ b.eq f0 ldr x2, [x1] str x2, [x0] ldur x1, [x3, #-8] stur x1, [x4, #-8] 0.81 ↑ b b0 f0: ↓ tbz w2, #2, 108 ldr w1, [x1] str w1, [x0] ldur w0, [x3, #-4] stur w0, [x4, #-4] ↑ b b0 108: ↑ cbz x2, b0 ldrb w1, [x1] strb w1, [x0] ↑ tbz w2, #1, b0 ldursh w0, [x3, #-2] sturh w0, [x4, #-2] ↑ b b0 124: cmp x0, x1 ↓ b.ne 134 ldrsb wzr, [x1] ↑ b b0 134: ldrsb wzr, [x0] ldrsb wzr, [x1] mov x3, #0x7000 // #28672 movk x3, #0xe9f5, lsl #16 movk x3, #0xf160, lsl #32 ldr x3, [x3] ldp x29, x30, [sp], #16 → br x3