Skip to content

Instantly share code, notes, and snippets.

@EgorBot
Created May 31, 2024 12:40
Show Gist options
  • Save EgorBot/62c577ad51cfcf95cfb63533e71fc61b to your computer and use it in GitHub Desktop.
Save EgorBot/62c577ad51cfcf95cfb63533e71fc61b to your computer and use it in GitHub Desktop.
diff_asm_72854343.asm
Percent | Source code & Disassembly of jitted-34316-17093.so for cpu-clock (325284 samples, percent: local period)
------------------------------------------------------------------------------------------------------------------------
:
:
:
: 3 Disassembly of section .text:
:
: 5 0000000000000080 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]>:
: 6 uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]():
0.05 : 80: sub sp, sp, #0x80
0.00 : 84: stp x19, x20, [sp, #64]
0.00 : 88: stp x21, x22, [sp, #80]
0.00 : 8c: stp x23, x24, [sp, #96]
0.01 : 90: stp x29, x30, [sp, #112]
0.07 : 94: add x29, sp, #0x70
0.06 : 98: stur xzr, [x29, #-56]
0.00 : 9c: stur xzr, [x29, #-64]
0.05 : a0: stur xzr, [x29, #-96]
0.00 : a4: mov x2, #0x186a // #6250
0.00 : a8: movk x2, #0x14, lsl #16
0.00 : ac: stur x2, [x29, #-104]
0.01 : b0: mov x19, x0
0.06 : b4: mov x20, x1
0.07 : b8: ldr w1, [x19, #8]
0.09 : bc: ldr x4, [x20]
0.18 : c0: mov x5, #0x3950 // #14672
0.00 : c4: movk x5, #0x7535, lsl #16
0.00 : c8: movk x5, #0xe077, lsl #32
0.00 : cc: cmp x4, x5
0.00 : d0: b.ne 390 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x310> // b.any
0.28 : d4: mov w4, #0xaaa9 // #43689
0.01 : d8: movk w4, #0x2aaa, lsl #16
0.01 : dc: cmp w1, w4
0.01 : e0: b.hi 374 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x2f4> // b.pmore
0.06 : e4: mov w4, #0x3 // #3
0.00 : e8: mul w4, w1, w4
0.00 : ec: add w21, w4, #0x3
0.00 : f0: cmp w21, #0x200
0.13 : f4: b.gt 468 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x3e8>
0.28 : f8: ldp x21, xzr, [sp], #-512
0.08 : fc: mov x21, sp
0.00 : 100: add x22, x19, #0xc
0.00 : 104: ldr w23, [x19, #8]
0.00 : 108: ldr x4, [x20]
0.00 : 10c: mov x5, #0x3950 // #14672
0.04 : 110: movk x5, #0x7535, lsl #16
0.10 : 114: movk x5, #0xe077, lsl #32
0.04 : 118: cmp x4, x5
0.00 : 11c: b.ne 3e0 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x360> // b.any
0.04 : 120: stur x22, [x29, #-56]
0.00 : 124: stur x21, [x29, #-64]
0.00 : 128: mov x24, x21
0.00 : 12c: sub x4, x29, #0x48
0.04 : 130: sub x5, x29, #0x50
0.08 : 134: mov x0, x22
0.04 : 138: mov w1, w23
0.00 : 13c: mov x2, x24
0.04 : 140: mov w3, #0x200 // #512
0.00 : 144: mov x6, #0xca68 // #51816
0.00 : 148: movk x6, #0x7536, lsl #16
0.00 : 14c: movk x6, #0xe077, lsl #32
0.03 : 150: ldr x6, [x6]
0.60 : 154: blr x6
0.00 : 158: ldur x2, [x29, #-72]
0.00 : 15c: sub x2, x2, x22
0.00 : 160: add x2, x2, x2, lsr #63
0.00 : 164: asr x5, x2, #1
0.00 : 168: ldur x2, [x29, #-80]
0.04 : 16c: sub x6, x2, x24
0.15 : 170: cmp w5, w23
0.00 : 174: b.ne 3ac <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x32c> // b.any
0.12 : 178: stur xzr, [x29, #-56]
0.00 : 17c: stur xzr, [x29, #-64]
0.00 : 180: cmp w6, #0x200
0.00 : 184: b.hi 450 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x3d0> // b.pmore
0.04 : 188: stur x21, [x29, #-96]
0.02 : 18c: stur w6, [x29, #-88]
0.10 : 190: ldur x20, [x29, #-96]
0.02 : 194: ldur w19, [x29, #-88]
0.20 : 198: mov w22, wzr
0.00 : 19c: mov x2, #0xc068 // #49256
0.00 : 1a0: movk x2, #0x6000, lsl #16
0.00 : 1a4: movk x2, #0xe037, lsl #32
0.00 : 1a8: ldr x21, [x2]
0.02 : 1ac: mov x2, x21
0.07 : 1b0: add x2, x2, #0x8
0.01 : 1b4: mov x0, x20
0.10 : 1b8: mov w1, w19
0.00 : 1bc: mov x3, #0xc120 // #49440
0.00 : 1c0: movk x3, #0x75e1, lsl #16
0.00 : 1c4: movk x3, #0xe077, lsl #32
0.00 : 1c8: ldr x3, [x3]
0.03 : 1cc: blr x3
0.00 : 1d0: tbnz w0, #31, 434 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x3b4>
2.53 : 1d4: cmp w0, w19
0.00 : 1d8: b.hi 450 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x3d0> // b.pmore
0.19 : 1dc: mov w1, w0
0.00 : 1e0: add x1, x20, x1
0.00 : 1e4: sub w0, w19, w0
0.00 : 1e8: mov w2, wzr
0.00 : 1ec: cmp w0, #0x0
0.00 : 1f0: b.le 230 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x1b0>
0.65 : 1f4: ldrb w3, [x1, w2, uxtw #0]
0.91 : 1f8: mov x4, x21
1.82 : 1fc: add x4, x4, #0x28
0.25 : 200: asr w5, w3, #5
0.44 : 204: ldr w4, [x4, w5, uxtw #2]
11.07 : 208: mov w5, #0x1 // #1
0.13 : 20c: lsl w5, w5, w3
0.05 : 210: tst w4, w5
0.30 : 214: b.ne 224 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x1a4> // b.any
3.11 : 218: cmp w3, #0x20
0.21 : 21c: b.eq 224 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x1a4> // b.none
0.16 : 220: add w22, w22, #0x1
8.61 : 224: add w2, w2, #0x1
0.29 : 228: cmp w2, w0
0.07 : 22c: b.lt 1f4 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x174> // b.tstop
0.00 : 230: ldur x19, [x29, #-96]
0.00 : 234: ldur w20, [x29, #-88]
0.00 : 238: add w1, w20, w22, lsl #1
0.00 : 23c: sxtw x1, w1
0.00 : 240: mov x0, #0x46d8 // #18136
0.18 : 244: movk x0, #0x7535, lsl #16
0.00 : 248: movk x0, #0xe077, lsl #32
0.00 : 24c: bl ffffffffff434168 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0xffffffffff4340e8>
0.00 : 250: mov w1, wzr
0.19 : 254: mov w2, wzr
0.00 : 258: cmp w20, #0x0
0.00 : 25c: b.le 340 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x2c0>
1.74 : 260: ldrb w3, [x19, w2, uxtw #0]
3.16 : 264: mov x4, x21
0.08 : 268: add x4, x4, #0x28
0.01 : 26c: asr w5, w3, #5
0.00 : 270: ldr w4, [x4, w5, uxtw #2]
24.08 : 274: mov w5, #0x1 // #1
0.00 : 278: lsl w5, w5, w3
0.00 : 27c: tst w4, w5
0.00 : 280: b.eq 2a0 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x220> // b.none
11.66 : 284: add w4, w1, #0x1
0.00 : 288: ldr w5, [x0, #8]
1.29 : 28c: cmp w1, w5
0.00 : 290: b.cs 4b8 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x438> // b.hs, b.nlast
1.02 : 294: add x5, x0, #0x10
0.00 : 298: strb w3, [x5, w1, uxtw #0]
0.03 : 29c: b 330 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x2b0>
4.10 : 2a0: cmp w3, #0x20
0.00 : 2a4: b.eq 40c <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x38c> // b.none
0.00 : 2a8: asr w4, w1, #0
0.00 : 2ac: add w1, w4, #0x1
0.18 : 2b0: ldr w5, [x0, #8]
0.00 : 2b4: cmp w4, w5
0.00 : 2b8: b.cs 4b8 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x438> // b.hs, b.nlast
0.02 : 2bc: add x5, x0, #0x10
2.13 : 2c0: mov w6, #0x25 // #37
0.00 : 2c4: strb w6, [x5, w4, uxtw #0]
0.00 : 2c8: asr w4, w1, #0
0.00 : 2cc: add w1, w4, #0x1
0.19 : 2d0: asr w5, w3, #4
0.00 : 2d4: and w5, w5, #0xf
0.00 : 2d8: add w5, w5, #0x30
0.02 : 2dc: cmp w5, #0x39
2.10 : 2e0: b.le 2e8 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x268>
0.00 : 2e4: add w5, w5, #0x27
0.42 : 2e8: ldr w6, [x0, #8]
0.00 : 2ec: cmp w4, w6
0.00 : 2f0: b.cs 4b8 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x438> // b.hs, b.nlast
0.47 : 2f4: add x6, x0, #0x10
0.00 : 2f8: strb w5, [x6, w4, uxtw #0]
0.00 : 2fc: asr w4, w1, #0
0.00 : 300: add w1, w4, #0x1
1.58 : 304: and w3, w3, #0xf
0.24 : 308: add w3, w3, #0x30
0.00 : 30c: cmp w3, #0x39
0.00 : 310: b.le 318 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x298>
1.11 : 314: add w3, w3, #0x27
0.47 : 318: ldr w5, [x0, #8]
0.01 : 31c: cmp w4, w5
0.00 : 320: b.cs 4b8 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x438> // b.hs, b.nlast
1.82 : 324: add x5, x0, #0x10
0.20 : 328: strb w3, [x5, w4, uxtw #0]
0.08 : 32c: mov w4, w1
0.00 : 330: add w2, w2, #0x1
6.57 : 334: cmp w2, w20
0.10 : 338: mov w1, w4
0.00 : 33c: b.lt 260 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x1e0> // b.tstop
0.00 : 340: mov x16, #0x186a // #6250
0.00 : 344: movk x16, #0x14, lsl #16
0.00 : 348: ldur x17, [x29, #-104]
0.00 : 34c: cmp x16, x17
0.00 : 350: b.eq 358 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x2d8> // b.none
0.00 : 354: bl ffffffffff4340d8 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0xffffffffff434058>
0.20 : 358: sub sp, x29, #0x70
0.00 : 35c: ldp x29, x30, [sp, #112]
0.04 : 360: ldp x23, x24, [sp, #96]
0.03 : 364: ldp x21, x22, [sp, #80]
0.04 : 368: ldp x19, x20, [sp, #64]
0.10 : 36c: add sp, sp, #0x80
0.00 : 370: ret
0.00 : 374: mov w0, w1
0.00 : 378: mov x1, #0xf9f0 // #63984
0.00 : 37c: movk x1, #0x7534, lsl #16
0.00 : 380: movk x1, #0xe077, lsl #32
0.00 : 384: ldr x1, [x1]
0.00 : 388: blr x1
0.00 : 38c: brk #0x0
0.00 : 390: mov x0, x20
0.00 : 394: ldr x2, [x20]
0.00 : 398: ldr x2, [x2, #104]
0.00 : 39c: ldr x2, [x2, #40]
0.00 : 3a0: blr x2
0.00 : 3a4: asr w21, w0, #0
0.00 : 3a8: b f0 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x70>
0.00 : 3ac: mov x0, x20
0.00 : 3b0: mov x1, x22
0.00 : 3b4: mov w2, w23
0.00 : 3b8: mov x3, x24
0.00 : 3bc: mov w4, #0x200 // #512
0.00 : 3c0: mov w7, #0x1 // #1
0.00 : 3c4: mov x8, #0xe5f8 // #58872
0.00 : 3c8: movk x8, #0x7507, lsl #16
0.00 : 3cc: movk x8, #0xe077, lsl #32
0.00 : 3d0: ldr x8, [x8]
0.00 : 3d4: blr x8
0.00 : 3d8: asr w6, w0, #0
0.00 : 3dc: b 178 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0xf8>
0.00 : 3e0: mov x3, x21
0.00 : 3e4: mov w4, #0x200 // #512
0.00 : 3e8: mov x1, x22
0.00 : 3ec: mov w2, w23
0.00 : 3f0: mov x0, x20
0.00 : 3f4: ldr x5, [x20]
0.00 : 3f8: ldr x5, [x5, #88]
0.00 : 3fc: ldr x5, [x5, #40]
0.00 : 400: blr x5
0.00 : 404: asr w6, w0, #0
0.00 : 408: b 180 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x100>
0.00 : 40c: asr w3, w1, #0
0.00 : 410: add w1, w3, #0x1
0.00 : 414: ldr w4, [x0, #8]
0.00 : 418: cmp w3, w4
0.00 : 41c: b.cs 4b8 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x438> // b.hs, b.nlast
0.00 : 420: add x4, x0, #0x10
0.00 : 424: mov w5, #0x2b // #43
0.00 : 428: strb w5, [x4, w3, uxtw #0]
0.00 : 42c: mov w4, w1
0.00 : 430: b 330 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x2b0>
0.00 : 434: sub x0, x29, #0x60
0.00 : 438: mov x1, #0x48a0 // #18592
0.00 : 43c: movk x1, #0x7515, lsl #16
0.00 : 440: movk x1, #0xe077, lsl #32
0.00 : 444: ldr x1, [x1]
0.00 : 448: blr x1
0.00 : 44c: b 340 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x2c0>
0.00 : 450: mov x0, #0xf138 // #61752
0.00 : 454: movk x0, #0x753b, lsl #16
0.00 : 458: movk x0, #0xe077, lsl #32
0.00 : 45c: ldr x0, [x0]
0.00 : 460: blr x0
0.00 : 464: brk #0x0
0.00 : 468: mov x0, x19
0.00 : 46c: mov x1, x20
0.00 : 470: mov x2, #0x75e8 // #30184
0.00 : 474: movk x2, #0x75e1, lsl #16
0.00 : 478: movk x2, #0xe077, lsl #32
0.00 : 47c: ldr x2, [x2]
0.00 : 480: blr x2
0.00 : 484: mov x16, #0x186a // #6250
0.00 : 488: movk x16, #0x14, lsl #16
0.00 : 48c: ldur x17, [x29, #-104]
0.00 : 490: cmp x16, x17
0.00 : 494: b.eq 49c <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0x41c> // b.none
0.00 : 498: bl ffffffffff4340d8 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0xffffffffff434058>
0.00 : 49c: sub sp, x29, #0x70
0.00 : 4a0: ldp x29, x30, [sp, #112]
0.00 : 4a4: ldp x23, x24, [sp, #96]
0.00 : 4a8: ldp x21, x22, [sp, #80]
0.00 : 4ac: ldp x19, x20, [sp, #64]
0.00 : 4b0: add sp, sp, #0x80
0.00 : 4b4: ret
0.00 : 4b8: bl ffffffffff4340b8 <uint8[] [System.Web.HttpUtility] System.Web.Util.HttpEncoder::UrlEncode(string,class [System.Runtime]System.Text.Encoding)[OptimizedTier1]+0xffffffffff434038>
0.00 : 4bc: brk #0x0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment