Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5006006001, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-45656-32569.so 0.61 stp x29, x30, [sp, #-80]! 0.77 stp x19, x20, [sp, #24] 0.46 stp x21, x22, [sp, #40] 0.23 stp x23, x24, [sp, #56] 0.54 str x25, [sp, #72] 0.15 mov x29, sp mov x19, x0 0.38 ldr w20, [x19, #32] 0.15 asr w21, w20, #0 0.38 ldp x23, x22, [x19] 0.31 ldrb w24, [x19, #40] 0.31 ldrb w25, [x19, #44] 0.38 ldrb w0, [x19, #68] 0.31 ↓ cbnz w0, 338 0.31 38: ldr w0, [x19, #88] 0.38 ↓ cbz w0, 3c0 0.31 uxtb w0, w1 0.38 cmp w0, #0x2c ↓ b.ne 2e8 0.38 add w0, w20, #0x1 0.31 str w0, [x19, #32] 0.54 ldr x0, [x19, #8] add x0, x0, #0x1 0.15 str x0, [x19, #8] 0.38 ldr w0, [x19, #32] 0.54 ldr w1, [x19, #56] cmp x1, w0, sxtw 0.23 ↓ b.le 418 1.00 add x20, x19, #0x30 mov x1, x20 0.38 ldr w2, [x1, #8] 0.38 cmp w0, w2 ↓ b.cs 83c 0.92 ldr x1, [x1] 0.38 ldrb w1, [x1, w0, uxtw #0] 0.31 cmp w1, #0x20 ↓ b.le 478 0.84 94: ldrsw x0, [x19, #32] 0.08 str x0, [x19, #24] 0.23 ldrb w0, [x19, #68] 0.46 cmp w0, #0x2 ↓ b.eq 50c 0.23 a8: ldrb w2, [x19, #38] 0.23 ↓ cbz w2, 780 0.15 cmp w1, #0x22 ↓ b.ne 53c 0.23 strb wzr, [x19, #44] 0.08 ldr w1, [x19, #32] 0.15 add w1, w1, #0x1 0.15 ldr w2, [x20, #8] 0.08 cmp w1, w2 ↓ b.hi 604 0.46 ldr x0, [x20] mov w3, w1 0.15 add x0, x0, x3 0.15 sub w20, w2, w1 0.15 mov x1, #0x3358 // #13144 0.08 movk x1, #0xc900, lsl #16 0.38 movk x1, #0xfe44, lsl #32 0.38 ldr x1, [x1] add x1, x1, #0x8 0.23 mov x2, x0 0.08 cmp w20, #0x8 ↓ b.lt 5a4 0.69 ldr q16, [x1] 0.31 cmp w20, #0x10 ↓ b.le 258 0.08 sub w1, w20, #0x10 0.08 mov w1, w1 0.23 add x1, x0, x1 movi v17.16b, #0xf 0.54 ldr q18, instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0x850 0.92 120: ldr q19, [x2] 1.00 and v20.16b, v19.16b, v17.16b 0.08 tbl v20.16b, {v16.16b}, v20.16b 0.61 sshr v19.16b, v19.16b, #4 tbl v19.16b, {v18.16b}, v19.16b 0.23 and v19.16b, v20.16b, v19.16b 0.08 umaxp v20.4s, v19.4s, v19.4s 0.61 mov x3, v20.d[0] 0.61 cmp x3, #0x0 ↓ b.eq 24c 17.20 cmeq v17.16b, v19.16b, #0 0.15 mvn v16.16b, v17.16b 0.38 shrn v18.8b, v16.8h, #4 0.08 mov x1, v18.d[0] 0.08 rbit x1, x1 0.08 clz x1, x1 0.23 lsr w1, w1, #2 0.15 mov w3, #0xffffffff // #-1 0.23 cmp w1, #0x10 csel w1, w1, w3, ne // ne = any 0.38 sub x2, x2, x0 0.08 add w3, w2, w1 0.23 178: ↓ tbnz w3, #31, 644 23.73 cmp w3, w20 ↓ b.cs 83c 1.08 ldrb w1, [x0, w3, uxtw #0] 5.91 cmp w1, #0x22 ↓ b.ne 61c 2.61 ldr x1, [x19, #8] 0.08 add w2, w3, #0x2 0.23 add x1, x1, w2, sxtw 0.23 str x1, [x19, #8] 0.46 cmp w3, w20 ↓ b.hi 604 0.31 str x0, [x19, #152] str w3, [x19, #160] 0.23 strb wzr, [x19, #46] 0.77 mov w0, #0x7 // #7 0.31 strb w0, [x19, #40] 0.15 ldr w1, [x19, #32] 0.38 add w1, w1, w3 0.08 add w1, w1, #0x2 0.23 str w1, [x19, #32] 0.69 1cc: ldr w0, [x19, #32] 1.84 ldr w1, [x19, #56] cmp x1, w0, sxtw 0.61 ↓ b.le 69c 6.68 add x20, x19, #0x30 0.23 mov x1, x20 0.23 ldr w2, [x1, #8] 0.31 cmp w0, w2 ↓ b.cs 83c 0.15 ldr x1, [x1] 0.08 ldrb w2, [x1, w0, uxtw #0] 0.77 cmp w2, #0x20 ↓ b.le 6bc 1.69 200: cmp w2, #0x3a ↓ b.ne 758 0.46 ldr w3, [x19, #32] add w3, w3, #0x1 0.15 str w3, [x19, #32] 0.38 ldr x3, [x19, #8] add x3, x3, #0x1 0.31 str x3, [x19, #8] 0.23 mov w3, #0x5 // #5 0.23 strb w3, [x19, #40] 0.15 228: mov w20, wzr 22c: ↓ cbnz w20, 808 0.15 mov w0, #0x1 // #1 0.23 ldr x25, [sp, #72] 0.08 ldp x23, x24, [sp, #56] 0.46 ldp x21, x22, [sp, #40] 0.38 ldp x19, x20, [sp, #24] 0.31 ldp x29, x30, [sp], #80 ← ret 3.15 24c: add x2, x2, #0x10 0.08 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 mov x3, v16.d[0] 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 0.08 2e8: uxtb w0, w1 cmp w0, #0x7d ↓ b.ne 310 0.08 2f4: mov x0, x19 0.08 mov x1, #0xc570 // #50544 movk x1, #0x89d6, lsl #16 0.15 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 0.08 ↑ b 228 310: uxtb w0, w1 cmp w0, #0x5d ↓ b.ne 7dc 31c: mov x0, x19 0.08 mov x1, #0xc5a0 // #50592 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → 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, #0xc7e0 // #51168 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0xc828 // #51240 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 asr w20, w0, #0 ↑ b 22c 39c: uxtb w1, w1 mov x0, x19 mov x2, #0xc840 // #51264 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, 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, #0xc5d0 // #50640 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, 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, #0xc510 // #50448 movk x5, #0x89d6, lsl #16 movk x5, #0xfe4c, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 418: mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0xc510 // #50448 movk x5, #0x89d6, lsl #16 movk x5, #0xfe4c, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 478: mov x0, x19 mov x1, #0xc540 // #50496 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0xc5e8 // #50664 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0xc510 // #50448 movk x5, #0x89d6, lsl #16 movk x5, #0xfe4c, 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, #0xc7e0 // #51168 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0xc510 // #50448 movk x5, #0x89d6, lsl #16 movk x5, #0xfe4c, 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, #0xc510 // #50448 movk x5, #0x89d6, lsl #16 movk x5, #0xfe4c, 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, #0x8945, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 61c: mov x1, x0 mov w2, w20 mov x0, x19 mov x4, #0xc6f0 // #50928 movk x4, #0x89d6, lsl #16 movk x4, #0xfe4c, lsl #32 ldr x4, [x4] → blr x4 ↑ cbnz w0, 1cc ↓ b 72c 644: mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0xc510 // #50448 movk x5, #0x89d6, lsl #16 movk x5, #0xfe4c, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 69c: mov x0, x19 mov x1, #0xc5e8 // #50664 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↓ cbz w0, 72c ↓ b 700 6bc: mov x0, x19 mov x1, #0xc540 // #50496 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0xc5e8 // #50664 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0xc510 // #50448 movk x5, #0x89d6, lsl #16 movk x5, #0xfe4c, 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, #0xc510 // #50448 movk x5, #0x89d6, lsl #16 movk x5, #0xfe4c, 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, #0xc510 // #50448 movk x5, #0x89d6, lsl #16 movk x5, #0xfe4c, lsl #32 ldr x5, [x5] → blr x5 brk #0xf000 7bc: mov x0, x19 mov x2, #0xc5b8 // #50616 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, 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, #0xc510 // #50448 movk x5, #0x89d6, lsl #16 movk x5, #0xfe4c, 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 ffffffffff2afac8 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5006006001, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-45656-32766.so Percent sub sp, sp, #0x1c0 stp x19, x20, [sp, #352] stp x21, x22, [sp, #368] stp x23, x24, [sp, #384] stp x25, x26, [sp, #400] 0.08 stp x27, x28, [sp, #416] stp x29, x30, [sp, #432] 0.08 add x29, sp, #0x1b0 movi v16.16b, #0x0 sub x9, x29, #0x158 0.08 sub x10, x29, #0xa8 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 0.25 38: dc zva, x9 0.08 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 stp q16, q16, [x10] stp q16, q16, [x10, #32] mov x4, #0x6d69 // #28009 0.08 movk x4, #0x80a5, lsl #16 movk x4, #0x300f, lsl #32 movk x4, #0x99cb, lsl #48 stur x4, [x29, #-88] stur x1, [x29, #-104] stur x2, [x29, #-96] mov x19, x0 mov w20, w3 mov w0, #0xaaaa // #43690 movk w0, #0x2aaa, lsl #16 0.08 cmp w2, w0 ↓ b.gt 1fd4 mov x17, #0xfffffffffffffe58 // #-424 0.17 str xzr, [x29, x17] cmp w2, #0x55 ↓ b.le 1fc4 0.08 mov w0, #0x5555 // #21845 movk w0, #0x1555, lsl #16 cmp w2, w0 ↓ b.gt 1f8c mov x0, #0x3338 // #13112 movk x0, #0xc900, lsl #16 movk x0, #0xfe44, lsl #32 ldr x21, [x0] mov x22, x21 mov w0, #0x3 // #3 mul w23, w2, w0 mov x0, #0xdc0 // #3520 movk x0, #0xc900, lsl #16 movk x0, #0xfe44, lsl #32 ldr x24, [x0] 0.17 sub w0, w23, #0x1 orr w0, w0, #0xf clz w0, w0 eor w0, w0, #0x1f sub w25, w0, #0x3 mov x0, #0x5bd8 // #23512 movk x0, #0x89da, lsl #16 0.08 movk x0, #0xfe4c, lsl #32 mov x1, #0x67f0 // #26608 0.08 movk x1, #0x89d6, lsl #16 0.08 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x0, #16] 0.51 ↓ cbz x0, 2054 0.08 ldr w1, [x0, #8] 0.76 cmp w1, w25 ↓ b.ls 2054 0.08 ubfiz x1, x25, #4, #32 add x1, x1, #0x10 ldr x26, [x0, x1] 0.08 ↓ cbz x26, 2054 0.08 str xzr, [x0, x1] ldrb w0, [x24, #157] ↓ cbnz w0, 1ff0 134: mov x17, #0xfffffffffffffe58 // #-424 str x26, [x29, x17] 13c: ↓ cbz x26, 23c8 add x21, x26, #0x10 ldr w22, [x26, #8] 0.17 148: mov x17, #0xfffffffffffffe50 // #-432 0.08 str x21, [x29, x17] mov x17, #0xfffffffffffffe64 // #-412 str w22, [x29, x17] ldur x0, [x29, #-104] ldur x1, [x29, #-96] mov x2, x21 mov w3, w22 mov x4, #0x7f48 // #32584 movk x4, #0x89d6, lsl #16 movk x4, #0xfe4c, 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] stur w0, [x29, #-112] 0.17 ldur w21, [x29, #-112] 0.08 ↓ cbz w21, d2c 0.08 tst w20, #0xff ↓ b.ne d20 ldur x1, [x29, #-120] ldur w2, [x29, #-112] mov x17, #0xfffffffffffffe80 // #-384 str xzr, [x29, x17] mov x17, #0xfffffffffffffe88 // #-376 str xzr, [x29, x17] mov x17, #0xfffffffffffffe90 // #-368 strb wzr, [x29, x17] 0.08 mov x17, #0xfffffffffffffe91 // #-367 strb wzr, [x29, x17] 0.08 mov x17, #0xfffffffffffffe92 // #-366 0.08 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] 0.17 mov x17, #0xfffffffffffffe98 // #-360 str xzr, [x29, x17] sub x0, x29, #0x160 stp xzr, xzr, [x0] str xzr, [x0, #16] sub x0, x29, #0x138 0.08 sub x4, x29, #0x180 mov w3, #0x1 // #1 mov x5, #0xc378 // #50040 movk x5, #0x89d6, lsl #16 0.08 movk x5, #0xfe4c, lsl #32 ldr x5, [x5] → blr x5 ↓ b 5ec 0.34 22c: mov x17, #0xfffffffffffffef4 // #-268 0.42 strb wzr, [x29, x17] 0.42 cmp w2, #0x22 ↓ b.eq 4b0 0.76 cmp w2, #0x7b ↓ b.eq 400 0.42 cmp w2, #0x5b ↓ b.eq 350 1.02 sub w0, w2, #0x30 0.08 mov w1, #0x2d // #45 0.25 cmp w0, #0x9 ccmp w2, w1, #0x4, hi // hi = pmore 0.17 ↓ b.eq 1498 4.15 cmp w2, #0x66 ↓ b.ne 314 0.42 mov x17, #0xfffffffffffffee8 // #-280 ldr w1, [x29, x17] 0.08 ldur w20, [x29, #-256] cmp w1, w20 ↓ b.hi 1e00 0.08 mov x17, #0xfffffffffffffef8 // #-264 0.17 ldr x2, [x29, x17] 0.08 mov w3, w1 add x2, x2, x3 0.08 sub w3, w20, w1 0.08 mov x1, x2 cmp w3, #0x5 ↓ b.lt 18ec mov x4, x1 0.17 mov x0, #0x95ae // #38318 movk x0, #0xd555, lsl #16 0.08 movk x0, #0xfe4c, lsl #32 0.17 ldr w5, [x4] 0.34 ldur w4, [x4, #1] 0.08 ldr w6, [x0] ldur w0, [x0, #1] cmp w5, w6 ccmp w4, w0, #0x0, eq // eq = none 0.08 cset x4, eq // eq = none ↓ cbz w4, 18ec 1.36 stur x1, [x29, #-160] 0.08 mov w1, #0x5 // #5 0.08 stur w1, [x29, #-152] 0.08 mov w1, #0xa // #10 mov x17, #0xfffffffffffffef0 // #-272 0.08 strb w1, [x29, x17] 0.08 mov x17, #0xfffffffffffffee8 // #-280 0.08 ldr w1, [x29, x17] add w1, w1, #0x5 0.17 mov x17, #0xfffffffffffffee8 // #-280 0.08 str w1, [x29, x17] 0.25 mov x17, #0xfffffffffffffed0 // #-304 ldr x1, [x29, x17] add x1, x1, #0x5 0.17 mov x17, #0xfffffffffffffed0 // #-304 str x1, [x29, x17] 0.08 mov w20, #0x1 // #1 310: ↓ b 5e0 0.17 314: cmp w2, #0x74 ↓ b.ne 1254 0.17 mov x1, #0x9612 // #38418 0.08 movk x1, #0xd555, lsl #16 movk x1, #0xfe4c, lsl #32 mov w2, #0x4 // #4 sub x0, x29, #0x138 0.08 mov w3, #0x9 // #9 mov x4, #0xc798 // #51096 movk x4, #0x89d6, lsl #16 movk x4, #0xfe4c, lsl #32 ldr x4, [x4] → blr x4 0.08 asr w20, w0, #0 0.08 ↓ b 5e0 0.17 350: ldur w0, [x29, #-224] ldur w1, [x29, #-248] cmp w0, w1 ↓ b.ge 1c04 ldur w0, [x29, #-224] cmp w0, #0x40 ↓ b.ge 1478 0.08 ldur x0, [x29, #-232] lsl x0, x0, #1 stur x0, [x29, #-232] 378: ldur w0, [x29, #-224] add w0, w0, #0x1 0.08 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 mov x17, #0xfffffffffffffef8 // #-264 ldr x1, [x29, x17] mov w0, w0 add x0, x1, x0 stur x0, [x29, #-160] mov w0, #0x1 // #1 stur w0, [x29, #-152] mov x17, #0xfffffffffffffee8 // #-280 ldr w0, [x29, x17] add w0, w0, #0x1 mov x17, #0xfffffffffffffee8 // #-280 str w0, [x29, x17] 0.08 mov x17, #0xfffffffffffffed0 // #-304 0.08 ldr x0, [x29, x17] add x0, x0, #0x1 mov x17, #0xfffffffffffffed0 // #-304 str x0, [x29, x17] 0.17 mov w0, #0x3 // #3 mov x17, #0xfffffffffffffef0 // #-272 strb w0, [x29, x17] mov x17, #0xfffffffffffffeee // #-274 0.08 strb wzr, [x29, x17] 3f8: mov w20, #0x1 // #1 ↓ b 5e0 400: 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] 42c: 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 3f8 0.08 4b0: mov x17, #0xfffffffffffffee8 // #-280 0.08 ldr w1, [x29, x17] 0.08 add w1, w1, #0x1 0.25 ldur w20, [x29, #-256] cmp w1, w20 ↓ b.hi 1e00 0.59 mov x17, #0xfffffffffffffef8 // #-264 0.08 ldr x2, [x29, x17] 0.08 mov w0, w1 0.08 add x2, x2, x0 0.08 sub w20, w20, w1 mov x1, #0x3358 // #13144 movk x1, #0xc900, lsl #16 movk x1, #0xfe44, lsl #32 ldr x1, [x1] add x1, x1, #0x8 0.08 mov x0, x2 0.17 cmp w20, #0x8 ↓ b.lt 1394 0.17 ldr q16, [x1] 0.17 cmp w20, #0x10 ↓ b.le 780 0.08 sub w1, w20, #0x10 mov w1, w1 0.08 add x1, x2, x1 0.08 514: ldr q17, [x0] 0.34 movi v18.16b, #0xf and v18.16b, v17.16b, v18.16b 0.08 tbl v18.16b, {v16.16b}, v18.16b sshr v17.16b, v17.16b, #4 0.08 ldr q19, instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]+0xffffffffff29cae8> brk #0xf000 1ecc: mov x0, x19 mov x2, #0x6b08 // #27400 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ↑ b 6c0 0.08 1ee8: mov x17, #0xfffffffffffffe58 // #-424 0.08 ldr x1, [x29, x17] 0.34 ↓ cbz x1, 1f48 mov x17, #0xfffffffffffffe64 // #-412 0.08 ldr w1, [x29, x17] mov x17, #0xfffffffffffffe50 // #-432 ldr x0, [x29, x17] 0.08 mov x2, #0x5818 // #22552 0.08 movk x2, #0x8926, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0xc900, lsl #16 movk x0, #0xfe44, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 0.08 ldr x1, [x29, x17] 0.59 mov w2, wzr mov x3, #0x5ba8 // #23464 movk x3, #0x89da, lsl #16 0.17 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] → blr x3 1f48: mov x16, #0x6d69 // #28009 movk x16, #0x80a5, lsl #16 movk x16, #0x300f, lsl #32 movk x16, #0x99cb, lsl #48 ldur x17, [x29, #-88] cmp x16, x17 ↓ b.eq 1f68 bl ffffffffff2ed190 ,bool)[OptimizedTier1]+0xffffffffff2ed110> 0.08 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, #0x7ee8 // #32488 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 sxtw x1, w0 mov x0, #0xb9e8 // #47592 movk x0, #0x8936, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2ed210 ,bool)[OptimizedTier1]+0xffffffffff2ed190> mov x26, x0 ↑ b 13c 1fc4: ldr wzr, [sp], #-256 mov x21, sp mov w22, #0x100 // #256 ↑ b 148 1fd4: mov w0, w2 mov x1, #0x7ed0 // #32464 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 1ff0: mov x0, x26 mov x1, #0xde48 // #56904 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 asr w22, w0, #0 ldr w23, [x26, #8] mov x0, x21 mov x1, #0xde48 // #56904 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0x7e70 // #32368 movk x5, #0x89f5, lsl #16 movk x5, #0xfe4c, 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, #0xf868 // #63592 movk x0, #0x8a03, lsl #16 movk x0, #0xfe4c, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0x8926, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb23c // #45628 movk x0, #0x8803, lsl #16 movk x0, #0xfe4c, lsl #32 ldrb w0, [x0] ↓ cbz w0, 20b4 bl fffffffffff93860 ,bool)[OptimizedTier1]+0xfffffffffff937e0> asr w21, w0, #0 ↓ b 2128 20b4: mov x0, #0xf8b8 // #63672 movk x0, #0x8a03, lsl #16 movk x0, #0xfe4c, lsl #32 mov x1, #0x7e88 // #32392 movk x1, #0x89f5, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ldr w23, [x0, #16] mov x0, #0xf8b8 // #63672 movk x0, #0x8a03, lsl #16 movk x0, #0xfe4c, lsl #32 mov x1, #0x7e88 // #32392 movk x1, #0x89f5, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 sub w1, w23, #0x1 str w1, [x0, #16] uxth w0, w23 ↓ cbnz w0, 2124 mov x0, #0x7ea0 // #32416 movk x0, #0x89f5, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 asr w21, w0, #0 ↓ b 2128 2124: asr w21, w23, #16 2128: mov x0, #0xf6c0 // #63168 movk x0, #0x8a03, lsl #16 movk x0, #0xfe4c, lsl #32 mov x1, #0x5740 // #22336 movk x1, #0x8926, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 mov x0, #0xb230 // #45616 movk x0, #0x8803, lsl #16 movk x0, #0xfe4c, 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, #0x7eb8 // #32440 movk x1, #0x89f5, lsl #16 movk x1, #0xfe4c, 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, #0x8926, lsl #16 movk x1, #0xfe4c, 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, #0xde48 // #56904 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde48 // #56904 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0x7e70 // #32368 movk x5, #0x89f5, lsl #16 movk x5, #0xfe4c, 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, #0xcd60, lsl #16 movk x1, #0xfe4c, lsl #32 mov x2, #0x5ec0 // #24256 movk x2, #0x898b, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 22bc: cmp w23, #0x800 ↓ b.ge 22e0 sxtw x1, w23 mov x0, #0xb9e8 // #47592 movk x0, #0x8936, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2ed210 ,bool)[OptimizedTier1]+0xffffffffff2ed190> mov x26, x0 ↓ b 2300 22e0: mov w0, w23 mov w1, wzr mov x2, #0x7e40 // #32320 movk x2, #0x89c9, lsl #16 movk x2, #0xfe4c, 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, #0xde48 // #56904 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 asr w21, w0, #0 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde48 // #56904 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0x7e70 // #32368 movk x5, #0x89f5, lsl #16 movk x5, #0xfe4c, lsl #32 ldr x5, [x5] → blr x5 ldr w23, [x26, #8] mov x0, x22 mov x1, #0xde48 // #56904 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, 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, #0x7ed0 // #32464 movk x6, #0x89f5, lsl #16 movk x6, #0xfe4c, lsl #32 ldr x6, [x6] → blr x6 ↑ b 134 23c8: mov x21, xzr mov w22, wzr ↑ b 148 23d4: bl ffffffffff29cb80 ,bool)[OptimizedTier1]+0xffffffffff29cb00> brk #0xf000 23dc: bl ffffffffff29cb68 ,bool)[OptimizedTier1]+0xffffffffff29cae8> 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, #0x8926, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0x3338 // #13112 movk x0, #0xc900, lsl #16 movk x0, #0xfe44, lsl #32 ldr x0, [x0] mov x17, #0xfffffffffffffe58 // #-424 ldr x1, [x29, x17] mov w2, wzr mov x3, #0x5ba8 // #23464 movk x3, #0x89da, lsl #16 movk x3, #0xfe4c, 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.): 5006006001, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-45656-32831.so Percent stp x19, x20, [sp, #-80]! stp x21, x22, [sp, #16] stp x23, x24, [sp, #32] stp x25, x26, [sp, #48] stp x27, x28, [sp, #64] sub sp, sp, #0x320 stp x29, x30, [sp] mov x29, sp movi v16.16b, #0x0 add x9, x29, #0x118 add x10, x29, #0x2e0 stp q16, q16, [x9, #-64] stp q16, q16, [x9, #-32] bfxil x9, xzr, #0, #6 38: dc zva, x9 add x9, x9, #0x40 cmp x9, x10 ↑ b.cc 38 stp q16, q16, [x10] stp q16, q16, [x10, #32] mov x19, x0 mov x0, #0xb1b0 // #45488 movk x0, #0x8937, lsl #16 movk x0, #0xfe4c, lsl #32 mov x1, #0x67f0 // #26608 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 mov x20, x0 ldr x21, [x20, #24] ↓ cbz x21, 167c 80: ldr x2, [x21] mov x1, #0x38 // #56 movk x1, #0x89a2, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x2, x1 ↓ b.ne 1770 ldrb w2, [x21, #43] ↓ cbz w2, 16b8 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, 16d4 str w22, [x21, #28] ldrb w2, [x21, #41] ↓ cbz w2, 17a4 ↓ tbnz w22, #31, 17bc ldr w2, [x21, #36] cmp w22, w2 ↓ b.gt 180c ldr w2, [x21, #32] cmp w22, w2 ↓ b.gt 1874 e4: str w22, [x21, #32] ldr w0, [x21, #28] cmp w0, w22 ↓ b.gt 189c f4: ldr x22, [x20, #16] ↓ cbz x22, 18a4 ldr x0, [x22, #16] ↓ cbz x0, 1910 104: ldr x0, [x21] mov x1, #0x38 // #56 movk x1, #0x89a2, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x0, x1 ↓ b.ne 1930 ldrb w20, [x21, #41] 120: ↓ cbz w20, 194c add x14, x22, #0x10 mov x15, x21 bl fffffffffe0548b4 ldr x20, [x22, #24] ↓ cbz x20, 199c ldr x1, [x20, #8] ldr w0, [x20, #16] ↓ cbz x1, 19d4 ldr w2, [x1, #8] cmp w2, w0 ↓ b.cc 2920 add x2, x1, #0x10 154: mov w1, w0 mov x0, x2 mov x2, #0x5818 // #22552 movk x2, #0x8926, lsl #16 movk x2, #0xfe4c, 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 19e4 1b8: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1a00 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 1a20 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 1a40 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 2920 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 29a8 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 29a8 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, #0xcd61, lsl #16 movk x20, #0xfe4c, lsl #32 ldr w2, [x22, #40] and w2, w2, #0x7fffffff ldr w3, [x22, #120] cmp w2, w3 ↓ b.ge 1a5c 2a4: add x1, x22, #0x70 ldr x0, [x1] str x20, [x29, #776] mov x1, x20 mov x2, #0x2e08 // #11784 movk x2, #0xc900, lsl #16 movk x2, #0xfe44, lsl #32 ldr x2, [x2] cmp x0, #0x0 csel x0, x0, x2, ne // ne = any ldr x2, [x0] mov x3, #0xab98 // #43928 movk x3, #0x89d8, lsl #16 movk x3, #0xfe4c, lsl #32 cmp x2, x3 ↓ b.ne 1a84 ldr x0, [x0, #8] ldrsb wzr, [x0] mov w2, #0x7 // #7 mov x3, #0x7d20 // #32032 movk x3, #0x89d6, lsl #16 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] → blr x3 asr w4, w0, #0 308: str xzr, [x29, #776] cmn w4, #0x1 ↓ b.ne 1aa0 ldr w0, [x22, #124] ↓ tbz w0, #1, 1ac8 31c: ldr w0, [x22, #124] ↓ tbnz w0, #0, 1b4c ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x1a ↓ b.lt 1b74 338: add x23, x22, #0x40 mov x24, xzr mov w25, wzr ldr x0, [x23] ↓ cbz x0, 384 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 1b94 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 2920 add x24, x24, x2 asr w25, w5, #0 384: ldr w2, [x22, #40] ↓ tbnz w2, #31, 1bb0 38c: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 29a8 mov w2, #0x22 // #34 strb w2, [x24, w23, uxtw #0] ldr w2, [x22, #52] cmp w2, w25 ↓ b.hi 2920 mov w5, w2 add x23, x24, x5 sub w3, w25, w2 str x20, [x29, #768] mov x2, x20 str x23, [x29, #760] str x2, [x29, #752] str x23, [x29, #744] mov x0, x20 mov x2, x23 add x5, x29, #0x2e8 add x4, x29, #0x2f0 mov w1, #0x7 // #7 mov x6, #0x78e8 // #30952 movk x6, #0x8926, lsl #16 movk x6, #0xfe4c, lsl #32 ldr x6, [x6] → blr x6 ldr w1, [x29, #744] sub w1, w1, w23 str xzr, [x29, #768] str xzr, [x29, #760] ldr w2, [x22, #52] add w23, w2, w1 str w23, [x22, #52] add w1, w23, #0x1 str w1, [x22, #52] cmp w23, w25 ↓ b.cs 29a8 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 29a8 mov w1, #0x3a // #58 strb w1, [x24, w23, uxtw #0] ldr w23, [x22, #52] 0.10 add w1, w23, #0x1 str w1, [x22, #52] cmp w23, w25 ↓ b.cs 29a8 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 d64 494: mov x24, xzr mov w23, #0xffffffff // #-1 mov w0, wzr ↓ b da0 4a4: ldr x0, [x24] 1.20 mov x1, #0xea90 // #60048 0.70 movk x1, #0x8929, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x0, x1 ↓ b.ne da8 0.10 ldr w0, [x24, #8] ↓ cbz w0, d64 ldr w0, [x22, #124] ↓ tbz w0, #1, 1bf0 0.20 4cc: add x1, x24, #0xc 0.10 ldr w2, [x24, #8] mov x0, x22 0.10 mov w3, wzr mov x4, #0x7eb8 // #32440 movk x4, #0x89d6, lsl #16 movk x4, #0xfe4c, lsl #32 ldr x4, [x4] → blr x4 0.10 ↓ b d64 4f4: ldapur x5, [x5, #24] ↓ cbz x5, 258c ldr w2, [x29, #228] ↓ b 14e0 504: ldr x7, [x29, #104] 508: ldapur x5, [x5, #24] ↓ cbz x5, 260c ldr w2, [x29, #228] 514: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 504 str x5, [x29, #24] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xecd8 // #60632 movk x1, #0x8974, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x0, x1 ↓ b.ne 2594 ldr x4, [x29, #32] ↓ cbz x6, 25cc ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x8803, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x0, x1 ↓ b.ne 25d8 ldr x7, [x29, #104] cmp x7, x6 cset x8, eq // eq = none 56c: ↓ cbz w8, 2604 ↓ b 1520 574: mov x0, x26 mov x1, x22 ldr x2, [x29, #392] mov x3, #0x73a0 // #29600 movk x3, #0x89db, lsl #16 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] → blr x3 ↓ b 628 598: movi v16.16b, #0x0 0.10 str xzr, [x29, #232] 0.10 stp q16, q16, [x29, #240] stp q16, q16, [x29, #272] stp q16, q16, [x29, #304] 0.10 stp q16, q16, [x29, #336] 0.10 str q16, [x29, #368] str xzr, [x29, #384] str x28, [x29, #336] ldr x0, [x28, #208] str x0, [x29, #328] 0.50 ldr x0, [x29, #328] 0.30 ldr x0, [x0, #200] 0.50 str x0, [x29, #376] 0.20 strb wzr, [x29, #310] 0.10 strb wzr, [x29, #311] ldr x26, [x28, #184] 0.10 ldr w0, [x26, #140] ↓ cbnz w0, 2728 5e4: ldr x0, [x28, #344] 0.10 ldr x3, [x28, #184] add x2, x29, #0x188 add x4, x29, #0xe8 mov x1, x22 mov x5, #0xfd98 // #64920 movk x5, #0x89de, lsl #16 movk x5, #0xfe4c, lsl #32 0.10 ldr x5, [x5] ldr wzr, [x0] → blr x5 0.10 610: mov x0, x22 0.10 mov x1, #0x68e0 // #26848 movk x1, #0x89d6, lsl #16 0.20 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] 0.10 → blr x1 628: str xzr, [x29, #392] mov w26, w27 ↓ b 6c4 634: add x0, x29, #0x1a0 movi v16.16b, #0x0 stp q16, q16, [x0] stp q16, q16, [x0, #32] stp q16, q16, [x0, #64] stp q16, q16, [x0, #96] stp q16, q16, [x0, #128] str x26, [x29, #520] ldr x0, [x26, #208] str x0, [x29, #512] ldr x0, [x29, #512] ldr x0, [x0, #200] str x0, [x29, #560] strb wzr, [x29, #494] strb wzr, [x29, #495] ldr x0, [x26, #184] ldr w1, [x0, #140] ↓ cbnz w1, 2790 67c: ldr x0, [x26, #344] ldr x3, [x26, #184] add x2, x29, #0x240 add x4, x29, #0x1a0 mov x1, x22 mov x5, #0xfd98 // #64920 movk x5, #0x89de, lsl #16 movk x5, #0xfe4c, lsl #32 ldr x5, [x5] ldr wzr, [x0] → blr x5 6a8: mov x0, x22 mov x1, #0x68e0 // #26848 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 mov w26, w27 0.10 6c4: ldr w1, [x25, #68] 0.20 cmp w24, w1 ↓ b.ne 2938 0.20 ldr w1, [x25, #56] 0.10 cmp w26, w1 ↓ b.cs c90 0.10 6dc: ldr x1, [x25, #16] 0.10 add w2, w26, #0x1 asr w27, w2, #0 0.10 ldr w2, [x1, #8] 0.50 cmp w26, w2 ↓ b.cs 29a8 0.40 mov w2, #0x18 // #24 0.10 mov x0, #0x10 // #16 0.10 umaddl x2, w26, w2, x0 0.10 add x1, x1, x2 0.10 ldr w2, [x1, #20] 0.10 cmn w2, #0x1 ↓ b.lt 27b0 0.40 ldp x2, x26, [x1] 0.10 ↓ cbz x2, 2864 0.10 add x28, x2, #0xc ldr w3, [x2, #8] 1.70 str w3, [x29, #692] 0.10 mov w1, #0x21aa // #8618 movk w1, #0x9ef, lsl #16 0.30 cmp w3, w1 ↓ b.gt 2888 0.40 add x1, x22, #0x70 0.20 ldr x0, [x1] 0.10 ↓ cbz w3, 1e44 str x28, [x29, #680] 0.10 mov x1, x28 ↓ cbnz x0, 75c mov x0, #0x2e08 // #11784 0.10 movk x0, #0xc900, lsl #16 0.30 movk x0, #0xfe44, lsl #32 ldr x0, [x0] 0.10 75c: ldr x2, [x0] mov x4, #0xab98 // #43928 0.20 movk x4, #0x89d8, lsl #16 movk x4, #0xfe4c, lsl #32 0.20 cmp x2, x4 ↓ b.ne 1e54 0.30 ldr x0, [x0, #8] ldrsb wzr, [x0] 0.10 mov w2, w3 mov x4, #0x7d20 // #32032 movk x4, #0x89d6, lsl #16 0.10 movk x4, #0xfe4c, lsl #32 0.20 ldr x4, [x4] 0.10 → blr x4 0.10 asr w3, w0, #0 0.10 798: str xzr, [x29, #680] 0.20 cmn w3, #0x1 0.10 ↓ b.ne 1648 0.10 ldr w0, [x22, #124] ↓ tbz w0, #1, 1e70 7ac: ldr w0, [x22, #124] 0.20 ↓ tbnz w0, #0, 1ea4 0.10 mov w0, #0x3 // #3 0.20 ldr w2, [x29, #692] 0.10 mul w0, w2, w0 0.20 add w0, w0, #0x4 0.10 ldr w1, [x22, #76] ldr w3, [x22, #52] 0.10 sub w3, w1, w3 0.20 cmp w3, w0 ↓ b.ge 840 0.10 ↓ cbnz w1, 1fd4 cmp w0, #0x100 0.20 ↓ b.gt 1ec8 0.30 mov w1, #0x100 // #256 7e8: ldr x0, [x22, #16] 0.20 ↓ cbz x0, 1f84 ldr x3, [x22, #24] 0.10 str x3, [x29, #200] 0.30 ldrsb wzr, [x3] 0.20 ldr x0, [x3, #8] 0.40 ldr w0, [x0, #8] 0.30 ldr w4, [x3, #16] sub w0, w0, w4 0.20 cmp w0, w1 ↓ b.lt 1ed0 0.50 814: ldr x15, [x3, #8] ldr w0, [x3, #16] ↓ cbz x15, 1f70 0.10 ldr w14, [x15, #8] 0.10 cmp w14, w0 ↓ b.cc 2920 ldr w14, [x15, #8] sub w1, w14, w0 0.10 834: add x14, x22, #0x40 0.10 bl fffffffffe0548b4 stp w0, w1, [x22, #72] 0.10 840: add x1, x22, #0x40 0.10 str x1, [x29, #184] 0.30 mov x3, xzr mov w4, wzr ldr x0, [x1] 0.20 ↓ cbz x0, 894 ldr x3, [x0] ldr w4, [x3] 0.40 tst w4, #0x80000000 ↓ b.eq 20d8 1.00 add x3, x0, #0x10 0.10 ldr w4, [x0, #8] 870: ldr x1, [x29, #184] ldp w5, w1, [x1, #8] 0.20 and w5, w5, #0x7fffffff 0.10 mov w5, w5 0.10 add x0, x5, w1, uxtw cmp x0, w4, uxtw 0.20 ↓ b.hi 2920 1.30 add x3, x3, x5 asr w4, w1, #0 0.10 894: ldr w5, [x22, #40] 0.10 ↓ tbz w5, #31, 8b8 0.10 ldr w6, [x22, #52] 0.30 add w5, w6, #0x1 str w5, [x22, #52] 0.40 cmp w6, w4 ↓ b.cs 29a8 0.10 mov w5, #0x2c // #44 strb w5, [x3, w6, uxtw #0] 0.10 8b8: ldr w6, [x22, #52] 0.20 add w5, w6, #0x1 str w5, [x22, #52] cmp w6, w4 ↓ b.cs 29a8 mov w5, #0x22 // #34 strb w5, [x3, w6, uxtw #0] ldr w5, [x22, #52] 0.80 cmp w5, w4 ↓ b.hi 2920 0.20 mov w1, w5 0.20 str x3, [x29, #192] add x6, x3, x1 0.10 str w4, [x29, #620] 0.10 sub w7, w4, w5 0.10 str x28, [x29, #608] 0.10 mov x5, x28 str x6, [x29, #600] 0.20 str x6, [x29, #208] 0.20 str x5, [x29, #592] str x6, [x29, #584] ldr w2, [x29, #692] 0.20 ↓ cbz w2, 944 0.10 mov x0, x28 mov x2, x6 add x5, x29, #0x248 add x4, x29, #0x250 ldr w1, [x29, #692] mov w3, w7 0.20 mov x7, #0x78e8 // #30952 movk x7, #0x8926, lsl #16 movk x7, #0xfe4c, lsl #32 0.20 ldr x7, [x7] 0.20 → blr x7 0.10 ldr x6, [x29, #208] 0.20 944: ldr w1, [x29, #584] sub w1, w1, w6 0.10 str xzr, [x29, #608] str xzr, [x29, #600] 0.10 ldr w2, [x22, #52] add w6, w2, w1 0.10 str w6, [x22, #52] 0.10 add w1, w6, #0x1 0.10 str w1, [x22, #52] 0.10 ldr w4, [x29, #620] 0.40 cmp w6, w4 ↓ b.cs 29a8 0.40 mov w1, #0x22 // #34 0.10 ldr x3, [x29, #192] 0.10 strb w1, [x3, w6, uxtw #0] 0.40 ldr w6, [x22, #52] 1.20 add w1, w6, #0x1 0.70 str w1, [x22, #52] 0.20 cmp w6, w4 ↓ b.cs 29a8 0.50 mov w1, #0x3a // #58 0.20 strb w1, [x3, w6, uxtw #0] 0.50 99c: ldr w0, [x22, #40] and w0, w0, #0x7fffffff 0.10 str w0, [x22, #40] mov w0, #0x500 // #1280 0.10 sturh w0, [x22, #57] str x26, [x29, #576] 0.90 mov x0, #0x33d8 // #13272 0.20 movk x0, #0xc900, lsl #16 movk x0, #0xfe44, lsl #32 0.10 ldr x26, [x0] 0.30 ↓ cbz x26, 2104 0.10 9c8: ldapurb w0, [x26, #159] 1.80 ↓ cbz w0, 2130 0.30 9d0: ldr x1, [x26, #24] 0.20 ↓ cbz x1, 214c 0.20 9d8: mov x26, x1 ↓ cbz x26, 9f8 0.10 mov x0, #0x8de0 // #36320 movk x0, #0x89db, lsl #16 0.20 movk x0, #0xfe4c, lsl #32 0.20 ldr x2, [x26] 0.20 cmp x2, x0 ↓ b.ne 2194 0.50 9f8: ldrb w0, [x26, #278] 0.20 ↓ cbnz w0, 21ac 0.10 ldr x0, [x26, #200] 0.10 ldrb w0, [x0, #18] 1.00 ↑ cbz w0, 634 0.60 ldr x0, [x29, #576] ↑ cbz x0, 634 0.10 ldr x28, [x26, #184] 0.10 ldr x0, [x29, #576] 0.10 ldrsb wzr, [x28] 0.10 mov x1, #0x66a0 // #26272 movk x1, #0x8957, lsl #16 0.30 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] 0.20 → blr x1 0.10 mov x1, x0 0.20 str x1, [x29, #176] 0.30 mov x0, #0x2620 // #9760 0.20 movk x0, #0xcd60, lsl #16 movk x0, #0xfe4c, lsl #32 0.10 cmp x1, x0 0.10 ↑ b.eq 634 0.40 ldapur x26, [x28, #16] ↓ cbz x26, a68 ldr x0, [x26, #192] 0.10 cmp x0, x1 0.10 ldr x1, [x29, #176] 1.40 ↓ b.eq bd0 0.20 a68: mov x26, xzr 0.40 ldapurb w0, [x28, #158] ↓ cbz w0, bc0 ldr x26, [x28, #8] 0.10 ↓ cbz x26, 21c8 a7c: ldr x2, [x26, #8] 0.10 str x2, [x29, #168] 0.10 mov x0, #0x3428 // #13352 movk x0, #0xc900, lsl #16 movk x0, #0xfe44, lsl #32 0.10 ldr x3, [x0] 0.20 ↓ cbz x3, 21ec 0.10 a98: ldr x2, [x29, #168] 0.30 str x2, [x29, #144] 0.10 mov x4, x1 0.20 stp x3, x4, [x29, #152] ldrsb wzr, [x2] 1.10 ldapur x5, [x2, #8] 0.30 str x5, [x29, #136] 0.40 ldr x0, [x5, #8] 2.20 ldrb w6, [x2, #25] ↓ cbz w6, 2234 0.10 mov x0, x4 0.10 bl ffffffffff2e6740 0.10 ↓ cbz w0, 2254 0.40 acc: asr w2, w0, #0 0.10 ad0: str w2, [x29, #412] ldr x3, [x29, #136] 0.10 ldr x4, [x3, #8] 0.80 str x4, [x29, #128] ldr x0, [x3, #16] 0.20 ldr x1, [x3, #40] 0.10 mov w5, w2 0.10 mul x1, x1, x5 lsr x1, x1, #32 add x1, x1, #0x1 0.50 ldr w5, [x0, #8] 1.20 mul x1, x1, x5 1.10 lsr x1, x1, #32 0.20 ldr w5, [x0, #8] 0.30 cmp w1, w5 ↓ b.cs 29a8 2.91 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 0.30 add x0, x0, x1 0.10 ldapr x5, [x0] 5.31 ↓ cbz x5, 2278 0.90 ↓ cbz x4, c30 ldr x0, [x4] mov x1, #0xecd8 // #60632 0.10 movk x1, #0x8974, lsl #16 movk x1, #0xfe4c, lsl #32 0.20 cmp x0, x1 ↓ b.ne c30 0.30 b40: ldr w0, [x5, #32] 6.21 cmp w2, w0 ↓ b.ne 166c 0.90 str x5, [x29, #120] 0.10 ldr x6, [x5, #8] 0.20 ↓ cbz x6, 2270 0.20 ldr x0, [x6] 1.60 mov x1, #0xa290 // #41616 0.30 movk x1, #0x8803, lsl #16 0.10 movk x1, #0xfe4c, lsl #32 0.10 cmp x0, x1 ↓ b.ne 2280 0.50 ldr x7, [x29, #176] 0.10 cmp x7, x6 0.20 cset x8, eq // eq = none b7c: ↓ cbz w8, 22a8 0.10 b80: ldr x5, [x29, #120] 0.10 ldr x1, [x5, #16] 0.10 str x1, [x29, #400] 0.20 b8c: ldr x2, [x29, #400] 1.50 str xzr, [x29, #400] ldrb w0, [x2, #32] 5.61 ↓ cbz w0, 2390 0.60 ldr x0, [x2, #16] ↓ cbnz x0, 28f0 0.20 ldr x26, [x2, #8] 0.10 ba8: ↓ cbz x26, 23f8 0.30 add x0, x26, #0x119 0.40 ldaprb w0, [x0] 2.00 cmp w0, #0x2 ↓ b.ne 23b8 1.10 mov x1, x7 bc0: ↓ cbz x26, 23d8 add x14, x28, #0x10 mov x15, x26 bl fffffffffe0548b4 0.10 bd0: add x0, x26, #0x11a ldaprb w0, [x0] 0.10 ↓ cbz w0, 2400 bdc: ldr x0, [x26, #248] ↓ cbnz x0, 2434 0.10 be4: ldr x0, [x26] mov x1, #0x3948 // #14664 0.10 movk x1, #0x89e7, lsl #16 0.10 movk x1, #0xfe4c, lsl #32 0.20 cmp x0, x1 ↓ b.eq 1360 0.10 mov x0, x26 mov x1, x22 0.20 ldr x2, [x29, #576] 0.10 ldr x3, [x26] ldr x3, [x3, #64] 2.00 ldr x3, [x3, #56] 2.00 → blr x3 0.10 mov w26, w27 ↑ b 6c4 c20: ldr x7, [x29, #176] c24: ldapur x5, [x5, #24] ↓ cbz x5, 2330 ldr w2, [x29, #412] c30: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne c20 str x5, [x29, #120] ldr x6, [x5, #8] ldr x0, [x4] mov x1, #0xecd8 // #60632 movk x1, #0x8974, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x0, x1 ↓ b.ne 22b8 ldr x4, [x29, #128] ↓ cbz x6, 22f0 ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x8803, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x0, x1 ↓ b.ne 22fc ldr x7, [x29, #176] cmp x7, x6 cset x8, eq // eq = none c88: ↓ cbz w8, 2328 ↑ b b80 0.20 c90: ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne eb8 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 0.10 cmp w0, #0x0 ↓ b.gt cd0 0.10 mov x0, x22 mov w1, #0x1 // #1 mov x2, #0x6b08 // #27400 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 cd0: add x24, x22, #0x40 mov x25, xzr mov w1, wzr ldr x0, [x24] ↓ cbz x0, d1c ldr x1, [x0] 0.10 ldr w1, [x1] 0.20 tst w1, #0x80000000 0.10 ↓ b.eq 2818 0.50 add x25, x0, #0x10 ldr w1, [x0, #8] cfc: ldp w0, w2, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x3, x0, w2, uxtw 0.10 cmp x3, w1, uxtw 0.10 ↓ b.hi 2920 0.40 add x25, x25, x0 asr w1, w2, #0 d1c: ldr w0, [x22, #52] 0.10 add w2, w0, #0x1 str w2, [x22, #52] 0.10 cmp w0, w1 ↓ b.cs 29a8 0.10 mov w1, #0x7d // #125 strb w1, [x25, w0, uxtw #0] d38: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] 0.20 ldr w0, [x22, #40] 0.40 tst w0, #0x7fffffff ↓ b.eq d5c 0.10 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] d5c: mov w0, #0x2 // #2 strb w0, [x22, #58] 0.20 d64: ldr w0, [x19, #20] cmp w20, w0 ↓ b.ne 2938 ldr w0, [x19, #16] 0.10 cmp w23, w0 ↑ b.cs 494 ldr x0, [x19, #8] ldr w1, [x0, #8] 0.10 cmp w23, w1 ↓ b.cs 29a8 0.10 add x0, x0, #0x10 ldr x1, [x0, w23, uxtw #3] 0.30 mov x24, x1 0.10 add w23, w23, #0x1 mov w0, #0x1 // #1 0.10 da0: ↓ cbz w0, 1204 0.10 ↑ cbnz x24, 4a4 0.20 da8: mov x25, x24 ↓ cbz x25, dc8 mov x0, #0xc660 // #50784 movk x0, #0x892a, lsl #16 movk x0, #0xfe4c, lsl #32 0.10 ldr x1, [x25] 0.10 cmp x1, x0 ↓ b.ne 1bd0 dc8: ↑ cbz x25, d64 0.10 ldr w0, [x22, #40] and w0, w0, #0x7fffffff ldr w1, [x22, #120] cmp w0, w1 ↓ b.ge 1c28 de0: ldr w0, [x22, #124] 0.10 and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1628 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x2 ↓ b.lt 15cc e04: add x24, x22, #0x40 0.10 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, e50 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 0.10 ↓ b.eq 1e28 add x1, x0, #0x10 ldr w2, [x0, #8] e30: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2920 0.10 add x1, x1, x0 0.10 asr w2, w3, #0 e50: ldr w0, [x22, #40] ↓ tbz w0, #31, e74 ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] 0.40 cmp w0, w2 ↓ b.cs 29a8 0.20 mov w3, #0x2c // #44 0.10 strb w3, [x1, w0, uxtw #0] e74: ldr w0, [x22, #52] 0.10 add w3, w0, #0x1 str w3, [x22, #52] 0.10 cmp w0, w2 ↓ b.cs 29a8 mov w2, #0x7b // #123 0.10 strb w2, [x1, w0, uxtw #0] 0.10 e90: ldr w1, [x22, #40] and w1, w1, #0x7fffffff str w1, [x22, #40] add w1, w1, #0x1 str w1, [x22, #40] 0.10 mov w1, #0x1 // #1 strb w1, [x22, #58] ldr w24, [x25, #68] 0.10 mov w26, wzr ↑ b 6c4 eb8: ldr w0, [x22, #124] ↓ tbz w0, #0, 114c ldr w0, [x22, #124] ↓ tbnz w0, #1, ee4 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc738 // #51000 movk x2, #0x89f5, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ee4: ldrb w0, [x22, #58] cmp w0, #0x1 ↓ b.eq 10b0 ldrb w0, [x22, #58] cmp w0, #0x3 ↓ b.eq 10b0 ldp w0, w1, [x22, #40] and w0, w0, #0x7fffffff mul w24, w0, w1 ↓ cbz w24, f14 ldr w0, [x22, #44] sub w24, w24, w0 f14: add w1, w24, #0x3 ldr w0, [x22, #76] ldr w2, [x22, #52] sub w0, w0, w2 cmp w0, w1 ↓ b.ge f44 mov x0, x22 mov x2, #0x6b08 // #27400 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 f44: add x25, x22, #0x40 mov x26, xzr mov w27, wzr ldr x0, [x25] ↓ cbz x0, f90 ldr x1, [x0] ldr w1, [x1] tst w1, #0x80000000 ↓ b.eq 27e0 add x26, x0, #0x10 ldr w27, [x0, #8] f70: ldp w1, w0, [x25, #8] and w1, w1, #0x7fffffff mov w1, w1 add x2, x1, w0, uxtw cmp x2, w27, uxtw ↓ b.hi 2920 add x26, x26, x1 asr w27, w0, #0 f90: ldr w1, [x22, #48] cmp w1, #0x2 ↓ b.ne fb8 ldr w1, [x22, #52] add w0, w1, #0x1 str w0, [x22, #52] cmp w1, w27 ↓ b.cs 29a8 mov w0, #0xd // #13 strb w0, [x26, w1, uxtw #0] fb8: ldr w1, [x22, #52] add w0, w1, #0x1 str w0, [x22, #52] cmp w1, w27 ↓ b.cs 29a8 mov w0, #0xa // #10 strb w0, [x26, w1, uxtw #0] ldr w1, [x22, #52] cmp w1, w27 ↓ b.hi 2920 mov w0, w1 add x0, x26, x0 sub w1, w27, w1 mov x2, x0 asr w3, w1, #0 ldrb w4, [x22, #60] cmp w24, #0x8 ↓ b.ge 1060 mov w1, wzr cmp w24, #0x1 ↓ b.le 1044 100c: add w0, w1, #0x1 cmp w1, w3 ↓ b.cs 29a8 strb w4, [x2, w1, uxtw #0] asr w1, w0, #0 add w0, w1, #0x1 cmp w1, w3 ↓ b.cs 29a8 strb w4, [x2, w1, uxtw #0] add w1, w0, #0x1 cmp w1, w24 ↓ b.ge 1048 mov w1, w0 ↑ b 100c 1044: mov w0, w1 1048: cmp w0, w24 ↓ b.ge 1084 cmp w0, w3 ↓ b.cs 29a8 strb w4, [x2, w0, uxtw #0] ↓ b 1084 1060: cmp w24, w1 ↓ b.hi 2920 mov w1, w24 mov w2, w4 mov x3, #0xc4e0 // #50400 movk x3, #0x89f5, lsl #16 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] → blr x3 1084: ldr w0, [x22, #52] add w0, w0, w24 str w0, [x22, #52] ldr w0, [x22, #52] add w1, w0, #0x1 str w1, [x22, #52] cmp w0, w27 ↓ b.cs 29a8 mov w1, #0x7d // #125 strb w1, [x26, w0, uxtw #0] ↑ b d38 10b0: ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 10e0 mov x0, x22 mov w1, #0x1 // #1 mov x2, #0x6b08 // #27400 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 10e0: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, 112c ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 27c4 add x1, x0, #0x10 ldr w2, [x0, #8] 110c: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2920 add x1, x1, x0 asr w2, w3, #0 112c: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 29a8 mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] ↑ b d38 114c: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0xc738 // #51000 movk x2, #0x89f5, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ldr w0, [x22, #76] ldr w1, [x22, #52] sub w0, w0, w1 cmp w0, #0x0 ↓ b.gt 1198 mov x0, x22 mov w1, #0x1 // #1 mov x2, #0x6b08 // #27400 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 1198: add x24, x22, #0x40 mov x1, xzr mov w2, wzr ldr x0, [x24] ↓ cbz x0, 11e4 ldr x1, [x0] ldr w2, [x1] tst w2, #0x80000000 ↓ b.eq 27fc add x1, x0, #0x10 ldr w2, [x0, #8] 11c4: ldp w0, w3, [x24, #8] and w0, w0, #0x7fffffff mov w0, w0 add x4, x0, w3, uxtw cmp x4, w2, uxtw ↓ b.hi 2920 add x1, x1, x0 asr w2, w3, #0 11e4: ldr w0, [x22, #52] add w3, w0, #0x1 str w3, [x22, #52] cmp w0, w2 ↓ b.cs 29a8 mov w2, #0x7d // #125 strb w2, [x1, w0, uxtw #0] ↑ b d38 1204: ldr w0, [x22, #124] 0.10 and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1320 mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6c58 // #27736 movk x2, #0x89eb, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 1230: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 1254 ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 1254: mov w0, #0x4 // #4 strb w0, [x22, #58] ldr w0, [x22, #124] and w0, w0, #0x3 cmp w0, #0x2 ↓ b.ne 1340 mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6c58 // #27736 movk x2, #0x89eb, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 1288: ldr w0, [x22, #40] orr w0, w0, #0x80000000 str w0, [x22, #40] ldr w0, [x22, #40] tst w0, #0x7fffffff ↓ b.eq 12ac ldr w0, [x22, #40] sub w0, w0, #0x1 str w0, [x22, #40] 12ac: mov w0, #0x2 // #2 strb w0, [x22, #58] mov x0, x22 mov x1, #0x68e0 // #26848 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x21] mov x1, #0x38 // #56 movk x1, #0x89a2, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x0, x1 ↓ b.ne 2950 mov x0, x21 mov x1, #0x110 // #272 movk x1, #0x89a2, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 12fc: ↓ cbz x0, 2968 ldp x29, x30, [sp] add sp, sp, #0x320 ldp x27, x28, [sp, #64] ldp x25, x26, [sp, #48] ldp x23, x24, [sp, #32] ldp x21, x22, [sp, #16] ldp x19, x20, [sp], #80 ← ret 1320: mov x0, x22 mov w1, #0x5d // #93 mov x2, #0x6c40 // #27712 movk x2, #0x89eb, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1230 1340: mov x0, x22 mov w1, #0x7d // #125 mov x2, #0x6c40 // #27712 movk x2, #0x89eb, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1288 1360: mov x28, x26 0.10 ldr x1, [x29, #576] 0.10 str x1, [x29, #112] mov x0, x1 ↓ cbz x0, 138c mov x2, #0xea90 // #60048 movk x2, #0x8929, lsl #16 0.10 movk x2, #0xfe4c, lsl #32 ldr x3, [x0] cmp x3, x2 ↓ b.ne 243c 138c: str x0, [x29, #392] 0.10 ldrb w0, [x28, #278] ↓ cbnz w0, 245c ldr x0, [x28, #200] ldrb w0, [x0, #18] ↑ cbz w0, 598 ldr x0, [x29, #392] ↑ cbz x0, 598 ldr x26, [x28, #184] ldr x0, [x29, #392] ldrsb wzr, [x26] mov x2, #0x66a0 // #26272 movk x2, #0x8957, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x1, x0 str x1, [x29, #104] mov x0, #0x2620 // #9760 movk x0, #0xcd60, lsl #16 movk x0, #0xfe4c, lsl #32 cmp x1, x0 ↓ b.eq 271c ldapur x2, [x26, #16] ↓ cbz x2, 1404 ldr x0, [x2, #192] cmp x0, x1 mov x1, x2 ↓ b.eq 1574 ldr x1, [x29, #104] 1404: mov x2, xzr ldapurb w0, [x26, #158] ↓ cbz w0, 1560 ldr x2, [x26, #8] ↓ cbz x2, 2478 1418: str x2, [x29, #88] ldr x3, [x2, #8] str x3, [x29, #80] mov x0, #0x3428 // #13352 movk x0, #0xc900, lsl #16 movk x0, #0xfe44, lsl #32 ldr x4, [x0] ↓ cbz x4, 24a0 1438: 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, 2510 mov x0, x5 bl ffffffffff2e6740 ↓ cbz w0, 2530 146c: asr w2, w0, #0 1470: str w2, [x29, #228] 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 29a8 ubfiz x1, x1, #3, #32 add x1, x1, #0x10 add x0, x0, x1 ldapr x5, [x0] ↓ cbz x5, 2554 ↑ cbz x4, 514 ldr x0, [x4] mov x1, #0xecd8 // #60632 movk x1, #0x8974, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x0, x1 ↑ b.ne 514 14e0: ldr w0, [x5, #32] cmp w2, w0 ↑ b.ne 4f4 str x5, [x29, #24] ldr x6, [x5, #8] ↓ cbz x6, 254c ldr x0, [x6] mov x1, #0xa290 // #41616 movk x1, #0x8803, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x0, x1 ↓ b.ne 255c ldr x7, [x29, #104] cmp x7, x6 cset x8, eq // eq = none 151c: ↓ cbz w8, 2584 1520: ldr x5, [x29, #24] ldr x1, [x5, #16] str x1, [x29, #216] 152c: ldr x2, [x29, #216] str xzr, [x29, #216] ldrb w0, [x2, #32] ↓ cbz w0, 266c ldr x0, [x2, #16] ↓ cbnz x0, 2908 ldr x2, [x2, #8] 1548: ↓ cbz x2, 26d8 add x0, x2, #0x119 ldaprb w0, [x0] cmp w0, #0x2 ↓ b.ne 2694 mov x1, x7 1560: ↓ cbz x2, 26b8 mov x1, x2 add x14, x26, #0x10 mov x15, x1 bl fffffffffe0548b4 1574: mov x26, x1 add x0, x26, #0x11a ldaprb w0, [x0] ↓ cbz w0, 26e0 1584: ldr x0, [x26, #248] ↓ cbnz x0, 2714 158c: mov w0, #0x1 // #1 1590: ↑ cbz w0, 598 ldr x0, [x26] mov x1, #0x3948 // #14664 movk x1, #0x89e7, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x0, x1 ↑ b.eq 574 mov x0, x26 mov x1, x22 ldr x2, [x29, #392] ldr x3, [x26] ldr x3, [x3, #64] ldr x3, [x3, #56] → blr x3 ↑ b 628 15cc: ldr w0, [x22, #76] ↓ cbnz w0, 1d2c ldr x0, [x22, #16] ↓ cbz x0, 1ce0 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 1c44 15f8: ldr x15, [x24, #8] ldr w0, [x24, #16] ↓ cbz x15, 1ccc ldr w14, [x15, #8] cmp w14, w0 ↓ b.cc 2920 ldr w14, [x15, #8] sub w11, w14, w0 1618: add x14, x22, #0x40 bl fffffffffe0548b4 stp w0, w11, [x22, #72] ↑ b e04 1628: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6aa8 // #27304 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ↑ b e90 1648: mov x1, x28 ldr w2, [x29, #692] mov x0, x22 mov x4, #0xcae0 // #51936 movk x4, #0x89d6, lsl #16 movk x4, #0xfe4c, lsl #32 ldr x4, [x4] → blr x4 ↑ b 99c 0.30 166c: ldapur x5, [x5, #24] ↓ cbz x5, 22b0 ldr w2, [x29, #412] ↑ b b40 167c: mov x0, #0x38 // #56 movk x0, #0x89a2, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2e65f0 mov x21, x0 mov w1, #0x10000 // #65536 mov x2, #0xc570 // #50544 movk x2, #0x89b8, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 add x14, x20, #0x18 mov x15, x21 bl fffffffffe0548b4 ↑ b 80 16b8: mov x0, xzr mov x1, #0x7318 // #29464 movk x1, #0x89f5, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 16d4: mov x0, #0x7b10 // #31504 movk x0, #0x8927, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2e65f0 mov x20, x0 mov x0, #0xc2d0 // #49872 movk x0, #0x89f5, lsl #16 movk x0, #0xfe4c, 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, #0x8935, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2e65f0 mov x21, x0 mov x1, x20 mov x0, x19 mov x2, #0xc2e8 // #49896 movk x2, #0x89f5, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x2, x0 mov x0, x21 mov x1, #0x1ae0 // #6880 movk x1, #0xcd60, lsl #16 movk x1, #0xfe4c, lsl #32 mov x3, #0xeaa8 // #60072 movk x3, #0x8945, lsl #16 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] → blr x3 mov x0, x21 bl ffffffffff2e6610 brk #0xf000 1770: 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 17a4: mov x0, #0x7330 // #29488 movk x0, #0x89f5, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 17bc: mov x0, #0xd20 // #3360 movk x0, #0x8952, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2e65f0 mov x21, x0 mov x0, #0x7348 // #29512 movk x0, #0x89f5, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc930 // #51504 movk x2, #0x89c9, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6610 brk #0xf000 180c: 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 182c ldr w1, [x21, #36] lsl w1, w1, #1 182c: ldr w0, [x21, #36] mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w2, w0, lsl #1 ↓ b.cs 1858 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 1858: mov x0, x21 mov x2, #0x268 // #616 movk x2, #0x89a2, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ↑ b e4 1874: ldr w2, [x21, #32] sub w2, w22, w2 ldr w1, [x21, #32] ldr x0, [x21, #16] mov x3, #0xcfa8 // #53160 movk x3, #0x895d, lsl #16 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] → blr x3 ↑ b e4 189c: str w22, [x21, #28] ↑ b f4 18a4: add x0, x29, #0x310 stp xzr, xzr, [x0] add x0, x29, #0x310 mov w1, #0x1 // #1 mov x2, #0x6808 // #26632 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x0, #0xf6f0 // #63216 movk x0, #0x899f, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2e65f0 mov x22, x0 ldr x2, [x29, #784] ldr x3, [x29, #792] mov x0, x22 mov x1, x21 mov x4, #0x6820 // #26656 movk x4, #0x89d6, lsl #16 movk x4, #0xfe4c, lsl #32 ldr x4, [x4] → blr x4 add x14, x20, #0x10 mov x15, x22 bl fffffffffe0548b4 ↑ b 1a4 1910: ldr x0, [x22, #8] ↑ cbnz x0, 104 mov x0, #0x6dd8 // #28120 movk x0, #0x89e4, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1930: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #64] ldr x1, [x1, #48] → blr x1 asr w20, w0, #0 ↑ b 120 194c: mov x0, #0xeab8 // #60088 movk x0, #0x892a, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2e65f0 mov x21, x0 mov x0, #0x6940 // #26944 movk x0, #0x89d6, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x21 mov x2, #0xc8d0 // #51408 movk x2, #0x8945, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x0, x21 bl ffffffffff2e6610 brk #0xf000 199c: mov x0, #0x52b0 // #21168 movk x0, #0x89d8, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2e65f0 mov x20, x0 mov x1, #0x6970 // #26992 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 add x14, x22, #0x18 mov x15, x20 bl fffffffffe0548b4 ↑ b 174 19d4: ↓ cbnz w0, 2920 mov x2, xzr mov w0, wzr ↑ b 154 19e4: mov x0, x22 mov x1, #0x6a78 // #27256 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↑ b 1b8 1a00: mov x0, x22 mov w1, #0x7b // #123 mov x2, #0x6aa8 // #27304 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ↑ b 268 1a20: mov x0, x22 mov w1, #0x2 // #2 mov x2, #0x6b08 // #27400 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ↑ b 1dc 1a40: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 208 1a5c: ldr w2, [x22, #40] ldr w3, [x22, #120] mov x0, x20 mov w1, #0x7 // #7 mov x4, #0x6d00 // #27904 movk x4, #0x89d6, lsl #16 movk x4, #0xfe4c, lsl #32 ldr x4, [x4] → blr x4 ↑ b 2a4 1a84: mov w2, #0x7 // #7 ldr x3, [x0] ldr x3, [x3, #64] ldr x3, [x3, #40] → blr x3 asr w4, w0, #0 ↑ b 308 1aa0: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x5, #0x6d90 // #28048 movk x5, #0x89d6, lsl #16 movk x5, #0xfe4c, lsl #32 ldr x5, [x5] → blr x5 ↑ b 468 1ac8: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1ae0 ldrb w0, [x22, #58] cmp w0, #0x5 ↓ b.ne 1af8 1ae0: mov x0, x22 mov x1, #0x7e10 // #32272 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 1af8: add x23, x22, #0x50 ldr w0, [x23, #16] cmp w0, #0x40 ↓ b.ge 1b18 ldr x0, [x23, #8] lsl x0, x0, #1 str x0, [x23, #8] ↓ b 1b34 1b18: mov x0, x23 mov w1, wzr mov x2, #0xc9d8 // #51672 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 1b34: ldr w0, [x23, #16] add w0, w0, #0x1 str w0, [x23, #16] mov w0, #0x10 // #16 strb w0, [x22, #56] ↑ b 31c 1b4c: mov x1, x20 mov w2, #0x7 // #7 mov x0, x22 mov w3, #0x5b // #91 mov x4, #0x7dc8 // #32200 movk x4, #0x89d6, lsl #16 movk x4, #0xfe4c, lsl #32 ldr x4, [x4] → blr x4 ↑ b 468 1b74: mov x0, x22 mov w1, #0x1a // #26 mov x2, #0x6b08 // #27400 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ↑ b 338 1b94: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x24, x0 mov w25, w1 ↑ b 364 1bb0: ldr w23, [x22, #52] add w2, w23, #0x1 str w2, [x22, #52] cmp w23, w25 ↓ b.cs 29a8 mov w2, #0x2c // #44 strb w2, [x24, w23, uxtw #0] ↑ b 38c 1bd0: mov x1, x24 mov x2, #0x68f8 // #26872 movk x2, #0x8926, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x25, x0 ↑ b dc8 1bf0: mov x0, x22 mov x1, #0xc390 // #50064 movk x1, #0x89f5, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, 4cc mov x0, x22 mov x1, #0xc3a8 // #50088 movk x1, #0x89f5, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↑ b 4cc 1c28: mov x0, x22 mov x1, #0x6a78 // #27256 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↑ b de0 1c44: ldr x0, [x24, #8] ldr w0, [x0, #8] cmp w0, #0x100 ↓ b.le 1c5c asr w1, w0, #0 ↓ b 1c60 1c5c: mov w1, #0x100 // #256 1c60: asr w2, w1, #0 ↓ cbnz w0, 1c6c asr w2, w1, #0 1c6c: add w1, w0, w2 mov w2, #0xffc7 // #65479 movk w2, #0x7fff, lsl #16 cmp w1, w2 ↓ b.ls 1cb0 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 2830 mov w1, #0xffc7 // #65479 movk w1, #0x7fff, lsl #16 1cb0: add x0, x24, #0x8 mov x2, #0x6c58 // #27736 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ↑ b 15f8 1ccc: ↓ cbnz w0, 2920 mov x15, xzr mov w0, wzr mov w11, wzr ↑ b 1618 1ce0: ldr x0, [x22, #8] mov x11, #0x2830 // #10288 movk x11, #0x8804, lsl #16 movk x11, #0xfe4c, lsl #32 mov w1, #0x100 // #256 ldr x16, [x11] → blr x16 str x0, [x29, #712] str x1, [x29, #720] add x14, x22, #0x40 ldr x15, [x29, #712] bl fffffffffe0548b4 ldr w0, [x29, #720] ldr w1, [x29, #724] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x100 ↑ b.ge e04 ↓ b 28d8 1d2c: ldr x0, [x22, #16] ↓ cbz x0, 1dac ldr w0, [x22, #52] add w1, w0, #0x1, lsl #12 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 2848 ldr x24, [x22, #24] ldrsb wzr, [x24] mov x0, x24 mov x2, #0x6c40 // #27712 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 add x26, x22, #0x40 ldr x0, [x24, #8] ldr w1, [x24, #16] mov x2, #0x6c10 // #27664 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 str x0, [x29, #696] str x1, [x29, #704] ldr x15, [x29, #696] mov x14, x26 bl fffffffffe0548b4 ldr w0, [x29, #704] ldr w1, [x29, #708] stp w0, w1, [x26, #8] ↑ b e04 1dac: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2820 // #10272 movk x11, #0x8804, lsl #16 movk x11, #0xfe4c, 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, #0x8804, lsl #16 movk x11, #0xfe4c, lsl #32 mov w1, #0x1000 // #4096 ldr x16, [x11] → blr x16 str x0, [x29, #728] str x1, [x29, #736] add x14, x22, #0x40 ldr x15, [x29, #728] bl fffffffffe0548b4 ldr w0, [x29, #736] ldr w1, [x29, #740] stp w0, w1, [x22, #72] ldr w0, [x22, #76] cmp w0, #0x1, lsl #12 ↑ b.ge e04 ↓ b 28d8 1e28: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b e30 1e44: mov w0, #0xffffffff // #-1 asr w1, w0, #0 mov w3, w1 ↑ b 798 1e54: mov w2, w3 ldr x4, [x0] ldr x4, [x4, #64] ldr x4, [x4, #40] → blr x4 asr w3, w0, #0 ↑ b 798 1e70: ldrb w0, [x22, #56] cmp w0, #0x5 ↓ b.ne 1e88 ldrb w0, [x22, #58] cmp w0, #0x5 ↑ b.ne 7ac 1e88: mov x0, x22 mov x1, #0x7e10 // #32272 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↑ b 7ac 1ea4: mov x1, x28 ldr w2, [x29, #692] mov x0, x22 mov x3, #0xcb40 // #52032 movk x3, #0x89d6, lsl #16 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] → blr x3 ↑ b 99c 1ec8: asr w1, w0, #0 ↑ b 7e8 1ed0: ldr x0, [x3, #8] ldr w0, [x0, #8] cmp w1, w0 ↓ b.ge 1ee8 asr w4, w0, #0 ↓ b 1eec 1ee8: asr w4, w1, #0 1eec: asr w5, w4, #0 ↓ cbnz w0, 1f08 cmp w4, #0x100 ↓ b.ge 1f04 mov w5, #0x100 // #256 ↓ b 1f08 1f04: asr w5, w4, #0 1f08: add w4, w0, w5 mov w5, #0xffc7 // #65479 movk w5, #0x7fff, lsl #16 cmp w4, w5 ↓ b.ls 1f4c 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 28a4 mov w4, #0xffc7 // #65479 movk w4, #0x7fff, lsl #16 1f4c: add x0, x3, #0x8 mov w1, w4 mov x4, #0x6c58 // #27736 movk x4, #0x89d6, lsl #16 movk x4, #0xfe4c, lsl #32 ldr x4, [x4] → blr x4 ldr x3, [x29, #200] ↑ b 814 1f70: ↓ cbnz w0, 2920 mov x15, xzr mov w0, wzr mov w1, wzr ↑ b 834 1f84: ldr x0, [x22, #8] str w1, [x29, #644] mov x11, #0x2848 // #10312 movk x11, #0x8804, lsl #16 movk x11, #0xfe4c, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #648] str x1, [x29, #656] add x14, x22, #0x40 ldr x15, [x29, #648] bl fffffffffe0548b4 ldr w0, [x29, #656] ldr w1, [x29, #660] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #644] cmp w0, w1 ↑ b.ge 840 ↓ b 28d8 1fd4: cmp w0, #0x1, lsl #12 ↓ b.le 1fe4 str w0, [x29, #640] ↓ b 1fec 1fe4: mov w3, #0x1000 // #4096 str w3, [x29, #640] 1fec: ldr x0, [x22, #16] ↓ cbz x0, 2058 ldr w0, [x22, #52] ldr w3, [x29, #640] add w1, w0, w3 mov w0, #0x7fefffff // #2146435071 cmp w1, w0 ↓ b.hi 28bc add x3, x22, #0x40 str x3, [x29, #16] ldr x0, [x22, #24] mov x4, #0x5348 // #21320 movk x4, #0x89d8, lsl #16 movk x4, #0xfe4c, lsl #32 ldr x4, [x4] ldr wzr, [x0] → blr x4 str x0, [x29, #624] str x1, [x29, #632] ldr x15, [x29, #624] ldr x14, [x29, #16] bl fffffffffe0548b4 ldr w0, [x29, #632] ldr w1, [x29, #636] ldr x14, [x29, #16] stp w0, w1, [x14, #8] ↑ b 840 2058: ldr x0, [x22, #8] ldr w1, [x22, #52] mov x11, #0x2838 // #10296 movk x11, #0x8804, lsl #16 movk x11, #0xfe4c, lsl #32 ldr x16, [x11] → blr x16 ldr x0, [x22, #32] ldr w1, [x22, #52] add x0, x0, w1, sxtw str x0, [x22, #32] str wzr, [x22, #52] ldr x0, [x22, #8] ldr w1, [x29, #640] mov x11, #0x2840 // #10304 movk x11, #0x8804, lsl #16 movk x11, #0xfe4c, lsl #32 ldr x16, [x11] → blr x16 str x0, [x29, #664] str x1, [x29, #672] add x14, x22, #0x40 ldr x15, [x29, #664] bl fffffffffe0548b4 ldr w0, [x29, #672] ldr w1, [x29, #676] stp w0, w1, [x22, #72] ldr w0, [x22, #76] ldr w1, [x29, #640] cmp w0, w1 ↑ b.ge 840 ↓ b 28d8 20d8: 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 870 2104: mov x0, #0x33d8 // #13272 movk x0, #0xc900, lsl #16 movk x0, #0xfe44, lsl #32 mov w1, wzr mov x2, #0xd3c8 // #54216 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ↑ b 9c8 2130: mov x0, x26 mov x1, #0xd920 // #55584 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↑ b 9d0 214c: mov w3, #0x101 // #257 mov x0, x26 mov x1, #0x2620 // #9760 movk x1, #0xcd60, lsl #16 movk x1, #0xfe4c, lsl #32 mov w2, #0x1 // #1 mov w4, wzr mov w5, wzr mov x6, #0xda40 // #55872 movk x6, #0x89d6, lsl #16 movk x6, #0xfe4c, lsl #32 ldr x6, [x6] → blr x6 mov x1, x0 add x14, x26, #0x18 mov x15, x1 bl fffffffffe0548b4 ↑ b 9d8 2194: mov x2, #0x63b8 // #25528 movk x2, #0x8926, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 21ac: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #576] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 6a8 21c8: mov x0, x28 mov x2, #0xdb00 // #56064 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x26, x0 ldr x1, [x29, #176] ↑ b a7c 21ec: mov x0, #0x530 // #1328 movk x0, #0x89dc, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2e65f0 mov x3, x0 add x14, x3, #0x8 mov x15, x3 bl fffffffffe0548b4 ldr q16, instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x29b0 stur q16, [x3, #24] mov x14, #0x3428 // #13352 movk x14, #0xc900, lsl #16 movk x14, #0xfe44, lsl #32 mov x15, x3 bl fffffffffe0548b4 mov x1, x3 ldr x1, [x29, #176] ↑ b a98 2234: mov x1, x4 mov x11, #0x2850 // #10320 movk x11, #0x8804, lsl #16 movk x11, #0xfe4c, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b ad0 2254: ldr x0, [x29, #160] mov x1, #0xc720 // #50976 movk x1, #0x8945, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↑ b acc 2270: ldr x5, [x29, #120] ↑ b 166c 2278: ldr x7, [x29, #176] ↓ b 2330 2280: 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 b7c 22a8: ldr x5, [x29, #120] ↑ b 166c 22b0: ldr x7, [x29, #176] ↓ b 2330 22b8: ldr x4, [x29, #128] ldr x7, [x29, #176] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2858 // #10328 movk x11, #0x8804, lsl #16 movk x11, #0xfe4c, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #128] ldr x7, [x29, #176] ↑ b c88 22f0: ldr x5, [x29, #120] ldr x7, [x29, #176] ↑ b c24 22fc: 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 c88 2328: ldr x5, [x29, #120] ↑ b c24 2330: str xzr, [x29, #400] 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, #412] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0x190 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, #0x8971, lsl #16 movk x8, #0xfe4c, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #176] ↑ b b8c 2390: mov x0, x26 mov x1, x7 mov x3, #0xe0a0 // #57504 movk x3, #0x89d6, lsl #16 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] → blr x3 mov x26, x0 ldr x7, [x29, #176] ↑ b ba8 23b8: mov x0, x26 mov x1, #0xf0d8 // #61656 movk x1, #0x89de, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ldr x1, [x29, #176] ↑ b bc0 23d8: ldr x1, [x28, #32] ldr x0, [x29, #176] mov x2, #0xdae8 // #56040 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 23f8: mov x1, x7 ↑ b bc0 2400: mov x0, x26 mov x1, #0x42b8 // #17080 movk x1, #0x89e4, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe0548b4 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b bdc 2434: mov x26, x0 ↑ b be4 243c: ldr x1, [x29, #112] mov x0, x2 mov x2, #0x63b8 // #25528 movk x2, #0x8926, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 245c: ldr x3, [x26, #328] mov x1, x22 ldr x2, [x29, #392] ldr x0, [x3, #8] ldr x3, [x3, #24] → blr x3 ↑ b 610 2478: mov x0, x26 mov x2, #0xdb00 // #56064 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x1, x0 mov x2, x1 ldr x1, [x29, #104] ↑ b 1418 24a0: mov x0, #0x530 // #1328 movk x0, #0x89dc, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2e65f0 mov x4, x0 str x4, [x29, #72] mov x0, x4 mov x1, xzr mov x2, #0xa0e8 // #41192 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 mov x3, #0xd710 // #55056 movk x3, #0x8803, lsl #16 movk x3, #0xfe4c, lsl #32 mov x5, #0x7cc0 // #31936 movk x5, #0x8926, lsl #16 movk x5, #0xfe4c, lsl #32 ldr x5, [x5] → blr x5 mov x14, #0x3428 // #13352 movk x14, #0xc900, lsl #16 movk x14, #0xfe44, lsl #32 ldr x15, [x29, #72] bl fffffffffe0548b4 ldr x4, [x29, #72] mov x1, x4 ldr x1, [x29, #104] ↑ b 1438 2510: mov x1, x5 mov x11, #0x2860 // #10336 movk x11, #0x8804, lsl #16 movk x11, #0xfe4c, lsl #32 ldr x16, [x11] → blr x16 asr w2, w0, #0 ↑ b 1470 2530: ldr x0, [x29, #64] mov x1, #0xc720 // #50976 movk x1, #0x8945, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↑ b 146c 254c: ldr x5, [x29, #24] ↑ b 4f4 2554: ldr x7, [x29, #104] ↓ b 260c 255c: 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 151c 2584: ldr x5, [x29, #24] ↑ b 4f4 258c: ldr x7, [x29, #104] ↓ b 260c 2594: ldr x4, [x29, #32] ldr x7, [x29, #104] mov x0, x4 mov x2, x7 mov x1, x6 mov x11, #0x2868 // #10344 movk x11, #0x8804, lsl #16 movk x11, #0xfe4c, lsl #32 ldr x16, [x11] → blr x16 asr w8, w0, #0 ldr x4, [x29, #32] ldr x7, [x29, #104] ↑ b 56c 25cc: ldr x5, [x29, #24] ldr x7, [x29, #104] ↑ b 508 25d8: 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 56c 2604: ldr x5, [x29, #24] ↑ b 508 260c: str xzr, [x29, #216] 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, #228] lsl x3, x3, #32 orr x3, x3, #0x1 add x7, x29, #0xd8 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, #0x8971, lsl #16 movk x8, #0xfe4c, lsl #32 ldr x8, [x8] → blr x8 ldr x7, [x29, #104] ↑ b 152c 266c: ldr x0, [x29, #88] mov x1, x7 mov x3, #0xe0a0 // #57504 movk x3, #0x89d6, lsl #16 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] → blr x3 mov x2, x0 ldr x7, [x29, #104] ↑ b 1548 2694: str x2, [x29, #96] mov x0, x2 mov x1, #0xf0d8 // #61656 movk x1, #0x89de, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ldp x2, x1, [x29, #96] ↑ b 1560 26b8: ldr x1, [x26, #32] ldr x0, [x29, #104] mov x2, #0xdae8 // #56040 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 brk #0xf000 26d8: mov x1, x7 ↑ b 1560 26e0: mov x0, x26 mov x1, #0x42b8 // #17080 movk x1, #0x89e4, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 add x14, x26, #0xf8 mov x15, x0 bl fffffffffe0548b4 add x0, x26, #0x11a mov w1, #0x1 // #1 stlrb w1, [x0] ↑ b 1584 2714: mov x26, x0 ↑ b 158c 271c: mov x26, xzr mov w0, wzr ↑ b 1590 2728: ldr x0, [x26, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #264] ldr w0, [x26, #140] cmp w0, #0x2 ↑ b.ne 5e4 ldr x26, [x29, #112] ↑ cbz x26, 5e4 ldr x0, [x28, #192] ldr x1, [x0] ldr x1, [x1, #120] ldr x1, [x1, #8] → blr x1 ↑ cbz w0, 5e4 ldr x0, [x29, #264] mov x1, x26 ldr x2, [x29, #264] ldr x2, [x2] ldr x2, [x2, #72] ldr x2, [x2] → blr x2 ↑ b 5e4 2790: ldr x0, [x0, #56] mov w1, #0x1 // #1 ldr x2, [x0] ldr x2, [x2, #64] ldr x2, [x2, #40] → blr x2 str x0, [x29, #448] ↑ b 67c 27b0: ldr w1, [x25, #56] cmp w27, w1 mov w26, w27 ↑ b.cc 6dc ↑ b c90 27c4: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 110c 27e0: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x26, x0 mov w27, w1 ↑ b f70 27fc: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov w2, w1 mov x1, x0 ↑ b 11c4 2818: ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x25, x0 ↑ b cfc 2830: mov x1, #0x6ca0 // #27808 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2848: mov w0, w1 mov x1, #0xca50 // #51792 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2864: mov x0, #0xcbe0 // #52192 movk x0, #0xcd61, lsl #16 movk x0, #0xfe4c, lsl #32 mov x1, #0x76d8 // #30424 movk x1, #0x89a4, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2888: mov w0, w3 mov x1, #0xcb10 // #51984 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 28a4: mov x1, #0x6ca0 // #27808 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 28bc: mov w0, w1 mov x1, #0xca50 // #51792 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 28d8: mov x0, #0x6bf8 // #27640 movk x0, #0x89d6, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 28f0: mov x1, #0xf0a8 // #61608 movk x1, #0x89de, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2908: mov x1, #0xf0a8 // #61608 movk x1, #0x89de, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 2920: mov x0, #0xdb30 // #56112 movk x0, #0x8945, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2938: mov x0, #0xec70 // #60528 movk x0, #0x8945, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 2950: mov x0, x21 ldr x1, [x21] ldr x1, [x1, #72] ldr x1, [x1, #8] → blr x1 ↑ b 12fc 2968: mov x0, #0x1690 // #5776 movk x0, #0x892a, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2e65f0 mov x19, x0 mov x1, #0xcb60 // #52064 movk x1, #0xcd61, lsl #16 movk x1, #0xfe4c, lsl #32 mov x2, #0xf7e0 // #63456 movk x2, #0x895d, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x0, x19 bl ffffffffff2e6610 brk #0xf000 29a8: bl ffffffffff296008 brk #0xf000 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5006006001, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-45656-32651.so Percent stp x29, x30, [sp, #-64]! 1.09 stp x19, x20, [sp, #16] 1.09 stp x21, x22, [sp, #32] stp x23, x24, [sp, #48] 2.17 mov x29, sp 1.09 mov x19, x0 0.54 ldr x20, [x19, #16] 1.63 ↓ cbz x20, 1a4 20: stp xzr, xzr, [x19, #64] 1.63 ↓ cbz x20, 39c ldr w1, [x19, #52] 1.63 ↓ cbz w1, 174 1.09 ldr x0, [x19, #24] mov x2, x0 ldrsb wzr, [x2] 3.80 ↓ tbnz w1, #31, 1c4 ldr w3, [x2, #16] 0.54 ldr x4, [x2, #8] 0.54 ldr w4, [x4, #8] 7.07 sub w4, w4, w1 1.09 cmp w3, w4 ↓ b.gt 208 2.72 add w21, w3, w1 str w21, [x2, #16] 0.54 str wzr, [x19, #52] 1.09 ldr x0, [x0, #8] 1.63 ↓ cbz x0, 228 1.09 ldr w1, [x0, #8] 0.54 cmp w1, w21 ↓ b.cc 364 0.54 add x22, x0, #0x10 2.17 7c: ldr x0, [x20] 1.09 mov x1, #0x38 // #56 movk x1, #0x89a2, lsl #16 1.63 movk x1, #0xfe4c, lsl #32 0.54 cmp x0, x1 ↓ b.ne 334 ldrb w0, [x20, #43] ↓ cbz w0, 238 0.54 ldrb w0, [x20, #41] ↓ cbz w0, 254 1.09 ldr w0, [x20, #28] 0.54 add w23, w0, w21 0.54 ↓ tbnz w23, #31, 26c ldr w1, [x20, #32] cmp w23, w1 ↓ b.le d8 cmp w0, w1 0.54 cset x24, gt 0.54 ldr w0, [x20, #36] cmp w23, w0 ↓ b.gt 2bc 0.54 d0: ↓ cbnz w24, 2e0 d4: str w23, [x20, #32] d8: ldr x2, [x20, #16] 0.54 ldr w0, [x20, #28] ↓ cbz x2, 308 0.54 mov w1, w0 0.54 add x1, x1, w21, uxtw 0.54 ldr w3, [x2, #8] 0.54 cmp x1, x3 ↓ b.hi 364 1.09 add x2, x2, #0x10 mov w0, w0 0.54 add x0, x2, x0 asr w2, w21, #0 1.09 108: cmp w21, w2 ↓ b.gt 31c mov w2, w21 mov x1, x22 0.54 mov x3, #0x5848 // #22600 0.54 movk x3, #0x8926, lsl #16 0.54 movk x3, #0xfe4c, lsl #32 1.63 ldr x3, [x3] 1.09 → blr x3 str w23, [x20, #28] 0.54 130: ldp x20, x0, [x19, #24] 2.72 ldr w1, [x20, #16] 0.54 add x0, x0, w1, sxtw 0.54 str x0, [x19, #32] 0.54 ldr x0, [x20, #8] 0.54 ↓ cbz x0, 354 0.54 ldr w2, [x0, #8] 7.07 cmp w2, w1 0.54 ↓ b.cc 364 4.35 add x0, x0, #0x10 0.54 158: mov w1, w1 0.54 mov x2, #0x5818 // #22552 movk x2, #0x8926, lsl #16 movk x2, #0xfe4c, lsl #32 1.09 ldr x2, [x2] 1.09 → blr x2 2.72 str wzr, [x20, #16] 174: ldr x0, [x19, #16] 7.61 ldr x1, [x0] 7.07 mov x2, #0x38 // #56 3.26 movk x2, #0x89a2, lsl #16 movk x2, #0xfe4c, lsl #32 1.09 cmp x1, x2 ↓ b.ne 37c 2.72 190: ldp x23, x24, [sp, #48] 0.54 ldp x21, x22, [sp, #32] 1.09 ldp x19, x20, [sp, #16] ldp x29, x30, [sp], #64 ← ret 1a4: ldr x0, [x19, #8] ↑ cbnz x0, 20 mov x0, #0x6dd8 // #28120 movk x0, #0x89e4, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 1c4: mov x0, #0xeab8 // #60088 movk x0, #0x892a, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2f9ec0 mov x19, x0 mov x1, xzr mov x2, #0x2898 // #10392 movk x2, #0xcd60, lsl #16 movk x2, #0xfe4c, lsl #32 mov x3, #0xc480 // #50304 movk x3, #0x895d, lsl #16 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] → blr x3 mov x0, x19 bl ffffffffff2f9ee0 brk #0xf000 208: ldr x0, [x2, #8] ldr w0, [x0, #8] mov x1, #0x6df0 // #28144 movk x1, #0x89e4, lsl #16 movk x1, #0xfe4c, 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, #0x7318 // #29464 movk x1, #0x89f5, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 254: mov x0, #0x7330 // #29488 movk x0, #0x89f5, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 brk #0xf000 26c: mov x0, #0xd20 // #3360 movk x0, #0x8952, lsl #16 movk x0, #0xfe4c, lsl #32 bl ffffffffff2f9ec0 mov x22, x0 mov x0, #0x7348 // #29512 movk x0, #0x89f5, lsl #16 movk x0, #0xfe4c, lsl #32 ldr x0, [x0] → blr x0 mov x1, x0 mov x0, x22 mov x2, #0xc930 // #51504 movk x2, #0x89c9, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 mov x0, x22 bl ffffffffff2f9ee0 brk #0xf000 2bc: mov x0, x20 mov w1, w23 mov x2, #0xc5d0 // #50640 movk x2, #0x89b8, lsl #16 movk x2, #0xfe4c, 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, #0x895d, lsl #16 movk x3, #0xfe4c, 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, #0x897b, lsl #16 movk x0, #0xfe4c, 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, #0x8945, lsl #16 movk x0, #0xfe4c, 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, #0x8804, lsl #16 movk x11, #0xfe4c, 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.): 5006006001, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedTier1]() /tmp/jitted-45656-32690.so 1.10 stp x29, x30, [sp, #-112]! stp x19, x20, [sp, #40] 1.10 stp x21, x22, [sp, #56] stp x23, x24, [sp, #72] stp x25, x26, [sp, #88] str x27, [sp, #104] mov x29, sp stp xzr, xzr, [x29, #24] str x4, [x29, #16] 4.97 mov x20, x0 2.76 mov x19, x1 mov x21, x2 mov x22, x3 ldr w0, [x19, #40] and w23, w0, #0x7fffffff 0.55 ldr w0, [x22, #136] cmp w23, w0 ↓ b.ge 47c ldrb w0, [x20, #24] 0.55 ↓ cbnz w0, 58 ldr x0, [x21] 1.10 ↓ cbz x0, 498 1.10 58: ldrb w0, [x20, #16] cmp w0, #0x2 ↓ b.ne 644 0.55 ldr x0, [x29, #16] 0.55 ldrb w1, [x0, #144] 2.76 ↓ cbnz w1, 4b4 1.10 70: ldr x2, [x21] ldr x1, [x20] 0.55 mov x3, #0xe5c8 // #58824 movk x3, #0x89dd, lsl #16 movk x3, #0xfe4c, lsl #32 cmp x1, x3 ↓ b.ne 458 ↓ cbz x2, 500 0.55 add x22, x2, #0x10 ldr w21, [x2, #8] 1.66 ldr w1, [x19, #124] ↓ tbz w1, #1, 520 a0: ldr x0, [x29, #16] ldr w1, [x19, #124] ↓ tbnz w1, #0, 558 mov w1, #0xfffd // #65533 movk w1, #0x5fff, lsl #16 cmp w21, w1 ↓ b.gt 580 add w1, w21, #0x2 mov w2, #0xaaab // #43691 movk w2, #0xaaaa, lsl #16 umull x1, w1, w2 lsr x1, x1, #33 0.55 lsl w24, w1, #2 add w1, w24, #0x3 ldr w2, [x19, #76] 0.55 ldr w3, [x19, #52] sub w2, w2, w3 cmp w2, w1 ↓ b.lt 59c 1.66 ec: add x25, x19, #0x40 mov x26, xzr mov w27, wzr 0.55 ldr x1, [x25] ↓ cbz x1, 138 0.55 ldr x2, [x1] ldr w2, [x2] 1.10 tst w2, #0x80000000 ↓ b.eq 5bc 0.55 add x26, x1, #0x10 0.55 ldr w27, [x1, #8] 118: ldp w1, w2, [x25, #8] and w1, w1, #0x7fffffff mov w1, w1 add x3, x1, w2, uxtw cmp x3, w27, uxtw ↓ b.hi 600 add x26, x26, x1 asr w27, w2, #0 138: ldr w1, [x19, #40] ↓ tbnz w1, #31, 5e0 0.55 140: ldr w1, [x19, #52] 0.55 add w2, w1, #0x1 str w2, [x19, #52] 1.66 cmp w1, w27 ↓ b.cs 76c 0.55 mov w2, #0x22 // #34 strb w2, [x26, w1, uxtw #0] ldr w1, [x19, #52] cmp w1, w27 ↓ b.hi 600 0.55 mov w2, w1 add x2, x26, x2 sub w1, w27, w1 ↓ cbz w21, 450 stp x2, x22, [x29, #24] cmp w24, w1 ↓ b.gt 618 1.10 asr w3, w21, #0 0.55 188: mov x1, x22 mov x4, x2 0.55 add x5, x1, w21, uxtw add x6, x1, w3, uxtw cmp w3, #0x10 ↓ b.lt 2e4 0.55 sub x3, x6, #0x30 cmp x3, x1 ↓ b.cc 25c 0.55 mov x1, x22 mov x4, x2 0.55 1b4: ld3 {v16.16b-v18.16b}, [x1] 0.55 ushr v19.16b, v16.16b, #2 1.10 ushr v20.16b, v17.16b, #4 ldr q21, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 0.55 ldr q22, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 2.21 ldr q23, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT ldr q24, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 0.55 tbl v19.16b, {v21.16b-v24.16b}, v19.16b 0.55 sli v20.16b, v16.16b, #4 movi v16.16b, #0x3f 1.10 and v16.16b, v20.16b, v16.16b ldr q20, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 0.55 ldr q21, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 1.66 ldr q22, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 0.55 ldr q23, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 0.55 tbl v16.16b, {v20.16b-v23.16b}, v16.16b 1.10 ushr v20.16b, v18.16b, #6 1.10 sli v20.16b, v17.16b, #2 0.55 movi v17.16b, #0x3f 0.55 and v17.16b, v20.16b, v17.16b 0.55 ldr q20, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 1.10 ldr q21, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 0.55 ldr q22, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 1.66 ldr q23, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 1.66 tbl v17.16b, {v20.16b-v23.16b}, v17.16b movi v20.16b, #0x3f and v18.16b, v18.16b, v20.16b 1.10 ldr q20, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 1.10 ldr q21, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 1.10 ldr q22, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 0.55 ldr q23, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT 1.66 tbl v18.16b, {v20.16b-v23.16b}, v18.16b 2.76 mov v20.16b, v16.16b mov v21.16b, v17.16b 0.55 mov v22.16b, v18.16b 0.55 st4 {v19.16b-v22.16b}, [x4] 5.52 add x1, x1, #0x30 add x4, x4, #0x40 cmp x1, x3 ↑ b.ls 1b4 cmp x1, x5 ↓ b.eq 3f4 25c: sub x3, x6, #0x10 cmp x3, x1 ↓ b.cc 2e4 movi v16.16b, #0x8f 26c: ldr q17, [x1] ldr q18, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT tbl v17.16b, {v17.16b}, v18.16b ldr q18, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT and v18.16b, v17.16b, v18.16b uzp1 v19.8h, v18.8h, v18.8h ushr v19.8h, v19.8h, #10 uzp2 v18.8h, v18.8h, v18.8h ushr v18.8h, v18.8h, #6 zip1 v18.8h, v19.8h, v18.8h ldr q19, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT and v17.16b, v17.16b, v19.16b ldr q19, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT mul v17.8h, v17.8h, v19.8h orr v17.16b, v18.16b, v17.16b movi v18.16b, #0x33 uqsub v18.16b, v17.16b, v18.16b movi v19.16b, #0x19 cmgt v19.16b, v17.16b, v19.16b sub v18.16b, v18.16b, v19.16b and v18.16b, v18.16b, v16.16b ldr q19, instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedT tbl v18.16b, {v19.16b}, v18.16b add v17.16b, v17.16b, v18.16b str q17, [x4], #16 add x1, x1, #0xc cmp x1, x3 ↑ b.ls 26c cmp x1, x5 ↓ b.eq 3f4 0.55 2e4: mov x3, #0xf388 // #62344 movk x3, #0x8818, lsl #16 movk x3, #0xfe4c, lsl #32 sub x6, x6, #0x2 0.55 cmp x1, x6 ↓ b.cs 358 2fc: ldrb w7, [x1] lsl w7, w7, #16 ldrb w8, [x1, #1] orr w7, w7, w8, lsl #8 ldrb w8, [x1, #2] orr w7, w7, w8 lsr w8, w7, #18 0.55 ldrb w8, [x3, w8, uxtw #0] 3.31 lsr w9, w7, #12 1.10 and w9, w9, #0x3f 1.10 ldrb w9, [x3, w9, uxtw #0] 1.10 orr w8, w8, w9, lsl #8 lsr w9, w7, #6 and w9, w9, #0x3f ldrb w9, [x3, w9, uxtw #0] 1.10 orr w8, w8, w9, lsl #16 and w7, w7, #0x3f 1.10 ldrb w7, [x3, w7, uxtw #0] orr w7, w8, w7, lsl #24 str w7, [x4], #4 add x1, x1, #0x3 cmp x1, x6 ↑ b.cc 2fc 0.55 358: add x6, x6, #0x2 cmp x6, x5 ↓ b.ne 3f4 add x6, x1, #0x1 cmp x6, x5 ↓ b.eq 3c4 add x6, x1, #0x2 cmp x6, x5 ↓ b.ne 3f4 ldrb w5, [x1] lsl w5, w5, #16 ldrb w1, [x1, #1] orr w1, w5, w1, lsl #8 lsr w5, w1, #18 ldrb w5, [x3, w5, uxtw #0] lsr w6, w1, #12 and w6, w6, #0x3f ldrb w6, [x3, w6, uxtw #0] orr w5, w5, w6, lsl #8 lsr w1, w1, #6 and w1, w1, #0x3f ldrb w3, [x3, w1, uxtw #0] orr w1, w5, w3, lsl #16 mov w3, #0x3d000000 // #1023410176 orr w1, w1, w3 str w1, [x4] ↓ b 3f0 3c4: ldrb w1, [x1] lsl w1, w1, #8 0.55 lsr w5, w1, #10 ldrb w5, [x3, w5, uxtw #0] lsr w1, w1, #4 0.55 and w1, w1, #0x3f 0.55 ldrb w1, [x3, w1, uxtw #0] orr w1, w5, w1, lsl #8 mov w3, #0x3d3d0000 // #1027407872 orr w1, w1, w3 0.55 str w1, [x4] 3f0: add x4, x4, #0x4 3f4: sub w1, w4, w2 3f8: stp xzr, xzr, [x29, #24] 1.10 ldr w2, [x19, #52] add w1, w2, w1 str w1, [x19, #52] add w2, w1, #0x1 str w2, [x19, #52] cmp w1, w27 ↓ b.cs 76c mov w2, #0x22 // #34 0.55 strb w2, [x26, w1, uxtw #0] 0.55 420: ldr w1, [x19, #40] 1.10 orr w1, w1, #0x80000000 str w1, [x19, #40] 1.10 mov w1, #0x7 // #7 strb w1, [x19, #58] 1.10 434: ldr w1, [x19, #40] and w1, w1, #0x7fffffff cmp w23, w1 0.55 ↓ b.ne 628 2.21 444: ldr x0, [x29, #16] 1.66 mov w5, #0x1 // #1 ↓ b 808 450: mov w1, wzr ↑ b 3f8 458: mov x0, x20 0.55 mov x1, x19 mov x3, x22 0.55 ldr x4, [x20] ldr x4, [x4, #96] 1.66 ldr x4, [x4, #48] 3.31 → blr x4 0.55 ldr x0, [x29, #16] ↑ b 434 47c: ldr w0, [x22, #136] mov x1, #0x6c28 // #27688 movk x1, #0x89e4, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 498: mov x0, x19 mov x1, #0x6070 // #24688 movk x1, #0x89eb, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↑ b 444 4b4: ldrb w1, [x20, #27] ↑ cbz w1, 70 ldr x21, [x21] add x0, x0, #0x90 mov x1, #0x6c40 // #27712 movk x1, #0x89e4, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 asr w3, w0, #0 mov x2, x21 mov x1, x19 mov x0, x20 ldr x4, [x20] ldr x4, [x4, #104] ldr x4, [x4, #32] → blr x4 ldr x0, [x29, #16] ↑ b 434 500: mov x0, x19 mov x1, #0x6070 // #24688 movk x1, #0x89eb, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ldr x0, [x29, #16] ↑ b 434 520: mov x0, x19 mov x1, #0xc390 // #50064 movk x1, #0x89f5, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↑ cbnz w0, a0 mov x0, x19 mov x1, #0xc3a8 // #50088 movk x1, #0x89f5, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 ↑ b a0 558: mov x1, x22 mov w2, w21 mov x0, x19 mov x3, #0x6b98 // #27544 movk x3, #0x89eb, lsl #16 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] → blr x3 ldr x0, [x29, #16] ↑ b 420 580: mov w0, w21 mov x1, #0x7ed0 // #32464 movk x1, #0x89d6, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 59c: mov x0, x19 mov x2, #0x6b08 // #27400 movk x2, #0x89d6, lsl #16 movk x2, #0xfe4c, lsl #32 ldr x2, [x2] → blr x2 ldr x0, [x29, #16] ↑ b ec 5bc: mov x0, x1 ldr x1, [x1] ldr x1, [x1, #64] ldr x1, [x1, #40] → blr x1 mov x26, x0 mov w27, w1 ldr x0, [x29, #16] ↑ b 118 5e0: ldr w1, [x19, #52] add w2, w1, #0x1 str w2, [x19, #52] cmp w1, w27 ↓ b.cs 76c mov w2, #0x2c // #44 strb w2, [x26, w1, uxtw #0] ↑ b 140 600: mov x1, #0xdb30 // #56112 movk x1, #0x8945, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 618: asr w3, w1, #2 mov w1, #0x3 // #3 mul w3, w3, w1 ↑ b 188 628: mov x0, x20 mov x1, #0x6d48 // #27976 movk x1, #0x89e4, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 brk #0xf000 644: ldr x0, [x29, #16] ldr w1, [x0, #68] cmp w1, #0x0 cset x23, ne // ne = any ldr x1, [x21] ↓ cbz x1, 774 ldrb w1, [x0, #142] cmp w1, #0x1 ↓ b.eq 774 mov x1, #0x60a0 // #24736 movk x1, #0x89eb, lsl #16 movk x1, #0xfe4c, lsl #32 ldr x1, [x1] → blr x1 mov x2, x0 ldrb w1, [x20, #18] ↓ cbnz w1, 698 ldr x1, [x2, #160] cmp x1, #0x0 cset x1, ne // ne = any ↓ cbz w1, 6c4 698: ldr x1, [x21] mov x0, x20 mov x3, x22 ldr x4, [x29, #16] mov x5, #0x60d0 // #24784 movk x5, #0x89eb, lsl #16 movk x5, #0xfe4c, lsl #32 ldr x5, [x5] → blr x5 mov x24, x0 ↓ b 6c8 6c4: mov x24, xzr 6c8: ↓ cbnz w23, 704 ldr w2, [x22, #140] ↓ cbz w2, 704 ldr x2, [x21] mov x0, x20 mov x1, x19 mov x3, x22 mov x4, x24 ldr x5, [x29, #16] mov x6, #0x60e8 // #24808 movk x6, #0x89eb, lsl #16 movk x6, #0xfe4c, lsl #32 ldr x6, [x6] → blr x6 ↑ cbnz w0, 444 704: ↓ cbz x24, 774 ldr x2, [x21] mov x0, x24 mov x1, x19 mov x3, x22 ldr x4, [x29, #16] ldr x5, [x24] ldr x5, [x5, #88] ldr x5, [x5, #8] → blr x5 asr w23, w0, #0 ldr x4, [x29, #16] add x0, x4, #0x50 mov w1, #0x2 // #2 cmp w23, #0x0 csel w1, wzr, w1, ne // ne = any strb w1, [x0, #62] ↓ cbz w23, 800 ldrb w0, [x4, #143] ↓ cbz w0, 800 ldr x0, [x4, #32] ldr x1, [x0] ldr x1, [x1, #64] ldr x1, [x1, #56] → blr x1 ↓ b 7f8 76c: bl ffffffffff2a5d68 )[OptimizedTier1]() /tmp/jitted-45656-32613.so Percent stp x29, x30, [sp, #-64]! 1.69 stp x19, x20, [sp, #32] 2.54 stp x21, x22, [sp, #48] 2.54 mov x29, sp 1.69 str xzr, [x29, #24] mov x19, x0 0.85 mov x21, x1 mov w20, w2 mov w22, wzr cmp w20, #0x8 ↓ b.ge b0 0.85 2c: mov x0, xzr cmp w20, #0x0 csel x0, x0, x21, eq // eq = none 0.85 str x0, [x29, #24] 0.85 mov w1, w20 1.69 mov w2, w22 cmp x2, x1 ↓ b.cs 90 ldrsb wzr, [x19] 0.85 sub x3, x1, x2 2.54 cmp x3, #0x8 ↓ b.cs 154 5c: cmp x2, x1 0.85 ↓ b.cs 90 7.63 64: add x3, x19, #0x420 1.69 ldrh w4, [x0, x2, lsl #1] 1.69 lsr w5, w4, #5 4.24 ldr w3, [x3, w5, uxtw #2] 20.34 mov w5, #0x1 // #1 8.47 lsl w4, w5, w4 2.54 tst w3, w4 2.54 ↓ b.eq 90 17.80 add x2, x2, #0x1 4.24 cmp x2, x1 0.85 ↑ b.cc 64 0.85 90: mov w0, #0xffffffff // #-1 cmp w2, w1 0.85 csel w2, w2, w0, ne // ne = any mov w0, w2 ldp x21, x22, [sp, #48] ldp x19, x20, [sp, #32] 1.69 ldp x29, x30, [sp], #64 3.39 ← ret b0: ldr x0, [x19, #24] ↓ cbz x0, 10c 0.85 ldr x2, [x0] mov x1, #0xac90 // #44176 0.85 movk x1, #0x895e, lsl #16 movk x1, #0xfe4c, lsl #32 cmp x2, x1 ↓ b.ne 128 add x2, x0, #0x8 mov x0, x21 mov w1, w20 mov x3, #0x6c70 // #27760 movk x3, #0x89eb, lsl #16 movk x3, #0xfe4c, lsl #32 ldr x3, [x3] 0.85 → blr x3 f0: asr w22, w0, #0 cmp w22, w20 ↓ b.cc 144 0.85 fc: ldp x21, x22, [sp, #48] ldp x19, x20, [sp, #32] ldp x29, x30, [sp], #64 ← ret 10c: mov w0, #0x6 // #6 mov x1, #0xeb68 // #60264 movk x1, #0x8945, lsl #16 movk x1, #0xfe4c, 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