Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5010010005, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-40822-32540.so 0.34 stp x29, x30, [sp, #-80]! 0.67 stp x19, x20, [sp, #24] 0.25 stp x21, x22, [sp, #40] 0.34 stp x23, x24, [sp, #56] 0.17 str x25, [sp, #72] 0.08 mov x29, sp 0.08 mov x19, x0 0.17 ldr w20, [x19, #32] 0.17 asr w21, w20, #0 0.34 ldp x23, x22, [x19] 0.42 ldrb w24, [x19, #40] 0.59 ldrb w25, [x19, #44] 0.25 ldrb w0, [x19, #68] 0.34 ↓ cbnz w0, 338 0.08 38: ldr w0, [x19, #88] 0.42 ↓ cbz w0, 3c0 0.25 uxtb w0, w1 0.25 cmp w0, #0x2c ↓ b.ne 2e8 0.42 add w0, w20, #0x1 0.08 str w0, [x19, #32] 0.51 ldr x0, [x19, #8] 0.08 add x0, x0, #0x1 0.42 str x0, [x19, #8] 0.76 ldr w0, [x19, #32] 0.34 ldr w1, [x19, #56] cmp x1, w0, sxtw 0.42 ↓ b.le 418 2.27 add x20, x19, #0x30 0.25 mov x1, x20 0.25 ldr w2, [x1, #8] 0.08 cmp w0, w2 0.08 ↓ b.cs 83c 0.42 ldr x1, [x1] 0.34 ldrb w1, [x1, w0, uxtw #0] 0.67 cmp w1, #0x20 ↓ b.le 478 1.43 94: ldrsw x0, [x19, #32] 0.17 str x0, [x19, #24] 0.42 ldrb w0, [x19, #68] 0.17 cmp w0, #0x2 ↓ b.eq 50c 0.17 a8: ldrb w2, [x19, #38] 0.67 ↓ cbz w2, 780 0.25 cmp w1, #0x22 ↓ b.ne 53c 0.34 strb wzr, [x19, #44] ldr w1, [x19, #32] 0.17 add w1, w1, #0x1 0.34 ldr w2, [x20, #8] 0.17 cmp w1, w2 ↓ b.hi 604 0.42 ldr x0, [x20] mov w3, w1 0.08 add x0, x0, x3 0.17 sub w20, w2, w1 0.08 mov x1, #0x3358 // #13144 0.17 movk x1, #0x91c0, lsl #16 0.17 movk x1, #0xeddc, lsl #32 0.34 ldr x1, [x1] 0.08 add x1, x1, #0x8 0.42 mov x2, x0 0.17 cmp w20, #0x8 ↓ b.lt 5a4 0.34 ldr q16, [x1] 2.27 cmp w20, #0x10 ↓ b.le 258 0.17 sub w1, w20, #0x10 mov w1, w1 0.17 add x1, x0, x1 movi v17.16b, #0xf 0.34 ldr q18, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x850 0.08 120: ldr q19, [x2] 0.84 and v20.16b, v19.16b, v17.16b 0.08 tbl v20.16b, {v16.16b}, v20.16b 0.08 sshr v19.16b, v19.16b, #4 0.08 tbl v19.16b, {v18.16b}, v19.16b 0.08 and v19.16b, v20.16b, v19.16b 0.08 umaxp v20.4s, v19.4s, v19.4s 0.17 mov x3, v20.d[0] 0.25 cmp x3, #0x0 ↓ b.eq 24c 18.45 cmeq v17.16b, v19.16b, #0 0.08 mvn v16.16b, v17.16b 0.17 shrn v18.8b, v16.8h, #4 0.08 fmov x1, d18 0.17 rbit x1, x1 clz x1, x1 0.08 lsr w1, w1, #2 0.08 mov w3, #0xffffffff // #-1 0.08 cmp w1, #0x10 0.08 csel w1, w1, w3, ne // ne = any 0.08 sub x2, x2, x0 0.08 add w3, w2, w1 0.25 178: ↓ tbnz w3, #31, 644 19.80 cmp w3, w20 ↓ b.cs 83c 1.01 ldrb w1, [x0, w3, uxtw #0] 4.63 cmp w1, #0x22 ↓ b.ne 61c 2.02 ldr x1, [x19, #8] add w2, w3, #0x2 add x1, x1, w2, sxtw 0.17 str x1, [x19, #8] 0.34 cmp w3, w20 ↓ b.hi 604 0.25 str x0, [x19, #152] 0.17 str w3, [x19, #160] 0.17 strb wzr, [x19, #46] 0.17 mov w0, #0x7 // #7 0.34 strb w0, [x19, #40] 0.25 ldr w1, [x19, #32] 0.51 add w1, w1, w3 0.17 add w1, w1, #0x2 0.34 str w1, [x19, #32] 1.01 1cc: ldr w0, [x19, #32] 3.03 ldr w1, [x19, #56] 0.08 cmp x1, w0, sxtw 0.76 ↓ b.le 69c 7.50 add x20, x19, #0x30 0.42 mov x1, x20 0.34 ldr w2, [x1, #8] 0.42 cmp w0, w2 ↓ b.cs 83c 0.59 ldr x1, [x1] 0.34 ldrb w2, [x1, w0, uxtw #0] 0.84 cmp w2, #0x20 ↓ b.le 6bc 1.68 200: cmp w2, #0x3a ↓ b.ne 758 0.34 ldr w3, [x19, #32] 0.17 add w3, w3, #0x1 0.17 str w3, [x19, #32] 0.34 ldr x3, [x19, #8] 0.17 add x3, x3, #0x1 0.17 str x3, [x19, #8] 0.25 mov w3, #0x5 // #5 0.17 strb w3, [x19, #40] 0.34 228: mov w20, wzr 22c: ↓ cbnz w20, 808 0.08 mov w0, #0x1 // #1 0.17 ldr x25, [sp, #72] 0.25 ldp x23, x24, [sp, #56] 0.51 ldp x21, x22, [sp, #40] 0.34 ldp x19, x20, [sp, #24] 0.42 ldp x29, x30, [sp], #80 0.25 ← ret 4.04 24c: add x2, x2, #0x10 0.17 cmp x2, x1 ↑ b.cc 120 258: sub w3, w20, #0x8 mov w1, w3 add x1, x0, x1 cmp x2, x1 csel x2, x1, x2, hi // hi = pmore ldr x3, [x2] mov v17.d[0], x3 ldr x3, [x1] mov v17.d[1], x3 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]+0x850 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 x3, v17.d[0] cmp x3, #0x0 ↓ b.eq 5f0 cmeq v16.16b, v16.16b, #0 mvn v16.16b, v16.16b shrn v16.8b, v16.8h, #4 fmov x3, d16 rbit x3, x3 clz x3, x3 lsr w3, w3, #2 mov w4, #0xffffffff // #-1 cmp w3, #0x10 csel w3, w3, w4, ne // ne = any asr w4, w3, #0 cmp w4, #0x8 ↓ b.ge 5f8 2dc: sub x1, x2, x0 add w3, w1, w4 ↑ b 178 2e8: uxtb w0, w1 cmp w0, #0x7d ↓ b.ne 310 2f4: mov x0, x19 mov x1, #0xc648 // #50760 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] 0.17 → blr x1 0.08 ↑ b 228 310: uxtb w0, w1 0.17 cmp w0, #0x5d ↓ b.ne 7dc 31c: mov x0, x19 mov x1, #0xc678 // #50808 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] 0.08 → blr x1 ↑ b 228 338: ldrb w0, [x19, #68] cmp w0, #0x2 ↓ b.ne 39c uxtb w0, w1 cmp w0, #0x2f ↓ b.ne 370 mov x0, x19 mov x1, #0xc8b8 // #51384 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 228 ↓ b 72c 370: ldrb w0, [x19, #40] cmp w0, #0x6 ↑ b.ne 38 mov x0, x19 mov x1, #0xc900 // #51456 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 22c 39c: uxtb w1, w1 mov x0, x19 mov x2, #0xc918 // #51480 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 asr w20, w0, #0 ↑ b 22c 3c0: ldrb w0, [x19, #70] ↓ cbz w0, 3ec uxtb w1, w1 mov x0, x19 mov x2, #0xc6a8 // #50856 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 228 ↓ b 72c 3ec: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x6 // #6 mov x5, #0xc5e8 // #50664 movk x5, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 418: mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 72c 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, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 478: mov x0, x19 mov x1, #0xc618 // #50712 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ldrsw x0, [x19, #32] ldr w1, [x19, #56] cmp x0, x1 ↓ b.lt 4e8 mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 72c mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xd // #13 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 4e8: ldr w0, [x19, #32] add x20, x19, #0x30 mov x1, x20 ldr w2, [x1, #8] cmp w0, w2 ↓ b.cs 83c ldr x1, [x1] ldrb w1, [x1, w0, uxtw #0] ↑ b 94 50c: cmp w1, #0x2f ↑ b.ne a8 mov w0, #0x1 // #1 strb w0, [x19, #44] mov x0, x19 mov x1, #0xc8b8 // #51384 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 228 ↓ b 72c 53c: cmp w1, #0x7d ↓ b.ne 578 ldrb w3, [x19, #69] ↑ cbnz w3, 2f4 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x22 // #34 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 578: mov x3, xzr mov w4, wzr mov x0, x19 mov w2, w1 mov w1, #0xc // #12 mov x5, #0xc5e8 // #50664 movk x5, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 5a4: mov w3, w20 add x3, x0, x3 cmp x2, x3 ↓ b.eq 5f0 5b4: ldrb w4, [x2] add x5, x1, #0x20 asr w6, w4, #5 mov w7, #0x1 // #1 lsl w4, w7, w4 ldrsb wzr, [x5] ldr w5, [x5, w6, uxtw #2] tst w5, w4 ↓ b.ne 5e8 add x2, x2, #0x1 cmp x2, x3 ↑ b.ne 5b4 ↓ b 5f0 5e8: sub x3, x2, x0 ↑ b 178 5f0: mov w3, #0xffffffff // #-1 ↑ b 178 5f8: mov x2, x1 sub w4, w3, #0x8 ↑ b 2dc 604: mov x0, #0xdb30 // #56112 movk x0, #0x4543, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 61c: mov x1, x0 mov w2, w20 mov x0, x19 mov x4, #0xc7c8 // #51144 movk x4, #0x45d4, lsl #16 movk x4, #0xedec, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, 1cc ↓ b 72c 644: mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 72c 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, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 69c: mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 72c ↓ b 700 6bc: mov x0, x19 mov x1, #0xc618 // #50712 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ldrsw x3, [x19, #32] ldr w4, [x19, #56] cmp x3, x4 ↓ b.lt 734 mov x0, x19 mov x1, #0xc6c0 // #50880 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 72c 700: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x11 // #17 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 72c: mov w20, #0x1 // #1 ↑ b 22c 734: ldr w3, [x19, #32] add x20, x19, #0x30 mov x4, x20 ldr w0, [x4, #8] cmp w3, w0 ↓ b.cs 83c ldr x4, [x4] ldrb w2, [x4, w3, uxtw #0] ↑ b 200 758: mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0xb // #11 mov x5, #0xc5e8 // #50664 movk x5, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 780: cmp w1, #0x5d ↓ b.ne 7bc ldrb w3, [x19, #69] ↑ cbnz w3, 31c mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x21 // #33 mov w2, wzr mov x5, #0xc5e8 // #50664 movk x5, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 7bc: mov x0, x19 mov x2, #0xc690 // #50832 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ cbnz w0, 228 ↑ b 72c 7dc: uxtb w2, w1 mov x3, xzr mov w4, wzr mov x0, x19 mov w1, #0x12 // #18 mov x5, #0xc5e8 // #50664 movk x5, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 808: cmp w20, #0x1 ↓ b.ne 820 str w21, [x19, #32] strb w24, [x19, #40] stp x23, x22, [x19] strb w25, [x19, #44] 820: 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 83c: bl ffffffffff2afb48 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5010010005, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-40822-32780.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, #0x380 stp x29, x30, [sp] mov x29, sp movi v16.16b, #0x0 add x9, x29, #0x118 add x10, x29, #0x340 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, #0x4535, lsl #16 movk x0, #0xedec, lsl #32 mov x1, #0x68c8 // #26824 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 mov x20, x0 ldr x21, [x20, #24] ↓ cbz x21, 1470 80: ldr x2, [x21] mov x1, #0x38 // #56 movk x1, #0x45a0, lsl #16 movk x1, #0xedec, lsl #32 cmp x2, x1 ↓ b.ne 1564 ldrb w2, [x21, #43] ↓ cbz w2, 14ac 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, 14c8 str w22, [x21, #28] ldrb w2, [x21, #41] ↓ cbz w2, 1598 ↓ tbnz w22, #31, 15b0 ldr w2, [x21, #36] cmp w22, w2 ↓ b.gt 1600 ldr w2, [x21, #32] cmp w22, w2 ↓ b.gt 1668 e4: str w22, [x21, #32] ldr w0, [x21, #28] cmp w0, w22 ↓ b.gt 1690 f4: ldr x22, [x20, #16] ↓ cbz x22, 1698 ldr x0, [x22, #16] ↓ cbz x0, 1704 104: ldr x0, [x21] mov x1, #0x38 // #56 movk x1, #0x45a0, lsl #16 movk x1, #0xedec, lsl #32 cmp x0, x1 ↓ b.ne 1724 ldrb w20, [x21, #41] 120: ↓ cbz w20, 1740 add x14, x22, #0x10 mov x15, x21 bl fffffffffe054f94 ldr x20, [x22, #24] ↓ cbz x20, 1790 ldr x1, [x20, #8] ldr w0, [x20, #16] ↓ cbz x1, 17c8 ldr w2, [x1, #8] cmp w2, w0 ↓ b.cc 2af4 add x2, x1, #0x10 154: mov w1, w0 mov x0, x2 mov x2, #0x5818 // #22552 movk x2, #0x4524, lsl #16 movk x2, #0xedec, 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 17d8 1b8: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 17f4 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 1814 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 1834 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 2af4 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 2b84 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 2b84 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, #0x3a21, lsl #16 movk x20, #0xedec, lsl #32 ldr w2, [x22, #40] and w2, w2, #0x7fffffff ldr w3, [x22, #120] 0.09 cmp w2, w3 ↓ b.ge 1850 2a4: add x1, x22, #0x70 ldr x0, [x1] str x20, [x29, #872] mov x1, x20 mov x2, #0x2e08 // #11784 movk x2, #0x91c0, lsl #16 movk x2, #0xeddc, lsl #32 ldr x2, [x2] cmp x0, #0x0 csel x0, x0, x2, ne // ne = any ldr x2, [x0] mov x3, #0xb1e0 // #45536 movk x3, #0x45d6, lsl #16 movk x3, #0xedec, lsl #32 cmp x2, x3 ↓ b.ne 1878 ldr x0, [x0, #8] ldrsb wzr, [x0] mov w2, #0x7 // #7 mov x3, #0x7df8 // #32248 movk x3, #0x45d4, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 asr w4, w0, #0 308: str xzr, [x29, #872] cmn w4, #0x1 ↓ b.ne 1894 ldr w0, [x22, #124] ↓ tbz w0, #1, 18bc 31c: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1940 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x1a ↓ b.lt 1968 338: add x23, x22, #0x40 mov x24, xzr mov w25, wzr 0.09 ldr x0, [x23] ↓ cbz x0, 384 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 1988 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 2af4 add x24, x24, x2 asr w25, w5, #0 384: ldr w2, [x22, #40] ↓ tbnz w2, #31, 19a4 38c: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2b84 mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] ldr w2, [x22, #52] cmp w2, w25 ↓ b.hi 2af4 mov w5, w2 add x23, x24, x5 sub w3, w25, w2 str x20, [x29, #864] mov x2, x20 str x23, [x29, #856] str x2, [x29, #848] str x23, [x29, #840] mov x0, x20 mov x2, x23 add x5, x29, #0x348 add x4, x29, #0x350 mov w1, #0x7 // #7 mov x6, #0x78e8 // #30952 movk x6, #0x4524, lsl #16 movk x6, #0xedec, lsl #32 ldr x6, [x6] → blr x6 ldr w1, [x29, #840] sub w1, w1, w23 str xzr, [x29, #864] str xzr, [x29, #856] 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 2b84 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 2b84 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 2b84 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 fd0 494: ldr x7, [x29, #176] 498: ldapur x5, [x5, #24] ↓ cbz x5, 2144 ldr w2, [x29, #508] 4a4: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 494 str x5, [x29, #120] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xecd8 // #60632 movk x1, #0x4572, lsl #16 movk x1, #0xedec, lsl #32 cmp x0, x1 ↓ b.ne 20cc ldr x4, [x29, #128] ↓ cbz x6, 2104 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x4401, lsl #16 movk x1, #0xedec, lsl #32 cmp x0, x1 ↓ b.ne 2110 ldr x7, [x29, #176] cmp x7, x6 cset x8, eq // eq = none 4fc: ↓ cbz w8, 213c ↓ b e20 0.09 504: mov x28, x26 0.09 ldr x2, [x29, #672] 0.09 str x2, [x29, #112] mov x3, x2 ↓ cbz x3, 550 mov x0, #0xb9e8 // #47592 movk x0, #0x4534, lsl #16 movk x0, #0xedec, lsl #32 ldr x1, [x3] cmp x1, x0 ↓ b.eq 550 mov x1, x2 mov x3, #0x5908 // #22792 movk x3, #0x4524, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 mov x3, x0 ldr x2, [x29, #112] 550: str x3, [x29, #488] 0.19 ldrb w0, [x28, #278] ↓ cbnz w0, 2250 ldr x0, [x28, #200] ldrb w0, [x0, #18] 0.28 ↓ cbz w0, 838 ldr x0, [x29, #488] ↓ cbz x0, 838 ldr x26, [x28, #184] ldr x0, [x29, #488] ldrsb wzr, [x26] mov x1, #0x66a0 // #26272 movk x1, #0x4555, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 mov x1, x0 str x1, [x29, #104] mov x0, #0x2620 // #9760 movk x0, #0x3a20, lsl #16 movk x0, #0xedec, lsl #32 cmp x1, x0 ↓ b.eq 2510 ldapur x2, [x26, #16] ↓ cbz x2, 5c8 ldr x0, [x2, #192] cmp x0, x1 mov x1, x2 ↓ b.eq 738 ldr x1, [x29, #104] 5c8: mov x2, xzr ldapurb w0, [x26, #158] ↓ cbz w0, 724 ldr x2, [x26, #8] ↓ cbz x2, 226c 5dc: str x2, [x29, #88] ldr x3, [x2, #8] str x3, [x29, #80] mov x0, #0x3428 // #13352 movk x0, #0x91c0, lsl #16 movk x0, #0xeddc, lsl #32 ldr x4, [x0] ↓ cbz x4, 2294 5fc: ldr x3, [x29, #80] str x3, [x29, #48] mov x5, x1 stp x4, x5, [x29, #56] ldrsb wzr, [x3] ldapur x6, [x3, #8] str x6, [x29, #40] ldr x0, [x6, #8] ldrb w7, [x3, #25] ↓ cbz w7, 2304 mov x0, x5 bl ffffffffff2e6e20 ↓ cbz w0, 2324 630: asr w2, w0, #0 634: str w2, [x29, #324] ldr x3, [x29, #40] ldr x4, [x3, #8] str x4, [x29, #32] ldr x0, [x3, #16] ldr x1, [x3, #40] mov w5, w2 mul x1, x1, x5 lsr x1, x1, #32 add x1, x1, #0x1 ldr w5, [x0, #8] mul x1, x1, x5 lsr x1, x1, #32 ldr w5, [x0, #8] cmp w1, w5 ↓ b.cs 2b84 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 add x0, x0, x1 ldapr x5, [x0] ↓ cbz x5, 2348 ↓ cbz x4, 7b4 ldr x0, [x4] mov x1, #0xecd8 // #60632 movk x1, #0x4572, lsl #16 movk x1, #0xedec, lsl #32 cmp x0, x1 ↓ b.ne 7b4 6a4: ldr w0, [x5, #32] cmp w2, w0 ↓ b.ne 794 str x5, [x29, #24] ldr x6, [x5, #8] ↓ cbz x6, 2340 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x4401, lsl #16 movk x1, #0xedec, lsl #32 cmp x0, x1 ↓ b.ne 2350 ldr x7, [x29, #104] cmp x7, x6 cset x8, eq // eq = none 6e0: ↓ cbz w8, 2378 6e4: ldr x5, [x29, #24] ldr x1, [x5, #16] str x1, [x29, #312] 6f0: ldr x2, [x29, #312] str xzr, [x29, #312] ldrb w0, [x2, #32] ↓ cbz w0, 2460 ldr x0, [x2, #16] ↓ cbnz x0, 285c ldr x2, [x2, #8] 70c: ↓ cbz x2, 24cc add x0, x2, #0x119 ldaprb w0, [x0] cmp w0, #0x2 ↓ b.ne 2488 mov x1, x7 724: ↓ cbz x2, 24ac mov x1, x2 add x14, x26, #0x10 mov x15, x1 bl fffffffffe054f94 738: mov x26, x1 add x0, x26, #0x11a ldaprb w0, [x0] ↓ cbz w0, 24d4 748: ldr x0, [x26, #248] ↓ cbnz x0, 2508 750: mov w0, #0x1 // #1 754: ldr x2, [x29, #112] ↓ cbz w0, 838 ldr x0, [x26] mov x1, #0x3a30 // #14896 movk x1, #0x45ea, lsl #16 movk x1, #0xedec, lsl #32 cmp x0, x1 ↓ b.eq 814 mov x0, x26 mov x1, x22 ldr x2, [x29, #488] ldr x3, [x26] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↓ b 8c8 794: ldapur x5, [x5, #24] ↓ cbz x5, 2380 ldr w2, [x29, #324] ↑ b 6a4 7a4: ldr x7, [x29, #104] 7a8: ldapur x5, [x5, #24] ↓ cbz x5, 2400 ldr w2, [x29, #324] 7b4: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 7a4 str x5, [x29, #24] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xecd8 // #60632 movk x1, #0x4572, lsl #16 movk x1, #0xedec, lsl #32 cmp x0, x1 ↓ b.ne 2388 ldr x4, [x29, #32] ↓ cbz x6, 23c0 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x4401, lsl #16 movk x1, #0xedec, lsl #32 cmp x0, x1 ↓ b.ne 23cc ldr x7, [x29, #104] cmp x7, x6 cset x8, eq // eq = none 80c: ↓ cbz w8, 23f8 ↑ b 6e4 814: mov x0, x26 mov x1, x22 ldr x2, [x29, #488] mov x3, #0x7a68 // #31336 movk x3, #0x45d9, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 ↓ b 8c8 0.19 838: movi v16.16b, #0x0 str xzr, [x29, #328] stp q16, q16, [x29, #336] stp q16, q16, [x29, #368] 0.09 stp q16, q16, [x29, #400] stp q16, q16, [x29, #432] str q16, [x29, #464] str xzr, [x29, #480] str x28, [x29, #432] ldr x0, [x28, #208] str x0, [x29, #424] 0.09 ldr x0, [x29, #424] 0.09 ldr x0, [x0, #200] 0.19 str x0, [x29, #472] 0.09 strb wzr, [x29, #406] strb wzr, [x29, #407] ldr x26, [x28, #184] ldr w0, [x26, #140] 0.09 ↓ cbnz w0, 251c 884: ldr x0, [x28, #344] ldr x3, [x28, #184] add x2, x29, #0x1e8 add x4, x29, #0x148 mov x1, x22 0.09 mov x5, #0xfe70 // #65136 movk x5, #0x45dc, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] ldr wzr, [x0] 0.09 → blr x5 0.19 8b0: mov x0, x22 mov x1, #0x69b8 // #27064 0.19 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 0.09 ldr x1, [x1] → blr x1 8c8: str xzr, [x29, #488] mov w26, w27 ↓ b 964 8d4: add x0, x29, #0x200 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, #616] ldr x0, [x26, #208] str x0, [x29, #608] ldr x0, [x29, #608] ldr x0, [x0, #200] str x0, [x29, #656] strb wzr, [x29, #590] strb wzr, [x29, #591] ldr x0, [x26, #184] ldr w1, [x0, #140] ↓ cbnz w1, 2584 91c: ldr x0, [x26, #344] ldr x3, [x26, #184] add x2, x29, #0x2a0 add x4, x29, #0x200 mov x1, x22 mov x5, #0xfe70 // #65136 movk x5, #0x45dc, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 948: mov x0, x22 mov x1, #0x69b8 // #27064 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 mov w26, w27 964: ldr w1, [x25, #68] 0.09 cmp w24, w1 ↓ b.ne 28a8 0.09 ldr w1, [x25, #56] 0.19 cmp w26, w1 ↓ b.cs ec0 97c: ldr x1, [x25, #16] add w2, w26, #0x1 0.09 asr w27, w2, #0 ldr w2, [x1, #8] 1.02 cmp w26, w2 ↓ b.cs 2b84 0.09 mov w2, #0x18 // #24 0.09 mov x0, #0x10 // #16 0.09 umaddl x2, w26, w2, x0 add x1, x1, x2 ldr w2, [x1, #20] 0.56 cmn w2, #0x1 ↓ b.lt 25a4 0.28 ldp x2, x26, [x1] 0.28 ↓ cbz x2, 27d0 add x28, x2, #0xc ldr w3, [x2, #8] 1.11 str w3, [x29, #788] mov w1, #0x21aa // #8618 0.09 movk w1, #0x9ef, lsl #16 0.28 cmp w3, w1 ↓ b.gt 27f4 0.28 add x1, x22, #0x70 0.09 ldr x0, [x1] 0.09 ↓ cbz w3, 1c58 0.19 str x28, [x29, #776] mov x1, x28 0.09 ↓ cbnz x0, 9fc mov x0, #0x2e08 // #11784 0.09 movk x0, #0x91c0, lsl #16 movk x0, #0xeddc, lsl #32 ldr x0, [x0] 0.09 9fc: ldr x2, [x0] 0.65 mov x4, #0xb1e0 // #45536 movk x4, #0x45d6, lsl #16 0.09 movk x4, #0xedec, lsl #32 cmp x2, x4 0.09 ↓ b.ne 1c68 0.65 ldr x0, [x0, #8] 0.19 ldrsb wzr, [x0] 0.65 mov w2, w3 0.09 mov x4, #0x7df8 // #32248 0.09 movk x4, #0x45d4, lsl #16 movk x4, #0xedec, lsl #32 ldr x4, [x4] 0.19 → blr x4 0.19 asr w3, w0, #0 0.09 a38: str xzr, [x29, #776] 0.09 cmn w3, #0x1 ↓ b.ne 11e0 0.09 ldr w0, [x22, #124] 0.28 ↓ tbz w0, #1, 1c84 a4c: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1cb8 mov w0, #0x3 // #3 0.19 ldr w2, [x29, #788] 0.09 mul w0, w2, w0 0.09 add w0, w0, #0x4 ldr w1, [x22, #76] 0.09 ldr w3, [x22, #52] sub w3, w1, w3 0.09 cmp w3, w0 ↓ b.ge ae0 0.37 ↓ cbnz w1, 1de8 0.09 cmp w0, #0x100 0.09 ↓ b.gt 1cdc mov w1, #0x100 // #256 a88: ldr x0, [x22, #16] 0.09 ↓ cbz x0, 1d98 ldr x3, [x22, #24] str x3, [x29, #200] 0.09 ldrsb wzr, [x3] 0.19 ldr x0, [x3, #8] 0.19 ldr w0, [x0, #8] 1.02 ldr w4, [x3, #16] sub w0, w0, w4 cmp w0, w1 ↓ b.lt 1ce4 0.28 ab4: ldr x15, [x3, #8] 0.09 ldr w0, [x3, #16] ↓ cbz x15, 1d84 0.09 ldr w14, [x15, #8] 0.09 cmp w14, w0 0.09 ↓ b.cc 2af4 0.09 ldr w14, [x15, #8] 0.19 sub w1, w14, w0 ad4: add x14, x22, #0x40 0.19 bl fffffffffe054f94 stp w0, w1, [x22, #72] 0.19 ae0: add x1, x22, #0x40 0.09 str x1, [x29, #184] mov x3, xzr mov w4, wzr ldr x0, [x1] 0.09 ↓ cbz x0, b34 ldr x3, [x0] 0.28 ldr w4, [x3] 0.65 tst w4, #0x80000000 0.19 ↓ b.eq 1eec 0.93 add x3, x0, #0x10 0.28 ldr w4, [x0, #8] 0.19 b10: ldr x1, [x29, #184] ldp w5, w1, [x1, #8] and w5, w5, #0x7fffffff mov w5, w5 0.09 add x0, x5, w1, uxtw cmp x0, w4, uxtw ↓ b.hi 2af4 0.84 add x3, x3, x5 0.09 asr w4, w1, #0 0.09 b34: ldr w5, [x22, #40] ↓ tbz w5, #31, b58 ldr w6, [x22, #52] add w5, w6, #0x1 0.28 str w5, [x22, #52] cmp w6, w4 ↓ b.cs 2b84 0.09 mov w5, #0x2c // #44 0.09 strb w5, [x3, w6, uxtw #0] 0.09 b58: ldr w6, [x22, #52] 0.09 add w5, w6, #0x1 str w5, [x22, #52] cmp w6, w4 0.09 ↓ b.cs 2b84 0.09 mov w5, #0x22 // #34 strb w5, [x3, w6, uxtw #0] 0.19 ldr w5, [x22, #52] 1.67 cmp w5, w4 ↓ b.hi 2af4 0.65 mov w1, w5 0.09 str x3, [x29, #192] 0.09 add x6, x3, x1 0.19 str w4, [x29, #716] 0.09 sub w7, w4, w5 0.09 str x28, [x29, #704] 0.09 mov x5, x28 0.09 str x6, [x29, #696] str x6, [x29, #208] 0.09 str x5, [x29, #688] 0.09 str x6, [x29, #680] ldr w2, [x29, #788] ↓ cbz w2, be4 mov x0, x28 0.09 mov x2, x6 0.09 add x5, x29, #0x2a8 add x4, x29, #0x2b0 ldr w1, [x29, #788] mov w3, w7 0.19 mov x7, #0x78e8 // #30952 0.09 movk x7, #0x4524, lsl #16 movk x7, #0xedec, lsl #32 ldr x7, [x7] → blr x7 0.37 ldr x6, [x29, #208] 0.28 be4: ldr w1, [x29, #680] sub w1, w1, w6 0.09 str xzr, [x29, #704] str xzr, [x29, #696] ldr w2, [x22, #52] add w6, w2, w1 str w6, [x22, #52] add w1, w6, #0x1 0.19 str w1, [x22, #52] 0.09 ldr w4, [x29, #716] cmp w6, w4 ↓ b.cs 2b84 0.37 mov w1, #0x22 // #34 0.09 ldr x3, [x29, #192] 0.09 strb w1, [x3, w6, uxtw #0] 0.19 ldr w6, [x22, #52] 2.14 add w1, w6, #0x1 0.28 str w1, [x22, #52] 0.09 cmp w6, w4 ↓ b.cs 2b84 0.28 mov w1, #0x3a // #58 strb w1, [x3, w6, uxtw #0] c3c: ldr w0, [x22, #40] 0.19 and w0, w0, #0x7fffffff str w0, [x22, #40] 0.09 mov w0, #0x500 // #1280 sturh w0, [x22, #57] str x26, [x29, #672] 0.28 mov x0, #0x33d8 // #13272 movk x0, #0x91c0, lsl #16 movk x0, #0xeddc, lsl #32 ldr x26, [x0] 0.19 ↓ cbz x26, 1f18 0.28 c68: ldapurb w0, [x26, #159] 0.65 ↓ cbz w0, 1f44 0.74 c70: ldr x1, [x26, #24] 0.37 ↓ cbz x1, 1f60 0.28 c78: mov x26, x1 ↓ cbz x26, c98 0.28 mov x0, #0x94a8 // #38056 movk x0, #0x45d9, lsl #16 0.09 movk x0, #0xedec, lsl #32 ldr x2, [x26] 1.30 cmp x2, x0 ↓ b.ne 1fa8 0.84 c98: ldrb w0, [x26, #278] 0.37 ↓ cbnz w0, 1fc0 0.28 ldr x0, [x26, #200] 0.09 ldrb w0, [x0, #18] 2.14 ↑ cbz w0, 8d4 1.11 ldr x0, [x29, #672] 0.09 ↑ cbz x0, 8d4 0.19 ldr x28, [x26, #184] 0.28 ldr x0, [x29, #672] 0.19 ldrsb wzr, [x28] 0.09 mov x1, #0x66a0 // #26272 0.09 movk x1, #0x4555, lsl #16 0.09 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 mov x1, x0 0.19 str x1, [x29, #176] 0.09 mov x0, #0x2620 // #9760 movk x0, #0x3a20, lsl #16 movk x0, #0xedec, lsl #32 cmp x1, x0 ↑ b.eq 8d4 ldapur x26, [x28, #16] 0.09 ↓ cbz x26, d08 ldr x0, [x26, #192] 0.28 cmp x0, x1 0.19 ldr x1, [x29, #176] 1.76 ↓ b.eq e70 0.28 d08: mov x26, xzr 0.09 ldapurb w0, [x28, #158] 0.09 ↓ cbz w0, e60 ldr x26, [x28, #8] 0.09 ↓ cbz x26, 1fdc 0.19 d1c: ldr x2, [x26, #8] str x2, [x29, #168] 0.09 mov x0, #0x3428 // #13352 0.09 movk x0, #0x91c0, lsl #16 movk x0, #0xeddc, lsl #32 0.09 ldr x3, [x0] 0.09 ↓ cbz x3, 2000 0.37 d38: ldr x2, [x29, #168] 0.84 str x2, [x29, #144] 0.09 mov x4, x1 0.09 stp x3, x4, [x29, #152] 0.09 ldrsb wzr, [x2] 2.04 ldapur x5, [x2, #8] 0.19 str x5, [x29, #136] 0.09 ldr x0, [x5, #8] 2.69 ldrb w6, [x2, #25] ↓ cbz w6, 2048 0.09 mov x0, x4 0.09 bl ffffffffff2e6e20 0.19 ↓ cbz w0, 2068 0.09 d6c: asr w2, w0, #0 d70: str w2, [x29, #508] ldr x3, [x29, #136] 0.28 ldr x4, [x3, #8] 0.46 str x4, [x29, #128] 0.28 ldr x0, [x3, #16] 0.28 ldr x1, [x3, #40] mov w5, w2 0.09 mul x1, x1, x5 lsr x1, x1, #32 add x1, x1, #0x1 0.19 ldr w5, [x0, #8] 0.74 mul x1, x1, x5 0.28 lsr x1, x1, #32 0.19 ldr w5, [x0, #8] 0.28 cmp w1, w5 ↓ b.cs 2b84 1.86 ubfiz x1, x1, #3, #32 0.28 add x1, x1, #0x10 0.09 add x0, x0, x1 0.09 ldapr x5, [x0] 5.57 ↓ cbz x5, 208c 0.93 ↑ cbz x4, 4a4 0.19 ldr x0, [x4] mov x1, #0xecd8 // #60632 movk x1, #0x4572, lsl #16 movk x1, #0xedec, lsl #32 cmp x0, x1 ↑ b.ne 4a4 0.28 de0: ldr w0, [x5, #32] 3.81 cmp w2, w0 0.09 ↓ b.ne 1204 0.65 str x5, [x29, #120] ldr x6, [x5, #8] 0.09 ↓ cbz x6, 2084 0.19 ldr x0, [x6] 1.58 mov x1, #0xa290 // #41616 0.37 movk x1, #0x4401, lsl #16 movk x1, #0xedec, lsl #32 cmp x0, x1 ↓ b.ne 2094 0.37 ldr x7, [x29, #176] 0.09 cmp x7, x6 cset x8, eq // eq = none 0.19 e1c: ↓ cbz w8, 20bc e20: ldr x5, [x29, #120] ldr x1, [x5, #16] str x1, [x29, #496] 0.28 e2c: ldr x2, [x29, #496] 1.39 str xzr, [x29, #496] 0.09 ldrb w0, [x2, #32] 4.64 ↓ cbz w0, 21a4 1.02 ldr x0, [x2, #16] 0.09 ↓ cbnz x0, 2844 0.28 ldr x26, [x2, #8] 0.09 e48: ↓ cbz x26, 220c 0.19 add x0, x26, #0x119 0.19 ldaprb w0, [x0] 1.67 cmp w0, #0x2 ↓ b.ne 21cc 0.93 mov x1, x7 0.28 e60: ↓ cbz x26, 21ec add x14, x28, #0x10 mov x15, x26 0.09 bl fffffffffe054f94 0.09 e70: add x0, x26, #0x11a ldaprb w0, [x0] 0.09 ↓ cbz w0, 2214 e7c: ldr x0, [x26, #248] 0.28 ↓ cbnz x0, 2248 e84: ldr x0, [x26] mov x1, #0x3a30 // #14896 0.19 movk x1, #0x45ea, lsl #16 movk x1, #0xedec, lsl #32 0.09 cmp x0, x1 0.09 ↑ b.eq 504 0.09 mov x0, x26 mov x1, x22 0.19 ldr x2, [x29, #672] ldr x3, [x26] ldr x3, [x3, #64] 1.76 ldr x3, [x3, #56] 1.95 → blr x3 0.19 mov w26, w27 ↑ b 964 ec0: ldr w0, [x22, #124] 0.19 and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1214 0.09 ldr w0, [x22, #76] 0.09 ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt f3c 0.28 ldr w0, [x22, #76] ↓ cbnz w0, 26ac ldr x0, [x22, #16] ↓ cbz x0, 2664 ldr x24, [x22, #24] 0.09 ldr x0, [x24, #8] 0.09 ldr w0, [x0, #8] 0.74 ldr w1, [x24, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 25b8 0.28 f10: ldr x15, [x24, #8] 0.09 ldr w0, [x24, #16] ↓ cbz x15, 2650 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2af4 0.09 ldr w14, [x15, #8] sub w11, w14, w0 f30: add x14, x22, #0x40 0.09 bl fffffffffe054f94 stp w0, w11, [x22, #72] f3c: add x24, x22, #0x40 mov x1, xzr mov w2, wzr 0.09 ldr x0, [x24] ↓ cbz x0, f88 ldr x1, [x0] ldr w2, [x1] 0.56 tst w2, #0x80000000 ↓ b.eq 2780 0.65 add x1, x0, #0x10 ldr w2, [x0, #8] 0.09 f68: ldp w0, w3, [x24, #8] 0.09 and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw 0.09 ↓ b.hi 2af4 0.84 add x1, x1, x0 asr w2, w3, #0 f88: ldr w0, [x22, #52] 0.09 add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 0.09 ↓ b.cs 2b84 0.09 mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] fa4: ldr w0, [x22, #40] orr w0, w0, #0x80000000 0.09 str w0, [x22, #40] 0.65 ldr w0, [x22, #40] 0.19 tst w0, #0x7fffffff 0.09 ↓ b.eq fc8 ldr w0, [x22, #40] 0.09 sub w0, w0, #0x1 str w0, [x22, #40] fc8: mov w0, #0x2 // #2 strb w0, [x22, #58] fd0: ldr w0, [x19, #20] 0.19 cmp w20, w0 ↓ b.ne 28a8 0.09 ldr w0, [x19, #16] cmp w23, w0 ↓ b.cs 1124 0.09 ldr x0, [x19, #8] ldr w1, [x0, #8] 0.37 cmp w23, w1 ↓ b.cs 2b84 0.19 add x0, x0, #0x10 0.09 ldr x1, [x0, w23, uxtw #3] 0.19 mov x24, x1 0.09 add w23, w23, #0x1 mov w0, #0x1 // #1 100c: ↓ cbz w0, 129c ↓ cbnz x24, 1134 0.09 1014: mov x25, x24 0.09 ↓ cbz x25, 1034 mov x0, #0xc660 // #50784 movk x0, #0x4528, lsl #16 movk x0, #0xedec, lsl #32 0.09 ldr x1, [x25] 0.19 cmp x1, x0 ↓ b.ne 19c4 1034: ↑ cbz x25, fd0 ldr w0, [x22, #40] and w0, w0, #0x7fffffff ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 1a1c 0.19 104c: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1a38 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 0.09 cmp w0, #0x2 ↓ b.lt 1184 0.19 1070: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, 10bc ldr x1, [x0] 0.09 ldr w2, [x1] 0.28 tst w2, #0x80000000 ↓ b.eq 1c3c 0.09 add x1, x0, #0x10 ldr w2, [x0, #8] 109c: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 0.09 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2af4 add x1, x1, x0 asr w2, w3, #0 10bc: ldr w0, [x22, #40] ↓ tbz w0, #31, 10e0 ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] 0.09 cmp w0, w2 ↓ b.cs 2b84 mov w3, #0x2c // #44 strb w3, [x1, w0, uxtw #0] 0.19 10e0: ldr w0, [x22, #52] 0.19 add w3, w0, #0x1 str w3, [x22, #52] 0.09 cmp w0, w2 ↓ b.cs 2b84 0.09 mov w2, #0x7b // #123 strb w2, [x1, w0, uxtw #0] 10fc: ldr w1, [x22, #40] and w1, w1, #0x7fffffff str w1, [x22, #40] add w1, w1, #0x1 str w1, [x22, #40] mov w1, #0x1 // #1 strb w1, [x22, #58] ldr w24, [x25, #68] 0.19 mov w26, wzr ↑ b 964 1124: mov x24, xzr mov w23, #0xffffffff // #-1 mov w0, wzr ↑ b 100c 1134: ldr x0, [x24] 2.14 mov x1, #0xea90 // #60048 0.28 movk x1, #0x4527, lsl #16 0.19 movk x1, #0xedec, lsl #32 0.09 cmp x0, x1 ↑ b.ne 1014 ldr w0, [x24, #8] 1.49 ↑ cbz w0, fd0 0.09 ldr w0, [x22, #124] ↓ tbz w0, #1, 19e4 115c: add x1, x24, #0xc ldr w2, [x24, #8] mov x0, x22 mov w3, wzr mov x4, #0x7f90 // #32656 movk x4, #0x45d4, lsl #16 movk x4, #0xedec, lsl #32 ldr x4, [x4] 0.09 → blr x4 ↑ b fd0 1184: ldr w0, [x22, #76] ↓ cbnz w0, 1b40 ldr x0, [x22, #16] ↓ cbz x0, 1af4 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 1a58 11b0: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 1ae0 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2af4 ldr w14, [x15, #8] sub w11, w14, w0 11d0: add x14, x22, #0x40 bl fffffffffe054f94 stp w0, w11, [x22, #72] ↑ b 1070 11e0: mov x1, x28 ldr w2, [x29, #788] mov x0, x22 mov x4, #0xcbb8 // #52152 movk x4, #0x45d4, lsl #16 movk x4, #0xedec, lsl #32 ldr x4, [x4] → blr x4 ↑ b c3c 0.19 1204: ldapur x5, [x5, #24] ↓ cbz x5, 20c4 0.09 ldr w2, [x29, #508] 0.19 ↑ b de0 1214: ldr w0, [x22, #124] ↓ tbz w0, #0, 1260 ldr w0, [x22, #124] ↓ tbnz w0, #1, 1240 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc4c8 // #50376 movk x2, #0x45f3, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 1240: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc4e0 // #50400 movk x2, #0x45f3, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b fa4 1260: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc4c8 // #50376 movk x2, #0x45f3, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6d30 // #27952 movk x2, #0x45e9, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b fa4 129c: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 28c0 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 1318 ldr w0, [x22, #76] ↓ cbnz w0, 29d8 ldr x0, [x22, #16] ↓ cbz x0, 2994 ldr x19, [x22, #24] ldr x0, [x19, #8] ldr w0, [x0, #8] ldr w1, [x19, #16] sub w0, w0, w1 cmp w0, #0x100 ↓ b.lt 28e0 12ec: ldr x15, [x19, #8] ldr w0, [x19, #16] ↓ cbz x15, 2980 ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2af4 ldr w14, [x15, #8] sub w11, w14, w0 130c: add x14, x22, #0x40 bl fffffffffe054f94 stp w0, w11, [x22, #72] 1318: add x19, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x19] ↓ cbz x0, 1364 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 2ad8 add x1, x0, #0x10 ldr w2, [x0, #8] 1344: ldp w0, w3, [x19, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2af4 add x1, x1, x0 asr w2, w3, #0 1364: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 2b84 mov w2, #0x5d // #93 strb w2, [x1, w0, uxtw #0] 1380: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 13a4 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 13a4: mov w0, #0x4 // #4 strb w0, [x22, #58] ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 2b0c mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6d30 // #27952 movk x2, #0x45e9, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 13d8: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 13fc ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 13fc: mov w0, #0x2 // #2 strb w0, [x22, #58] mov x0, x22 mov x1, #0x69b8 // #27064 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] 0.09 → blr x1 ldr x0, [x21] mov x1, #0x38 // #56 movk x1, #0x45a0, lsl #16 movk x1, #0xedec, lsl #32 cmp x0, x1 ↓ b.ne 2b2c mov x0, x21 mov x1, #0x110 // #272 movk x1, #0x45a0, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 144c: ↓ cbz x0, 2b44 ldp x29, x30, [sp] add sp, sp, #0x380 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 1470: mov x0, #0x38 // #56 movk x0, #0x45a0, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2e6cd0 mov x21, x0 mov w1, #0x10000 // #65536 mov x2, #0xc558 // #50520 movk x2, #0x45b6, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 add x14, x20, #0x18 mov x15, x21 bl fffffffffe054f94 ↑ b 80 14ac: mov x0, xzr mov x1, #0x7300 // #29440 movk x1, #0x45f3, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 14c8: mov x0, #0x7b10 // #31504 movk x0, #0x4525, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2e6cd0 mov x20, x0 mov x0, #0xc2b8 // #49848 movk x0, #0x45f3, lsl #16 movk x0, #0xedec, 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, #0x4533, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2e6cd0 mov x21, x0 mov x1, x20 mov x0, x19 mov x2, #0xc2d0 // #49872 movk x2, #0x45f3, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 mov x0, x21 mov x1, #0x1ae0 // #6880 movk x1, #0x3a20, lsl #16 movk x1, #0xedec, lsl #32 mov x3, #0xeaa8 // #60072 movk x3, #0x4543, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 mov x0, x21 bl ffffffffff2e6cf0 brk #0xf000 1564: 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 1598: mov x0, #0x7318 // #29464 movk x0, #0x45f3, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 15b0: mov x0, #0xd20 // #3360 movk x0, #0x4550, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2e6cd0 mov x21, x0 mov x0, #0x7330 // #29488 movk x0, #0x45f3, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc918 // #51480 movk x2, #0x45c7, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6cf0 brk #0xf000 1600: 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 1620 ldr w1, [x21, #36] lsl w1, w1, #1 1620: ldr w0, [x21, #36] mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w2, w0, lsl #1 ↓ b.cs 164c 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 164c: mov x0, x21 mov x2, #0x268 // #616 movk x2, #0x45a0, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b e4 1668: ldr w2, [x21, #32] sub w2, w22, w2 ldr w1, [x21, #32] ldr x0, [x21, #16] mov x3, #0xcfa8 // #53160 movk x3, #0x455b, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 ↑ b e4 1690: str w22, [x21, #28] ↑ b f4 1698: add x0, x29, #0x370 stp xzr, xzr, [x0] add x0, x29, #0x370 mov w1, #0x1 // #1 mov x2, #0x68e0 // #26848 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0xf6f0 // #63216 movk x0, #0x459d, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2e6cd0 mov x22, x0 ldr x2, [x29, #880] ldr x3, [x29, #888] mov x0, x22 mov x1, x21 mov x4, #0x68f8 // #26872 movk x4, #0x45d4, lsl #16 movk x4, #0xedec, lsl #32 ldr x4, [x4] → blr x4 add x14, x20, #0x10 mov x15, x22 bl fffffffffe054f94 ↑ b 1a4 1704: ldr x0, [x22, #8] ↑ cbnz x0, 104 mov x0, #0x6eb0 // #28336 movk x0, #0x45e2, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1724: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #64] ldr x1, [x1, #48] → blr x1 asr w20, w0, #0 ↑ b 120 1740: mov x0, #0xeab8 // #60088 movk x0, #0x4528, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2e6cd0 mov x21, x0 mov x0, #0x6a18 // #27160 movk x0, #0x45d4, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc8d0 // #51408 movk x2, #0x4543, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6cf0 brk #0xf000 1790: mov x0, #0x58f8 // #22776 movk x0, #0x45d6, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2e6cd0 mov x20, x0 mov x1, #0x6a48 // #27208 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 add x14, x22, #0x18 mov x15, x20 bl fffffffffe054f94 ↑ b 174 17c8: ↓ cbnz w0, 2af4 mov x2, xzr mov w0, wzr ↑ b 154 17d8: mov x0, x22 mov x1, #0x6b50 // #27472 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1b8 17f4: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6b80 // #27520 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b 268 1814: mov x0, x22 mov w1, #0x2 // #2 mov x2, #0x6be0 // #27616 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1dc 1834: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 208 1850: ldr w2, [x22, #40] ldr w3, [x22, #120] mov x0, x20 mov w1, #0x7 // #7 mov x4, #0x6dd8 // #28120 movk x4, #0x45d4, lsl #16 movk x4, #0xedec, lsl #32 ldr x4, [x4] → blr x4 ↑ b 2a4 1878: mov w2, #0x7 // #7 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w4, w0, #0 ↑ b 308 1894: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x5, #0x6e68 // #28264 movk x5, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 ↑ b 468 18bc: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 18d4 ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.ne 18ec 18d4: mov x0, x22 mov x1, #0x7ee8 // #32488 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 18ec: add x23, x22, #0x50 ldr w0, [x23, #16] cmp w0, #0x40 ↓ b.ge 190c ldr x0, [x23, #8] lsl x0, x0, #1 str x0, [x23, #8] ↓ b 1928 190c: mov x0, x23 mov w1, wzr mov x2, #0xcab0 // #51888 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 1928: ldr w0, [x23, #16] add w0, w0, #0x1 str w0, [x23, #16] mov w0, #0x10 // #16 strb w0, [x22, #56] ↑ b 31c 1940: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x4, #0x7ea0 // #32416 movk x4, #0x45d4, lsl #16 movk x4, #0xedec, lsl #32 ldr x4, [x4] → blr x4 ↑ b 468 1968: mov x0, x22 mov w1, #0x1a // #26 mov x2, #0x6be0 // #27616 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b 338 1988: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x24, x0 mov w25, w1 ↑ b 364 19a4: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 2b84 mov w2, #0x2c // #44 strb w2, [x24, w23, uxtw #0] ↑ b 38c 19c4: mov x1, x24 mov x2, #0x68f8 // #26872 movk x2, #0x4524, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x25, x0 ↑ b 1034 19e4: mov x0, x22 mov x1, #0xc378 // #50040 movk x1, #0x45f3, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 115c mov x0, x22 mov x1, #0xc390 // #50064 movk x1, #0x45f3, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↑ b 115c 1a1c: mov x0, x22 mov x1, #0x6b50 // #27472 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↑ b 104c 1a38: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6b80 // #27520 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b 10fc 1a58: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 1a70 asr w1, w0, #0 ↓ b 1a74 1a70: mov w1, #0x100 // #256 1a74: asr w2, w1, #0 ↓ cbnz w0, 1a80 asr w2, w1, #0 1a80: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 1ac4 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 279c mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 1ac4: add x0, x24, #0x8 mov x2, #0x6d30 // #27952 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b 11b0 1ae0: ↓ cbnz w0, 2af4 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 11d0 1af4: ldr x0, [x22, #8] mov x11, #0x2830 // #10288 movk x11, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 str x0, [x29, #808] str x1, [x29, #816] add x14, x22, #0x40 ldr x15, [x29, #808] bl fffffffffe054f94 ldr w0, [x29, #816] ldr w1, [x29, #820] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 1070 ↓ b 2ac0 1b40: ldr x0, [x22, #16] ↓ cbz x0, 1bc0 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 27b4 ldr x24, [x22, #24] ldrsb wzr, [x24] mov x0, x24 mov x2, #0x6d18 // #27928 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, 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, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 str x0, [x29, #792] str x1, [x29, #800] ldr x15, [x29, #792] mov x14, x26 bl fffffffffe054f94 ldr w0, [x29, #800] ldr w1, [x29, #804] stp w0, w1, [x26, #8] ↑ b 1070 1bc0: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2820 // #10272 movk x11, #0x4402, lsl #16 movk x11, #0xedec, 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, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 str x0, [x29, #824] str x1, [x29, #832] add x14, x22, #0x40 ldr x15, [x29, #824] bl fffffffffe054f94 ldr w0, [x29, #832] ldr w1, [x29, #836] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 1070 ↓ b 2ac0 1c3c: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 109c 1c58: mov w0, #0xffffffff // #-1 asr w1, w0, #0 mov w3, w1 ↑ b a38 1c68: mov w2, w3 ldr x4, [x0] ldr x4, [x4, #64] ldr x4, [x4, #40] → blr x4 asr w3, w0, #0 ↑ b a38 1c84: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1c9c ldrb w0, [x22, #58] cmp w0, #0x5 ↑ b.ne a4c 1c9c: mov x0, x22 mov x1, #0x7ee8 // #32488 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↑ b a4c 1cb8: mov x1, x28 ldr w2, [x29, #788] mov x0, x22 mov x3, #0xcc18 // #52248 movk x3, #0x45d4, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 ↑ b c3c 1cdc: asr w1, w0, #0 ↑ b a88 1ce4: ldr x0, [x3, #8] ldr w0, [x0, #8] cmp w1, w0 ↓ b.ge 1cfc asr w4, w0, #0 ↓ b 1d00 1cfc: asr w4, w1, #0 1d00: asr w5, w4, #0 ↓ cbnz w0, 1d1c cmp w4, #0x100 ↓ b.ge 1d18 mov w5, #0x100 // #256 ↓ b 1d1c 1d18: asr w5, w4, #0 1d1c: add w4, w0, w5 mov w5, #0xffc7 // #65479 movk w5, #0x7fff, lsl #16 cmp w4, w5 ↓ b.ls 1d60 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 2810 mov w4, #0xffc7 // #65479 movk w4, #0x7fff, lsl #16 1d60: add x0, x3, #0x8 mov w1, w4 mov x4, #0x6d30 // #27952 movk x4, #0x45d4, lsl #16 movk x4, #0xedec, lsl #32 ldr x4, [x4] → blr x4 ldr x3, [x29, #200] ↑ b ab4 1d84: ↓ cbnz w0, 2af4 mov x15, xzr mov w0, wzr mov w1, wzr ↑ b ad4 1d98: ldr x0, [x22, #8] str w1, [x29, #740] mov x11, #0x2848 // #10312 movk x11, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #744] str x1, [x29, #752] add x14, x22, #0x40 ldr x15, [x29, #744] bl fffffffffe054f94 ldr w0, [x29, #752] ldr w1, [x29, #756] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #740] cmp w0, w1 ↑ b.ge ae0 ↓ b 2ac0 1de8: cmp w0, #0x1, lsl #12 ↓ b.le 1df8 str w0, [x29, #736] ↓ b 1e00 1df8: mov w3, #0x1000 // #4096 str w3, [x29, #736] 1e00: ldr x0, [x22, #16] ↓ cbz x0, 1e6c ldr w0, [x22, #52] ldr w3, [x29, #736] add w1, w0, w3 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2828 add x3, x22, #0x40 str x3, [x29, #16] ldr x0, [x22, #24] mov x4, #0x5990 // #22928 movk x4, #0x45d6, lsl #16 movk x4, #0xedec, lsl #32 ldr x4, [x4] ldr wzr, [x0] → blr x4 str x0, [x29, #720] str x1, [x29, #728] ldr x15, [x29, #720] ldr x14, [x29, #16] bl fffffffffe054f94 ldr w0, [x29, #728] ldr w1, [x29, #732] ldr x14, [x29, #16] stp w0, w1, [x14, #8] ↑ b ae0 1e6c: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2838 // #10296 movk x11, #0x4402, lsl #16 movk x11, #0xedec, 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, #736] mov x11, #0x2840 // #10304 movk x11, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #760] str x1, [x29, #768] add x14, x22, #0x40 ldr x15, [x29, #760] bl fffffffffe054f94 ldr w0, [x29, #768] ldr w1, [x29, #772] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #736] cmp w0, w1 ↑ b.ge ae0 ↓ b 2ac0 1eec: 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 b10 1f18: mov x0, #0x33d8 // #13272 movk x0, #0x91c0, lsl #16 movk x0, #0xeddc, lsl #32 mov w1, wzr mov x2, #0xd4a0 // #54432 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ↑ b c68 1f44: mov x0, x26 mov x1, #0xd9f8 // #55800 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↑ b c70 1f60: mov w3, #0x101 // #257 mov x0, x26 mov x1, #0x2620 // #9760 movk x1, #0x3a20, lsl #16 movk x1, #0xedec, lsl #32 mov w2, #0x1 // #1 mov w4, wzr mov w5, wzr mov x6, #0xdb18 // #56088 movk x6, #0x45d4, lsl #16 movk x6, #0xedec, lsl #32 ldr x6, [x6] → blr x6 mov x1, x0 add x14, x26, #0x18 mov x15, x1 bl fffffffffe054f94 ↑ b c78 1fa8: mov x2, #0x63b8 // #25528 movk x2, #0x4524, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 1fc0: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #672] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 948 1fdc: mov x0, x28 mov x2, #0xdbd8 // #56280 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ldr x1, [x29, #176] ↑ b d1c 2000: mov x0, #0xbe8 // #3048 movk x0, #0x45da, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2e6cd0 mov x3, x0 add x14, x3, #0x8 mov x15, x3 bl fffffffffe054f94 ldr q16, instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x2b90 stur q16, [x3, #24] mov x14, #0x3428 // #13352 movk x14, #0x91c0, lsl #16 movk x14, #0xeddc, lsl #32 mov x15, x3 bl fffffffffe054f94 mov x1, x3 ldr x1, [x29, #176] ↑ b d38 2048: mov x1, x4 mov x11, #0x2850 // #10320 movk x11, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b d70 2068: ldr x0, [x29, #160] mov x1, #0xc720 // #50976 movk x1, #0x4543, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↑ b d6c 2084: ldr x5, [x29, #120] ↑ b 1204 208c: ldr x7, [x29, #176] ↓ b 2144 2094: ldr x7, [x29, #176] 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, #176] ↑ b e1c 20bc: ldr x5, [x29, #120] ↑ b 1204 20c4: ldr x7, [x29, #176] ↓ b 2144 20cc: ldr x4, [x29, #128] ldr x7, [x29, #176] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2858 // #10328 movk x11, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #128] ldr x7, [x29, #176] ↑ b 4fc 2104: ldr x5, [x29, #120] ldr x7, [x29, #176] ↑ b 498 2110: ldr x7, [x29, #176] 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, #128] ldr x7, [x29, #176] ↑ b 4fc 213c: ldr x5, [x29, #120] ↑ b 498 2144: str xzr, [x29, #496] mov x1, x7 mov x2, x26 ldr x4, [x29, #152] ldr x0, [x4, #8] ldr x4, [x4, #24] → blr x4 mov x4, x0 ldr w3, [x29, #508] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x1f0 ldr x1, [x29, #136] ldr x2, [x29, #176] ldr x0, [x29, #144] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce88 // #52872 movk x8, #0x456f, lsl #16 movk x8, #0xedec, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #176] ↑ b e2c 21a4: mov x0, x26 mov x1, x7 mov x3, #0xe178 // #57720 movk x3, #0x45d4, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 mov x26, x0 ldr x7, [x29, #176] ↑ b e48 21cc: mov x0, x26 mov x1, #0xf1b0 // #61872 movk x1, #0x45dc, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ldr x1, [x29, #176] ↑ b e60 21ec: ldr x1, [x28, #32] ldr x0, [x29, #176] mov x2, #0xdbc0 // #56256 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 220c: mov x1, x7 ↑ b e60 2214: mov x0, x26 mov x1, #0x4390 // #17296 movk x1, #0x45e2, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe054f94 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b e7c 2248: mov x26, x0 ↑ b e84 2250: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #488] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 8b0 226c: mov x0, x26 mov x2, #0xdbd8 // #56280 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x1, x0 mov x2, x1 ldr x1, [x29, #104] ↑ b 5dc 2294: mov x0, #0xbe8 // #3048 movk x0, #0x45da, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2e6cd0 mov x4, x0 str x4, [x29, #72] mov x0, x4 mov x1, xzr mov x2, #0xa1c0 // #41408 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0x4401, lsl #16 movk x3, #0xedec, lsl #32 mov x5, #0x7cc0 // #31936 movk x5, #0x4524, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 mov x14, #0x3428 // #13352 movk x14, #0x91c0, lsl #16 movk x14, #0xeddc, lsl #32 ldr x15, [x29, #72] bl fffffffffe054f94 ldr x4, [x29, #72] mov x1, x4 ldr x1, [x29, #104] ↑ b 5fc 2304: mov x1, x5 mov x11, #0x2860 // #10336 movk x11, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b 634 2324: ldr x0, [x29, #64] mov x1, #0xc720 // #50976 movk x1, #0x4543, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↑ b 630 2340: ldr x5, [x29, #24] ↑ b 794 2348: ldr x7, [x29, #104] ↓ b 2400 2350: ldr x7, [x29, #104] 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, #104] ↑ b 6e0 2378: ldr x5, [x29, #24] ↑ b 794 2380: ldr x7, [x29, #104] ↓ b 2400 2388: ldr x4, [x29, #32] ldr x7, [x29, #104] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2868 // #10344 movk x11, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #32] ldr x7, [x29, #104] ↑ b 80c 23c0: ldr x5, [x29, #24] ldr x7, [x29, #104] ↑ b 7a8 23cc: ldr x7, [x29, #104] 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, #32] ldr x7, [x29, #104] ↑ b 80c 23f8: ldr x5, [x29, #24] ↑ b 7a8 2400: str xzr, [x29, #312] mov x1, x7 ldr x2, [x29, #88] ldr x4, [x29, #56] ldr x0, [x4, #8] ldr x4, [x4, #24] → blr x4 mov x4, x0 ldr w3, [x29, #324] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x138 ldr x1, [x29, #40] ldr x2, [x29, #104] ldr x0, [x29, #48] mov w5, wzr mov w6, #0x1 // #1 mov x8, #0xce88 // #52872 movk x8, #0x456f, lsl #16 movk x8, #0xedec, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #104] ↑ b 6f0 2460: ldr x0, [x29, #88] mov x1, x7 mov x3, #0xe178 // #57720 movk x3, #0x45d4, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 mov x2, x0 ldr x7, [x29, #104] ↑ b 70c 2488: str x2, [x29, #96] mov x0, x2 mov x1, #0xf1b0 // #61872 movk x1, #0x45dc, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ldp x2, x1, [x29, #96] ↑ b 724 24ac: ldr x1, [x26, #32] ldr x0, [x29, #104] mov x2, #0xdbc0 // #56256 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 24cc: mov x1, x7 ↑ b 724 24d4: mov x0, x26 mov x1, #0x4390 // #17296 movk x1, #0x45e2, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe054f94 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b 748 2508: mov x26, x0 ↑ b 750 2510: mov x26, xzr mov w0, wzr ↑ b 754 251c: ldr x0, [x26, #56] mov w1, #0x1 // #1 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 str x0, [x29, #360] ldr w0, [x26, #140] cmp w0, #0x2 ↑ b.ne 884 ldr x26, [x29, #112] ↑ cbz x26, 884 ldr x0, [x28, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 884 ldr x0, [x29, #360] mov x1, x26 ldr x2, [x29, #360] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 884 2584: ldr x0, [x0, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #544] ↑ b 91c 25a4: ldr w1, [x25, #56] cmp w27, w1 mov w26, w27 ↑ b.cc 97c ↑ b ec0 25b8: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 25d0 asr w1, w0, #0 ↓ b 25d4 25d0: mov w1, #0x100 // #256 25d4: asr w2, w1, #0 ↓ cbnz w0, 25f0 cmp w1, #0x100 ↓ b.ge 25ec mov w2, #0x100 // #256 ↓ b 25f0 25ec: asr w2, w1, #0 25f0: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 2634 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 2874 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 2634: add x0, x24, #0x8 mov x2, #0x6d30 // #27952 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b f10 2650: ↓ cbnz w0, 2af4 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b f30 2664: ldr x0, [x22, #8] mov x11, #0x2880 // #10368 movk x11, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #280] add x14, x22, #0x40 ldr x15, [x29, #280] bl fffffffffe054f94 ldr w0, [x29, #288] ldr w1, [x29, #292] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge f3c ↓ b 2ac0 26ac: ldr x0, [x22, #16] ↓ cbz x0, 2708 ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 288c add x24, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x5990 // #22928 movk x2, #0x45d6, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #264] ldr x15, [x29, #264] mov x14, x24 bl fffffffffe054f94 ldr w0, [x29, #272] ldr w1, [x29, #276] stp w0, w1, [x24, #8] ↑ b f3c 2708: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2870 // #10352 movk x11, #0x4402, lsl #16 movk x11, #0xedec, 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, #0x2878 // #10360 movk x11, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #296] add x14, x22, #0x40 ldr x15, [x29, #296] bl fffffffffe054f94 ldr w0, [x29, #304] ldr w1, [x29, #308] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge f3c ↓ b 2ac0 2780: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b f68 279c: mov x1, #0x6d78 // #28024 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27b4: mov w0, w1 mov x1, #0xcb28 // #52008 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27d0: mov x0, #0xcbe0 // #52192 movk x0, #0x3a21, lsl #16 movk x0, #0xedec, lsl #32 mov x1, #0x76d8 // #30424 movk x1, #0x45a2, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 27f4: mov w0, w3 mov x1, #0xcbe8 // #52200 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2810: mov x1, #0x6d78 // #28024 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2828: mov w0, w1 mov x1, #0xcb28 // #52008 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2844: mov x1, #0xf180 // #61824 movk x1, #0x45dc, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 285c: mov x1, #0xf180 // #61824 movk x1, #0x45dc, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2874: mov x1, #0x6d78 // #28024 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 288c: mov w0, w1 mov x1, #0xcb28 // #52008 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 28a8: mov x0, #0xec70 // #60528 movk x0, #0x4543, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 28c0: mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6d18 // #27928 movk x2, #0x45e9, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1380 28e0: ldr x0, [x19, #8] ldr w0, [x0, #8] mov w1, #0x100 // #256 cmp w0, #0x100 csel w1, w1, w0, le asr w2, w1, #0 ↓ cbnz w0, 2908 mov w2, #0x100 // #256 cmp w1, #0x100 csel w2, w1, w2, ge // ge = tcont 2908: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 2964 ldr x1, [x19, #8] ldr w1, [x1, #8] ldr w2, [x19, #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.ls 295c mov x1, #0x6d78 // #28024 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 295c: mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 2964: add x0, x19, #0x8 mov x2, #0x6d30 // #27952 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b 12ec 2980: ↓ cbnz w0, 2af4 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 130c 2994: ldr x0, [x22, #8] mov x11, #0x2898 // #10392 movk x11, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #232] add x14, x22, #0x40 ldr x15, [x29, #232] bl fffffffffe054f94 ldp w0, w1, [x29, #240] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge 1318 ↓ b 2ac0 29d8: ldr x0, [x22, #16] ↓ cbz x0, 2a4c ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.ls 2a10 mov w0, w1 mov x1, #0xcb28 // #52008 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2a10: add x19, x22, #0x40 ldr x0, [x22, #24] mov x2, #0x5990 // #22928 movk x2, #0x45d6, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] ldr wzr, [x0] → blr x2 stp x0, x1, [x29, #216] ldr x15, [x29, #216] mov x14, x19 bl fffffffffe054f94 ldp w0, w1, [x29, #224] stp w0, w1, [x19, #8] ↑ b 1318 2a4c: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2888 // #10376 movk x11, #0x4402, lsl #16 movk x11, #0xedec, 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, #0x2890 // #10384 movk x11, #0x4402, lsl #16 movk x11, #0xedec, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 stp x0, x1, [x29, #248] add x14, x22, #0x40 ldr x15, [x29, #248] bl fffffffffe054f94 ldr w0, [x29, #256] ldr w1, [x29, #260] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge 1318 2ac0: mov x0, #0x6cd0 // #27856 movk x0, #0x45d4, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2ad8: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 1344 2af4: mov x0, #0xdb30 // #56112 movk x0, #0x4543, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2b0c: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6d18 // #27928 movk x2, #0x45e9, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b 13d8 2b2c: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #72] ldr x1, [x1, #8] → blr x1 ↑ b 144c 2b44: mov x0, #0x1690 // #5776 movk x0, #0x4528, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2e6cd0 mov x19, x0 mov x1, #0xcb60 // #52064 movk x1, #0x3a21, lsl #16 movk x1, #0xedec, lsl #32 mov x2, #0xf7e0 // #63456 movk x2, #0x455b, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x0, x19 bl ffffffffff2e6cf0 brk #0xf000 2b84: bl ffffffffff2966e8 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5010010005, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-40822-32742.so 0.38 sub sp, sp, #0x1c0 stp x19, x20, [sp, #352] stp x21, x22, [sp, #368] 0.09 stp x23, x24, [sp, #384] stp x25, x26, [sp, #400] stp x27, x28, [sp, #416] stp x29, x30, [sp, #432] add x29, sp, #0x1b0 movi v16.16b, #0x0 sub x9, x29, #0x158 sub x10, x29, #0xa8 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 0.09 38: dc zva, x9 0.09 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 0.09 stp q16, q16, [x10] stp q16, q16, [x10, #32] mov x4, #0x266d // #9837 movk x4, #0xd41f, lsl #16 movk x4, #0xc156, lsl #32 movk x4, #0xcbb6, lsl #48 stur x4, [x29, #-88] 0.19 stur x1, [x29, #-104] stur x2, [x29, #-96] mov x19, x0 mov w20, w3 mov w0, #0xaaaa // #43690 movk w0, #0x2aaa, lsl #16 0.09 cmp w2, w0 0.09 ↓ b.gt 1fc4 0.09 mov x17, #0xfffffffffffffe58 // #-424 str xzr, [x29, x17] cmp w2, #0x55 ↓ b.le 1fe0 mov w0, #0x5555 // #21845 movk w0, #0x1555, lsl #16 cmp w2, w0 ↓ b.gt 1f8c mov x0, #0x3338 // #13112 movk x0, #0x91c0, lsl #16 0.09 movk x0, #0xeddc, lsl #32 ldr x21, [x0] 0.38 mov x22, x21 mov w0, #0x3 // #3 mul w23, w2, w0 mov x0, #0xdc0 // #3520 movk x0, #0x91c0, lsl #16 movk x0, #0xeddc, lsl #32 ldr x24, [x0] 0.85 sub w0, w23, #0x1 orr w0, w0, #0xf clz w0, w0 0.09 eor w0, w0, #0x1f 0.09 sub w25, w0, #0x3 mov x0, #0x63e8 // #25576 movk x0, #0x45d8, lsl #16 movk x0, #0xedec, lsl #32 mov x1, #0x68c8 // #26824 0.09 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x0, #16] 0.66 ↓ cbz x0, 2054 ldr w1, [x0, #8] 0.57 cmp w1, w25 ↓ b.ls 2054 0.19 ubfiz x1, x25, #4, #32 add x1, x1, #0x10 ldr x26, [x0, x1] ↓ cbz x26, 2054 str xzr, [x0, x1] ldrb w0, [x24, #157] ↓ cbnz w0, 1ff0 134: mov x17, #0xfffffffffffffe58 // #-424 str x26, [x29, x17] 0.19 13c: ↓ cbz x26, 23c8 add x21, x26, #0x10 0.09 ldr w22, [x26, #8] 0.19 148: mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] 0.09 mov x17, #0xfffffffffffffe64 // #-412 str w22, [x29, x17] ldur x0, [x29, #-104] 0.09 ldur x1, [x29, #-96] mov x2, x21 0.09 mov w3, w22 mov x4, #0xc030 // #49200 movk x4, #0x45d4, lsl #16 movk x4, #0xedec, lsl #32 ldr x4, [x4] → blr x4 cmp w0, w22 ↓ b.hi 1e00 mov x17, #0xfffffffffffffe50 // #-432 str x21, [x29, x17] mov x17, #0xfffffffffffffe64 // #-412 str w0, [x29, x17] stur x21, [x29, #-120] 0.09 stur w0, [x29, #-112] ldur w21, [x29, #-112] 0.09 ↓ cbz w21, d20 tst w20, #0xff 0.09 ↓ b.ne d58 ldur x1, [x29, #-120] ldur w2, [x29, #-112] mov x17, #0xfffffffffffffe80 // #-384 0.09 str xzr, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 str xzr, [x29, x17] 0.09 mov x17, #0xfffffffffffffe90 // #-368 0.09 strb wzr, [x29, x17] mov x17, #0xfffffffffffffe91 // #-367 strb wzr, [x29, x17] 0.09 mov x17, #0xfffffffffffffe92 // #-366 strb wzr, [x29, x17] mov x17, #0xfffffffffffffe93 // #-365 strb wzr, [x29, x17] mov x17, #0xfffffffffffffe94 // #-364 strb wzr, [x29, x17] mov x17, #0xfffffffffffffe95 // #-363 strb wzr, [x29, x17] mov x17, #0xfffffffffffffe98 // #-360 str xzr, [x29, x17] 0.09 sub x0, x29, #0x160 0.09 stp xzr, xzr, [x0] str xzr, [x0, #16] sub x0, x29, #0x138 sub x4, x29, #0x180 mov w3, #0x1 // #1 mov x5, #0xc450 // #50256 movk x5, #0x45d4, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 ↓ b 6c4 22c: mov x17, #0xfffffffffffffef0 // #-272 ldrb w0, [x29, x17] 0.28 strb w0, [x19, #58] 238: add w1, w21, #0x1 ldr w0, [x19, #76] ldr w2, [x19, #52] 0.09 sub w0, w0, w2 cmp w0, w1 ↓ b.lt 1ecc 0.09 250: add x0, x19, #0x40 mov x1, #0x6bf8 // #27640 movk x1, #0x45d4, lsl #16 0.09 movk x1, #0xedec, lsl #32 ldr x1, [x1] 0.28 → blr x1 mov x17, #0xfffffffffffffeb8 // #-328 str x0, [x29, x17] mov x17, #0xfffffffffffffec0 // #-320 str x1, [x29, x17] ldr w1, [x19, #40] ↓ tbz w1, #31, 2ac ldr w1, [x19, #52] add w0, w1, #0x1 str w0, [x19, #52] mov x17, #0xfffffffffffffec0 // #-320 ldr w0, [x29, x17] 0.19 cmp w1, w0 ↓ b.cs 1ec4 mov x17, #0xfffffffffffffeb8 // #-328 ldr x0, [x29, x17] mov w2, #0x2c // #44 strb w2, [x0, w1, uxtw #0] 2ac: ldr w1, [x19, #52] sub x0, x29, #0x148 mov x2, #0x7f30 // #32560 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] 0.09 → blr x2 mov w2, w1 mov x1, x0 sub x0, x29, #0x78 mov x3, #0xc408 // #50184 movk x3, #0x45d4, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 ldr w1, [x19, #52] add w1, w1, w21 str w1, [x19, #52] ldr w1, [x19, #40] orr w1, w1, #0x80000000 str w1, [x19, #40] ↓ b 1ee8 0.28 304: mov x17, #0xfffffffffffffef4 // #-268 0.38 strb wzr, [x29, x17] 0.38 cmp w2, #0x22 ↓ b.eq 588 0.47 cmp w2, #0x7b ↓ b.eq 4d8 0.57 cmp w2, #0x5b ↓ b.eq 428 0.38 sub w0, w2, #0x30 0.09 mov w1, #0x2d // #45 0.09 cmp w0, #0x9 ccmp w2, w1, #0x4, hi // hi = pmore 0.19 ↓ b.eq 1498 4.35 cmp w2, #0x66 ↓ b.ne 3ec 0.28 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] 0.09 ldur w20, [x29, #-256] 0.09 cmp w1, w20 ↓ b.hi 1e00 0.09 mov x17, #0xfffffffffffffef8 // #-264 ldr x2, [x29, x17] mov w3, w1 add x2, x2, x3 sub w3, w20, w1 mov x1, x2 0.09 cmp w3, #0x5 ↓ b.lt 18ec 0.19 mov x4, x1 mov x0, #0xb5ae // #46510 0.28 movk x0, #0x389e, lsl #16 movk x0, #0xedec, lsl #32 0.19 ldr w5, [x4] 0.09 ldur w4, [x4, #1] 0.19 ldr w6, [x0] 0.09 ldur w0, [x0, #1] 0.19 cmp w5, w6 ccmp w4, w0, #0x0, eq // eq = none cset x4, eq // eq = none 0.09 ↓ cbz w4, 18ec 1.32 stur x1, [x29, #-160] 0.09 mov w1, #0x5 // #5 0.09 stur w1, [x29, #-152] mov w1, #0xa // #10 mov x17, #0xfffffffffffffef0 // #-272 0.09 strb w1, [x29, x17] 0.09 mov x17, #0xfffffffffffffee8 // #-280 0.19 ldr w1, [x29, x17] add w1, w1, #0x5 0.09 mov x17, #0xfffffffffffffee8 // #-280 str w1, [x29, x17] 0.38 mov x17, #0xfffffffffffffed0 // #-304 0.19 ldr x1, [x29, x17] add x1, x1, #0x5 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] 0.38 mov w20, #0x1 // #1 3e8: ↓ b 6b8 0.09 3ec: cmp w2, #0x74 ↓ b.ne 1254 0.19 mov x1, #0xb612 // #46610 movk x1, #0x389e, lsl #16 0.19 movk x1, #0xedec, lsl #32 mov w2, #0x4 // #4 0.09 sub x0, x29, #0x138 mov w3, #0x9 // #9 mov x4, #0xc870 // #51312 0.09 movk x4, #0x45d4, lsl #16 movk x4, #0xedec, lsl #32 ldr x4, [x4] 0.19 → blr x4 0.09 asr w20, w0, #0 ↓ b 6b8 428: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c04 ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1478 ldur x0, [x29, #-232] lsl x0, x0, #1 stur x0, [x29, #-232] 450: 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 ldur w2, [x29, #-256] cmp x1, x2 ↓ b.hi 1e00 0.09 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w0, w0 add x0, x1, x0 stur x0, [x29, #-160] 0.09 mov w0, #0x1 // #1 stur w0, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 0.09 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] 0.09 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] 0.19 4d0: mov w20, #0x1 // #1 0.09 ↓ b 6b8 4d8: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1bd8 ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1458 ldur x0, [x29, #-232] lsl x0, x0, #1 orr x0, x0, #0x1 stur x0, [x29, #-232] 504: 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 1e00 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 4d0 0.19 588: mov x17, #0xfffffffffffffee8 // #-280 0.09 ldr w1, [x29, x17] 0.28 add w1, w1, #0x1 0.09 ldur w20, [x29, #-256] 0.19 cmp w1, w20 ↓ b.hi 1e00 0.28 mov x17, #0xfffffffffffffef8 // #-264 0.09 ldr x2, [x29, x17] mov w0, w1 add x2, x2, x0 sub w20, w20, w1 mov x1, #0x3358 // #13144 0.19 movk x1, #0x91c0, lsl #16 movk x1, #0xeddc, lsl #32 0.09 ldr x1, [x1] 0.09 add x1, x1, #0x8 0.09 mov x0, x2 cmp w20, #0x8 ↓ b.lt 1394 ldr q16, [x1] 0.09 cmp w20, #0x10 ↓ b.le 780 sub w1, w20, #0x10 mov w1, w1 0.47 add x1, x2, x1 5ec: ldr q17, [x0] 0.38 movi v18.16b, #0xf and v18.16b, v17.16b, v18.16b tbl v18.16b, {v16.16b}, v18.16b 0.28 sshr v17.16b, v17.16b, #4 ldr q19, instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]+0xffffffffff29ca08> brk #0xf000 1ecc: mov x0, x19 mov x2, #0x6be0 // #27616 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 ↑ b 250 1ee8: mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] 0.19 ↓ cbz x1, 1f48 0.19 mov x17, #0xfffffffffffffe64 // #-412 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0x4524, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0x91c0, lsl #16 movk x0, #0xeddc, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x63b8 // #25528 0.09 movk x3, #0x45d8, lsl #16 0.19 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 1f48: mov x16, #0x266d // #9837 movk x16, #0xd41f, lsl #16 0.09 movk x16, #0xc156, lsl #32 movk x16, #0xcbb6, lsl #48 ldur x17, [x29, #-88] cmp x16, x17 ↓ b.eq 1f68 bl ffffffffff2ed0b0 ,bool)[OptimizedTier1]+0xffffffffff2ed030> 1f68: 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 1f8c: ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, #0x7fc0 // #32704 movk x2, #0x45d4, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 sxtw x1, w0 mov x0, #0xb9e8 // #47592 movk x0, #0x4534, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2ed130 ,bool)[OptimizedTier1]+0xffffffffff2ed0b0> mov x26, x0 ↑ b 13c 1fc4: mov w0, w2 mov x1, #0x7fa8 // #32680 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 1fe0: ldr wzr, [sp], #-256 mov x21, sp mov w22, #0x100 // #256 ↑ b 148 1ff0: mov x0, x26 mov x1, #0xdf20 // #57120 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 asr w22, w0, #0 ldr w23, [x26, #8] mov x0, x21 mov x1, #0xdf20 // #57120 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, 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, #0xc0f0 // #49392 movk x5, #0x45f3, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 2054: ldr x0, [x22, #16] ldr w1, [x0, #8] cmp w1, w25 ↓ b.ls 2298 add x0, x0, #0x10 ldr x0, [x0, w25, uxtw #3] ↓ cbz x0, 228c ldr x26, [x0, #8] mov x0, #0x1038 // #4152 movk x0, #0x4603, lsl #16 movk x0, #0xedec, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0x4524, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb23c // #45628 movk x0, #0x4401, lsl #16 movk x0, #0xedec, lsl #32 ldrb w0, [x0] ↓ cbz w0, 20b4 bl fffffffffff93768 ,bool)[OptimizedTier1]+0xfffffffffff936e8> asr w21, w0, #0 ↓ b 2128 20b4: mov x0, #0x1088 // #4232 movk x0, #0x4603, lsl #16 movk x0, #0xedec, lsl #32 mov x1, #0xc108 // #49416 movk x1, #0x45f3, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ldr w23, [x0, #16] mov x0, #0x1088 // #4232 movk x0, #0x4603, lsl #16 movk x0, #0xedec, lsl #32 mov x1, #0xc108 // #49416 movk x1, #0x45f3, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 sub w1, w23, #0x1 str w1, [x0, #16] uxth w0, w23 ↓ cbnz w0, 2124 mov x0, #0xc120 // #49440 movk x0, #0x45f3, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 asr w21, w0, #0 ↓ b 2128 2124: asr w21, w23, #16 2128: mov x0, #0xe90 // #3728 movk x0, #0x4603, lsl #16 movk x0, #0xedec, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0x4524, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb230 // #45616 movk x0, #0x4401, lsl #16 movk x0, #0xedec, lsl #32 ldr w0, [x0] ↓ cbz w0, 23d4 udiv w1, w21, w0 msub w21, w1, w0, w21 mov w23, wzr ↓ b 2200 216c: ldr w0, [x26, #8] cmp w21, w0 ↓ b.cs 23dc add x0, x26, #0x10 ldr x27, [x0, w21, uxtw #3] ldrsb wzr, [x27] mov x28, xzr mov x0, x27 mov x1, #0xc138 // #49464 movk x1, #0x45f3, lsl #16 movk x1, #0xedec, 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 21cc add x2, x0, #0x10 ldr x28, [x2, w1, uxtw #3] add x0, x0, #0x10 str xzr, [x0, w1, uxtw #3] str w1, [x27, #16] 21cc: mov x0, x27 mov x1, #0x68c8 // #26824 movk x1, #0x4524, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 ↓ cbnz x28, 2210 add w21, w21, #0x1 ldr w0, [x26, #8] cmp w0, w21 ↓ b.ne 21fc mov w21, wzr 21fc: add w23, w23, #0x1 2200: ldr w0, [x26, #8] cmp w0, w23 ↑ b.gt 216c ↓ b 2218 2210: mov x26, x28 ↓ b 221c 2218: mov x26, xzr 221c: ↓ cbz x26, 228c ldrb w0, [x24, #157] ↑ cbz w0, 134 mov x0, x26 mov x1, #0xdf20 // #57120 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf20 // #57120 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, 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, #0xc0f0 // #49392 movk x5, #0x45f3, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 ↑ b 134 228c: mov w0, #0x10 // #16 lsl w23, w0, w25 ↓ b 22bc 2298: mov w0, w23 mov x1, #0x4cb8 // #19640 movk x1, #0x3a20, lsl #16 movk x1, #0xedec, lsl #32 mov x2, #0x5ec0 // #24256 movk x2, #0x4589, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 22bc: cmp w23, #0x800 ↓ b.ge 22e0 sxtw x1, w23 mov x0, #0xb9e8 // #47592 movk x0, #0x4534, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2ed130 ,bool)[OptimizedTier1]+0xffffffffff2ed0b0> mov x26, x0 ↓ b 2300 22e0: mov w0, w23 mov w1, wzr mov x2, #0x7e28 // #32296 movk x2, #0x45c7, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 2300: ldrb w0, [x24, #157] ↑ cbz w0, 134 ldrsb wzr, [x26] mov x0, x26 mov x1, #0xdf20 // #57120 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf20 // #57120 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, 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, #0xc0f0 // #49392 movk x5, #0x45f3, lsl #16 movk x5, #0xedec, lsl #32 ldr x5, [x5] → blr x5 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xdf20 // #57120 movk x1, #0x45d4, lsl #16 movk x1, #0xedec, 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, #0xc150 // #49488 movk x6, #0x45f3, lsl #16 movk x6, #0xedec, lsl #32 ldr x6, [x6] → blr x6 ↑ b 134 23c8: mov x21, xzr mov w22, wzr ↑ b 148 23d4: bl ffffffffff29caa0 ,bool)[OptimizedTier1]+0xffffffffff29ca20> brk #0xf000 23dc: bl ffffffffff29ca88 ,bool)[OptimizedTier1]+0xffffffffff29ca08> 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, 2460 mov x17, #0xfffffffffffffe64 // #-412 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] mov x2, #0x5818 // #22552 movk x2, #0x4524, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0x91c0, lsl #16 movk x0, #0xeddc, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x63b8 // #25528 movk x3, #0x45d8, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 2460: 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.): 5010010005, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-40822-32623.so 0.85 stp x29, x30, [sp, #-64]! 0.43 stp x19, x20, [sp, #16] 0.43 stp x21, x22, [sp, #32] 0.43 stp x23, x24, [sp, #48] mov x29, sp 0.43 mov x19, x0 0.43 ldr x20, [x19, #16] ↓ cbz x20, 1a4 0.85 20: stp xzr, xzr, [x19, #64] 1.70 ↓ cbz x20, 39c 0.85 ldr w1, [x19, #52] 0.43 ↓ cbz w1, 174 0.43 ldr x0, [x19, #24] 1.28 mov x2, x0 ldrsb wzr, [x2] 1.70 ↓ tbnz w1, #31, 1c4 0.43 ldr w3, [x2, #16] 0.43 ldr x4, [x2, #8] 1.28 ldr w4, [x4, #8] 10.21 sub w4, w4, w1 3.40 cmp w3, w4 0.43 ↓ b.gt 208 6.81 add w21, w3, w1 str w21, [x2, #16] str wzr, [x19, #52] 0.43 ldr x0, [x0, #8] 0.43 ↓ cbz x0, 228 0.43 ldr w1, [x0, #8] 0.43 cmp w1, w21 ↓ b.cc 364 0.85 add x22, x0, #0x10 0.43 7c: ldr x0, [x20] mov x1, #0x38 // #56 movk x1, #0x45a0, lsl #16 0.43 movk x1, #0xedec, lsl #32 cmp x0, x1 0.43 ↓ b.ne 334 0.85 ldrb w0, [x20, #43] ↓ cbz w0, 238 1.28 ldrb w0, [x20, #41] ↓ cbz w0, 254 0.43 ldr w0, [x20, #28] add w23, w0, w21 0.43 ↓ tbnz w23, #31, 26c 0.85 ldr w1, [x20, #32] cmp w23, w1 ↓ b.le d8 cmp w0, w1 cset x24, gt ldr w0, [x20, #36] cmp w23, w0 ↓ b.gt 2bc 0.43 d0: ↓ cbnz w24, 2e0 d4: str w23, [x20, #32] 0.85 d8: ldr x2, [x20, #16] ldr w0, [x20, #28] 0.85 ↓ cbz x2, 308 0.43 mov w1, w0 add x1, x1, w21, uxtw 0.43 ldr w3, [x2, #8] 1.70 cmp x1, x3 ↓ b.hi 364 1.28 add x2, x2, #0x10 0.43 mov w0, w0 add x0, x2, x0 0.43 asr w2, w21, #0 108: cmp w21, w2 ↓ b.gt 31c 0.43 mov w2, w21 0.43 mov x1, x22 mov x3, #0x5848 // #22600 0.43 movk x3, #0x4524, lsl #16 movk x3, #0xedec, lsl #32 0.43 ldr x3, [x3] 7.23 → blr x3 0.85 str w23, [x20, #28] 130: ldp x20, x0, [x19, #24] 0.85 ldr w1, [x20, #16] 2.98 add x0, x0, w1, sxtw 2.98 str x0, [x19, #32] ldr x0, [x20, #8] ↓ cbz x0, 354 1.70 ldr w2, [x0, #8] 10.64 cmp w2, w1 ↓ b.cc 364 5.96 add x0, x0, #0x10 0.85 158: mov w1, w1 0.43 mov x2, #0x5818 // #22552 movk x2, #0x4524, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] 0.43 → blr x2 0.43 str wzr, [x20, #16] 0.43 174: ldr x0, [x19, #16] 1.70 ldr x1, [x0] 3.83 mov x2, #0x38 // #56 5.11 movk x2, #0x45a0, lsl #16 0.43 movk x2, #0xedec, lsl #32 0.43 cmp x1, x2 ↓ b.ne 37c 2.55 190: ldp x23, x24, [sp, #48] 0.43 ldp x21, x22, [sp, #32] 0.43 ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #64 ← ret 1a4: ldr x0, [x19, #8] ↑ cbnz x0, 20 mov x0, #0x6eb0 // #28336 movk x0, #0x45e2, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1c4: mov x0, #0xeab8 // #60088 movk x0, #0x4528, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2f9ee0 mov x19, x0 mov x1, xzr mov x2, #0x2898 // #10392 movk x2, #0x3a20, lsl #16 movk x2, #0xedec, lsl #32 mov x3, #0xc480 // #50304 movk x3, #0x455b, lsl #16 movk x3, #0xedec, 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, #0x45e2, lsl #16 movk x1, #0xedec, 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, #0x7300 // #29440 movk x1, #0x45f3, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 254: mov x0, #0x7318 // #29464 movk x0, #0x45f3, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 26c: mov x0, #0xd20 // #3360 movk x0, #0x4550, lsl #16 movk x0, #0xedec, lsl #32 bl ffffffffff2f9ee0 mov x22, x0 mov x0, #0x7330 // #29488 movk x0, #0x45f3, lsl #16 movk x0, #0xedec, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x22 mov x2, #0xc918 // #51480 movk x2, #0x45c7, lsl #16 movk x2, #0xedec, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 bl ffffffffff2f9f00 brk #0xf000 2bc: mov x0, x20 mov w1, w23 mov x2, #0xc5b8 // #50616 movk x2, #0x45b6, lsl #16 movk x2, #0xedec, 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, #0x455b, lsl #16 movk x3, #0xedec, 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, #0x4579, lsl #16 movk x0, #0xedec, 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, #0x4543, lsl #16 movk x0, #0xedec, 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, #0x4402, lsl #16 movk x11, #0xedec, 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.): 5010010005, [percent: local period] valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]() /tmp/jitted-40822-32573.so 1.88 stp x29, x30, [sp, #-16]! 1.41 mov x29, sp 0.94 cmp w1, w3 csel w6, w1, w3, le 0.47 mov w6, w6 mov x7, xzr cmp x6, #0x20 ↓ b.cs a0 1.88 20: sub x6, x6, x7 cmp x6, #0x4 ↓ b.cc 60 1.88 add x8, x7, x6 0.47 sub x8, x8, #0x4 lsl x9, x7, #1 0.47 ldr x9, [x0, x9] 0.47 tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1dc 0.47 44: mov v16.d[0], x9 1.88 sqxtun v16.8b, v16.8h 0.47 mov w9, v16.s[0] str w9, [x2, x7] 0.94 add x7, x7, #0x4 0.47 cmp x7, x8 ↓ b.ls 178 2.82 60: ↓ tbnz w6, #1, 18c 0.94 64: ↓ tbz w6, #0, 7c ldrh w8, [x0, x7, lsl #1] 0.47 cmp w8, #0x7f ↓ b.hi 7c 74: strb w8, [x2, x7, lsl #0] 0.47 add x7, x7, #0x1 0.47 7c: add x0, x0, x7, lsl #1 0.47 add x2, x2, x7 1.88 cmp w7, w1 ↓ b.ne 20c 1.41 str x0, [x4] 0.94 str x2, [x5] 1.41 mov w0, wzr 0.94 ldp x29, x30, [sp], #16 2.35 ← ret 0.47 a0: ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 mov x9, x8 ↓ b.ne 1dc mov x7, x0 ldr q16, [x7] umaxp v17.8h, v16.8h, v16.8h fmov x8, d17 tst x8, #0xff80ff80ff80ff80 ↓ b.ne 1b4 mov x8, x2 0.47 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8] mov x9, #0x8 // #8 ↓ tbnz w2, #3, f8 ldr q16, [x7, #16] umaxp v17.8h, v16.8h, v16.8h fmov x10, d17 tst x10, #0xff80ff80ff80ff80 ↓ b.ne 170 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, #8] 0.47 f8: and x9, x2, #0xf 0.47 neg x9, x9 add x9, x9, #0x10 sub x10, x6, #0x10 0.47 lsl x11, x9, #1 ldr q16, [x7, x11] lsl x11, x9, #1 add x11, x11, #0x10 ldr q17, [x7, x11] 0.94 orr v18.16b, v16.16b, v17.16b umaxp v18.8h, v18.8h, v18.8h fmov x11, d18 0.47 tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1bc 4.23 130: uzp1 v16.16b, v16.16b, v17.16b 1.41 str q16, [x8, x9] 2.35 add x9, x9, #0x10 3.29 cmp x9, x10 1.88 ↓ b.hi 170 3.29 lsl x11, x9, #1 1.88 ldr q16, [x7, x11] lsl x11, x9, #1 3.76 add x11, x11, #0x10 ldr q17, [x7, x11] 2.82 orr v18.16b, v16.16b, v17.16b 0.47 umaxp v18.8h, v18.8h, v18.8h 2.35 fmov x11, d18 2.35 tst x11, #0xff80ff80ff80ff80 ↓ b.ne 1bc 33.33 ↑ b 130 170: mov x7, x9 174: ↑ b 20 0.94 178: lsl x9, x7, #1 ldr x9, [x0, x9] tst x9, #0xff80ff80ff80ff80 ↓ b.ne 1dc ↑ b 44 0.94 18c: lsl x9, x7, #1 ldr w8, [x0, x9] 0.94 tst w8, #0xff80ff80 ↓ b.ne 200 add x9, x2, x7 strb w8, [x9] 0.94 lsr w8, w8, #16 strb w8, [x9, #1] 0.47 add x7, x7, #0x2 ↑ b 64 1b4: mov x7, xzr ↑ b 174 1bc: umaxp v17.8h, v16.8h, v16.8h fmov x7, d17 tst x7, #0xff80ff80ff80ff80 ↑ b.ne 170 uzp1 v16.16b, v16.16b, v16.16b str d16, [x8, x9] add x9, x9, #0x8 ↑ b 170 1dc: asr w8, w9, #0 tst w8, #0xff80ff80 ↓ b.ne 200 add x6, x2, x7 strb w8, [x6] lsr w8, w8, #16 strb w8, [x6, #1] lsr x8, x9, #32 add x7, x7, #0x2 200: tst w8, #0xff80 ↑ b.eq 74 ↑ b 7c 20c: sub w1, w1, w7 sub w3, w3, w7 cmp w1, #0x2 ↓ b.lt 62c ubfiz x6, x1, #1, #32 add x6, x0, x6 sub x6, x6, #0x4 228: ldr w7, [x0] ↓ b 554 230: cmp w3, #0x2 ↓ b.lt 638 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 274 mov x7, x8 ↓ b 274 274: lsr w8, w7, #3 mov w9, wzr ↓ b 2a8 280: ldr q16, [x0] mvni v17.8h, #0x7f cmtst v17.8h, v16.8h, v17.8h sminp v17.8h, v17.8h, v17.8h fmov x10, d17 ↓ cbnz x10, 2c8 sqxtun v16.8b, v16.8h str d16, [x2], #8 add x0, x0, #0x10 add w9, w9, #0x1 2a8: cmp w9, w8 ↑ b.cc 280 sub w3, w3, w9, lsl #3 ↓ tbz w7, #2, 604 ldr x8, [x0] tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2f0 ↓ b 57c 2c8: sub w3, w3, w9, lsl #3 fmov x8, d16 tst x8, #0xff80ff80ff80ff80 ↓ b.ne 2f0 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] 2f0: asr w7, w8, #0 tst w7, #0xff80ff80 ↓ b.ne 314 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 314: tst w7, #0xff80 ↓ b.ne 324 ↓ cbz w3, 6fc ↓ b 330 324: tst w7, #0xf800 ↓ b.ne 560 ↓ b 3ac 330: strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 61c ldr w7, [x0] ↑ b 324 350: cmp w3, #0x2 ↓ b.lt 6fc ↓ b 3c0 35c: cmp w3, #0x4 ↓ b.lt 638 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 61c ldr w7, [x0] sub w8, w7, #0x80 uxth w8, w8 cmp w8, #0x780 ↓ b.ge 554 3ac: sub w8, w7, #0x800, lsl #12 mov w9, #0x77fffff // #125829119 cmp w8, w9 ↑ b.ls 35c ↑ b 350 3c0: 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 404 add x0, x0, #0x2 add x2, x2, #0x2 sub w3, w3, #0x2 cmp x0, x6 ↓ b.hi 61c ↓ b 410 404: cmp w3, #0x3 ↓ b.lt 610 ↓ b 590 410: ldr w7, [x0] ↓ b 560 418: tst w7, #0xf8000000 ↓ b.ne 43c ↓ b 458 424: mov w8, #0x2800 // #10240 movk w8, #0x23ff, lsl #16 add w8, w7, w8 tst w8, #0xfc00fc00 ↓ b.eq 5b0 ↓ b 5a8 43c: mov w8, #0x28000000 // #671088640 add w8, w7, w8 mov w9, #0x8000000 // #134217728 cmp w8, w9 ↓ b.cc 458 cmp w3, #0x6 ↓ b.ge 464 458: cmp w3, #0x3 ↓ b.lt 6fc ↓ b 4e0 464: 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 61c ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 560 ↓ b 554 4e0: 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 528 cmp x0, x6 ↓ b.hi 61c ↓ b 574 528: ↓ cbz w3, 6fc lsr w7, w7, #16 strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 sub w3, w3, #0x1 cmp x0, x6 ↓ b.hi 61c ldr w7, [x0] tst w7, #0xf800 ↓ b.ne 560 554: tst w7, #0xff80ff80 ↑ b.ne 314 ↑ b 230 560: mov w8, #0xffff2800 // #-55296 add w8, w7, w8 tst w8, #0xf800 ↑ b.eq 424 ↑ b 418 574: ldr w7, [x0] ↑ b 314 57c: mov v16.d[0], x8 sqxtun v16.8b, v16.8h st1 {v16.s}[0], [x2] add x0, x0, #0x8 ↓ b 5fc 590: lsr w7, w7, #16 strb w7, [x2, #2] add x0, x0, #0x4 add x2, x2, #0x3 sub w3, w3, #0x3 ↓ b 604 5a8: mov w1, #0x3 // #3 ↓ b 700 5b0: cmp w3, #0x4 ↓ b.lt 6fc 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 5fc: add x2, x2, #0x4 sub w3, w3, #0x4 604: cmp x0, x6 ↑ b.ls 228 ↓ b 61c 610: add x0, x0, #0x2 add x2, x2, #0x2 ↓ b 6fc 61c: sub x1, x6, x0 add x7, x1, x1, lsr #63 asr x1, x7, #1 add w1, w1, #0x2 62c: ↓ cbz w1, 6f4 ldrh w7, [x0] ↓ b 63c 638: uxth w7, w7 63c: cmp w7, #0x7f ↓ b.hi 658 ↓ cbz w3, 6fc strb w7, [x2] add x0, x0, #0x2 add x2, x2, #0x1 ↓ b 6ec 658: cmp w7, #0x800 ↓ b.cs 68c cmp w3, #0x2 ↓ b.lt 6fc 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 6ec 68c: mov w6, #0xffff2800 // #-55296 add w6, w7, w6 cmp w6, #0x7ff ↓ b.ls 6d8 cmp w3, #0x3 ↓ b.lt 6fc 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 6ec 6d8: mov w1, #0xdbff // #56319 cmp w7, w1 ↑ b.hi 5a8 mov w1, #0x2 // #2 ↓ b 700 6ec: cmp w1, #0x1 ↓ b.gt 6fc 6f4: mov w1, wzr ↓ b 700 6fc: mov w1, #0x1 // #1 700: 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.): 5010010005, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteBase64Minimized(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-40822-32699.so Percent stp x29, x30, [sp, #-96]! stp x19, x20, [sp, #40] 0.57 stp x21, x22, [sp, #56] stp x23, x24, [sp, #72] str x25, [sp, #88] 0.57 mov x29, sp stp xzr, xzr, [x29, #24] mov x19, x0 mov x21, x1 mov w20, w2 mov w0, #0xfffd // #65533 movk w0, #0x5fff, lsl #16 cmp w20, w0 ↓ b.gt 3bc 0.57 add w0, w20, #0x2 0.57 mov w1, #0xaaab // #43691 0.57 movk w1, #0xaaaa, lsl #16 umull x0, w0, w1 lsr x0, x0, #33 lsl w22, w0, #2 add w1, w22, #0x3 0.57 ldr w0, [x19, #76] ldr w2, [x19, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.lt 3d8 0.57 68: add x23, x19, #0x40 mov x24, xzr mov w25, wzr ldr x0, [x23] 0.57 ↓ cbz x0, b4 ldr x1, [x0] 0.57 ldr w1, [x1] 3.45 tst w1, #0x80000000 ↓ b.eq 3f4 2.30 add x24, x0, #0x10 ldr w25, [x0, #8] 0.57 94: ldp w0, w1, [x23, #8] 0.57 and w0, w0, #0x7fffffff 0.57 mov w0, w0 0.57 add x2, x0, w1, uxtw 0.57 cmp x2, w25, uxtw ↓ b.hi 430 0.57 add x24, x24, x0 asr w25, w1, #0 b4: ldr w0, [x19, #40] ↓ tbnz w0, #31, 410 bc: ldr w0, [x19, #52] add w1, w0, #0x1 str w1, [x19, #52] 2.87 cmp w0, w25 ↓ b.cs 458 1.72 mov w1, #0x22 // #34 0.57 strb w1, [x24, w0, uxtw #0] 1.15 ldr w0, [x19, #52] 0.57 cmp w0, w25 0.57 ↓ b.hi 430 2.30 mov w1, w0 add x1, x24, x1 sub w0, w25, w0 ↓ cbz w20, 378 stp x1, x21, [x29, #24] cmp w22, w0 ↓ b.gt 448 0.57 asr w2, w20, #0 104: mov x0, x21 mov x3, x1 add x4, x0, w20, uxtw add x5, x0, w2, uxtw cmp w2, #0x10 ↓ b.lt 260 sub x2, x5, #0x30 cmp x2, x0 ↓ b.cc 1d8 mov x0, x21 0.57 mov x3, x1 130: ld3 {v16.16b-v18.16b}, [x0] 8.62 ushr v19.16b, v16.16b, #2 ushr v20.16b, v17.16b, #4 0.57 ldr q21, instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteBase64Minimized(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]+0xffffffffff2a25e8> brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5010010005, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-40822-32571.so 5.38 stp x29, x30, [sp, #-16]! 2.31 mov x29, sp 2.31 sub x3, x0, x1 sub x4, x1, x0 0.77 cmp x3, x2 ccmp x4, x2, #0x0, cs // cs = hs, nlast ↓ b.cc 124 add x3, x1, x2 1.54 add x4, x0, x2 cmp x2, #0x10 ↓ b.ls d4 cmp x2, #0x40 ↓ b.ls 98 cmp x2, #0x100 ↓ b.cc 68 mov x5, x0 and x5, x5, #0x3f neg x5, x5 add x5, x5, #0x40 0.77 ldp q16, q17, [x1] 2.31 stp q16, q17, [x0] 0.77 ldp q16, q17, [x1, #32] 0.77 stp q16, q17, [x0, #32] 0.77 add x1, x1, x5 0.77 add x0, x0, x5 sub x2, x2, x5 68: lsr x5, x2, #6 2.31 6c: ldp q16, q17, [x1] 24.62 stp q16, q17, [x0] 1.54 ldp q16, q17, [x1, #32] 26.92 stp q16, q17, [x0, #32] 6.15 add x0, x0, #0x40 add x1, x1, #0x40 3.08 sub x5, x5, #0x1 0.77 ↑ cbnz x5, 6c and x2, x2, #0x3f 0.77 cmp x2, #0x10 ↓ b.ls a8 98: ldr q16, [x1] 0.77 str q16, [x0] 1.54 cmp x2, #0x20 ↓ b.hi b8 a8: ldur q16, [x3, #-16] 3.08 stur q16, [x4, #-16] 2.31 b0: ldp x29, x30, [sp], #16 5.38 ← ret b8: ldr q16, [x1, #16] 0.77 str q16, [x0, #16] cmp x2, #0x30 ↑ b.ls a8 ldr q16, [x1, #32] str q16, [x0, #32] 0.77 ↑ b a8 d4: tst w2, #0x18 ↓ b.eq f0 0.77 ldr x2, [x1] str x2, [x0] ldur x1, [x3, #-8] stur x1, [x4, #-8] ↑ 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, #0x6e38 // #28216 movk x3, #0x45f3, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] ldp x29, x30, [sp], #16 → br x3 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5010010005, [percent: local period] instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-40822-32586.so Percent stp x29, x30, [sp, #-64]! 2.42 stp x19, x20, [sp, #32] 0.81 stp x21, x22, [sp, #48] 1.61 mov x29, sp 1.61 str xzr, [x29, #24] 1.61 mov x19, x0 1.61 mov x21, x1 4.03 mov w20, w2 mov w22, wzr 0.81 cmp w20, #0x8 ↓ b.ge b0 2c: mov x0, xzr 1.61 cmp w20, #0x0 0.81 csel x0, x0, x21, eq // eq = none 1.61 str x0, [x29, #24] 0.81 mov w1, w20 mov w2, w22 1.61 cmp x2, x1 ↓ b.cs 90 ldrsb wzr, [x19] 0.81 sub x3, x1, x2 cmp x3, #0x8 ↓ b.cs 154 5c: cmp x2, x1 1.61 ↓ b.cs 90 2.42 64: add x3, x19, #0x420 3.23 ldrh w4, [x0, x2, lsl #1] 2.42 lsr w5, w4, #5 5.65 ldr w3, [x3, w5, uxtw #2] 8.06 mov w5, #0x1 // #1 17.74 lsl w4, w5, w4 5.65 tst w3, w4 0.81 ↓ b.eq 90 17.74 add x2, x2, #0x1 1.61 cmp x2, x1 0.81 ↑ b.cc 64 90: mov w0, #0xffffffff // #-1 cmp w2, w1 0.81 csel w2, w2, w0, ne // ne = any 0.81 mov w0, w2 ldp x21, x22, [sp, #48] 0.81 ldp x19, x20, [sp, #32] 1.61 ldp x29, x30, [sp], #64 0.81 ← ret b0: ldr x0, [x19, #24] ↓ cbz x0, 10c ldr x2, [x0] 2.42 mov x1, #0xac90 // #44176 1.61 movk x1, #0x455c, lsl #16 movk x1, #0xedec, lsl #32 cmp x2, x1 ↓ b.ne 128 add x2, x0, #0x8 mov x0, x21 mov w1, w20 mov x3, #0x6d48 // #27976 movk x3, #0x45e9, lsl #16 movk x3, #0xedec, lsl #32 ldr x3, [x3] → blr x3 f0: asr w22, w0, #0 cmp w22, w20 ↓ b.cc 144 fc: ldp x21, x22, [sp, #48] 1.61 ldp x19, x20, [sp, #32] ldp x29, x30, [sp], #64 ← ret 10c: mov w0, #0x6 // #6 mov x1, #0xeb68 // #60264 movk x1, #0x4543, lsl #16 movk x1, #0xedec, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 128: mov x1, x21 mov w2, w20 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↑ b f0 144: ldrh w1, [x21, w22, uxtw #1] cmp w1, #0x7f ↑ b.gt 2c ↑ b fc 154: mov x3, xzr add x4, x19, #0x420 ldrh w5, [x0, x2, lsl #1] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x1 // #1 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #2] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x2 // #2 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #4] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x3 // #3 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #6] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x4 // #4 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #8] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x5 // #5 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #10] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x6 // #6 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #12] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 mov x3, #0x7 // #7 add x4, x19, #0x420 add x5, x0, x2, lsl #1 ldrh w5, [x5, #14] lsr w6, w5, #5 ldr w4, [x4, w6, uxtw #2] mov w6, #0x1 // #1 lsl w5, w6, w5 tst w4, w5 ↓ b.eq 2a4 add x2, x2, #0x8 sub x3, x1, x2 cmp x3, #0x8 ↑ b.cs 154 ↑ b 5c 2a4: add x2, x2, x3 ↑ b 90