-
-
Save EgorBot/aa10814e9b702eee960a1fd0cd17751f to your computer and use it in GitHub Desktop.
diff_asm_7be65f28.asm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Percent | Source code & Disassembly of jitted-36725-17433.so for cpu-clock (390941 samples, percent: local period) | |
------------------------------------------------------------------------------------------------------------------------ | |
: | |
: | |
: | |
: 3 Disassembly of section .text: | |
: | |
: 5 0000000000000080 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]>: | |
: 6 uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1](): | |
0.07 : 80: stp x29, x30, [sp, #-128]! | |
0.00 : 84: stp d8, d9, [sp, #32] | |
0.00 : 88: stp d10, d11, [sp, #48] | |
0.00 : 8c: stp d12, d13, [sp, #64] | |
0.00 : 90: stp d14, d15, [sp, #80] | |
0.00 : 94: stp x19, x20, [sp, #96] | |
0.00 : 98: stp x21, x22, [sp, #112] | |
0.07 : 9c: mov x29, sp | |
0.00 : a0: mov x19, x2 | |
0.00 : a4: mov x20, x3 | |
0.00 : a8: mov w2, wzr | |
0.00 : ac: cmp w1, #0x20 | |
0.00 : b0: b.le 1024 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xfa4> | |
0.00 : b4: movi v8.4s, #0x0 | |
0.00 : b8: ldr q9, 1050 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xfd0> | |
0.09 : bc: uqsub v10.16b, v8.16b, v9.16b | |
0.00 : c0: ldr q11, 1060 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xfe0> | |
0.00 : c4: ldr q12, 1070 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xff0> | |
0.00 : c8: ldr q13, 1080 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x1000> | |
0.00 : cc: movi v14.16b, #0x60 | |
0.00 : d0: movi v15.16b, #0x70 | |
0.00 : d4: movi v16.16b, #0xf | |
0.00 : d8: movi v17.16b, #0x80 | |
0.08 : dc: movi v18.16b, #0xef | |
0.00 : e0: movi v19.16b, #0xbf | |
0.00 : e4: mov w3, wzr | |
0.00 : e8: mov w4, wzr | |
0.00 : ec: sxtw x5, w2 | |
4.39 : f0: ldr q20, [x0, x5] | |
0.00 : f4: and v21.16b, v20.16b, v17.16b | |
0.00 : f8: umaxp v21.4s, v21.4s, v21.4s | |
0.59 : fc: mov x5, v21.d[0] | |
0.00 : 100: cmp x5, #0x0 | |
0.00 : 104: b.eq 26c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x1ec> // b.none | |
2.14 : 108: ext v21.16b, v8.16b, v20.16b, #15 | |
0.00 : 10c: ushr v22.8h, v21.8h, #4 | |
3.03 : 110: and v22.16b, v22.16b, v16.16b | |
0.00 : 114: tbl v22.16b, {v11.16b}, v22.16b | |
0.00 : 118: and v21.16b, v21.16b, v16.16b | |
0.42 : 11c: tbl v21.16b, {v12.16b}, v21.16b | |
0.00 : 120: and v21.16b, v22.16b, v21.16b | |
0.00 : 124: ushr v22.8h, v20.8h, #4 | |
1.51 : 128: and v22.16b, v22.16b, v16.16b | |
0.00 : 12c: tbl v22.16b, {v13.16b}, v22.16b | |
3.05 : 130: and v21.16b, v21.16b, v22.16b | |
0.00 : 134: ext v22.16b, v8.16b, v20.16b, #14 | |
0.00 : 138: ext v23.16b, v8.16b, v20.16b, #13 | |
0.49 : 13c: mov v8.16b, v20.16b | |
0.00 : 140: uqsub v20.16b, v22.16b, v14.16b | |
0.00 : 144: uqsub v22.16b, v23.16b, v15.16b | |
1.52 : 148: orr v20.16b, v20.16b, v22.16b | |
0.00 : 14c: and v20.16b, v20.16b, v17.16b | |
3.15 : 150: eor v20.16b, v20.16b, v21.16b | |
0.00 : 154: umaxp v20.4s, v20.4s, v20.4s | |
0.00 : 158: mov x5, v20.d[0] | |
0.43 : 15c: cmp x5, #0x0 | |
0.00 : 160: b.ne 4f0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x470> // b.any | |
63.13 : 164: uqsub v10.16b, v8.16b, v9.16b | |
0.00 : 168: cmge v20.16b, v19.16b, v8.16b | |
0.00 : 16c: addv b20, v20.16b | |
0.00 : 170: smov x5, v20.b[0] | |
0.00 : 174: sub w3, w3, w5 | |
0.00 : 178: cmhi v20.16b, v8.16b, v18.16b | |
0.00 : 17c: umaxp v21.4s, v20.4s, v20.4s | |
5.02 : 180: mov x5, v21.d[0] | |
0.00 : 184: cmp x5, #0x0 | |
0.00 : 188: b.ne 4dc <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x45c> // b.any | |
0.59 : 18c: add w2, w2, #0x10 | |
0.00 : 190: add w5, w2, #0x10 | |
0.00 : 194: cmp w5, w1 | |
0.00 : 198: b.le ec <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x6c> | |
0.00 : 19c: umaxp v20.4s, v10.4s, v10.4s | |
0.08 : 1a0: mov x5, v20.d[0] | |
0.00 : 1a4: cmp x5, #0x0 | |
0.00 : 1a8: cset x5, ne // ne = any | |
0.00 : 1ac: cmp w2, w1 | |
0.00 : 1b0: cset x6, lt // lt = tstop | |
0.00 : 1b4: orr w6, w6, w5 | |
0.00 : 1b8: cbz w6, 488 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x408> | |
0.04 : 1bc: cbz w2, a64 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x9e4> | |
0.04 : 1c0: cbz w5, a64 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x9e4> | |
0.00 : 1c4: add x5, x0, w2, sxtw | |
0.00 : 1c8: sub x5, x5, #0x3 | |
0.00 : 1cc: sub w6, w1, w2 | |
0.00 : 1d0: add w6, w6, #0x3 | |
0.00 : 1d4: mov w7, wzr | |
0.00 : 1d8: mov w8, wzr | |
0.03 : 1dc: ldrb w9, [x5] | |
0.05 : 1e0: and w9, w9, #0xc0 | |
0.00 : 1e4: cmp w9, #0x80 | |
0.00 : 1e8: cset x9, ne // ne = any | |
0.00 : 1ec: cbnz w9, 294 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x214> | |
0.00 : 1f0: mov w8, #0x1 // #1 | |
0.00 : 1f4: ldurb w9, [x5, #-1] | |
0.00 : 1f8: and w9, w9, #0xc0 | |
0.00 : 1fc: cmp w9, #0x80 | |
0.00 : 200: cset x9, ne // ne = any | |
0.00 : 204: cbnz w9, 294 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x214> | |
0.00 : 208: mov w8, #0x2 // #2 | |
0.00 : 20c: ldurb w9, [x5, #-2] | |
0.00 : 210: and w9, w9, #0xc0 | |
0.00 : 214: cmp w9, #0x80 | |
0.00 : 218: cset x9, ne // ne = any | |
0.00 : 21c: cbnz w9, 294 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x214> | |
0.00 : 220: mov w8, #0x3 // #3 | |
0.00 : 224: ldurb w9, [x5, #-3] | |
0.00 : 228: and w9, w9, #0xc0 | |
0.00 : 22c: cmp w9, #0x80 | |
0.00 : 230: cset x9, ne // ne = any | |
0.00 : 234: cbnz w9, 294 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x214> | |
0.02 : 238: cbz w9, 438 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x3b8> | |
0.06 : 23c: mov w10, wzr | |
0.00 : 240: add w6, w6, w7 | |
0.18 : 244: cmp w10, w6 | |
0.00 : 248: b.ge 264 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x1e4> // b.tcont | |
0.36 : 24c: ldrb w11, [x5, w10, sxtw #0] | |
0.01 : 250: cmp w11, #0x80 | |
0.00 : 254: b.ge 2a0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x220> // b.tcont | |
0.13 : 258: add w10, w10, #0x1 | |
0.05 : 25c: cmp w10, w6 | |
0.00 : 260: b.ne 24c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x1cc> // b.any | |
0.05 : 264: add x21, x5, w6, sxtw | |
0.00 : 268: b 43c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x3bc> | |
0.00 : 26c: umaxp v20.4s, v10.4s, v10.4s | |
0.00 : 270: mov x5, v20.d[0] | |
0.00 : 274: cmp x5, #0x0 | |
0.00 : 278: b.ne d40 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xcc0> // b.any | |
0.00 : 27c: movi v10.4s, #0x0 | |
0.00 : 280: mov w22, #0x10 // #16 | |
0.00 : 284: add w8, w2, #0x50 | |
0.00 : 288: cmp w8, w1 | |
0.00 : 28c: b.gt 18c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x10c> | |
0.00 : 290: b 9f0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x970> | |
0.00 : 294: sub x5, x5, w8, sxtw | |
0.00 : 298: asr w7, w8, #0 | |
0.00 : 29c: b 238 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x1b8> | |
0.40 : 2a0: and w7, w11, #0xe0 | |
0.12 : 2a4: cmp w7, #0xc0 | |
0.00 : 2a8: b.ne 2f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x278> // b.any | |
0.41 : 2ac: add w7, w10, #0x2 | |
0.00 : 2b0: cmp w7, w6 | |
0.00 : 2b4: b.gt 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> | |
0.43 : 2b8: add w8, w10, #0x1 | |
0.00 : 2bc: ldrb w8, [x5, w8, sxtw #0] | |
0.04 : 2c0: and w8, w8, #0xc0 | |
0.05 : 2c4: cmp w8, #0x80 | |
0.00 : 2c8: b.ne 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> // b.any | |
0.57 : 2cc: add w8, w10, #0x1 | |
0.00 : 2d0: ldrb w8, [x5, w8, sxtw #0] | |
0.01 : 2d4: and w8, w8, #0x3f | |
0.00 : 2d8: and w11, w11, #0x1f | |
0.00 : 2dc: orr w8, w8, w11, lsl #6 | |
0.02 : 2e0: mov w9, #0x7ff // #2047 | |
0.07 : 2e4: cmp w8, #0x80 | |
0.00 : 2e8: ccmp w8, w9, #0x2, cs // cs = hs, nlast | |
0.43 : 2ec: b.hi 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> // b.pmore | |
0.62 : 2f0: asr w10, w7, #0 | |
0.00 : 2f4: b 244 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x1c4> | |
0.00 : 2f8: and w7, w11, #0xf0 | |
0.00 : 2fc: cmp w7, #0xe0 | |
0.00 : 300: b.ne 394 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x314> // b.any | |
0.00 : 304: add w7, w10, #0x3 | |
0.00 : 308: cmp w7, w6 | |
0.00 : 30c: b.gt 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> | |
0.00 : 310: add w8, w10, #0x1 | |
0.00 : 314: ldrb w8, [x5, w8, sxtw #0] | |
0.00 : 318: and w8, w8, #0x3f | |
0.00 : 31c: lsl w8, w8, #6 | |
0.00 : 320: and w11, w11, #0xf | |
0.00 : 324: orr w8, w8, w11, lsl #12 | |
0.00 : 328: add w9, w10, #0x2 | |
0.00 : 32c: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 330: and w9, w9, #0x3f | |
0.00 : 334: orr w8, w8, w9 | |
0.00 : 338: mov w9, #0xffff // #65535 | |
0.00 : 33c: cmp w8, #0x800 | |
0.00 : 340: ccmp w8, w9, #0x2, cs // cs = hs, nlast | |
0.00 : 344: cset x9, hi // hi = pmore | |
0.00 : 348: mov w11, #0xd7ff // #55295 | |
0.00 : 34c: mov w13, #0xe000 // #57344 | |
0.00 : 350: cmp w8, w11 | |
0.00 : 354: ccmp w8, w13, #0x2, hi // hi = pmore | |
0.00 : 358: cset x8, cc // cc = lo, ul, last | |
0.00 : 35c: orr w8, w9, w8 | |
0.00 : 360: cbnz w8, 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> | |
0.00 : 364: add w8, w10, #0x1 | |
0.00 : 368: ldrb w8, [x5, w8, sxtw #0] | |
0.00 : 36c: and w8, w8, #0xc0 | |
0.00 : 370: cmp w8, #0x80 | |
0.00 : 374: b.ne 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> // b.any | |
0.00 : 378: add w8, w10, #0x2 | |
0.00 : 37c: ldrb w8, [x5, w8, sxtw #0] | |
0.00 : 380: and w8, w8, #0xc0 | |
0.00 : 384: cmp w8, #0x80 | |
0.00 : 388: b.eq 2f0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x270> // b.none | |
0.00 : 38c: add x21, x5, w10, sxtw | |
0.00 : 390: b 43c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x3bc> | |
0.00 : 394: and w7, w11, #0xf8 | |
0.00 : 398: cmp w7, #0xf0 | |
0.00 : 39c: b.ne 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> // b.any | |
0.00 : 3a0: add w7, w10, #0x4 | |
0.00 : 3a4: cmp w7, w6 | |
0.00 : 3a8: b.gt 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> | |
0.00 : 3ac: add w8, w10, #0x1 | |
0.00 : 3b0: ldrb w8, [x5, w8, sxtw #0] | |
0.00 : 3b4: and w8, w8, #0xc0 | |
0.00 : 3b8: cmp w8, #0x80 | |
0.00 : 3bc: b.ne 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> // b.any | |
0.00 : 3c0: add w8, w10, #0x2 | |
0.00 : 3c4: ldrb w8, [x5, w8, sxtw #0] | |
0.00 : 3c8: and w8, w8, #0xc0 | |
0.00 : 3cc: cmp w8, #0x80 | |
0.00 : 3d0: b.ne 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> // b.any | |
0.00 : 3d4: add w8, w10, #0x3 | |
0.00 : 3d8: ldrb w8, [x5, w8, sxtw #0] | |
0.00 : 3dc: and w8, w8, #0xc0 | |
0.00 : 3e0: cmp w8, #0x80 | |
0.00 : 3e4: b.ne 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> // b.any | |
0.00 : 3e8: add w8, w10, #0x1 | |
0.00 : 3ec: ldrb w8, [x5, w8, sxtw #0] | |
0.00 : 3f0: and w8, w8, #0x3f | |
0.00 : 3f4: lsl w8, w8, #12 | |
0.00 : 3f8: and w9, w11, #0x7 | |
0.00 : 3fc: orr w8, w8, w9, lsl #18 | |
0.00 : 400: add w9, w10, #0x2 | |
0.00 : 404: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 408: and w9, w9, #0x3f | |
0.00 : 40c: orr w8, w8, w9, lsl #6 | |
0.00 : 410: add w9, w10, #0x3 | |
0.00 : 414: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 418: and w9, w9, #0x3f | |
0.00 : 41c: orr w8, w8, w9 | |
0.00 : 420: mov w9, #0xffff // #65535 | |
0.00 : 424: mov w11, #0x10ffff // #1114111 | |
0.00 : 428: cmp w8, w9 | |
0.00 : 42c: ccmp w8, w11, #0x2, hi // hi = pmore | |
0.00 : 430: b.ls 2f0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x270> // b.plast | |
0.00 : 434: b 38c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x30c> | |
0.00 : 438: sub x21, x5, #0x3 | |
0.09 : 43c: add x5, x0, w1, sxtw | |
0.00 : 440: cmp x5, x21 | |
0.00 : 444: b.ne c80 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xc00> // b.any | |
0.07 : 448: add x2, x0, w2, sxtw | |
0.00 : 44c: cmp x2, x21 | |
0.00 : 450: b.cs 488 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x408> // b.hs, b.nlast | |
0.52 : 454: ldrb w5, [x2] | |
0.46 : 458: and w5, w5, #0xc0 | |
0.00 : 45c: cmp w5, #0x80 | |
0.00 : 460: b.ne 468 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x3e8> // b.any | |
1.00 : 464: add w3, w3, #0x1 | |
1.14 : 468: ldrb w5, [x2] | |
0.00 : 46c: and w5, w5, #0xf0 | |
0.00 : 470: cmp w5, #0xf0 | |
0.00 : 474: b.ne 47c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x3fc> // b.any | |
0.00 : 478: add w4, w4, #0x1 | |
1.81 : 47c: add x2, x2, #0x1 | |
0.00 : 480: cmp x2, x21 | |
0.00 : 484: b.cc 454 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x3d4> // b.lo, b.ul, b.last | |
0.00 : 488: neg w2, w4 | |
0.00 : 48c: lsl w2, w2, #1 | |
0.00 : 490: add w2, w2, w3, lsl #1 | |
0.00 : 494: mov w5, #0x3 // #3 | |
0.00 : 498: msub w3, w3, w5, w4 | |
0.08 : 49c: neg w5, w4 | |
0.00 : 4a0: neg w4, w4 | |
0.00 : 4a4: lsl w4, w4, #1 | |
0.00 : 4a8: sub w2, w4, w2, lsl #1 | |
0.00 : 4ac: sub w2, w2, w3 | |
0.00 : 4b0: str w2, [x19] | |
0.00 : 4b4: str w5, [x20] | |
0.00 : 4b8: add x0, x0, w1, sxtw | |
0.08 : 4bc: ldp x21, x22, [sp, #112] | |
0.24 : 4c0: ldp x19, x20, [sp, #96] | |
0.15 : 4c4: ldp d14, d15, [sp, #80] | |
0.00 : 4c8: ldp d12, d13, [sp, #64] | |
0.08 : 4cc: ldp d10, d11, [sp, #48] | |
0.08 : 4d0: ldp d8, d9, [sp, #32] | |
0.07 : 4d4: ldp x29, x30, [sp], #128 | |
0.09 : 4d8: ret | |
0.00 : 4dc: addv b20, v20.16b | |
0.00 : 4e0: umov w5, v20.b[0] | |
0.00 : 4e4: neg w5, w5 | |
0.00 : 4e8: add w4, w4, w5, uxtb | |
0.00 : 4ec: b 18c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x10c> | |
0.00 : 4f0: cbnz w2, 70c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x68c> | |
0.00 : 4f4: mov x22, x0 | |
0.00 : 4f8: mov w5, wzr | |
0.00 : 4fc: mov w6, wzr | |
0.00 : 500: mov w7, wzr | |
0.00 : 504: cmp w7, #0x0 | |
0.00 : 508: b.gt 534 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x4b4> | |
0.00 : 50c: neg w6, w7 | |
0.00 : 510: ldrb w6, [x0, w6, sxtw #0] | |
0.00 : 514: and w6, w6, #0xc0 | |
0.00 : 518: cmp w6, #0x80 | |
0.00 : 51c: cset x6, ne // ne = any | |
0.00 : 520: cbnz w6, 52c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x4ac> | |
0.00 : 524: add w7, w7, #0x1 | |
0.00 : 528: b 504 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x484> | |
0.00 : 52c: sub x22, x0, w7, sxtw | |
0.00 : 530: asr w5, w7, #0 | |
0.00 : 534: cbz w6, 708 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x688> | |
0.00 : 538: mov w6, wzr | |
0.00 : 53c: add w1, w1, w5 | |
0.00 : 540: cmp w6, w1 | |
0.00 : 544: b.ge 700 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x680> // b.tcont | |
0.00 : 548: ldrb w5, [x22, w6, sxtw #0] | |
0.00 : 54c: cmp w5, #0x80 | |
0.00 : 550: b.ge 564 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x4e4> // b.tcont | |
0.00 : 554: add w6, w6, #0x1 | |
0.00 : 558: cmp w6, w1 | |
0.00 : 55c: b.ne 548 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x4c8> // b.any | |
0.00 : 560: b 700 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x680> | |
0.00 : 564: and w7, w5, #0xe0 | |
0.00 : 568: cmp w7, #0xc0 | |
0.00 : 56c: b.ne 5b8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x538> // b.any | |
0.00 : 570: add w7, w6, #0x2 | |
0.00 : 574: cmp w7, w1 | |
0.00 : 578: b.gt 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> | |
0.00 : 57c: add w8, w6, #0x1 | |
0.00 : 580: ldrb w8, [x22, w8, sxtw #0] | |
0.00 : 584: and w8, w8, #0xc0 | |
0.00 : 588: cmp w8, #0x80 | |
0.00 : 58c: b.ne 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> // b.any | |
0.00 : 590: add w8, w6, #0x1 | |
0.00 : 594: ldrb w8, [x22, w8, sxtw #0] | |
0.00 : 598: and w8, w8, #0x3f | |
0.00 : 59c: and w5, w5, #0x1f | |
0.00 : 5a0: orr w5, w8, w5, lsl #6 | |
0.00 : 5a4: mov w8, #0x7ff // #2047 | |
0.00 : 5a8: cmp w5, #0x80 | |
0.00 : 5ac: ccmp w5, w8, #0x2, cs // cs = hs, nlast | |
0.00 : 5b0: b.ls 6f0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x670> // b.plast | |
0.00 : 5b4: b 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> | |
0.00 : 5b8: and w7, w5, #0xf0 | |
0.00 : 5bc: cmp w7, #0xe0 | |
0.00 : 5c0: b.ne 650 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x5d0> // b.any | |
0.00 : 5c4: add w7, w6, #0x3 | |
0.00 : 5c8: cmp w7, w1 | |
0.00 : 5cc: b.gt 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> | |
0.00 : 5d0: add w8, w6, #0x1 | |
0.00 : 5d4: ldrb w8, [x22, w8, sxtw #0] | |
0.00 : 5d8: and w8, w8, #0x3f | |
0.00 : 5dc: lsl w8, w8, #6 | |
0.00 : 5e0: and w5, w5, #0xf | |
0.00 : 5e4: orr w5, w8, w5, lsl #12 | |
0.00 : 5e8: add w8, w6, #0x2 | |
0.00 : 5ec: ldrb w8, [x22, w8, sxtw #0] | |
0.00 : 5f0: and w8, w8, #0x3f | |
0.00 : 5f4: orr w5, w5, w8 | |
0.00 : 5f8: mov w8, #0xffff // #65535 | |
0.00 : 5fc: cmp w5, #0x800 | |
0.00 : 600: ccmp w5, w8, #0x2, cs // cs = hs, nlast | |
0.00 : 604: cset x8, hi // hi = pmore | |
0.00 : 608: mov w9, #0xd7ff // #55295 | |
0.00 : 60c: mov w10, #0xe000 // #57344 | |
0.00 : 610: cmp w5, w9 | |
0.00 : 614: ccmp w5, w10, #0x2, hi // hi = pmore | |
0.00 : 618: cset x5, cc // cc = lo, ul, last | |
0.00 : 61c: orr w5, w8, w5 | |
0.00 : 620: cbnz w5, 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> | |
0.00 : 624: add w5, w6, #0x1 | |
0.00 : 628: ldrb w5, [x22, w5, sxtw #0] | |
0.00 : 62c: and w5, w5, #0xc0 | |
0.00 : 630: cmp w5, #0x80 | |
0.00 : 634: b.ne 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> // b.any | |
0.00 : 638: add w5, w6, #0x2 | |
0.00 : 63c: ldrb w5, [x22, w5, sxtw #0] | |
0.00 : 640: and w5, w5, #0xc0 | |
0.00 : 644: cmp w5, #0x80 | |
0.00 : 648: b.eq 6f0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x670> // b.none | |
0.00 : 64c: b 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> | |
0.00 : 650: and w7, w5, #0xf8 | |
0.00 : 654: cmp w7, #0xf0 | |
0.00 : 658: b.ne 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> // b.any | |
0.00 : 65c: add w7, w6, #0x4 | |
0.00 : 660: cmp w7, w1 | |
0.00 : 664: b.gt 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> | |
0.00 : 668: add w8, w6, #0x1 | |
0.00 : 66c: ldrb w8, [x22, w8, sxtw #0] | |
0.00 : 670: and w8, w8, #0xc0 | |
0.00 : 674: cmp w8, #0x80 | |
0.00 : 678: b.ne 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> // b.any | |
0.00 : 67c: add w8, w6, #0x2 | |
0.00 : 680: ldrb w8, [x22, w8, sxtw #0] | |
0.00 : 684: and w8, w8, #0xc0 | |
0.00 : 688: cmp w8, #0x80 | |
0.00 : 68c: b.ne 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> // b.any | |
0.00 : 690: add w8, w6, #0x3 | |
0.00 : 694: ldrb w8, [x22, w8, sxtw #0] | |
0.00 : 698: and w8, w8, #0xc0 | |
0.00 : 69c: cmp w8, #0x80 | |
0.00 : 6a0: b.ne 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> // b.any | |
0.00 : 6a4: add w8, w6, #0x1 | |
0.00 : 6a8: ldrb w8, [x22, w8, sxtw #0] | |
0.00 : 6ac: and w8, w8, #0x3f | |
0.00 : 6b0: lsl w8, w8, #12 | |
0.00 : 6b4: and w5, w5, #0x7 | |
0.00 : 6b8: orr w5, w8, w5, lsl #18 | |
0.00 : 6bc: add w8, w6, #0x2 | |
0.00 : 6c0: ldrb w8, [x22, w8, sxtw #0] | |
0.00 : 6c4: and w8, w8, #0x3f | |
0.00 : 6c8: orr w5, w5, w8, lsl #6 | |
0.00 : 6cc: add w8, w6, #0x3 | |
0.00 : 6d0: ldrb w8, [x22, w8, sxtw #0] | |
0.00 : 6d4: and w8, w8, #0x3f | |
0.00 : 6d8: orr w5, w5, w8 | |
0.00 : 6dc: mov w8, #0xffff // #65535 | |
0.00 : 6e0: mov w9, #0x10ffff // #1114111 | |
0.00 : 6e4: cmp w5, w8 | |
0.00 : 6e8: ccmp w5, w9, #0x2, hi // hi = pmore | |
0.00 : 6ec: b.hi 6f8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x678> // b.pmore | |
0.00 : 6f0: asr w6, w7, #0 | |
0.00 : 6f4: b 540 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x4c0> | |
0.00 : 6f8: add x22, x22, w6, sxtw | |
0.00 : 6fc: b 708 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x688> | |
0.00 : 700: add x22, x22, w1, sxtw | |
0.00 : 704: b 708 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x688> | |
0.00 : 708: b 930 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x8b0> | |
0.00 : 70c: add x5, x0, w2, sxtw | |
0.00 : 710: sub x5, x5, #0x3 | |
0.00 : 714: sub w1, w1, w2 | |
0.00 : 718: add w1, w1, #0x3 | |
0.00 : 71c: mov w6, wzr | |
0.00 : 720: mov w7, wzr | |
0.00 : 724: mov w8, wzr | |
0.00 : 728: cmp w8, #0x3 | |
0.00 : 72c: b.gt 758 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x6d8> | |
0.00 : 730: neg w7, w8 | |
0.00 : 734: ldrb w7, [x5, w7, sxtw #0] | |
0.00 : 738: and w7, w7, #0xc0 | |
0.00 : 73c: cmp w7, #0x80 | |
0.00 : 740: cset x7, ne // ne = any | |
0.00 : 744: cbnz w7, 750 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x6d0> | |
0.00 : 748: add w8, w8, #0x1 | |
0.00 : 74c: b 728 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x6a8> | |
0.00 : 750: sub x5, x5, w8, sxtw | |
0.00 : 754: asr w6, w8, #0 | |
0.00 : 758: cbz w7, 92c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x8ac> | |
0.00 : 75c: mov w7, wzr | |
0.00 : 760: add w1, w1, w6 | |
0.00 : 764: cmp w7, w1 | |
0.00 : 768: b.ge 924 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x8a4> // b.tcont | |
0.00 : 76c: ldrb w6, [x5, w7, sxtw #0] | |
0.00 : 770: cmp w6, #0x80 | |
0.00 : 774: b.ge 788 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x708> // b.tcont | |
0.00 : 778: add w7, w7, #0x1 | |
0.00 : 77c: cmp w7, w1 | |
0.00 : 780: b.ne 76c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x6ec> // b.any | |
0.00 : 784: b 924 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x8a4> | |
0.00 : 788: and w8, w6, #0xe0 | |
0.00 : 78c: cmp w8, #0xc0 | |
0.00 : 790: b.ne 7dc <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x75c> // b.any | |
0.00 : 794: add w8, w7, #0x2 | |
0.00 : 798: cmp w8, w1 | |
0.00 : 79c: b.gt 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> | |
0.00 : 7a0: add w9, w7, #0x1 | |
0.00 : 7a4: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 7a8: and w9, w9, #0xc0 | |
0.00 : 7ac: cmp w9, #0x80 | |
0.00 : 7b0: b.ne 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> // b.any | |
0.00 : 7b4: add w9, w7, #0x1 | |
0.00 : 7b8: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 7bc: and w9, w9, #0x3f | |
0.00 : 7c0: and w6, w6, #0x1f | |
0.00 : 7c4: orr w6, w9, w6, lsl #6 | |
0.00 : 7c8: mov w9, #0x7ff // #2047 | |
0.00 : 7cc: cmp w6, #0x80 | |
0.00 : 7d0: ccmp w6, w9, #0x2, cs // cs = hs, nlast | |
0.00 : 7d4: b.ls 914 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x894> // b.plast | |
0.00 : 7d8: b 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> | |
0.00 : 7dc: and w8, w6, #0xf0 | |
0.00 : 7e0: cmp w8, #0xe0 | |
0.00 : 7e4: b.ne 874 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x7f4> // b.any | |
0.00 : 7e8: add w8, w7, #0x3 | |
0.00 : 7ec: cmp w8, w1 | |
0.00 : 7f0: b.gt 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> | |
0.00 : 7f4: add w9, w7, #0x1 | |
0.00 : 7f8: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 7fc: and w9, w9, #0x3f | |
0.00 : 800: lsl w9, w9, #6 | |
0.00 : 804: and w6, w6, #0xf | |
0.00 : 808: orr w6, w9, w6, lsl #12 | |
0.00 : 80c: add w9, w7, #0x2 | |
0.00 : 810: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 814: and w9, w9, #0x3f | |
0.00 : 818: orr w6, w6, w9 | |
0.00 : 81c: mov w9, #0xffff // #65535 | |
0.00 : 820: cmp w6, #0x800 | |
0.00 : 824: ccmp w6, w9, #0x2, cs // cs = hs, nlast | |
0.00 : 828: cset x9, hi // hi = pmore | |
0.00 : 82c: mov w10, #0xd7ff // #55295 | |
0.00 : 830: mov w11, #0xe000 // #57344 | |
0.00 : 834: cmp w6, w10 | |
0.00 : 838: ccmp w6, w11, #0x2, hi // hi = pmore | |
0.00 : 83c: cset x6, cc // cc = lo, ul, last | |
0.00 : 840: orr w6, w9, w6 | |
0.00 : 844: cbnz w6, 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> | |
0.00 : 848: add w6, w7, #0x1 | |
0.00 : 84c: ldrb w6, [x5, w6, sxtw #0] | |
0.00 : 850: and w6, w6, #0xc0 | |
0.00 : 854: cmp w6, #0x80 | |
0.00 : 858: b.ne 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> // b.any | |
0.00 : 85c: add w6, w7, #0x2 | |
0.00 : 860: ldrb w6, [x5, w6, sxtw #0] | |
0.00 : 864: and w6, w6, #0xc0 | |
0.00 : 868: cmp w6, #0x80 | |
0.00 : 86c: b.eq 914 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x894> // b.none | |
0.00 : 870: b 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> | |
0.00 : 874: and w8, w6, #0xf8 | |
0.00 : 878: cmp w8, #0xf0 | |
0.00 : 87c: b.ne 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> // b.any | |
0.00 : 880: add w8, w7, #0x4 | |
0.00 : 884: cmp w8, w1 | |
0.00 : 888: b.gt 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> | |
0.00 : 88c: add w9, w7, #0x1 | |
0.00 : 890: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 894: and w9, w9, #0xc0 | |
0.00 : 898: cmp w9, #0x80 | |
0.00 : 89c: b.ne 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> // b.any | |
0.00 : 8a0: add w9, w7, #0x2 | |
0.00 : 8a4: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 8a8: and w9, w9, #0xc0 | |
0.00 : 8ac: cmp w9, #0x80 | |
0.00 : 8b0: b.ne 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> // b.any | |
0.00 : 8b4: add w9, w7, #0x3 | |
0.00 : 8b8: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 8bc: and w9, w9, #0xc0 | |
0.00 : 8c0: cmp w9, #0x80 | |
0.00 : 8c4: b.ne 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> // b.any | |
0.00 : 8c8: add w9, w7, #0x1 | |
0.00 : 8cc: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 8d0: and w9, w9, #0x3f | |
0.00 : 8d4: lsl w9, w9, #12 | |
0.00 : 8d8: and w6, w6, #0x7 | |
0.00 : 8dc: orr w6, w9, w6, lsl #18 | |
0.00 : 8e0: add w9, w7, #0x2 | |
0.00 : 8e4: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 8e8: and w9, w9, #0x3f | |
0.00 : 8ec: orr w6, w6, w9, lsl #6 | |
0.00 : 8f0: add w9, w7, #0x3 | |
0.00 : 8f4: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : 8f8: and w9, w9, #0x3f | |
0.00 : 8fc: orr w6, w6, w9 | |
0.00 : 900: mov w9, #0xffff // #65535 | |
0.00 : 904: mov w10, #0x10ffff // #1114111 | |
0.00 : 908: cmp w6, w9 | |
0.00 : 90c: ccmp w6, w10, #0x2, hi // hi = pmore | |
0.00 : 910: b.hi 91c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x89c> // b.pmore | |
0.00 : 914: asr w7, w8, #0 | |
0.00 : 918: b 764 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x6e4> | |
0.00 : 91c: add x22, x5, w7, sxtw | |
0.00 : 920: b 930 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x8b0> | |
0.00 : 924: add x22, x5, w1, sxtw | |
0.00 : 928: b 930 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x8b0> | |
0.00 : 92c: sub x22, x5, #0x3 | |
0.00 : 930: add x1, x0, w2, sxtw | |
0.00 : 934: cmp x1, x22 | |
0.00 : 938: b.ls 97c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x8fc> // b.plast | |
0.00 : 93c: mov x1, x22 | |
0.00 : 940: add x5, x0, w2, sxtw | |
0.00 : 944: cmp x5, x1 | |
0.00 : 948: b.ls 9b8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x938> // b.plast | |
0.00 : 94c: ldrb w5, [x1] | |
0.00 : 950: and w5, w5, #0xc0 | |
0.00 : 954: cmp w5, #0x80 | |
0.00 : 958: b.ne 960 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x8e0> // b.any | |
0.00 : 95c: sub w3, w3, #0x1 | |
0.00 : 960: ldrb w5, [x1] | |
0.00 : 964: and w5, w5, #0xf0 | |
0.00 : 968: cmp w5, #0xf0 | |
0.00 : 96c: b.ne 974 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x8f4> // b.any | |
0.00 : 970: sub w4, w4, #0x1 | |
0.00 : 974: add x1, x1, #0x1 | |
0.00 : 978: b 940 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x8c0> | |
0.00 : 97c: add x0, x0, w2, sxtw | |
0.00 : 980: cmp x0, x22 | |
0.00 : 984: b.cs 9b8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x938> // b.hs, b.nlast | |
0.00 : 988: ldrb w1, [x0] | |
0.00 : 98c: and w1, w1, #0xc0 | |
0.00 : 990: cmp w1, #0x80 | |
0.00 : 994: b.ne 99c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x91c> // b.any | |
0.00 : 998: add w3, w3, #0x1 | |
0.00 : 99c: ldrb w1, [x0] | |
0.00 : 9a0: and w1, w1, #0xf0 | |
0.00 : 9a4: cmp w1, #0xf0 | |
0.00 : 9a8: b.ne 9b0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x930> // b.any | |
0.00 : 9ac: add w4, w4, #0x1 | |
0.00 : 9b0: add x0, x0, #0x1 | |
0.00 : 9b4: b 980 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x900> | |
0.00 : 9b8: mov w0, w4 | |
0.00 : 9bc: mov w1, w3 | |
0.00 : 9c0: mov x2, #0xcd08 // #52488 | |
0.00 : 9c4: movk x2, #0xd936, lsl #16 | |
0.00 : 9c8: movk x2, #0xf81e, lsl #32 | |
0.00 : 9cc: ldr x2, [x2] | |
0.00 : 9d0: blr x2 | |
0.00 : 9d4: str x0, [x29, #24] | |
0.00 : 9d8: ldr w0, [x29, #24] | |
0.00 : 9dc: str w0, [x19] | |
0.00 : 9e0: ldr w0, [x29, #28] | |
0.00 : 9e4: str w0, [x20] | |
0.00 : 9e8: mov x0, x22 | |
0.00 : 9ec: b 4bc <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x43c> | |
0.00 : 9f0: add w5, w2, w22 | |
0.00 : 9f4: add w5, w5, #0x40 | |
0.00 : 9f8: cmp w5, w1 | |
0.00 : 9fc: b.gt a58 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x9d8> | |
0.00 : a00: add x5, x0, w2, sxtw | |
0.00 : a04: sxtw x6, w22 | |
0.00 : a08: ldr q20, [x5, x6] | |
0.00 : a0c: add x5, x0, w2, sxtw | |
0.00 : a10: add x5, x5, w22, sxtw | |
0.00 : a14: ldr q21, [x5, #16] | |
0.00 : a18: orr v20.16b, v20.16b, v21.16b | |
0.00 : a1c: add x5, x0, w2, sxtw | |
0.00 : a20: add x5, x5, w22, sxtw | |
0.00 : a24: ldr q21, [x5, #32] | |
0.00 : a28: add x5, x0, w2, sxtw | |
0.00 : a2c: add x5, x5, w22, sxtw | |
0.00 : a30: ldr q22, [x5, #48] | |
0.00 : a34: orr v21.16b, v21.16b, v22.16b | |
0.00 : a38: orr v20.16b, v20.16b, v21.16b | |
0.00 : a3c: and v20.16b, v20.16b, v17.16b | |
0.00 : a40: umaxp v20.4s, v20.4s, v20.4s | |
0.00 : a44: mov x5, v20.d[0] | |
0.00 : a48: cmp x5, #0x0 | |
0.00 : a4c: b.ne a58 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x9d8> // b.any | |
0.00 : a50: add w22, w22, #0x40 | |
0.00 : a54: b 9f0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x970> | |
0.00 : a58: add w2, w2, w22 | |
0.00 : a5c: sub w2, w2, #0x10 | |
0.00 : a60: b 18c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x10c> | |
0.00 : a64: add x21, x0, w2, sxtw | |
0.00 : a68: sub w5, w1, w2 | |
0.00 : a6c: mov w6, wzr | |
0.00 : a70: mov w7, wzr | |
0.00 : a74: mov w8, wzr | |
0.00 : a78: cmp w8, #0x0 | |
0.00 : a7c: b.gt aa8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xa28> | |
0.00 : a80: neg w7, w8 | |
0.00 : a84: ldrb w7, [x21, w7, sxtw #0] | |
0.00 : a88: and w7, w7, #0xc0 | |
0.00 : a8c: cmp w7, #0x80 | |
0.00 : a90: cset x7, ne // ne = any | |
0.00 : a94: cbnz w7, aa0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xa20> | |
0.00 : a98: add w8, w8, #0x1 | |
0.00 : a9c: b a78 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x9f8> | |
0.00 : aa0: sub x21, x21, w8, sxtw | |
0.00 : aa4: asr w6, w8, #0 | |
0.00 : aa8: cbz w7, c7c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbfc> | |
0.00 : aac: mov w7, wzr | |
0.00 : ab0: add w5, w5, w6 | |
0.00 : ab4: cmp w7, w5 | |
0.00 : ab8: b.ge c74 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbf4> // b.tcont | |
0.00 : abc: ldrb w6, [x21, w7, sxtw #0] | |
0.00 : ac0: cmp w6, #0x80 | |
0.00 : ac4: b.ge ad8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xa58> // b.tcont | |
0.00 : ac8: add w7, w7, #0x1 | |
0.00 : acc: cmp w7, w5 | |
0.00 : ad0: b.ne abc <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xa3c> // b.any | |
0.00 : ad4: b c74 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbf4> | |
0.00 : ad8: and w8, w6, #0xe0 | |
0.00 : adc: cmp w8, #0xc0 | |
0.00 : ae0: b.ne b2c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xaac> // b.any | |
0.00 : ae4: add w8, w7, #0x2 | |
0.00 : ae8: cmp w8, w5 | |
0.00 : aec: b.gt c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> | |
0.00 : af0: add w9, w7, #0x1 | |
0.00 : af4: ldrb w9, [x21, w9, sxtw #0] | |
0.00 : af8: and w9, w9, #0xc0 | |
0.00 : afc: cmp w9, #0x80 | |
0.00 : b00: b.ne c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> // b.any | |
0.00 : b04: add w9, w7, #0x1 | |
0.00 : b08: ldrb w9, [x21, w9, sxtw #0] | |
0.00 : b0c: and w9, w9, #0x3f | |
0.00 : b10: and w6, w6, #0x1f | |
0.00 : b14: orr w6, w9, w6, lsl #6 | |
0.00 : b18: mov w9, #0x7ff // #2047 | |
0.00 : b1c: cmp w6, #0x80 | |
0.00 : b20: ccmp w6, w9, #0x2, cs // cs = hs, nlast | |
0.00 : b24: b.ls c64 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbe4> // b.plast | |
0.00 : b28: b c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> | |
0.00 : b2c: and w8, w6, #0xf0 | |
0.00 : b30: cmp w8, #0xe0 | |
0.00 : b34: b.ne bc4 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xb44> // b.any | |
0.00 : b38: add w8, w7, #0x3 | |
0.00 : b3c: cmp w8, w5 | |
0.00 : b40: b.gt c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> | |
0.00 : b44: add w9, w7, #0x1 | |
0.00 : b48: ldrb w9, [x21, w9, sxtw #0] | |
0.00 : b4c: and w9, w9, #0x3f | |
0.00 : b50: lsl w9, w9, #6 | |
0.00 : b54: and w6, w6, #0xf | |
0.00 : b58: orr w6, w9, w6, lsl #12 | |
0.00 : b5c: add w9, w7, #0x2 | |
0.00 : b60: ldrb w9, [x21, w9, sxtw #0] | |
0.00 : b64: and w9, w9, #0x3f | |
0.00 : b68: orr w6, w6, w9 | |
0.00 : b6c: mov w9, #0xffff // #65535 | |
0.00 : b70: cmp w6, #0x800 | |
0.00 : b74: ccmp w6, w9, #0x2, cs // cs = hs, nlast | |
0.00 : b78: cset x9, hi // hi = pmore | |
0.00 : b7c: mov w10, #0xd7ff // #55295 | |
0.00 : b80: mov w11, #0xe000 // #57344 | |
0.00 : b84: cmp w6, w10 | |
0.00 : b88: ccmp w6, w11, #0x2, hi // hi = pmore | |
0.00 : b8c: cset x6, cc // cc = lo, ul, last | |
0.00 : b90: orr w6, w9, w6 | |
0.00 : b94: cbnz w6, c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> | |
0.00 : b98: add w6, w7, #0x1 | |
0.00 : b9c: ldrb w6, [x21, w6, sxtw #0] | |
0.00 : ba0: and w6, w6, #0xc0 | |
0.00 : ba4: cmp w6, #0x80 | |
0.00 : ba8: b.ne c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> // b.any | |
0.00 : bac: add w6, w7, #0x2 | |
0.00 : bb0: ldrb w6, [x21, w6, sxtw #0] | |
0.00 : bb4: and w6, w6, #0xc0 | |
0.00 : bb8: cmp w6, #0x80 | |
0.00 : bbc: b.eq c64 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbe4> // b.none | |
0.00 : bc0: b c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> | |
0.00 : bc4: and w8, w6, #0xf8 | |
0.00 : bc8: cmp w8, #0xf0 | |
0.00 : bcc: b.ne c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> // b.any | |
0.00 : bd0: add w8, w7, #0x4 | |
0.00 : bd4: cmp w8, w5 | |
0.00 : bd8: b.gt c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> | |
0.00 : bdc: add w9, w7, #0x1 | |
0.00 : be0: ldrb w9, [x21, w9, sxtw #0] | |
0.00 : be4: and w9, w9, #0xc0 | |
0.00 : be8: cmp w9, #0x80 | |
0.00 : bec: b.ne c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> // b.any | |
0.00 : bf0: add w9, w7, #0x2 | |
0.00 : bf4: ldrb w9, [x21, w9, sxtw #0] | |
0.00 : bf8: and w9, w9, #0xc0 | |
0.00 : bfc: cmp w9, #0x80 | |
0.00 : c00: b.ne c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> // b.any | |
0.00 : c04: add w9, w7, #0x3 | |
0.00 : c08: ldrb w9, [x21, w9, sxtw #0] | |
0.00 : c0c: and w9, w9, #0xc0 | |
0.00 : c10: cmp w9, #0x80 | |
0.00 : c14: b.ne c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> // b.any | |
0.00 : c18: add w9, w7, #0x1 | |
0.00 : c1c: ldrb w9, [x21, w9, sxtw #0] | |
0.00 : c20: and w9, w9, #0x3f | |
0.00 : c24: lsl w9, w9, #12 | |
0.00 : c28: and w6, w6, #0x7 | |
0.00 : c2c: orr w6, w9, w6, lsl #18 | |
0.00 : c30: add w9, w7, #0x2 | |
0.00 : c34: ldrb w9, [x21, w9, sxtw #0] | |
0.00 : c38: and w9, w9, #0x3f | |
0.00 : c3c: orr w6, w6, w9, lsl #6 | |
0.00 : c40: add w9, w7, #0x3 | |
0.00 : c44: ldrb w9, [x21, w9, sxtw #0] | |
0.00 : c48: and w9, w9, #0x3f | |
0.00 : c4c: orr w6, w6, w9 | |
0.00 : c50: mov w9, #0xffff // #65535 | |
0.00 : c54: mov w10, #0x10ffff // #1114111 | |
0.00 : c58: cmp w6, w9 | |
0.00 : c5c: ccmp w6, w10, #0x2, hi // hi = pmore | |
0.00 : c60: b.hi c6c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbec> // b.pmore | |
0.00 : c64: asr w7, w8, #0 | |
0.00 : c68: b ab4 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xa34> | |
0.00 : c6c: add x21, x21, w7, sxtw | |
0.00 : c70: b c7c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbfc> | |
0.00 : c74: add x21, x21, w5, sxtw | |
0.00 : c78: b c7c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xbfc> | |
0.00 : c7c: b 43c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x3bc> | |
0.00 : c80: add x1, x0, w2, sxtw | |
0.00 : c84: cmp x1, x21 | |
0.00 : c88: b.ls ccc <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xc4c> // b.plast | |
0.00 : c8c: mov x1, x21 | |
0.00 : c90: add x5, x0, w2, sxtw | |
0.00 : c94: cmp x5, x1 | |
0.00 : c98: b.ls d08 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xc88> // b.plast | |
0.00 : c9c: ldrb w5, [x1] | |
0.00 : ca0: and w5, w5, #0xc0 | |
0.00 : ca4: cmp w5, #0x80 | |
0.00 : ca8: b.ne cb0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xc30> // b.any | |
0.00 : cac: sub w3, w3, #0x1 | |
0.00 : cb0: ldrb w5, [x1] | |
0.00 : cb4: and w5, w5, #0xf0 | |
0.00 : cb8: cmp w5, #0xf0 | |
0.00 : cbc: b.ne cc4 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xc44> // b.any | |
0.00 : cc0: sub w4, w4, #0x1 | |
0.00 : cc4: add x1, x1, #0x1 | |
0.00 : cc8: b c90 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xc10> | |
0.00 : ccc: add x0, x0, w2, sxtw | |
0.00 : cd0: cmp x0, x21 | |
0.00 : cd4: b.cs d08 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xc88> // b.hs, b.nlast | |
0.00 : cd8: ldrb w1, [x0] | |
0.00 : cdc: and w1, w1, #0xc0 | |
0.00 : ce0: cmp w1, #0x80 | |
0.00 : ce4: b.ne cec <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xc6c> // b.any | |
0.00 : ce8: add w3, w3, #0x1 | |
0.00 : cec: ldrb w1, [x0] | |
0.00 : cf0: and w1, w1, #0xf0 | |
0.00 : cf4: cmp w1, #0xf0 | |
0.00 : cf8: b.ne d00 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xc80> // b.any | |
0.00 : cfc: add w4, w4, #0x1 | |
0.00 : d00: add x0, x0, #0x1 | |
0.00 : d04: b cd0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xc50> | |
0.00 : d08: mov w0, w4 | |
0.00 : d0c: mov w1, w3 | |
0.00 : d10: mov x2, #0xcd08 // #52488 | |
0.00 : d14: movk x2, #0xd936, lsl #16 | |
0.00 : d18: movk x2, #0xf81e, lsl #32 | |
0.00 : d1c: ldr x2, [x2] | |
0.00 : d20: blr x2 | |
0.00 : d24: str x0, [x29, #24] | |
0.00 : d28: ldr w0, [x29, #24] | |
0.00 : d2c: str w0, [x19] | |
0.00 : d30: ldr w0, [x29, #28] | |
0.00 : d34: str w0, [x20] | |
0.00 : d38: mov x0, x21 | |
0.00 : d3c: b 4bc <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x43c> | |
0.00 : d40: add x5, x0, w2, sxtw | |
0.00 : d44: sub x5, x5, #0x3 | |
0.00 : d48: sub w1, w1, w2 | |
0.00 : d4c: add w1, w1, #0x3 | |
0.00 : d50: mov w6, wzr | |
0.00 : d54: mov w7, wzr | |
0.00 : d58: mov w8, wzr | |
0.00 : d5c: cmp w8, #0xd | |
0.00 : d60: b.gt d8c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xd0c> | |
0.00 : d64: neg w7, w8 | |
0.00 : d68: ldrb w7, [x5, w7, sxtw #0] | |
0.00 : d6c: and w7, w7, #0xc0 | |
0.00 : d70: cmp w7, #0x80 | |
0.00 : d74: cset x7, ne // ne = any | |
0.00 : d78: cbnz w7, d84 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xd04> | |
0.00 : d7c: add w8, w8, #0x1 | |
0.00 : d80: b d5c <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xcdc> | |
0.00 : d84: sub x5, x5, w8, sxtw | |
0.00 : d88: asr w6, w8, #0 | |
0.00 : d8c: cbz w7, f60 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xee0> | |
0.00 : d90: mov w7, wzr | |
0.00 : d94: add w1, w1, w6 | |
0.00 : d98: cmp w7, w1 | |
0.00 : d9c: b.ge f58 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed8> // b.tcont | |
0.00 : da0: ldrb w6, [x5, w7, sxtw #0] | |
0.00 : da4: cmp w6, #0x80 | |
0.00 : da8: b.ge dbc <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xd3c> // b.tcont | |
0.00 : dac: add w7, w7, #0x1 | |
0.00 : db0: cmp w7, w1 | |
0.00 : db4: b.ne da0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xd20> // b.any | |
0.00 : db8: b f58 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed8> | |
0.00 : dbc: and w8, w6, #0xe0 | |
0.00 : dc0: cmp w8, #0xc0 | |
0.00 : dc4: b.ne e10 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xd90> // b.any | |
0.00 : dc8: add w8, w7, #0x2 | |
0.00 : dcc: cmp w8, w1 | |
0.00 : dd0: b.gt f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> | |
0.00 : dd4: add w9, w7, #0x1 | |
0.00 : dd8: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : ddc: and w9, w9, #0xc0 | |
0.00 : de0: cmp w9, #0x80 | |
0.00 : de4: b.ne f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> // b.any | |
0.00 : de8: add w9, w7, #0x1 | |
0.00 : dec: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : df0: and w9, w9, #0x3f | |
0.00 : df4: and w6, w6, #0x1f | |
0.00 : df8: orr w6, w9, w6, lsl #6 | |
0.00 : dfc: mov w9, #0x7ff // #2047 | |
0.00 : e00: cmp w6, #0x80 | |
0.00 : e04: ccmp w6, w9, #0x2, cs // cs = hs, nlast | |
0.00 : e08: b.ls f48 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xec8> // b.plast | |
0.00 : e0c: b f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> | |
0.00 : e10: and w8, w6, #0xf0 | |
0.00 : e14: cmp w8, #0xe0 | |
0.00 : e18: b.ne ea8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xe28> // b.any | |
0.00 : e1c: add w8, w7, #0x3 | |
0.00 : e20: cmp w8, w1 | |
0.00 : e24: b.gt f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> | |
0.00 : e28: add w9, w7, #0x1 | |
0.00 : e2c: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : e30: and w9, w9, #0x3f | |
0.00 : e34: lsl w9, w9, #6 | |
0.00 : e38: and w6, w6, #0xf | |
0.00 : e3c: orr w6, w9, w6, lsl #12 | |
0.00 : e40: add w9, w7, #0x2 | |
0.00 : e44: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : e48: and w9, w9, #0x3f | |
0.00 : e4c: orr w6, w6, w9 | |
0.00 : e50: mov w9, #0xffff // #65535 | |
0.00 : e54: cmp w6, #0x800 | |
0.00 : e58: ccmp w6, w9, #0x2, cs // cs = hs, nlast | |
0.00 : e5c: cset x9, hi // hi = pmore | |
0.00 : e60: mov w10, #0xd7ff // #55295 | |
0.00 : e64: mov w11, #0xe000 // #57344 | |
0.00 : e68: cmp w6, w10 | |
0.00 : e6c: ccmp w6, w11, #0x2, hi // hi = pmore | |
0.00 : e70: cset x6, cc // cc = lo, ul, last | |
0.00 : e74: orr w6, w9, w6 | |
0.00 : e78: cbnz w6, f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> | |
0.00 : e7c: add w6, w7, #0x1 | |
0.00 : e80: ldrb w6, [x5, w6, sxtw #0] | |
0.00 : e84: and w6, w6, #0xc0 | |
0.00 : e88: cmp w6, #0x80 | |
0.00 : e8c: b.ne f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> // b.any | |
0.00 : e90: add w6, w7, #0x2 | |
0.00 : e94: ldrb w6, [x5, w6, sxtw #0] | |
0.00 : e98: and w6, w6, #0xc0 | |
0.00 : e9c: cmp w6, #0x80 | |
0.00 : ea0: b.eq f48 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xec8> // b.none | |
0.00 : ea4: b f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> | |
0.00 : ea8: and w8, w6, #0xf8 | |
0.00 : eac: cmp w8, #0xf0 | |
0.00 : eb0: b.ne f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> // b.any | |
0.00 : eb4: add w8, w7, #0x4 | |
0.00 : eb8: cmp w8, w1 | |
0.00 : ebc: b.gt f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> | |
0.00 : ec0: add w9, w7, #0x1 | |
0.00 : ec4: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : ec8: and w9, w9, #0xc0 | |
0.00 : ecc: cmp w9, #0x80 | |
0.00 : ed0: b.ne f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> // b.any | |
0.00 : ed4: add w9, w7, #0x2 | |
0.00 : ed8: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : edc: and w9, w9, #0xc0 | |
0.00 : ee0: cmp w9, #0x80 | |
0.00 : ee4: b.ne f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> // b.any | |
0.00 : ee8: add w9, w7, #0x3 | |
0.00 : eec: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : ef0: and w9, w9, #0xc0 | |
0.00 : ef4: cmp w9, #0x80 | |
0.00 : ef8: b.ne f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> // b.any | |
0.00 : efc: add w9, w7, #0x1 | |
0.00 : f00: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : f04: and w9, w9, #0x3f | |
0.00 : f08: lsl w9, w9, #12 | |
0.00 : f0c: and w6, w6, #0x7 | |
0.00 : f10: orr w6, w9, w6, lsl #18 | |
0.00 : f14: add w9, w7, #0x2 | |
0.00 : f18: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : f1c: and w9, w9, #0x3f | |
0.00 : f20: orr w6, w6, w9, lsl #6 | |
0.00 : f24: add w9, w7, #0x3 | |
0.00 : f28: ldrb w9, [x5, w9, sxtw #0] | |
0.00 : f2c: and w9, w9, #0x3f | |
0.00 : f30: orr w6, w6, w9 | |
0.00 : f34: mov w9, #0xffff // #65535 | |
0.00 : f38: mov w10, #0x10ffff // #1114111 | |
0.00 : f3c: cmp w6, w9 | |
0.00 : f40: ccmp w6, w10, #0x2, hi // hi = pmore | |
0.00 : f44: b.hi f50 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xed0> // b.pmore | |
0.00 : f48: asr w7, w8, #0 | |
0.00 : f4c: b d98 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xd18> | |
0.00 : f50: add x21, x5, w7, sxtw | |
0.00 : f54: b f64 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xee4> | |
0.00 : f58: add x21, x5, w1, sxtw | |
0.00 : f5c: b f64 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xee4> | |
0.00 : f60: sub x21, x5, #0xd | |
0.00 : f64: add x1, x0, w2, sxtw | |
0.00 : f68: cmp x1, x21 | |
0.00 : f6c: b.ls fb0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xf30> // b.plast | |
0.00 : f70: mov x1, x21 | |
0.00 : f74: add x5, x0, w2, sxtw | |
0.00 : f78: cmp x5, x1 | |
0.00 : f7c: b.ls fec <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xf6c> // b.plast | |
0.00 : f80: ldrb w5, [x1] | |
0.00 : f84: and w5, w5, #0xc0 | |
0.00 : f88: cmp w5, #0x80 | |
0.00 : f8c: b.ne f94 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xf14> // b.any | |
0.00 : f90: sub w3, w3, #0x1 | |
0.00 : f94: ldrb w5, [x1] | |
0.00 : f98: and w5, w5, #0xf0 | |
0.00 : f9c: cmp w5, #0xf0 | |
0.00 : fa0: b.ne fa8 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xf28> // b.any | |
0.00 : fa4: sub w4, w4, #0x1 | |
0.00 : fa8: add x1, x1, #0x1 | |
0.00 : fac: b f74 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xef4> | |
0.00 : fb0: add x0, x0, w2, sxtw | |
0.00 : fb4: cmp x0, x21 | |
0.00 : fb8: b.cs fec <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xf6c> // b.hs, b.nlast | |
0.00 : fbc: ldrb w1, [x0] | |
0.00 : fc0: and w1, w1, #0xc0 | |
0.00 : fc4: cmp w1, #0x80 | |
0.00 : fc8: b.ne fd0 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xf50> // b.any | |
0.00 : fcc: add w3, w3, #0x1 | |
0.00 : fd0: ldrb w1, [x0] | |
0.00 : fd4: and w1, w1, #0xf0 | |
0.00 : fd8: cmp w1, #0xf0 | |
0.00 : fdc: b.ne fe4 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xf64> // b.any | |
0.00 : fe0: add w4, w4, #0x1 | |
0.00 : fe4: add x0, x0, #0x1 | |
0.00 : fe8: b fb4 <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0xf34> | |
0.00 : fec: mov w0, w4 | |
0.00 : ff0: mov w1, w3 | |
0.00 : ff4: mov x2, #0xcd08 // #52488 | |
0.00 : ff8: movk x2, #0xd936, lsl #16 | |
0.00 : ffc: movk x2, #0xf81e, lsl #32 | |
0.00 : 1000: ldr x2, [x2] | |
0.00 : 1004: blr x2 | |
0.00 : 1008: str x0, [x29, #24] | |
0.00 : 100c: ldr w0, [x29, #24] | |
0.00 : 1010: str w0, [x19] | |
0.00 : 1014: ldr w0, [x29, #28] | |
0.00 : 1018: str w0, [x20] | |
0.00 : 101c: mov x0, x21 | |
0.00 : 1020: b 4bc <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x43c> | |
0.00 : 1024: mov x2, x19 | |
0.00 : 1028: mov x3, x20 | |
0.00 : 102c: mov x4, #0xccc0 // #52416 | |
0.00 : 1030: movk x4, #0xd936, lsl #16 | |
0.00 : 1034: movk x4, #0xf81e, lsl #32 | |
0.00 : 1038: ldr x4, [x4] | |
0.00 : 103c: blr x4 | |
0.00 : 1040: b 4bc <uint8* [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::GetPointerToFirstInvalidByteArm64(uint8*,int32,int32&,int32&)[OptimizedTier1]+0x43c> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment