Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5075075070, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-41649-32930.so 0.23 push rbp 0.08 push r15 push r14 push r13 push r12 push rbx sub rsp,0x228 lea rbp,[rsp+0x250] 0.23 xor eax,eax mov QWORD PTR [rbp-0x1d8],rax vxorps xmm8,xmm8,xmm8 vmovdqu32 ZMMWORD PTR [rbp-0x1d0],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0x190],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0x150],zmm8 0.08 vmovdqu32 ZMMWORD PTR [rbp-0x110],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0xd0],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0xa0],zmm8 movabs rax,0xa46e558a379e3f6e 0.15 mov QWORD PTR [rbp-0x30],rax mov QWORD PTR [rbp-0x40],rsi mov QWORD PTR [rbp-0x38],rdx mov ebx,ecx vmovdqu xmm0,XMMWORD PTR [rbp-0x40] 3.59 vmovdqu XMMWORD PTR [rbp-0x1d8],xmm0 0.15 mov r15,rdi 0.08 mov r14d,DWORD PTR [rbp-0x1d0] 1.07 cmp r14d,0x2aaaaaaa 0.15 ↓ jg 1d01 xor edi,edi mov QWORD PTR [rbp-0x1e0],rdi cmp r14d,0x55 ↓ jle 1d11 cmp r14d,0x15555555 0.08 ↓ jg 1d2b movabs rdi,0x732777c03338 mov r13,QWORD PTR [rdi] mov r12,r13 lea r14d,[r14+r14*2] movabs rdi,0x732777c00dc0 mov rax,QWORD PTR [rdi] mov QWORD PTR [rbp-0x1e8],rax lea edi,[r14-0x1] 0.08 or edi,0xf 0.08 xor ecx,ecx lzcnt ecx,edi 0.08 xor ecx,0x1f 0.08 add ecx,0xfffffffd mov DWORD PTR [rbp-0x44],ecx movabs rdi,0x732fa6031808 0.08 movabs rdx,0x732fa6aa4820 → call rdx 0.15 cmp DWORD PTR [rax],0x18 0.08 ↓ jle 1d5f mov rdi,QWORD PTR [rax+0x8] mov rax,QWORD PTR [rdi+0xc0] test rax,rax ↓ je 1d5f 130: mov rdi,QWORD PTR [rax+0x10] test rdi,rdi ↓ je 1dd6 mov eax,DWORD PTR [rdi+0x8] 0.23 mov ecx,DWORD PTR [rbp-0x44] cmp eax,ecx ↓ jbe 1dd9 mov eax,ecx shl rax,0x4 mov rdx,QWORD PTR [rdi+rax*1+0x10] 0.46 test rdx,rdx ↓ je 1dd1 xor esi,esi mov QWORD PTR [rdi+rax*1+0x10],rsi mov r14,QWORD PTR [rbp-0x1e8] cmp BYTE PTR [r14+0x9d],0x0 ↓ jne 1d75 17b: mov QWORD PTR [rbp-0x1e0],rdx 182: test rdx,rdx ↓ je 20c6 lea r14,[rdx+0x10] mov r13d,DWORD PTR [rdx+0x8] 0.23 193: mov QWORD PTR [rbp-0x208],r14 mov DWORD PTR [rbp-0x1c4],r13d mov rdi,QWORD PTR [rbp-0x1d8] mov rsi,QWORD PTR [rbp-0x1d0] mov rdx,r14 mov ecx,r13d movabs rax,0x732f2865c690 → call QWORD PTR [rax] cmp eax,r13d ↓ ja 1c81 mov QWORD PTR [rbp-0x208],r14 mov DWORD PTR [rbp-0x1c4],eax mov QWORD PTR [rbp-0x70],r14 mov DWORD PTR [rbp-0x68],eax mov r14d,DWORD PTR [rbp-0x68] test r14d,r14d ↓ je fcd test bl,bl ↓ jne f0e mov rsi,QWORD PTR [rbp-0x70] mov QWORD PTR [rbp-0x210],rsi mov edx,DWORD PTR [rbp-0x68] 0.08 xor ecx,ecx mov QWORD PTR [rbp-0x150],rcx vxorps xmm0,xmm0,xmm0 vmovdqu XMMWORD PTR [rbp-0x148],xmm0 vmovdqu32 XMMWORD PTR [rbp-0x140],xmm0 lea rdi,[rsp] lea rsi,[rbp-0x168] mov ecx,0x4 0.08 rep movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] 2.21 mov rcx,QWORD PTR [rsi] 0.08 mov QWORD PTR [rsp+0x20],rcx 0.08 add rsi,0x8 add rdi,0x8 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] 0.15 mov rsi,QWORD PTR [rbp-0x210] 0.08 lea rdi,[rbp-0x130] mov ecx,0x1 movabs rax,0x732f2865ca98 0.15 → call QWORD PTR [rax] ↓ jmp 28c 265: lea rdi,[rbp-0x130] 0.15 mov esi,edx 0.31 movabs rax,0x732f2865cc78 0.38 → call QWORD PTR [rax] 2.14 mov ebx,eax 0.15 27c: test ebx,ebx 0.31 ↓ je eef 284: test bl,bl 0.38 ↓ je f15 28c: cmp BYTE PTR [rbp-0x105],0x0 0.38 ↓ jne 18db xor ebx,ebx 0.76 vxorps xmm0,xmm0,xmm0 0.08 vmovdqu XMMWORD PTR [rbp-0x98],xmm0 3.28 mov BYTE PTR [rbp-0x102],0x0 0.31 mov edi,DWORD PTR [rbp-0x110] 0.53 movsxd rax,edi 0.92 mov ecx,DWORD PTR [rbp-0xf8] mov edx,ecx 0.69 cmp rax,rdx 0.23 ↓ jge e8f cmp edi,ecx 0.08 ↓ jae 1c8e mov rax,QWORD PTR [rbp-0x100] 0.61 mov edi,edi 1.68 movzx edx,BYTE PTR [rax+rdi*1] 6.03 cmp edx,0x20 0.38 ↓ jle 101a 2e6: movsxd rdi,DWORD PTR [rbp-0x110] 0.53 mov QWORD PTR [rbp-0x118],rdi 0.76 rex movzx edi,BYTE PTR [rbp-0x108] 0.08 test edi,edi ↓ je e73 cmp edx,0x2f 1.98 ↑ je 265 cmp edi,0x1 0.76 ↓ je b53 cmp edi,0x3 1.07 ↓ je 97b cmp edi,0x5 0.92 ↑ jne 265 mov BYTE PTR [rbp-0x104],0x0 cmp edx,0x22 0.76 ↓ je 70f 338: cmp edx,0x7b 0.46 ↓ je 669 cmp edx,0x5b 1.22 ↓ je 5c2 lea edi,[rdx-0x30] 0.53 cmp edi,0x9 ↓ jbe 421 cmp edx,0x2d 1.07 ↓ je 421 cmp edx,0x66 0.31 ↓ jne 3be vxorps xmm0,xmm0,xmm0 vmovdqu32 XMMWORD PTR [rbp-0x190],xmm0 lea rdi,[rbp-0x190] movabs rsi,0x732f95ba55ae mov edx,0x5 movabs rax,0x732f28095d40 → call QWORD PTR [rax] mov rsi,QWORD PTR [rbp-0x190] mov rdx,QWORD PTR [rbp-0x188] 14.35 lea rdi,[rbp-0x130] mov ecx,0xa movabs rax,0x732f2865ceb8 → call QWORD PTR [rax] mov ebx,eax ↓ jmp 96e 3be: cmp edx,0x74 0.53 ↓ jne 1455 vxorps xmm0,xmm0,xmm0 vmovdqu32 XMMWORD PTR [rbp-0x1a0],xmm0 lea rdi,[rbp-0x1a0] movabs rsi,0x732f95ba5612 mov edx,0x4 movabs rax,0x732f28095d40 0.08 → call QWORD PTR [rax] mov rsi,QWORD PTR [rbp-0x1a0] mov rdx,QWORD PTR [rbp-0x198] 10.53 lea rdi,[rbp-0x130] mov ecx,0x9 movabs rax,0x732f2865ceb8 → call QWORD PTR [rax] mov ebx,eax ↓ jmp 96e 421: mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ ja 1c81 mov eax,edi add rax,QWORD PTR [rbp-0x100] mov ecx,DWORD PTR [rbp-0xf8] sub ecx,edi mov QWORD PTR [rbp-0x180],rax mov DWORD PTR [rbp-0x178],ecx xor edi,edi mov DWORD PTR [rbp-0x170],edi mov edi,DWORD PTR [rbp-0x170] cmp edi,DWORD PTR [rbp-0x178] ↓ jae 1c8e mov rax,QWORD PTR [rbp-0x180] cmp BYTE PTR [rax+rdi*1],0x2d 0.15 ↓ je 15ee 47c: mov edi,DWORD PTR [rbp-0x178] 0.15 cmp DWORD PTR [rbp-0x170],edi ↓ jae 1c8e mov rdi,QWORD PTR [rbp-0x180] mov esi,DWORD PTR [rbp-0x170] cmp BYTE PTR [rdi+rsi*1],0x30 ↓ je 165a mov edi,DWORD PTR [rbp-0x170] inc edi mov DWORD PTR [rbp-0x170],edi 0.08 xor edx,edx mov edi,DWORD PTR [rbp-0x170] cmp edi,DWORD PTR [rbp-0x178] ↓ jge 506 4c3: mov edx,DWORD PTR [rbp-0x170] cmp edx,DWORD PTR [rbp-0x178] ↓ jae 1c8e mov rdi,QWORD PTR [rbp-0x180] mov esi,edx movzx edx,BYTE PTR [rdi+rsi*1] 0.15 lea edi,[rdx-0x30] 0.08 cmp edi,0x9 0.08 ↓ ja 506 mov edi,DWORD PTR [rbp-0x170] inc edi mov DWORD PTR [rbp-0x170],edi mov edi,DWORD PTR [rbp-0x170] cmp edi,DWORD PTR [rbp-0x178] ↑ jl 4c3 506: mov edi,DWORD PTR [rbp-0x170] cmp edi,DWORD PTR [rbp-0x178] ↓ jge 16ad movabs rdi,0x732f95ba5561 mov esi,0x8 movabs rax,0x732f2865d008 → call QWORD PTR [rax] test eax,eax ↓ je 16d2 53b: xor ebx,ebx 53d: cmp ebx,0x2 ↓ je 1625 test ebx,ebx ↓ jne 16dc 54e: lea rdi,[rbp-0x180] mov edx,DWORD PTR [rbp-0x170] 0.08 xor esi,esi 0.08 movabs rax,0x732f2865cd68 → call QWORD PTR [rax] mov QWORD PTR [rbp-0x98],rax 0.23 mov DWORD PTR [rbp-0x90],edx mov edi,DWORD PTR [rbp-0x170] mov BYTE PTR [rbp-0x108],0x8 mov esi,edi add esi,DWORD PTR [rbp-0x110] mov DWORD PTR [rbp-0x110],esi movsxd rdi,edi add rdi,QWORD PTR [rbp-0x128] 0.31 mov QWORD PTR [rbp-0x128],rdi movsxd rdi,DWORD PTR [rbp-0x110] 0.08 mov esi,DWORD PTR [rbp-0xf8] 0.08 cmp rdi,rsi ↓ jge 1805 5b8: mov ebx,0x1 5bd: ↓ jmp 96e 5c2: mov edi,DWORD PTR [rbp-0xd8] cmp edi,DWORD PTR [rbp-0xf0] ↓ jge 1a91 cmp DWORD PTR [rbp-0xd8],0x40 ↓ jge 15d4 mov rdi,QWORD PTR [rbp-0xe0] add rdi,rdi mov QWORD PTR [rbp-0xe0],rdi 5f2: mov edi,DWORD PTR [rbp-0xd8] inc edi mov DWORD PTR [rbp-0xd8],edi mov edi,DWORD PTR [rbp-0x110] mov esi,edi inc rsi mov eax,DWORD PTR [rbp-0xf8] cmp rsi,rax ↓ ja 1c81 add rdi,QWORD PTR [rbp-0x100] mov QWORD PTR [rbp-0x98],rdi mov DWORD PTR [rbp-0x90],0x1 mov edi,DWORD PTR [rbp-0x110] inc edi 0.08 mov DWORD PTR [rbp-0x110],edi mov rdi,QWORD PTR [rbp-0x128] inc rdi mov QWORD PTR [rbp-0x128],rdi mov BYTE PTR [rbp-0x108],0x3 0.15 mov BYTE PTR [rbp-0x10a],0x0 65f: mov ebx,0x1 ↓ jmp 96e 669: mov edi,DWORD PTR [rbp-0xd8] cmp edi,DWORD PTR [rbp-0xf0] ↓ jge 1a71 cmp DWORD PTR [rbp-0xd8],0x40 ↓ jge 15b7 mov rdi,QWORD PTR [rbp-0xe0] add rdi,rdi or rdi,0x1 mov QWORD PTR [rbp-0xe0],rdi 69d: mov esi,DWORD PTR [rbp-0xd8] inc esi mov DWORD PTR [rbp-0xd8],esi mov esi,DWORD PTR [rbp-0x110] mov edx,esi inc rdx mov edi,DWORD PTR [rbp-0xf8] cmp rdx,rdi ↓ ja 1c81 add rsi,QWORD PTR [rbp-0x100] mov QWORD PTR [rbp-0x98],rsi mov DWORD PTR [rbp-0x90],0x1 mov esi,DWORD PTR [rbp-0x110] inc esi mov DWORD PTR [rbp-0x110],esi mov rsi,QWORD PTR [rbp-0x128] inc rsi mov QWORD PTR [rbp-0x128],rsi mov BYTE PTR [rbp-0x108],0x1 mov BYTE PTR [rbp-0x10a],0x1 ↑ jmp 65f 70f: mov esi,DWORD PTR [rbp-0x110] inc esi mov r13d,DWORD PTR [rbp-0xf8] 0.23 cmp esi,r13d ↓ ja 1c81 mov edx,esi 0.31 add rdx,QWORD PTR [rbp-0x100] 0.31 sub r13d,esi movabs rsi,0x732777c03358 0.08 mov rsi,QWORD PTR [rsi] add rsi,0x8 mov rdi,rdx 0.15 cmp r13d,0x8 ↓ jl 8c6 cmp r13d,0x10 ↓ jg 7dc vmovups xmm0,XMMWORD PTR [rsi] lea esi,[r13-0x8] mov ecx,esi add rcx,rdx cmp rdx,rcx ↓ jbe 772 mov rdi,rcx ↓ jmp 775 772: mov rdi,rdx 775: vmovq xmm1,QWORD PTR [rdi] 0.23 vpinsrq xmm1,xmm1,QWORD PTR [rcx],0x1 0.99 vpsrld xmm2,xmm1,0x4 0.08 vpandd xmm2,xmm2,DWORD BCST [rip+0x19b2] # 21c0 ,bool)[OptimizedTier1]+0x2140> vpshufb xmm0,xmm0,xmm1 vmovsd xmm1,QWORD PTR [rip+0x19ad] vpshufb xmm1,xmm1,xmm2 0.15 vpand xmm0,xmm1,xmm0 0.38 vptest xmm0,xmm0 0.23 ↓ je 8ff 0.38 vptestmb k1,xmm0,xmm0 kmovw esi,k1 tzcnt esi,esi 0.31 cmp esi,0x20 0.08 ↓ je 1560 7c6: mov eax,esi cmp eax,0x8 ↓ jge 156a 7d1: sub rdi,rdx lea ecx,[rdi+rax*1] ↓ jmp 904 7dc: vmovups ymm0,YMMWORD PTR [rsi] 0.23 cmp r13d,0x20 0.23 ↓ jle 82d lea ecx,[r13-0x20] mov esi,ecx 0.08 add rsi,rdx 7ef: vmovups ymm1,YMMWORD PTR [rdi] 0.38 vpshufb ymm2,ymm0,ymm1 1.76 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x1939] # 21c0 ,bool)[OptimizedTier1]+0x2140> 0.38 vbroadcastsd ymm3,QWORD PTR [rip+0x1940] # 21d0 ,bool)[OptimizedTier1]+0x2150> 0.15 vpshufb ymm1,ymm3,ymm1 0.84 vpand ymm1,ymm1,ymm2 1.76 vptest ymm1,ymm1 2.75 ↓ jne 8a8 add rdi,0x20 cmp rdi,rsi ↑ jb 7ef 82d: lea esi,[r13-0x10] mov ecx,esi add rcx,rdx cmp rdi,rcx ↓ jbe 840 mov rsi,rcx ↓ jmp 843 840: mov rsi,rdi 843: vmovdqu xmm1,XMMWORD PTR [rsi] vinserti128 ymm1,ymm1,XMMWORD PTR [rcx],0x1 vpshufb ymm0,ymm0,ymm1 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x18df] # 21c0 ,bool)[OptimizedTier1]+0x2140> vbroadcastsd ymm2,QWORD PTR [rip+0x18ee] # 21d8 ,bool)[OptimizedTier1]+0x2158> vpshufb ymm1,ymm2,ymm1 vpand ymm0,ymm1,ymm0 vptest ymm0,ymm0 ↓ je 8ff vptestmb k1,ymm0,ymm0 kmovd edi,k1 tzcnt edi,edi cmp edi,0x20 ↓ je 154b 895: mov eax,edi cmp eax,0x10 ↓ jge 1555 8a0: sub rsi,rdx lea ecx,[rsi+rax*1] ↓ jmp 904 3.21 8a8: vptestmb k1,ymm1,ymm1 kmovd ecx,k1 tzcnt ecx,ecx 0.76 cmp ecx,0x20 0.31 ↓ je 1541 8bf: sub rdi,rdx add ecx,edi ↓ jmp 904 8c6: mov ecx,r13d add rcx,rdx cmp rdx,rcx ↓ je 8ff 8d1: movzx eax,BYTE PTR [rdi] lea r8,[rsi+0x20] mov r9d,eax sar r9d,0x5 mov r10d,0x1 shlx eax,r10d,eax cmp BYTE PTR [r8],r8b test DWORD PTR [r8+r9*4],eax ↓ jne 973 inc rdi cmp rdi,rcx ↑ jne 8d1 8ff: mov ecx,0xffffffff 904: test ecx,ecx 0.92 ↓ jl 1595 cmp ecx,r13d 0.31 ↓ jae 1c8e mov esi,ecx cmp BYTE PTR [rdx+rsi*1],0x22 4.35 ↓ jne 1575 lea esi,[rcx+0x2] movsxd rsi,esi add rsi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rsi cmp ecx,r13d ↓ ja 1c81 mov QWORD PTR [rbp-0x98],rdx mov DWORD PTR [rbp-0x90],ecx mov BYTE PTR [rbp-0x102],0x0 0.76 mov BYTE PTR [rbp-0x108],0x7 mov edx,DWORD PTR [rbp-0x110] lea esi,[rdx+rcx*1+0x2] mov DWORD PTR [rbp-0x110],esi mov ebx,0x1 1.07 96e: ↑ jmp 27c 973: mov rcx,rdi sub rcx,rdx ↑ jmp 904 97b: cmp edx,0x5d ↓ je 1213 984: mov BYTE PTR [rbp-0x104],0x0 cmp edx,0x22 ↓ je b39 cmp edx,0x7b ↓ je b24 cmp edx,0x5b ↓ je b0a lea edi,[rdx-0x30] cmp edi,0x9 ↓ jbe af3 cmp edx,0x2d ↓ je af3 cmp edx,0x66 ↓ jne a5e mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ ja 1c81 mov edx,esi add rdx,QWORD PTR [rbp-0x100] mov ecx,DWORD PTR [rbp-0xf8] sub ecx,esi cmp ecx,0x5 ↓ jl 135f mov rsi,rdx movabs r8,0x732f95ba55ae mov edi,DWORD PTR [rsi] mov esi,DWORD PTR [rsi+0x1] xor edi,DWORD PTR [r8] xor esi,DWORD PTR [r8+0x1] or esi,edi sete sil movzx esi,sil test esi,esi ↓ je 135f mov QWORD PTR [rbp-0x98],rdx mov DWORD PTR [rbp-0x90],0x5 mov BYTE PTR [rbp-0x108],0xa mov edx,DWORD PTR [rbp-0x110] add edx,0x5 mov DWORD PTR [rbp-0x110],edx mov rsi,QWORD PTR [rbp-0x128] add rsi,0x5 mov QWORD PTR [rbp-0x128],rsi mov ebx,0x1 a59: ↓ jmp b4e a5e: cmp edx,0x74 ↓ jne 122b mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ ja 1c81 mov edx,esi add rdx,QWORD PTR [rbp-0x100] mov ecx,DWORD PTR [rbp-0xf8] sub ecx,esi cmp ecx,0x4 ↓ jl 138e movabs rsi,0x732f95ba5612 mov r8d,DWORD PTR [rdx] cmp r8d,DWORD PTR [rsi] sete sil movzx esi,sil test esi,esi ↓ je 138e mov QWORD PTR [rbp-0x98],rdx mov DWORD PTR [rbp-0x90],0x4 mov BYTE PTR [rbp-0x108],0x9 mov edx,DWORD PTR [rbp-0x110] add edx,0x4 mov DWORD PTR [rbp-0x110],edx mov rsi,QWORD PTR [rbp-0x128] add rsi,0x4 mov QWORD PTR [rbp-0x128],rsi mov ebx,0x1 af1: ↓ jmp b4e af3: lea rdi,[rbp-0x130] movabs rax,0x732f2865ce88 → call QWORD PTR [rax] mov ebx,eax ↓ jmp b4e b0a: lea rdi,[rbp-0x130] movabs rax,0x732f2865ce70 → call QWORD PTR [rax] b1d: mov ebx,0x1 ↓ jmp b4e b24: lea rdi,[rbp-0x130] 0.08 movabs rax,0x732f2865ce58 → call QWORD PTR [rax] ↑ jmp b1d b39: lea rdi,[rbp-0x130] movabs rax,0x732f2865cdc8 → call QWORD PTR [rax] mov ebx,eax 0.08 b4e: ↑ jmp 27c b53: cmp edx,0x7d 0.08 ↓ je 10d6 cmp edx,0x22 ↓ jne 1947 mov r13d,DWORD PTR [rbp-0x110] mov r12,QWORD PTR [rbp-0x128] 0.15 mov rbx,QWORD PTR [rbp-0x130] mov BYTE PTR [rbp-0x104],0x0 mov esi,DWORD PTR [rbp-0x110] inc esi cmp esi,DWORD PTR [rbp-0xf8] 0.08 ↓ ja 1c81 mov edx,esi add rdx,QWORD PTR [rbp-0x100] mov eax,DWORD PTR [rbp-0xf8] sub eax,esi movabs rsi,0x732777c03358 mov rsi,QWORD PTR [rsi] mov rdi,rdx mov ecx,eax add rsi,0x8 0.15 mov r8,rdi cmp ecx,0x8 ↓ jl d46 cmp ecx,0x10 ↓ jg c57 vmovups xmm0,XMMWORD PTR [rsi] lea esi,[rax-0x8] mov ecx,esi add rcx,rdx cmp rdx,rcx ↓ jbe be7 mov rdi,rcx ↓ jmp bea be7: mov rdi,rdx bea: vmovq xmm1,QWORD PTR [rdi] vpinsrq xmm1,xmm1,QWORD PTR [rcx],0x1 vpsrld xmm2,xmm1,0x4 vpandd xmm2,xmm2,DWORD BCST [rip+0x153d] # 21c0 ,bool)[OptimizedTier1]+0x2140> vpshufb xmm0,xmm0,xmm1 vmovsd xmm1,QWORD PTR [rip+0x1550] vpshufb xmm1,xmm1,xmm2 vpand xmm0,xmm1,xmm0 vptest xmm0,xmm0 ↓ je d7f vptestmb k1,xmm0,xmm0 kmovw r8d,k1 xor esi,esi tzcnt esi,r8d cmp esi,0x20 ↓ je 110e c3e: mov r8d,esi cmp r8d,0x8 ↓ jge 1118 c4b: sub rdi,rdx lea ecx,[rdi+r8*1] ↓ jmp d84 c57: vmovups ymm0,YMMWORD PTR [rsi] cmp ecx,0x20 ↓ jle ca7 add ecx,0xffffffe0 mov esi,ecx add rdi,rsi 0.08 c68: vmovups ymm1,YMMWORD PTR [r8] 0.08 vpshufb ymm2,ymm0,ymm1 0.23 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x14bf] # 21c0 ,bool)[OptimizedTier1]+0x2140> 0.08 vbroadcastsd ymm3,QWORD PTR [rip+0x14de] # 21e8 ,bool)[OptimizedTier1]+0x2168> vpshufb ymm1,ymm3,ymm1 0.15 vpand ymm1,ymm1,ymm2 0.15 vptest ymm1,ymm1 0.69 ↓ jne d27 add r8,0x20 cmp r8,rdi ↑ jb c68 ca7: lea esi,[rax-0x10] mov ecx,esi add rcx,rdx cmp r8,rcx ↓ jbe cb9 mov rsi,rcx ↓ jmp cbc cb9: mov rsi,r8 cbc: vmovdqu xmm1,XMMWORD PTR [rsi] vinserti128 ymm1,ymm1,XMMWORD PTR [rcx],0x1 vpshufb ymm0,ymm0,ymm1 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x1466] # 21c0 ,bool)[OptimizedTier1]+0x2140> vbroadcastsd ymm2,QWORD PTR [rip+0x148d] # 21f0 ,bool)[OptimizedTier1]+0x2170> vpshufb ymm1,ymm2,ymm1 vpand ymm0,ymm1,ymm0 vptest ymm0,ymm0 ↓ je d7f vptestmb k1,ymm0,ymm0 kmovd r8d,k1 xor edi,edi tzcnt edi,r8d cmp edi,0x20 ↓ je 10f8 d11: mov r8d,edi cmp r8d,0x10 ↓ jge 1102 d1e: sub rsi,rdx lea ecx,[rsi+r8*1] ↓ jmp d84 0.38 d27: vptestmb k1,ymm1,ymm1 kmovd ecx,k1 tzcnt ecx,ecx cmp ecx,0x20 0.08 ↓ je 10ee d3e: sub r8,rdx add ecx,r8d ↓ jmp d84 d46: mov ecx,eax add rcx,rdi cmp rdi,rcx ↓ je d7f d50: movzx edi,BYTE PTR [r8] lea r9,[rsi+0x20] mov r10d,edi sar r10d,0x5 mov r11d,0x1 shlx edi,r11d,edi cmp BYTE PTR [r9],r9b test DWORD PTR [r9+r10*4],edi ↓ jne e68 inc r8 cmp r8,rcx ↑ jne d50 d7f: mov ecx,0xffffffff d84: test ecx,ecx 0.08 ↓ jl 1149 cmp ecx,eax ↓ jae 1c8e mov esi,ecx cmp BYTE PTR [rdx+rsi*1],0x22 0.76 ↓ jne 1124 lea esi,[rcx+0x2] movsxd rsi,esi add rsi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rsi cmp ecx,eax ↓ ja 1c81 mov QWORD PTR [rbp-0x98],rdx mov DWORD PTR [rbp-0x90],ecx mov BYTE PTR [rbp-0x102],0x0 0.15 mov BYTE PTR [rbp-0x108],0x7 0.31 mov edx,DWORD PTR [rbp-0x110] lea esi,[rdx+rcx*1+0x2] mov DWORD PTR [rbp-0x110],esi de7: movsxd rdi,DWORD PTR [rbp-0x110] 0.31 mov eax,DWORD PTR [rbp-0xf8] 0.38 cmp rdi,rax ↓ jge 116b mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c8e mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jle 1187 e23: cmp edx,0x3a ↓ jne 19e1 mov edi,DWORD PTR [rbp-0x110] inc edi mov DWORD PTR [rbp-0x110],edi 0.31 mov rdi,QWORD PTR [rbp-0x128] inc rdi mov QWORD PTR [rbp-0x128],rdi mov BYTE PTR [rbp-0x108],0x5 mov eax,0x1 e57: mov ecx,eax test eax,eax ↓ je 11f0 mov ebx,ecx 0.08 ↑ jmp 27c e68: mov rcx,r8 sub rcx,rdx ↑ jmp d84 e73: lea rdi,[rbp-0x130] 0.08 mov esi,edx movabs rax,0x732f2865ccf0 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 27c e8f: cmp BYTE PTR [rbp-0x109],0x0 0.08 ↑ je 27c 0.08 cmp BYTE PTR [rbp-0x10c],0x0 ↑ je 27c cmp BYTE PTR [rbp-0x105],0x0 ↓ jne ff3 eb6: cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 1907 cmp BYTE PTR [rbp-0xec],0x2 ↓ je 1008 0.15 ed0: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 27c cmp edi,0x2 ↑ je 27c ↓ jmp 1c0f eef: cmp BYTE PTR [rbp-0x10c],0x0 ↑ je 284 cmp BYTE PTR [rbp-0x108],0x0 ↑ jne 284 ↓ jmp 18f5 f0e: mov BYTE PTR [r15+0x3a],0x7 ↓ jmp f21 f15: rex movzx edi,BYTE PTR [rbp-0x108] 0.08 mov BYTE PTR [r15+0x3a],dil f21: lea esi,[r14+0x1] mov edi,DWORD PTR [r15+0x4c] sub edi,DWORD PTR [r15+0x34] cmp edi,esi ↓ jl 1c6d f35: lea rdi,[r15+0x40] movabs rax,0x732f28657258 → call QWORD PTR [rax] 0.08 mov rsi,rax cmp DWORD PTR [r15+0x28],0x0 ↓ jge f66 mov edi,DWORD PTR [r15+0x34] lea eax,[rdi+0x1] mov DWORD PTR [r15+0x34],eax cmp edi,edx ↓ jae 1c8e mov BYTE PTR [rsi+rdi*1],0x2c f66: mov edi,DWORD PTR [r15+0x34] cmp edi,edx ↓ ja 1c81 vxorps xmm0,xmm0,xmm0 vmovdqu32 XMMWORD PTR [rbp-0x1c0],xmm0 mov eax,edi add rsi,rax sub edx,edi lea rdi,[rbp-0x1c0] movabs rax,0x732f2882d5d8 0.08 → call QWORD PTR [rax] 0.08 mov rsi,QWORD PTR [rbp-0x1c0] mov rdx,QWORD PTR [rbp-0x1b8] 2.37 lea rdi,[rbp-0x70] movabs rax,0x732f2865ca50 → call QWORD PTR [rax] add DWORD PTR [r15+0x34],r14d mov rdi,r15 movabs rax,0x732f2865ca68 → call QWORD PTR [rax] ↓ jmp 1c94 fcd: movabs rdi,0x732f25620be0 movabs rax,0x732f2882d5c0 → call QWORD PTR [rax] mov rdi,rax movabs rax,0x732f2865c9f0 → call QWORD PTR [rax] int3 ff3: rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↑ je 27c ↑ jmp eb6 1008: cmp BYTE PTR [rbp-0x108],0x6 ↑ jne ed0 ↑ jmp 27c 101a: lea rdi,[rbp-0x130] movabs rax,0x732f2865cc60 → call QWORD PTR [rax] movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jl 10b4 cmp BYTE PTR [rbp-0x109],0x0 ↑ je 27c cmp BYTE PTR [rbp-0x10c],0x0 ↑ je 27c cmp BYTE PTR [rbp-0x105],0x0 ↓ je 1072 rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↑ je 27c 1072: cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 1927 cmp BYTE PTR [rbp-0xec],0x2 ↓ jne 1095 cmp BYTE PTR [rbp-0x108],0x6 ↑ je 27c 1095: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 27c cmp edi,0x2 ↑ je 27c ↓ jmp 1c0f 10b4: mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c8e mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp 2e6 10d6: lea rdi,[rbp-0x130] movabs rax,0x732f2865cc90 → call QWORD PTR [rax] ↓ jmp 18d1 10ee: mov ecx,0xffffffff ↑ jmp d3e 10f8: mov edi,0xffffffff ↑ jmp d11 1102: mov rsi,rcx lea r8d,[rdi-0x10] ↑ jmp d1e 110e: mov esi,0xffffffff ↑ jmp c3e 1118: mov rdi,rcx lea r8d,[rsi-0x8] ↑ jmp c4b 1124: mov rsi,rdx mov edx,eax lea rdi,[rbp-0x130] movabs rax,0x732f2865ce10 → call QWORD PTR [rax] test eax,eax ↑ jne de7 ↓ jmp 11c7 1149: mov DWORD PTR [rbp-0x1c8],eax lea rdi,[rbp-0x130] movabs rcx,0x732f2865cd08 → call QWORD PTR [rcx] test eax,eax ↓ je 11c7 ↓ jmp 1965 116b: lea rdi,[rbp-0x130] movabs rax,0x732f2865cd08 → call QWORD PTR [rax] test eax,eax ↓ je 11c7 ↓ jmp 19a1 1187: lea rdi,[rbp-0x130] movabs rax,0x732f2865cc60 → call QWORD PTR [rax] movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jl 11ce lea rdi,[rbp-0x130] movabs rax,0x732f2865cd08 → call QWORD PTR [rax] test eax,eax ↓ jne 19c1 11c7: xor eax,eax ↑ jmp e57 11ce: mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c8e mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp e23 11f0: mov DWORD PTR [rbp-0x110],r13d mov BYTE PTR [rbp-0x108],0x1 mov QWORD PTR [rbp-0x128],r12 mov QWORD PTR [rbp-0x130],rbx mov ebx,ecx ↑ jmp 27c 1213: lea rdi,[rbp-0x130] movabs rax,0x732f2865ccc0 → call QWORD PTR [rax] ↓ jmp 18d1 122b: cmp edx,0x6e ↓ je 13bd rex movzx edi,BYTE PTR [rbp-0xec] test edi,edi ↓ je 1a1f cmp edi,0x2 ↓ je 13eb cmp edx,0x2f ↓ jne 1a1f lea rdi,[rbp-0x130] movabs rax,0x732f2865cf18 → call QWORD PTR [rax] test eax,eax ↓ je 1311 movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jge 140e mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c8e mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jg 134c lea rdi,[rbp-0x130] movabs rax,0x732f2865cc60 → call QWORD PTR [rax] movsxd rsi,DWORD PTR [rbp-0x110] mov edx,DWORD PTR [rbp-0xf8] cmp rsi,rdx ↓ jl 132f cmp BYTE PTR [rbp-0x109],0x0 ↓ je 1311 lea rdi,[rbp-0x130] movabs rax,0x732f2865cd08 → call QWORD PTR [rax] test eax,eax ↓ je 1311 cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 19ff cmp BYTE PTR [rbp-0xec],0x2 ↓ jne 1318 cmp BYTE PTR [rbp-0x108],0x6 ↓ jne 1318 1311: xor ebx,ebx ↑ jmp b4e 1318: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 1311 cmp edi,0x2 ↑ je 1311 ↓ jmp 1c0f 132f: mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ jae 1c8e mov rdx,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rdx+rsi*1] 134c: movsxd rsi,DWORD PTR [rbp-0x110] mov QWORD PTR [rbp-0x118],rsi ↑ jmp 984 135f: mov rsi,rdx mov edx,ecx movabs rcx,0x732f95ba55ae mov r8d,0x5 lea rdi,[rbp-0x130] movabs rax,0x732f2865d0e0 → call QWORD PTR [rax] mov ebx,eax ↑ jmp a59 138e: mov rsi,rdx mov edx,ecx movabs rcx,0x732f95ba5612 mov r8d,0x4 lea rdi,[rbp-0x130] movabs rax,0x732f2865d0e0 → call QWORD PTR [rax] mov ebx,eax ↑ jmp af1 13bd: movabs rsi,0x732f95ba55a9 mov edx,0x4 lea rdi,[rbp-0x130] mov ecx,0xb movabs rax,0x732f2865ceb8 → call QWORD PTR [rax] mov ebx,eax ↑ jmp b4e 13eb: cmp edx,0x2f ↓ jne 1a1f lea rdi,[rbp-0x130] movabs rax,0x732f2865cf00 → call QWORD PTR [rax] mov ebx,eax ↑ jmp b4e 140e: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 1311 lea rdi,[rbp-0x130] movabs rax,0x732f2865cd08 → call QWORD PTR [rax] test eax,eax ↑ je 1311 cmp BYTE PTR [rbp-0x108],0x4 ↑ je 1311 cmp BYTE PTR [rbp-0x108],0x2 ↑ je 1311 ↓ jmp 1c0f 1455: cmp edx,0x6e ↓ je 1817 rex movzx edi,BYTE PTR [rbp-0xec] test edi,edi ↓ je 1c2f cmp edi,0x2 ↓ je 1871 cmp edx,0x2f ↓ jne 1c2f lea rdi,[rbp-0x130] movabs rax,0x732f2865cf18 → call QWORD PTR [rax] test eax,eax ↓ je 18ca movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jge 1894 mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c8e mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jg 151e lea rdi,[rbp-0x130] movabs rax,0x732f2865cc60 → call QWORD PTR [rax] lea rdi,[rbp-0x130] movabs rax,0x732f2865cc48 → call QWORD PTR [rax] test eax,eax ↓ je 18ca mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c8e mov rsi,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rsi+rdi*1] 151e: movsxd rdi,DWORD PTR [rbp-0x110] mov QWORD PTR [rbp-0x118],rdi mov BYTE PTR [rbp-0x104],0x0 cmp edx,0x22 ↑ jne 338 ↑ jmp 70f 1541: mov ecx,0xffffffff ↑ jmp 8bf 154b: mov edi,0xffffffff ↑ jmp 895 1555: mov rsi,rcx lea eax,[rdi-0x10] ↑ jmp 8a0 1560: mov esi,0xffffffff ↑ jmp 7c6 156a: mov rdi,rcx lea eax,[rsi-0x8] ↑ jmp 7d1 1575: mov rsi,rdx mov edx,r13d lea rdi,[rbp-0x130] movabs rax,0x732f2865ce10 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 96e 1595: lea rdi,[rbp-0x130] movabs rax,0x732f2865cd08 → call QWORD PTR [rax] test eax,eax ↓ jne 1a3d xor ebx,ebx ↑ jmp 96e 15b7: lea rdi,[rbp-0xe8] mov esi,0x1 movabs rax,0x732f2865d110 → call QWORD PTR [rax] ↑ jmp 69d 15d4: lea rdi,[rbp-0xe8] xor esi,esi movabs rax,0x732f2865d110 → call QWORD PTR [rax] ↑ jmp 5f2 15ee: mov edi,DWORD PTR [rbp-0x170] inc edi mov DWORD PTR [rbp-0x170],edi mov edi,DWORD PTR [rbp-0x170] cmp edi,DWORD PTR [rbp-0x178] ↓ jl 162c lea rdi,[rbp-0x130] movabs rax,0x732f2865cd08 → call QWORD PTR [rax] test eax,eax ↓ jne 1aae 1625: xor ebx,ebx ↑ jmp 5bd 162c: mov edi,DWORD PTR [rbp-0x170] cmp edi,DWORD PTR [rbp-0x178] ↓ jae 1c8e mov rsi,QWORD PTR [rbp-0x180] movzx edx,BYTE PTR [rsi+rdi*1] lea edi,[rdx-0x30] cmp edi,0x9 ↑ jbe 47c ↓ jmp 1ae3 165a: lea rdi,[rbp-0x130] lea rsi,[rbp-0x180] lea rdx,[rbp-0x170] movabs rax,0x732f2865cfa8 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 1625 test eax,eax ↑ je 54e mov edi,DWORD PTR [rbp-0x178] cmp DWORD PTR [rbp-0x170],edi ↓ jae 1c8e mov rdi,QWORD PTR [rbp-0x180] mov esi,DWORD PTR [rbp-0x170] movzx edx,BYTE PTR [rdi+rsi*1] ↓ jmp 1712 16ad: lea rdi,[rbp-0x130] movabs rax,0x732f2865cd08 → call QWORD PTR [rax] test eax,eax ↑ jne 53b mov ebx,0x2 ↑ jmp 53d 16d2: mov ebx,0x1 ↑ jmp 53d 16dc: mov edi,DWORD PTR [rbp-0x178] cmp DWORD PTR [rbp-0x170],edi ↓ jae 1c8e mov rdi,QWORD PTR [rbp-0x180] mov esi,DWORD PTR [rbp-0x170] movzx edx,BYTE PTR [rdi+rsi*1] cmp edx,0x2e ↓ je 1712 cmp edx,0x45 ↓ je 1712 cmp edx,0x65 ↓ jne 1b16 1712: cmp edx,0x2e ↓ jne 1788 mov edi,DWORD PTR [rbp-0x170] inc edi mov DWORD PTR [rbp-0x170],edi lea rdi,[rbp-0x130] lea rsi,[rbp-0x180] lea rdx,[rbp-0x170] movabs rax,0x732f2865cfd8 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 1625 test eax,eax ↑ je 54e mov edi,DWORD PTR [rbp-0x178] cmp DWORD PTR [rbp-0x170],edi ↓ jae 1c8e mov rdi,QWORD PTR [rbp-0x180] mov esi,DWORD PTR [rbp-0x170] movzx edx,BYTE PTR [rdi+rsi*1] cmp edx,0x45 ↓ je 1788 cmp edx,0x65 ↓ jne 1b49 1788: mov edi,DWORD PTR [rbp-0x170] inc edi mov DWORD PTR [rbp-0x170],edi lea rdi,[rbp-0x130] lea rsi,[rbp-0x180] lea rdx,[rbp-0x170] movabs rax,0x732f2865cff0 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 1625 mov edi,DWORD PTR [rbp-0x170] inc edi mov DWORD PTR [rbp-0x170],edi lea rdi,[rbp-0x130] lea rsi,[rbp-0x180] lea rdx,[rbp-0x170] movabs rax,0x732f2865cfc0 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 1625 test eax,eax ↑ je 54e ↓ jmp 1b7c 1805: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 5b8 ↓ jmp 1bd2 1817: vxorps xmm0,xmm0,xmm0 vmovdqu32 XMMWORD PTR [rbp-0x1b0],xmm0 lea rdi,[rbp-0x1b0] movabs rsi,0x732f95ba55a9 mov edx,0x4 movabs rax,0x732f28095d40 → call QWORD PTR [rax] mov rsi,QWORD PTR [rbp-0x1b0] mov rdx,QWORD PTR [rbp-0x1a8] lea rdi,[rbp-0x130] mov ecx,0xb movabs rax,0x732f2865ceb8 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 96e 1871: cmp edx,0x2f ↓ jne 1c2f lea rdi,[rbp-0x130] movabs rax,0x732f2865cf00 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 96e 1894: cmp BYTE PTR [rbp-0x109],0x0 ↓ je 18ca lea rdi,[rbp-0x130] movabs rax,0x732f2865cd08 → call QWORD PTR [rax] test eax,eax ↓ je 18ca cmp BYTE PTR [rbp-0x108],0x4 ↓ je 18ca cmp BYTE PTR [rbp-0x108],0x2 ↓ jne 1c0f 18ca: xor ebx,ebx ↑ jmp 96e 18d1: mov ebx,0x1 ↑ jmp 27c 18db: lea rdi,[rbp-0x130] movabs rax,0x732f2865cc00 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 27c 18f5: cmp BYTE PTR [rbp-0xea],0x0 ↑ jne 284 ↓ jmp 1c4d 1907: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1927: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1947: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xc movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1965: mov r15d,DWORD PTR [rbp-0x1c8] lea eax,[r15+0x1] movsxd rdi,eax add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x2 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 19a1: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x11 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 19c1: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x11 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 19e1: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xb movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 19ff: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1a1f: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xf movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1a3d: inc r13d movsxd rdi,r13d add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x2 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1a71: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x18 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1a91: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d xor esi,esi xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1aae: movsxd rdi,DWORD PTR [rbp-0x170] add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x5 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1ae3: movsxd rdi,DWORD PTR [rbp-0x170] add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x4 movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1b16: movsxd rdi,DWORD PTR [rbp-0x170] add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x7 movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1b49: movsxd rdi,DWORD PTR [rbp-0x170] add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x9 movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1b7c: movsxd rdi,DWORD PTR [rbp-0x170] add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi mov edi,DWORD PTR [rbp-0x178] cmp DWORD PTR [rbp-0x170],edi ↓ jae 1c8e mov rdi,QWORD PTR [rbp-0x180] mov ecx,DWORD PTR [rbp-0x170] movzx edx,BYTE PTR [rdi+rcx*1] lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x7 movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1bd2: mov edi,DWORD PTR [rbp-0x110] dec edi cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c8e mov rcx,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rcx+rdi*1] lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x7 movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1c0f: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x16 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1c2f: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xf movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1c4d: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x20 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 1c6d: mov rdi,r15 movabs rax,0x732f28657240 → call QWORD PTR [rax] ↑ jmp f35 1c81: movabs rax,0x732f27d4dd28 → call QWORD PTR [rax] int3 1c8e: → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1 vpshufb xmm0,xmm0,xmm1 vmovsd xmm1,QWORD PTR [rip+0x5fa] vpshufb xmm1,xmm1,xmm2 vpand xmm0,xmm1,xmm0 vptest xmm0,xmm0 ↓ je 2ae vptestmb k1,xmm0,xmm0 kmovw r8d,k1 tzcnt r8d,r8d mov r9d,0xffffffff cmp r8d,0x20 cmove r8d,r9d mov r9d,r8d cmp r9d,0x8 ↓ jge 56a 174: sub rdx,rsi add r9d,edx ↓ jmp 2b4 17f: vmovups ymm0,YMMWORD PTR [rdx] cmp r15d,0x20 ↓ jle 1d1 lea r9d,[r15-0x20] 2.47 mov edx,r9d add rdx,rsi 193: vmovups ymm1,YMMWORD PTR [rdi] 0.49 vpshufb ymm2,ymm0,ymm1 1.97 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x581] # 7ac 1.68 vbroadcastsd ymm3,QWORD PTR [rip+0x584] # 7b8 vpshufb ymm1,ymm3,ymm1 2.57 vpand ymm1,ymm1,ymm2 5.43 vptest ymm1,ymm1 10.17 ↓ jne 24e add rdi,0x20 cmp rdi,rdx ↑ jb 193 1d1: lea edx,[r15-0x10] mov r9d,edx add r9,rsi cmp rdi,r9 cmova rdi,r9 vmovdqu xmm1,XMMWORD PTR [rdi] vinserti128 ymm1,ymm1,XMMWORD PTR [r9],0x1 vpshufb ymm0,ymm0,ymm1 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x52c] # 7ac 0.30 vbroadcastsd ymm2,QWORD PTR [rip+0x537] # 7c0 vpshufb ymm1,ymm2,ymm1 vpand ymm0,ymm1,ymm0 0.10 vptest ymm0,ymm0 0.20 ↓ je 2ae 0.49 vptestmb k1,ymm0,ymm0 kmovd edx,k1 tzcnt edx,edx mov r8d,0xffffffff cmp edx,0x20 cmove edx,r8d 0.30 mov r8d,edx 0.20 cmp r8d,0x10 ↓ jge 55e 245: sub rdi,rsi lea r9d,[rdi+r8*1] ↓ jmp 2b4 9.08 24e: vptestmb k1,ymm1,ymm1 kmovd r9d,k1 tzcnt r9d,r9d mov edx,0xffffffff 3.06 cmp r9d,0x20 cmove r9d,edx 2.57 sub rdi,rsi 2.27 add r9d,edi 0.69 ↓ jmp 2b4 272: mov r9d,r15d add r9,rsi cmp rsi,r9 ↓ je 2ae 27d: movzx r8d,BYTE PTR [rdi] lea r10,[rdx+0x20] mov r11d,r8d sar r11d,0x5 mov eax,0x1 shlx eax,eax,r8d cmp BYTE PTR [r10],r10b mov r8d,r11d test DWORD PTR [r10+r8*4],eax ↓ jne 36d inc rdi cmp rdi,r9 ↑ jne 27d 2ae: mov r9d,0xffffffff 2b4: test r9d,r9d 2.47 ↓ jl 5a6 cmp r9d,r15d 0.79 ↓ jae 71e mov edx,r9d cmp BYTE PTR [rsi+rdx*1],0x22 11.55 ↓ jne 583 lea edx,[r9+0x2] movsxd rdx,edx add QWORD PTR [rbx+0x8],rdx cmp r9d,r15d ↓ ja 576 mov QWORD PTR [rbx+0x98],rsi mov DWORD PTR [rbx+0xa0],r9d mov BYTE PTR [rbx+0x2e],0x0 mov BYTE PTR [rbx+0x28],0x7 3.65 add r9d,DWORD PTR [rbx+0x20] add r9d,0x2 mov DWORD PTR [rbx+0x20],r9d 309: mov edi,DWORD PTR [rbx+0x20] movsxd rdx,edi mov esi,DWORD PTR [rbx+0x38] cmp rdx,rsi ↓ jge 5e3 lea rdx,[rbx+0x30] cmp edi,DWORD PTR [rdx+0x8] 2.96 ↓ jae 71e mov rdx,QWORD PTR [rdx] movzx edx,BYTE PTR [rdx+rdi*1] 4.44 cmp edx,0x20 ↓ jle 5f8 338: cmp edx,0x3a ↓ jne 66d inc DWORD inc QWORD mov BYTE PTR [rbx+0x28],0x5 34c: xor edx,edx 34e: test edx,edx ↓ jne 6ee mov eax,0x1 0.39 vzeroupper add rsp,0x8 3.16 pop rbx pop r12 0.10 pop r13 pop r14 pop r15 0.79 pop rbp ← ret 36d: mov r9,rdi sub r9,rsi ↑ jmp 2b4 378: cmp sil,0x7d ↓ jne 38f 37e: mov rdi,rbx movabs rdx,0x732f2865cc90 0.20 → call QWORD PTR [rdx] ↑ jmp 34c 38f: cmp sil,0x5d ↓ jne 6d0 399: mov rdi,rbx movabs rdx,0x732f2865ccc0 → call QWORD PTR [rdx] ↑ jmp 34c 3aa: cmp BYTE PTR [rbx+0x44],0x2 ↓ jne 3ee cmp sil,0x2f ↓ jne 3ce mov rdi,rbx movabs rdx,0x732f2865cf00 → call QWORD PTR [rdx] test eax,eax ↑ jne 34c ↓ jmp 643 3ce: cmp BYTE PTR [rbx+0x28],0x6 ↑ jne 39 mov rdi,rbx movabs rdx,0x732f2865cf48 → call QWORD PTR [rdx] mov edx,eax ↑ jmp 34e 3ee: movzx esi,sil mov rdi,rbx movabs rdx,0x732f2865cf60 → call QWORD PTR [rdx] mov edx,eax ↑ jmp 34e 408: cmp BYTE PTR [rbx+0x46],0x0 ↓ je 42e movzx esi,sil mov rdi,rbx movabs rdx,0x732f2865ccf0 → call QWORD PTR [rdx] test eax,eax ↑ jne 34c ↓ jmp 643 42e: movzx edx,sil xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x6 movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 44c: mov rdi,rbx movabs rdx,0x732f2865cd08 → call QWORD PTR [rdx] test eax,eax ↓ je 643 dec DWORD dec QWORD xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xd xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 486: mov rdi,rbx movabs rdx,0x732f2865cc60 → call QWORD PTR [rdx] movsxd rdi,DWORD PTR [rbx+0x20] mov eax,DWORD PTR [rbx+0x38] cmp rdi,rax ↓ jl 4d4 mov rdi,rbx movabs rax,0x732f2865cd08 → call QWORD PTR [rax] test eax,eax ↓ je 643 xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xd xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 4d4: mov edi,DWORD PTR [rbx+0x20] lea rax,[rbx+0x30] cmp edi,DWORD PTR [rax+0x8] ↓ jae 71e mov rax,QWORD PTR [rax] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp 87 4f0: cmp edx,0x2f ↑ jne 99 mov BYTE PTR [rbx+0x2c],0x1 mov rdi,rbx movabs rdx,0x732f2865cf00 → call QWORD PTR [rdx] test eax,eax ↑ jne 34c ↓ jmp 643 519: cmp edx,0x7d ↓ jne 544 cmp BYTE PTR [rbx+0x45],0x0 ↑ jne 37e xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x22 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 544: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xc movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 55e: mov rdi,r9 lea r8d,[rdx-0x10] ↑ jmp 245 56a: mov rdx,rdi lea r9d,[r8-0x8] ↑ jmp 174 576: movabs rax,0x732f27d4dd28 → call QWORD PTR [rax] int3 583: mov edx,r15d mov rdi,rbx mov ecx,r9d movabs r8,0x732f2865ce10 → call QWORD PTR [r8] test eax,eax ↑ jne 309 ↓ jmp 643 5a6: mov rdi,rbx movabs rdx,0x732f2865cd08 → call QWORD PTR [rdx] test eax,eax ↓ je 643 inc r15d movsxd rcx,r15d add QWORD PTR [rbx+0x8],rcx xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x2 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 5e3: mov rdi,rbx movabs rdx,0x732f2865cd08 → call QWORD PTR [rdx] test eax,eax ↓ je 643 ↓ jmp 627 5f8: mov rdi,rbx movabs rdx,0x732f2865cc60 → call QWORD PTR [rdx] movsxd rcx,DWORD PTR [rbx+0x20] mov r8d,DWORD PTR [rbx+0x38] cmp rcx,r8 ↓ jl 64f mov rdi,rbx movabs rax,0x732f2865cd08 → call QWORD PTR [rax] test eax,eax ↓ je 643 627: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x11 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 643: mov eax,0x1 mov edx,eax ↑ jmp 34e 64f: mov ecx,DWORD PTR [rbx+0x20] lea r8,[rbx+0x30] cmp ecx,DWORD PTR [r8+0x8] ↓ jae 71e mov r8,QWORD PTR [r8] movzx edx,BYTE PTR [r8+rcx*1] ↑ jmp 338 66d: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xb movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 687: cmp edx,0x5d ↓ jne 6b2 cmp BYTE PTR [rbx+0x45],0x0 ↑ jne 399 xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x21 xor edx,edx movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 6b2: mov rdi,rbx mov esi,edx movabs rdx,0x732f2865ccd8 → call QWORD PTR [rdx] test eax,eax ↑ jne 34c ↑ jmp 643 6d0: movzx edx,sil xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x12 movabs rax,0x732f2865cc30 → call QWORD PTR [rax] int3 6ee: cmp edx,0x1 ↓ jne 70a mov DWORD PTR [rbx+0x20],r14d mov eax,DWORD PTR [rbp-0x2c] mov BYTE PTR [rbx+0x28],al mov QWORD PTR [rbx+0x8],r13 mov QWORD PTR [rbx],r12 mov ecx,DWORD PTR [rbp-0x30] mov BYTE PTR [rbx+0x2c],cl 70a: xor eax,eax vzeroupper add rsp,0x8 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ← ret 71e: → call instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0xffffffffff27c828 int3 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5075075070, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-41649-32965.so Percent push rbp push r15 push r14 push r13 push r12 push rbx sub rsp,0x498 lea rbp,[rsp+0x4c0] vxorps xmm8,xmm8,xmm8 vmovdqa32 XMMWORD PTR [rbp-0x2e0],xmm8 movabs rax,0xfffffffffffffd60 2f: vmovdqa XMMWORD PTR [rbp+rax*1-0x30],xmm8 vmovdqa XMMWORD PTR [rbp+rax*1-0x20],xmm8 vmovdqa XMMWORD PTR [rbp+rax*1-0x10],xmm8 add rax,0x30 ↑ jne 2f mov QWORD PTR [rbp-0x30],rax mov rbx,rdi movabs rdi,0x732fa6031808 movabs rax,0x732fa6aa4820 → call rax cmp DWORD PTR [rax],0x17 ↓ jle 1671 mov rdi,QWORD PTR [rax+0x8] mov r15,QWORD PTR [rdi+0xb8] test r15,r15 ↓ je 1671 81: mov r14,QWORD PTR [r15+0x18] 0.11 test r14,r14 ↓ je 168a 8e: mov QWORD PTR [rbp-0x310],r14 movabs rdx,0x732f282e8fd8 cmp QWORD PTR [r14],rdx ↓ jne 1742 cmp BYTE PTR [r14+0x2b],0x0 ↓ je 16c1 mov r13d,DWORD PTR [r14+0x18] mov edx,r13d neg edx add edx,0x7fffffc7 movsxd rdx,edx test rdx,rdx ↓ jl 16d0 mov DWORD PTR [r14+0x1c],r13d cmp BYTE PTR [r14+0x29],0x0 ↓ je 1765 test r13d,r13d ↓ jl 1772 cmp r13d,DWORD PTR [r14+0x24] ↓ jg 17ab cmp r13d,DWORD PTR [r14+0x20] ↓ jg 17ff fa: mov DWORD PTR [r14+0x20],r13d cmp DWORD PTR [r14+0x1c],r13d ↓ jg 181f 108: mov r13,QWORD PTR [r15+0x10] test r13,r13 ↓ je 1828 cmp QWORD PTR [r13+0x10],0x0 ↓ je 188a 120: movabs rdi,0x732f282e8fd8 cmp QWORD PTR [r14],rdi ↓ jne 18a2 movzx r15d,BYTE PTR [r14+0x29] 138: test r15d,r15d ↓ je 18b7 lea rdi,[r13+0x10] mov rsi,r14 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov r15,QWORD PTR [r13+0x18] test r15,r15 ↓ je 18f0 mov rdi,QWORD PTR [r15+0x8] mov esi,DWORD PTR [r15+0x10] test rdi,rdi ↓ je 1922 cmp DWORD PTR [rdi+0x8],esi 0.11 ↓ jb 2b00 add rdi,0x10 178: mov esi,esi movabs rax,0x732f27b45818 → call QWORD PTR [rax] xor edi,edi mov DWORD PTR [r15+0x10],edi 18c: xor edi,edi mov QWORD PTR [r13+0x8],rdi mov DWORD PTR [r13+0x34],edi mov QWORD PTR [r13+0x20],rdi mov QWORD PTR [r13+0x40],rdi mov QWORD PTR [r13+0x48],rdi mov BYTE PTR [r13+0x38],0x0 mov WORD PTR [r13+0x39],0x0 mov DWORD PTR [r13+0x28],edi mov QWORD PTR [r13+0x50],rdi mov QWORD PTR [r13+0x58],rdi mov QWORD PTR [r13+0x60],rdi mov WORD PTR [r13+0x68],di mov BYTE PTR [r13+0x6a],dil mov BYTE PTR [r13+0x3b],0x0 1cc: mov edi,DWORD PTR [r13+0x28] and edi,0x7fffffff cmp edi,DWORD PTR [r13+0x78] ↓ jge 1933 1e0: mov edi,DWORD PTR [r13+0x7c] and edi,0x3 cmp edi,0x2 ↓ jne 1947 mov edi,DWORD PTR [r13+0x4c] sub edi,DWORD PTR [r13+0x34] cmp edi,0x2 ↓ jl 1960 201: lea r15,[r13+0x40] xor r12d,r12d xor eax,eax mov rdi,QWORD PTR [r15] test rdi,rdi ↓ je 24b mov rax,QWORD PTR [rdi] test DWORD PTR [rax],0x80000000 ↓ je 1979 lea r12,[rdi+0x10] mov eax,DWORD PTR [rdi+0x8] 228: mov edi,DWORD PTR [r15+0x8] and edi,0x7fffffff mov esi,DWORD PTR [r15+0xc] mov ecx,esi add rcx,rdi mov eax,eax cmp rcx,rax ↓ ja 2b00 add r12,rdi mov eax,esi 24b: cmp DWORD PTR [r13+0x28],0x0 ↓ jge 26a mov edi,DWORD PTR [r13+0x34] lea esi,[rdi+0x1] mov DWORD PTR [r13+0x34],esi cmp edi,eax ↓ jae 2b6c mov BYTE PTR [r12+rdi*1],0x2c 26a: mov edi,DWORD PTR [r13+0x34] lea esi,[rdi+0x1] mov DWORD PTR [r13+0x34],esi cmp edi,eax ↓ jae 2b6c mov BYTE PTR [r12+rdi*1],0x7b 0.11 282: mov edx,DWORD PTR [r13+0x28] and edx,0x7fffffff mov DWORD PTR [r13+0x28],edx inc edx mov DWORD PTR [r13+0x28],edx mov BYTE PTR [r13+0x3a],0x1 movabs r15,0x732f2561d0e4 mov edx,DWORD PTR [r13+0x28] and edx,0x7fffffff cmp edx,DWORD PTR [r13+0x78] ↓ jge 198d 2b9: lea rsi,[r13+0x70] mov rdi,QWORD PTR [rsi] mov QWORD PTR [rbp-0x40],r15 mov rsi,r15 movabs rdx,0x732777c02e08 test rdi,rdi cmove rdi,QWORD PTR [rdx] movabs rdx,0x732f28681ca8 cmp QWORD PTR [rdi],rdx ↓ jne 19ae mov rdi,QWORD PTR [rdi+0x8] cmp BYTE PTR [rdi],dil mov edx,0x7 movabs rax,0x732f2865c468 → call QWORD PTR [rax] 303: xor edi,edi mov QWORD PTR [rbp-0x40],rdi cmp eax,0xffffffff ↓ jne 19c2 test BYTE PTR [r13+0x7c],0x2 ↓ je 19e6 31d: test BYTE PTR [r13+0x7c],0x1 ↓ jne 1a36 mov edi,DWORD PTR [r13+0x4c] sub edi,DWORD PTR [r13+0x34] cmp edi,0x1a ↓ jl 1a57 339: lea r12,[r13+0x40] xor eax,eax xor ecx,ecx mov rdi,QWORD PTR [r12] test rdi,rdi ↓ je 387 mov rax,QWORD PTR [rdi] test DWORD PTR [rax],0x80000000 ↓ je 1a70 lea rax,[rdi+0x10] mov ecx,DWORD PTR [rdi+0x8] 360: mov edx,DWORD PTR [r12+0x8] and edx,0x7fffffff mov r9d,DWORD PTR [r12+0xc] mov r8d,r9d add r8,rdx mov ecx,ecx cmp r8,rcx ↓ ja 2b00 add rax,rdx mov ecx,r9d 387: cmp DWORD PTR [r13+0x28],0x0 ↓ jl 1a8b 392: mov r12d,DWORD PTR [r13+0x34] lea edx,[r12+0x1] mov DWORD PTR [r13+0x34],edx cmp r12d,ecx ↓ jae 2b6c mov edx,r12d mov BYTE PTR [rax+rdx*1],0x22 mov edx,DWORD PTR [r13+0x34] cmp edx,ecx ↓ ja 2b00 mov r12d,edx mov QWORD PTR [rbp-0x328],rax add r12,rax mov DWORD PTR [rbp-0x44],ecx mov esi,ecx sub esi,edx mov QWORD PTR [rbp-0x50],r15 mov rdx,r15 mov QWORD PTR [rbp-0x58],r12 mov QWORD PTR [rbp-0x60],rdx mov QWORD PTR [rbp-0x68],r12 mov rdi,r15 mov rdx,r12 lea r9,[rbp-0x68] lea r8,[rbp-0x60] mov ecx,esi mov esi,0x7 movabs r10,0x732f27b47a80 → call QWORD PTR [r10] mov esi,DWORD PTR [rbp-0x68] sub esi,r12d xor edx,edx mov QWORD PTR [rbp-0x50],rdx mov QWORD PTR [rbp-0x58],rdx add esi,DWORD PTR [r13+0x34] mov r12d,esi mov DWORD PTR [r13+0x34],r12d lea esi,[r12+0x1] mov DWORD PTR [r13+0x34],esi mov r15d,DWORD PTR [rbp-0x44] cmp r12d,r15d ↓ jae 2b6c mov esi,r12d mov r12,QWORD PTR [rbp-0x328] mov BYTE PTR [r12+rsi*1],0x22 mov esi,DWORD PTR [r13+0x34] lea edx,[rsi+0x1] mov DWORD PTR [r13+0x34],edx cmp esi,r15d ↓ jae 2b6c mov BYTE PTR [r12+rsi*1],0x3a mov esi,DWORD PTR [r13+0x34] lea edx,[rsi+0x1] mov DWORD PTR [r13+0x34],edx cmp esi,r15d ↓ jae 2b6c mov BYTE PTR [r12+rsi*1],0x5b 476: mov edi,DWORD PTR [r13+0x28] and edi,0x7fffffff mov DWORD PTR [r13+0x28],edi inc edi mov DWORD PTR [r13+0x28],edi mov BYTE PTR [r13+0x3a],0x3 mov rbx,QWORD PTR [rbx+0x8] mov r15d,DWORD PTR [rbx+0x14] xor r12d,r12d ↓ jmp f3b 49f: vxorps ymm0,ymm0,ymm0 vmovdqu32 ZMMWORD PTR [rbp-0x1b8],zmm0 vmovdqu32 ZMMWORD PTR [rbp-0x178],zmm0 vmovdqu YMMWORD PTR [rbp-0x138],ymm0 mov QWORD PTR [rbp-0x150],rcx mov rdi,QWORD PTR [rcx+0xd0] mov QWORD PTR [rbp-0x158],rdi mov rdi,QWORD PTR [rbp-0x158] mov rdi,QWORD PTR [rdi+0xc8] mov QWORD PTR [rbp-0x128],rdi mov BYTE PTR [rbp-0x16a],0x0 mov BYTE PTR [rbp-0x169],0x0 mov rdi,QWORD PTR [rcx+0xb8] cmp DWORD PTR [rdi+0x8c],0x0 ↓ jne 2685 50b: mov rcx,QWORD PTR [rbp-0x378] mov rdi,QWORD PTR [rcx+0x158] mov rcx,QWORD PTR [rcx+0xb8] lea rdx,[rbp-0x118] lea r8,[rbp-0x1b8] mov rsi,r13 movabs r9,0x732f287244e0 cmp DWORD PTR [rdi],edi → call QWORD PTR [r9] 540: mov rdi,r13 movabs rax,0x732f28657018 → call QWORD PTR [rax] mov rax,QWORD PTR [rbp-0x488] mov ecx,DWORD PTR [rbp-0x2fc] mov esi,DWORD PTR [rbp-0x300] mov r14,QWORD PTR [rbp-0x310] 569: cmp ecx,DWORD PTR [rax+0x44] 1.37 ↓ jne 291d cmp esi,DWORD PTR [rax+0x38] 0.11 ↓ jae e14 57b: mov rdx,QWORD PTR [rax+0x10] 0.11 lea edi,[rsi+0x1] mov r8d,edi cmp esi,DWORD PTR [rdx+0x8] 1.71 ↓ jae 2b6c 0.91 mov esi,esi lea rsi,[rsi+rsi*2] lea rsi,[rdx+rsi*8+0x10] 0.11 cmp DWORD PTR [rsi+0x14],0xffffffff 0.80 ↓ jl 26a4 0.57 mov rdx,QWORD PTR [rsi] mov r9,QWORD PTR [rsi+0x8] 0.23 mov QWORD PTR [rbp-0x490],r9 test rdx,rdx 0.11 ↓ je 28a2 lea r10,[rdx+0xc] mov rdi,r10 mov QWORD PTR [rbp-0x348],rdi mov r10d,DWORD PTR [rdx+0x8] 1.03 mov DWORD PTR [rbp-0x9c],r10d cmp r10d,0x9ef21aa 1.14 ↓ jg 28b9 lea rsi,[r13+0x70] mov rsi,QWORD PTR [rsi] test r10d,r10d ↓ je 1cd1 mov QWORD PTR [rbp-0xa8],rdi mov rdx,rdi mov r11,rsi test r11,r11 ↓ jne 60f movabs r11,0x732777c02e08 0.11 mov r11,QWORD PTR [r11] 0.23 60f: movabs rsi,0x732f28681ca8 0.34 cmp QWORD PTR [r11],rsi 1.03 ↓ jne 1ce4 mov DWORD PTR [rbp-0x300],r8d mov r11,QWORD PTR [r11+0x8] cmp BYTE PTR [r11],r11b 0.46 mov rsi,rdx mov edx,r10d mov rdi,r11 0.11 movabs r11,0x732f2865c468 0.23 → call QWORD PTR [r11] mov ecx,eax 0.11 648: xor edx,edx mov QWORD PTR [rbp-0xa8],rdx cmp ecx,0xffffffff ↓ jne dd3 test BYTE PTR [r13+0x7c],0x2 0.34 ↓ je 1d06 665: test BYTE PTR [r13+0x7c],0x1 0.11 ↓ jne 1d2c 0.11 mov r10d,DWORD PTR [rbp-0x9c] 0.23 lea esi,[r10+r10*2] add esi,0x4 0.23 mov ecx,DWORD PTR [r13+0x4c] sub ecx,DWORD PTR [r13+0x34] 0.34 cmp ecx,esi ↓ jge 720 cmp DWORD PTR [r13+0x4c],0x0 ↓ jne 1e48 0.34 cmp esi,0x100 ↓ jg 1d54 mov ecx,0x100 0.11 6aa: cmp QWORD PTR [r13+0x10],0x0 ↓ je 1dfa mov rdx,QWORD PTR [r13+0x18] mov QWORD PTR [rbp-0x350],rdx 0.11 cmp BYTE PTR [rdx],dl mov rsi,QWORD PTR [rdx+0x8] 0.34 mov esi,DWORD PTR [rsi+0x8] sub esi,DWORD PTR [rdx+0x10] 0.23 cmp esi,ecx ↓ jl 1d5b 6d4: mov rsi,QWORD PTR [rdx+0x8] mov ecx,DWORD PTR [rdx+0x10] 0.11 test rsi,rsi ↓ je 1ddd cmp DWORD PTR [rsi+0x8],ecx 0.34 ↓ jb 2b00 mov edx,ecx mov r11d,DWORD PTR [rsi+0x8] 0.11 sub r11d,edx 0.23 mov DWORD PTR [rbp-0x2ec],edx mov DWORD PTR [rbp-0x2f0],r11d 0.11 703: lea rdi,[r13+0x40] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov edi,DWORD PTR [rbp-0x2ec] mov DWORD PTR [r13+0x48],edi 0.23 mov edi,DWORD PTR [rbp-0x2f0] 0.46 mov DWORD PTR [r13+0x4c],edi 0.11 720: lea rcx,[r13+0x40] 0.68 mov QWORD PTR [rbp-0x360],rcx xor edx,edx 0.11 xor esi,esi mov r11,QWORD PTR [rcx] 0.23 test r11,r11 ↓ je 780 mov rdx,QWORD PTR [r11] 0.80 test DWORD PTR [rdx],0x80000000 2.17 ↓ je 1f34 lea rdx,[r11+0x10] 0.34 mov esi,DWORD PTR [r11+0x8] 0.23 74e: mov rcx,QWORD PTR [rbp-0x360] mov r11d,DWORD PTR [rcx+0x8] and r11d,0x7fffffff mov ecx,DWORD PTR [rcx+0xc] 0.11 mov r14d,ecx add r14,r11 0.23 mov esi,esi 0.46 cmp r14,rsi ↓ ja 2b00 add rdx,r11 mov esi,ecx 0.11 mov r14,QWORD PTR [rbp-0x310] 780: cmp DWORD PTR [r13+0x28],0x0 ↓ jge 7a1 0.11 mov r11d,DWORD PTR [r13+0x34] 0.11 lea ecx,[r11+0x1] 0.46 mov DWORD PTR [r13+0x34],ecx 0.23 cmp r11d,esi ↓ jae 2b6c mov BYTE PTR [rdx+r11*1],0x2c 0.11 7a1: mov r11d,DWORD PTR [r13+0x34] lea ecx,[r11+0x1] mov DWORD PTR [r13+0x34],ecx 0.11 cmp r11d,esi ↓ jae 2b6c mov ecx,r11d mov BYTE PTR [rdx+rcx*1],0x22 0.11 mov ecx,DWORD PTR [r13+0x34] 0.46 cmp ecx,esi ↓ ja 2b00 mov r11d,ecx 0.11 mov QWORD PTR [rbp-0x358],rdx add r11,rdx 0.11 mov DWORD PTR [rbp-0xec],esi mov r14d,esi sub r14d,ecx mov ecx,r14d 0.11 mov rdi,QWORD PTR [rbp-0x348] mov QWORD PTR [rbp-0xf8],rdi 0.34 mov r14,rdi mov QWORD PTR [rbp-0x100],r11 0.23 mov QWORD PTR [rbp-0x308],r11 mov QWORD PTR [rbp-0x108],r14 0.23 mov QWORD PTR [rbp-0x110],r11 mov r10d,DWORD PTR [rbp-0x9c] test r10d,r10d ↓ je 846 mov rdx,r11 lea r9,[rbp-0x110] 0.23 lea r8,[rbp-0x108] mov esi,r10d 0.11 movabs r10,0x732f27b47a80 0.11 → call QWORD PTR [r10] mov r11,QWORD PTR [rbp-0x308] 0.23 846: mov edi,DWORD PTR [rbp-0x110] 0.23 sub edi,r11d 0.23 xor ecx,ecx mov QWORD PTR [rbp-0xf8],rcx mov QWORD PTR [rbp-0x100],rcx add edi,DWORD PTR [r13+0x34] 0.11 mov r11d,edi mov DWORD PTR [r13+0x34],r11d 0.34 lea edi,[r11+0x1] 0.46 mov DWORD PTR [r13+0x34],edi mov esi,DWORD PTR [rbp-0xec] cmp r11d,esi ↓ jae 2b6c mov rdx,QWORD PTR [rbp-0x358] mov BYTE PTR [rdx+r11*1],0x22 3.31 mov r11d,DWORD PTR [r13+0x34] 0.34 lea edi,[r11+0x1] mov DWORD PTR [r13+0x34],edi 0.23 cmp r11d,esi ↓ jae 2b6c mov esi,r11d 0.11 mov BYTE PTR [rdx+rsi*1],0x3a 0.57 8a9: and DWORD PTR [r13+0x28],0x7fffffff mov WORD PTR [r13+0x39],0x500 mov r9,QWORD PTR [rbp-0x490] 0.34 mov QWORD PTR [rbp-0x118],r9 movabs rdi,0x732777c033d8 mov rcx,QWORD PTR [rdi] test rcx,rcx ↓ je 1f4f 8dc: cmp BYTE PTR [rcx+0x9f],0x0 0.11 ↓ je 1f6f 0.34 8e9: mov QWORD PTR [rbp-0x368],rcx mov rsi,QWORD PTR [rcx+0x18] test rsi,rsi ↓ je 1f91 8fd: mov rcx,rsi 0.11 test rcx,rcx ↓ je 918 movabs rdi,0x732f286a8e90 cmp QWORD PTR [rcx],rdi 1.60 ↓ jne 1fe5 918: mov QWORD PTR [rbp-0x378],rcx 0.11 cmp BYTE PTR [rcx+0x116],0x0 0.23 ↓ jne 1ff2 0.11 mov rdi,QWORD PTR [rcx+0xc8] 0.23 cmp BYTE PTR [rdi+0x12],0x0 1.83 ↑ je 49f 0.80 cmp QWORD PTR [rbp-0x118],0x0 ↑ je 49f 0.46 mov rdx,QWORD PTR [rcx+0xb8] mov QWORD PTR [rbp-0x398],rdx mov rdi,QWORD PTR [rbp-0x118] 0.23 cmp BYTE PTR [rdx],dl 1.14 movabs rsi,0x732f27e567c0 → call QWORD PTR [rsi] 0.23 mov QWORD PTR [rbp-0x390],rax movabs rdi,0x732f25602620 cmp rax,rdi mov rcx,QWORD PTR [rbp-0x378] 0.23 ↑ je 49f mov rcx,QWORD PTR [rbp-0x398] mov rdx,QWORD PTR [rcx+0x10] 0.23 test rdx,rdx 0.23 ↓ je 9b6 mov rdi,QWORD PTR [rdx+0xc0] 2.17 cmp rdi,rax mov rax,QWORD PTR [rbp-0x390] 0.68 ↓ je b7f 9b6: xor edx,edx cmp BYTE PTR [rcx+0x9e],0x0 ↓ je b59 mov rdx,QWORD PTR [rcx+0x8] 0.11 test rdx,rdx ↓ je 200f 9d2: mov QWORD PTR [rbp-0x3b0],rdx mov rsi,QWORD PTR [rdx+0x8] 0.68 mov QWORD PTR [rbp-0x3b8],rsi movabs rdi,0x732777c03428 1.14 mov r8,QWORD PTR [rdi] test r8,r8 ↓ je 2034 9fa: mov rsi,QWORD PTR [rbp-0x3b8] mov QWORD PTR [rbp-0x3d8],rsi mov r9,rax mov QWORD PTR [rbp-0x3c8],r9 mov QWORD PTR [rbp-0x3d0],r8 0.23 cmp BYTE PTR [rsi],sil 2.63 mov r10,QWORD PTR [rsi+0x8] 0.23 mov QWORD PTR [rbp-0x3e0],r10 mov rdi,QWORD PTR [r10+0x8] 2.74 cmp BYTE PTR [rsi+0x19],0x0 0.11 ↓ je 20ae 0.11 mov rdi,r9 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d53e360 test eax,eax ↓ je 20c3 a45: mov DWORD PTR [rbp-0x1bc],eax mov rcx,QWORD PTR [rbp-0x3e0] 0.68 mov rdx,QWORD PTR [rcx+0x8] 0.57 mov QWORD PTR [rbp-0x3e8],rdx mov rdi,QWORD PTR [rcx+0x10] mov esi,eax imul rsi,QWORD PTR [rcx+0x28] 0.57 shr rsi,0x20 1.71 inc rsi 0.80 mov r8d,DWORD PTR [rdi+0x8] 0.34 imul rsi,r8 0.46 shr rsi,0x20 2.28 cmp esi,DWORD PTR [rdi+0x8] 1.03 ↓ jae 2b6c mov esi,esi mov r8,QWORD PTR [rdi+rsi*8+0x10] 4.68 test r8,r8 ↓ je 20e7 test rdx,rdx ↓ je 10bc movabs rdi,0x732f2803a260 cmp QWORD PTR [rdx],rdi ↓ jne 10bc ab0: cmp eax,DWORD PTR [r8+0x20] 5.59 ↓ jne dfc mov QWORD PTR [rbp-0x3f0],r8 mov r9,QWORD PTR [r8+0x8] 0.68 test r9,r9 ↓ je 20db movabs rdi,0x732f26a4a290 cmp QWORD PTR [r9],rdi 3.08 ↓ jne 20f3 0.11 mov r10,QWORD PTR [rbp-0x390] cmp r10,r9 sete r11b movzx r11d,r11b af3: test r11d,r11d ↓ je 2119 afc: mov r8,QWORD PTR [rbp-0x3f0] mov rsi,QWORD PTR [r8+0x10] mov QWORD PTR [rbp-0x1c8],rsi b0e: mov rdx,QWORD PTR [rbp-0x1c8] 1.48 xor edi,edi mov QWORD PTR [rbp-0x1c8],rdi cmp BYTE PTR [rdx+0x20],0x0 0.91 ↓ je 222e 0.11 mov rdi,QWORD PTR [rdx+0x10] 0.11 test rdi,rdi ↓ jne 28e7 mov rdx,QWORD PTR [rdx+0x8] 0.23 b39: test rdx,rdx ↓ je 2297 cmp BYTE PTR [rdx+0x119],0x2 2.05 ↓ jne 2253 1.03 mov rax,r10 mov rcx,QWORD PTR [rbp-0x398] b59: test rdx,rdx ↓ je 2283 mov rax,rdx lea rdi,[rcx+0x10] 0.11 mov QWORD PTR [rbp-0x3a0],rax mov rsi,rax → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov rdx,QWORD PTR [rbp-0x3a0] 0.23 b7f: mov rax,rdx cmp BYTE PTR [rax+0x11a],0x0 0.11 ↓ je 22a6 0.11 b8f: mov rdi,QWORD PTR [rax+0xf8] 0.23 test rdi,rdi ↓ jne 22e5 b9f: movabs rdi,0x732f28763948 cmp QWORD PTR [rax],rdi 0.11 ↓ je 1123 mov rdi,rax 0.46 mov rsi,r13 mov rdx,QWORD PTR [rbp-0x118] mov rax,QWORD PTR [rax] 0.11 mov rax,QWORD PTR [rax+0x40] 1.48 → call QWORD PTR [rax+0x38] 0.23 mov rax,QWORD PTR [rbp-0x488] 0.23 mov ecx,DWORD PTR [rbp-0x2fc] mov esi,DWORD PTR [rbp-0x300] 0.23 mov r14,QWORD PTR [rbp-0x310] 0.34 ↑ jmp 569 be8: xor eax,eax xor r12d,r12d mov eax,0xffffffff xor edi,edi mov ecx,eax mov rax,r12 mov r12d,ecx ↓ jmp f70 c01: movabs rdi,0x732f27b7ea90 cmp QWORD PTR [rax],rdi 1.83 ↓ jne f81 cmp DWORD PTR [rax+0x8],0x0 mov QWORD PTR [rbp-0x318],rax ↓ je f3b 0.23 test BYTE PTR [r13+0x7c],0x2 ↓ je 1ac4 c30: mov rax,QWORD PTR [rbp-0x318] lea rsi,[rax+0xc] mov edx,DWORD PTR [rax+0x8] 0.11 mov rdi,r13 xor ecx,ecx movabs rax,0x732f2865c600 0.23 → call QWORD PTR [rax] ↓ jmp f3b 0.11 c54: vxorps ymm0,ymm0,ymm0 vmovdqu32 ZMMWORD PTR [rbp-0x270],zmm0 vmovdqu32 ZMMWORD PTR [rbp-0x230],zmm0 0.11 vmovdqu YMMWORD PTR [rbp-0x1f0],ymm0 mov QWORD PTR [rbp-0x208],rcx mov rdi,QWORD PTR [rcx+0xd0] 0.46 mov QWORD PTR [rbp-0x210],rdi mov rdi,QWORD PTR [rbp-0x210] 0.11 mov rdi,QWORD PTR [rdi+0xc8] 0.11 mov QWORD PTR [rbp-0x1e0],rdi mov BYTE PTR [rbp-0x222],0x0 mov BYTE PTR [rbp-0x221],0x0 mov rax,QWORD PTR [rcx+0xb8] mov QWORD PTR [rbp-0x470],rax 0.34 cmp DWORD PTR [rax+0x8c],0x0 0.11 ↓ jne 2605 cc7: mov rcx,QWORD PTR [rbp-0x388] 0.11 mov rdi,QWORD PTR [rcx+0x158] 0.23 mov rcx,QWORD PTR [rcx+0xb8] 0.11 lea rdx,[rbp-0x1d0] lea r8,[rbp-0x270] mov rsi,r13 movabs rax,0x732f287244e0 cmp DWORD PTR [rdi],edi 0.11 → call QWORD PTR [rax] cfb: mov rdi,r13 movabs rax,0x732f28657018 → call QWORD PTR [rax] d0a: xor edi,edi mov QWORD PTR [rbp-0x1d0],rdi mov rax,QWORD PTR [rbp-0x488] mov ecx,DWORD PTR [rbp-0x2fc] mov esi,DWORD PTR [rbp-0x300] 0.34 mov r14,QWORD PTR [rbp-0x310] ↑ jmp 569 d32: cmp DWORD PTR [r13+0x4c],0x0 ↓ jne 1bd0 cmp QWORD PTR [r13+0x10],0x0 ↓ je 1b8a mov rcx,QWORD PTR [r13+0x18] mov QWORD PTR [rbp-0x330],rcx mov rdi,QWORD PTR [rcx+0x8] mov edi,DWORD PTR [rdi+0x8] sub edi,DWORD PTR [rcx+0x10] cmp edi,0x100 ↓ jl 1b03 d69: mov rsi,QWORD PTR [rcx+0x8] mov ecx,DWORD PTR [rcx+0x10] test rsi,rsi ↓ je 1b6d cmp DWORD PTR [rsi+0x8],ecx ↓ jb 2b00 mov edx,ecx mov r8d,DWORD PTR [rsi+0x8] sub r8d,edx mov DWORD PTR [rbp-0x2e4],edx mov DWORD PTR [rbp-0x2e8],r8d d98: lea rdi,[r13+0x40] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov edi,DWORD PTR [rbp-0x2e4] mov DWORD PTR [r13+0x48],edi mov edi,DWORD PTR [rbp-0x2e8] mov DWORD PTR [r13+0x4c],edi ↓ jmp fe0 dba: mov rdi,r13 mov esi,0x7b movabs rcx,0x732f286571e0 → call QWORD PTR [rcx] ↓ jmp 106b dd3: mov rdi,QWORD PTR [rbp-0x348] mov r10d,DWORD PTR [rbp-0x9c] mov rsi,rdi mov edx,r10d mov rdi,r13 movabs r10,0x732f2865d218 → call QWORD PTR [r10] ↑ jmp 8a9 dfc: mov r8,QWORD PTR [r8+0x18] test r8,r8 0.23 ↓ je 2125 mov eax,DWORD PTR [rbp-0x1bc] ↑ jmp ab0 e14: mov edi,DWORD PTR [r13+0x7c] and edi,0x3 cmp edi,0x2 ↓ jne 14d1 mov edi,DWORD PTR [r13+0x4c] sub edi,DWORD PTR [r13+0x34] 0.11 test edi,edi ↓ jg eb4 cmp DWORD PTR [r13+0x4c],0x0 0.11 ↓ jne 27a6 0.23 cmp QWORD PTR [r13+0x10],0x0 0.11 ↓ je 275d mov rax,QWORD PTR [r13+0x18] mov QWORD PTR [rbp-0x478],rax mov rdi,QWORD PTR [rax+0x8] mov edi,DWORD PTR [rdi+0x8] 2.85 sub edi,DWORD PTR [rax+0x10] 0.57 cmp edi,0x100 ↓ jl 26c7 e6b: mov rsi,QWORD PTR [rax+0x8] mov eax,DWORD PTR [rax+0x10] test rsi,rsi ↓ je 2740 cmp DWORD PTR [rsi+0x8],eax 0.57 ↓ jb 2b00 mov ecx,eax mov edx,DWORD PTR [rsi+0x8] 0.23 sub edx,ecx 0.23 mov DWORD PTR [rbp-0x2f4],ecx 0.11 mov DWORD PTR [rbp-0x2f8],edx e97: lea rdi,[r13+0x40] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov edi,DWORD PTR [rbp-0x2f4] 0.11 mov DWORD PTR [r13+0x48],edi 0.11 mov edi,DWORD PTR [rbp-0x2f8] 0.68 mov DWORD PTR [r13+0x4c],edi 0.23 eb4: lea rax,[r13+0x40] 0.23 mov QWORD PTR [rbp-0x480],rax xor ecx,ecx xor edx,edx mov rdi,QWORD PTR [rax] 0.23 test rdi,rdi ↓ je f09 mov rcx,QWORD PTR [rdi] 0.23 test DWORD PTR [rcx],0x80000000 0.57 ↓ je 2874 lea rcx,[rdi+0x10] mov edx,DWORD PTR [rdi+0x8] ee1: mov rax,QWORD PTR [rbp-0x480] 0.11 mov edi,DWORD PTR [rax+0x8] and edi,0x7fffffff 0.11 mov esi,DWORD PTR [rax+0xc] 0.23 mov eax,esi 0.46 add rax,rdi mov edx,edx cmp rax,rdx 0.11 ↓ ja 2b00 add rcx,rdi mov edx,esi 0.23 f09: mov edi,DWORD PTR [r13+0x34] lea esi,[rdi+0x1] mov DWORD PTR [r13+0x34],esi cmp edi,edx ↓ jae 2b6c mov BYTE PTR [rcx+rdi*1],0x7d f20: or DWORD PTR [r13+0x28],0x80000000 0.11 test DWORD PTR [r13+0x28],0x7fffffff ↓ je f36 0.11 dec DWORD f36: mov BYTE PTR [r13+0x3a],0x2 f3b: cmp r15d,DWORD PTR [rbx+0x14] ↓ jne 291d cmp r12d,DWORD PTR [rbx+0x10] ↑ jae be8 mov rdi,QWORD PTR [rbx+0x8] cmp r12d,DWORD PTR [rdi+0x8] 0.11 ↓ jae 2b6c mov eax,r12d mov rsi,QWORD PTR [rdi+rax*8+0x10] 0.11 mov rax,rsi inc r12d mov edi,0x1 f70: test edi,edi ↓ je 14ea test rax,rax 0.11 ↑ jne c01 f81: mov rcx,rax test rcx,rcx ↓ je f9c movabs rdi,0x732f27b8c7d8 cmp QWORD PTR [rcx],rdi 0.23 ↓ jne 1aad f9c: mov rax,rcx test rax,rax mov QWORD PTR [rbp-0x320],rax 0.11 ↑ je f3b 0.23 mov edi,DWORD PTR [r13+0x28] and edi,0x7fffffff cmp edi,DWORD PTR [r13+0x78] ↓ jge 1aef fbf: mov edi,DWORD PTR [r13+0x7c] and edi,0x3 cmp edi,0x2 ↑ jne dba mov edi,DWORD PTR [r13+0x4c] 0.11 sub edi,DWORD PTR [r13+0x34] 0.11 cmp edi,0x2 ↑ jl d32 fe0: lea rcx,[r13+0x40] mov QWORD PTR [rbp-0x340],rcx xor edx,edx xor esi,esi mov rdi,QWORD PTR [rcx] 0.11 test rdi,rdi ↓ je 1036 mov rdx,QWORD PTR [rdi] test DWORD PTR [rdx],0x80000000 0.23 ↓ je 1cbd lea rdx,[rdi+0x10] mov esi,DWORD PTR [rdi+0x8] 0.11 100d: mov rcx,QWORD PTR [rbp-0x340] mov edi,DWORD PTR [rcx+0x8] and edi,0x7fffffff mov ecx,DWORD PTR [rcx+0xc] mov r8d,ecx add r8,rdi mov esi,esi cmp r8,rsi ↓ ja 2b00 add rdx,rdi mov esi,ecx 1036: cmp DWORD PTR [r13+0x28],0x0 0.11 ↓ jge 1054 mov edi,DWORD PTR [r13+0x34] lea ecx,[rdi+0x1] mov DWORD PTR [r13+0x34],ecx cmp edi,esi ↓ jae 2b6c mov BYTE PTR [rdx+rdi*1],0x2c 0.34 1054: mov edi,DWORD PTR [r13+0x34] 0.23 lea ecx,[rdi+0x1] mov DWORD PTR [r13+0x34],ecx cmp edi,esi ↓ jae 2b6c mov BYTE PTR [rdx+rdi*1],0x7b 106b: mov esi,DWORD PTR [r13+0x28] and esi,0x7fffffff mov DWORD PTR [r13+0x28],esi inc esi 0.11 mov DWORD PTR [r13+0x28],esi mov BYTE PTR [r13+0x3a],0x1 mov rax,QWORD PTR [rbp-0x320] mov ecx,DWORD PTR [rax+0x44] 0.11 mov QWORD PTR [rbp-0x488],rax mov DWORD PTR [rbp-0x2fc],ecx xor esi,esi ↑ jmp 569 10a2: mov r10,QWORD PTR [rbp-0x390] 10a9: mov r8,QWORD PTR [r8+0x18] test r8,r8 ↓ je 21b8 mov eax,DWORD PTR [rbp-0x1bc] 10bc: cmp eax,DWORD PTR [r8+0x20] ↑ jne 10a2 mov QWORD PTR [rbp-0x3f0],r8 mov r9,QWORD PTR [r8+0x8] movabs rdi,0x732f2803a260 cmp QWORD PTR [rdx],rdi ↓ jne 2131 mov rdx,QWORD PTR [rbp-0x3e8] test r9,r9 ↓ je 216b movabs rdi,0x732f26a4a290 cmp QWORD PTR [r9],rdi ↓ jne 217e mov r10,QWORD PTR [rbp-0x390] cmp r10,r9 sete r11b movzx r11d,r11b 1115: test r11d,r11d ↓ je 21ac ↑ jmp afc 1123: mov rcx,rax 0.34 mov QWORD PTR [rbp-0x388],rcx mov rdx,QWORD PTR [rbp-0x118] mov QWORD PTR [rbp-0x3f8],rdx mov rdi,rdx test rdi,rdi ↓ je 1156 movabs rsi,0x732f27b7ea90 cmp QWORD PTR [rdi],rsi ↓ jne 22ed 1156: mov QWORD PTR [rbp-0x1d0],rdi cmp BYTE PTR [rcx+0x116],0x0 ↓ jne 2307 mov rdi,QWORD PTR [rcx+0xc8] 0.23 cmp BYTE PTR [rdi+0x12],0x0 0.68 ↑ je c54 cmp QWORD PTR [rbp-0x1d0],0x0 ↑ je c54 mov rsi,QWORD PTR [rcx+0xb8] mov QWORD PTR [rbp-0x410],rsi mov rdi,QWORD PTR [rbp-0x1d0] cmp BYTE PTR [rsi],sil movabs rax,0x732f27e567c0 → call QWORD PTR [rax] mov QWORD PTR [rbp-0x408],rax movabs rdi,0x732f25602620 cmp rax,rdi ↓ je 25fc mov rcx,QWORD PTR [rbp-0x410] mov rdx,QWORD PTR [rcx+0x10] test rdx,rdx ↓ je 11ee mov rdi,QWORD PTR [rdx+0xc0] cmp rdi,rax mov rax,QWORD PTR [rbp-0x408] ↓ je 13b7 11ee: xor edx,edx cmp BYTE PTR [rcx+0x9e],0x0 ↓ je 1391 mov rdx,QWORD PTR [rcx+0x8] test rdx,rdx ↓ je 2324 120a: mov QWORD PTR [rbp-0x428],rdx mov rsi,QWORD PTR [rdx+0x8] mov QWORD PTR [rbp-0x430],rsi movabs rdi,0x732777c03428 mov r8,QWORD PTR [rdi] test r8,r8 ↓ je 2349 1232: mov rsi,QWORD PTR [rbp-0x430] mov QWORD PTR [rbp-0x450],rsi mov r9,rax mov QWORD PTR [rbp-0x440],r9 mov QWORD PTR [rbp-0x448],r8 cmp BYTE PTR [rsi],sil mov r10,QWORD PTR [rsi+0x8] mov QWORD PTR [rbp-0x458],r10 mov rdi,QWORD PTR [r10+0x8] cmp BYTE PTR [rsi+0x19],0x0 ↓ je 23bd mov rdi,r9 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d53e360 test eax,eax ↓ je 23d2 127d: mov DWORD PTR [rbp-0x274],eax mov rcx,QWORD PTR [rbp-0x458] mov rdx,QWORD PTR [rcx+0x8] mov QWORD PTR [rbp-0x460],rdx mov rdi,QWORD PTR [rcx+0x10] mov esi,eax imul rsi,QWORD PTR [rcx+0x28] shr rsi,0x20 inc rsi mov r8d,DWORD PTR [rdi+0x8] imul rsi,r8 shr rsi,0x20 cmp esi,DWORD PTR [rdi+0x8] ↓ jae 2b6c mov esi,esi mov r8,QWORD PTR [rdi+rsi*8+0x10] test r8,r8 ↓ je 23f6 test rdx,rdx ↓ je 144c movabs rdi,0x732f2803a260 cmp QWORD PTR [rdx],rdi ↓ jne 144c 12e8: cmp eax,DWORD PTR [r8+0x20] ↓ jne 141a mov QWORD PTR [rbp-0x468],r8 mov r9,QWORD PTR [r8+0x8] test r9,r9 ↓ je 23ea movabs rdi,0x732f26a4a290 cmp QWORD PTR [r9],rdi ↓ jne 2402 mov r10,QWORD PTR [rbp-0x408] cmp r10,r9 sete r11b movzx r11d,r11b 132b: test r11d,r11d ↓ je 2428 1334: mov r8,QWORD PTR [rbp-0x468] mov rsi,QWORD PTR [r8+0x10] mov QWORD PTR [rbp-0x280],rsi 1346: mov rdx,QWORD PTR [rbp-0x280] xor edi,edi mov QWORD PTR [rbp-0x280],rdi cmp BYTE PTR [rdx+0x20],0x0 ↓ je 253d mov rdi,QWORD PTR [rdx+0x10] test rdi,rdi ↓ jne 28f4 mov rdx,QWORD PTR [rdx+0x8] 1371: test rdx,rdx ↓ je 25a6 cmp BYTE PTR [rdx+0x119],0x2 ↓ jne 2562 mov rax,r10 mov rcx,QWORD PTR [rbp-0x410] 1391: test rdx,rdx ↓ je 2592 mov rax,rdx lea rdi,[rcx+0x10] mov QWORD PTR [rbp-0x418],rax mov rsi,rax → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov rdx,QWORD PTR [rbp-0x418] 13b7: mov rax,rdx cmp BYTE PTR [rax+0x11a],0x0 ↓ je 25b5 13c7: mov rdi,QWORD PTR [rax+0xf8] test rdi,rdi ↓ jne 25f4 13d7: mov edi,0x1 13dc: test edi,edi mov rcx,QWORD PTR [rbp-0x388] ↑ je c54 movabs rdi,0x732f28763948 cmp QWORD PTR [rax],rdi ↓ je 14b3 mov rdi,rax mov rsi,r13 mov rdx,QWORD PTR [rbp-0x1d0] mov rax,QWORD PTR [rax] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x38] ↑ jmp d0a 141a: mov r8,QWORD PTR [r8+0x18] test r8,r8 ↓ je 2434 mov eax,DWORD PTR [rbp-0x274] ↑ jmp 12e8 1432: mov r10,QWORD PTR [rbp-0x408] 1439: mov r8,QWORD PTR [r8+0x18] test r8,r8 ↓ je 24c7 mov eax,DWORD PTR [rbp-0x274] 144c: cmp eax,DWORD PTR [r8+0x20] ↑ jne 1432 mov QWORD PTR [rbp-0x468],r8 mov r9,QWORD PTR [r8+0x8] movabs rdi,0x732f2803a260 cmp QWORD PTR [rdx],rdi ↓ jne 2440 mov rdx,QWORD PTR [rbp-0x460] test r9,r9 ↓ je 247a movabs rdi,0x732f26a4a290 cmp QWORD PTR [r9],rdi ↓ jne 248d mov r10,QWORD PTR [rbp-0x408] cmp r10,r9 sete r11b movzx r11d,r11b 14a5: test r11d,r11d ↓ je 24bb ↑ jmp 1334 14b3: mov rdi,rax mov rsi,r13 mov rdx,QWORD PTR [rbp-0x1d0] movabs rax,0x732f286a7450 → call QWORD PTR [rax] ↑ jmp d0a 14d1: mov rdi,r13 mov esi,0x7d movabs rax,0x732f28797378 → call QWORD PTR [rax] ↑ jmp f20 14ea: mov edi,DWORD PTR [r13+0x7c] and edi,0x3 cmp edi,0x2 ↓ jne 292a mov edi,DWORD PTR [r13+0x4c] sub edi,DWORD PTR [r13+0x34] test edi,edi ↓ jg 1567 cmp DWORD PTR [r13+0x4c],0x0 ↓ jne 2a15 cmp QWORD PTR [r13+0x10],0x0 ↓ je 29cc mov rbx,QWORD PTR [r13+0x18] mov rdi,QWORD PTR [rbx+0x8] mov edi,DWORD PTR [rdi+0x8] sub edi,DWORD PTR [rbx+0x10] cmp edi,0x100 ↓ jl 2943 1536: mov rsi,QWORD PTR [rbx+0x8] mov ebx,DWORD PTR [rbx+0x10] test rsi,rsi ↓ je 29b8 cmp DWORD PTR [rsi+0x8],ebx ↓ jb 2b00 mov r15d,DWORD PTR [rsi+0x8] sub r15d,ebx 1556: lea rdi,[r13+0x40] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov DWORD PTR [r13+0x48],ebx mov DWORD PTR [r13+0x4c],r15d 1567: lea rbx,[r13+0x40] xor r15d,r15d xor r12d,r12d mov rdi,QWORD PTR [rbx] test rdi,rdi ↓ je 15b2 mov rax,QWORD PTR [rdi] test DWORD PTR [rax],0x80000000 ↓ je 2aeb lea r15,[rdi+0x10] mov r12d,DWORD PTR [rdi+0x8] 1590: mov eax,DWORD PTR [rbx+0x8] and eax,0x7fffffff mov ecx,DWORD PTR [rbx+0xc] mov edx,ecx add rdx,rax mov edi,r12d cmp rdx,rdi ↓ ja 2b00 add r15,rax mov r12d,ecx 15b2: mov edi,DWORD PTR [r13+0x34] lea esi,[rdi+0x1] mov DWORD PTR [r13+0x34],esi cmp edi,r12d ↓ jae 2b6c mov BYTE PTR [r15+rdi*1],0x5d 15cb: or DWORD PTR [r13+0x28],0x80000000 test DWORD PTR [r13+0x28],0x7fffffff ↓ je 15e1 dec DWORD 15e1: mov BYTE PTR [r13+0x3a],0x4 mov edi,DWORD PTR [r13+0x7c] and edi,0x3 cmp edi,0x2 ↓ jne 2b0d mov rdi,r13 mov esi,0x7d movabs rax,0x732f28797390 → call QWORD PTR [rax] 160a: or DWORD PTR [r13+0x28],0x80000000 test DWORD PTR [r13+0x28],0x7fffffff ↓ je 1620 dec DWORD 1620: mov BYTE PTR [r13+0x3a],0x2 mov rdi,r13 movabs rax,0x732f28657018 → call QWORD PTR [rax] movabs rdi,0x732f282e8fd8 cmp QWORD PTR [r14],rdi ↓ jne 2b26 mov rdi,r14 movabs rax,0x732f282e90b0 → call QWORD PTR [rax] 1656: test rax,rax ↓ je 2b38 add rsp,0x498 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ← ret 1671: mov edi,0x17 movabs rax,0x732f28656f28 → call QWORD PTR [rax] mov r15,rax ↑ jmp 81 168a: movabs rdi,0x732f282e8fd8 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bf010 mov r14,rax mov rdi,r14 mov esi,0x10000 movabs rax,0x732f2846c9f0 → call QWORD PTR [rax] lea rdi,[r15+0x18] mov rsi,r14 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 ↑ jmp 8e 16c1: xor edi,edi movabs rax,0x732f28827cd8 → call QWORD PTR [rax] int3 16d0: movabs rdi,0x732f27b57b10 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bf010 mov r15,rax movabs rax,0x732f2882d398 → call QWORD PTR [rax] mov rbx,rax mov DWORD PTR [r15+0x8],0x7fffffc7 movabs rdi,0x732f27c35718 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bf010 mov r14,rax mov rsi,r15 mov rdi,rbx movabs rax,0x732f2882d3b0 → call QWORD PTR [rax] mov rdx,rax mov rdi,r14 movabs rsi,0x732f25601ae0 movabs rax,0x732f27d4ebc8 → call QWORD PTR [rax] mov rdi,r14 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bd9c0 int3 1742: mov rdi,r14 xor esi,esi mov rax,QWORD PTR [r14] mov rax,QWORD PTR [rax+0x48] → call QWORD PTR [rax+0x18] mov rdi,r14 xor esi,esi mov rax,QWORD PTR [r14] mov rax,QWORD PTR [rax+0x68] → call QWORD PTR [rax+0x8] ↑ jmp 108 1765: movabs rax,0x732f28827cf0 → call QWORD PTR [rax] int3 1772: movabs rdi,0x732f27dce570 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bf010 mov r14,rax movabs rax,0x732f28827d08 → call QWORD PTR [rax] mov rsi,rax mov rdi,r14 movabs rax,0x732f2858cdc8 → call QWORD PTR [rax] mov rdi,r14 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bd9c0 int3 17ab: mov edi,0x100 cmp r13d,0x100 mov esi,edi cmovge esi,r13d mov edi,DWORD PTR [r14+0x24] add edi,edi cmp esi,edi ↓ jge 17cd mov esi,DWORD PTR [r14+0x24] add esi,esi 17cd: mov edi,DWORD PTR [r14+0x24] add edi,edi cmp edi,0x7fffffc7 ↓ jbe 17eb mov esi,0x7fffffc7 cmp r13d,0x7fffffc7 cmovge esi,r13d 17eb: mov rdi,r14 movabs rax,0x732f282e9208 → call QWORD PTR [rax] ↑ jmp fa 17ff: mov edx,r13d sub edx,DWORD PTR [r14+0x20] mov esi,DWORD PTR [r14+0x20] mov rdi,QWORD PTR [r14+0x10] movabs rax,0x732f27ecd6b0 → call QWORD PTR [rax] ↑ jmp fa 181f: mov DWORD PTR [r14+0x1c],r13d ↑ jmp 108 1828: vxorps xmm0,xmm0,xmm0 vmovdqu XMMWORD PTR [rbp-0x38],xmm0 lea rdi,[rbp-0x38] mov esi,0x1 movabs rax,0x732f28656f40 → call QWORD PTR [rax] movabs rdi,0x732f282e8768 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bf010 mov r13,rax mov rdx,QWORD PTR [rbp-0x38] mov rcx,QWORD PTR [rbp-0x30] mov rdi,r13 mov rsi,r14 movabs rax,0x732f28656f58 → call QWORD PTR [rax] lea rdi,[r15+0x10] mov rsi,r13 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov r14,QWORD PTR [rbp-0x310] ↑ jmp 1cc 188a: cmp QWORD PTR [r13+0x8],0x0 ↑ jne 120 movabs rax,0x732f28727510 → call QWORD PTR [rax] int3 18a2: mov rdi,r14 mov rax,QWORD PTR [r14] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x30] mov r15d,eax ↑ jmp 138 18b7: movabs rdi,0x732f27b8ec30 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bf010 mov r14,rax movabs rax,0x732f28657078 → call QWORD PTR [rax] mov rsi,rax mov rdi,r14 movabs rax,0x732f27d4cac8 → call QWORD PTR [rax] mov rdi,r14 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bd9c0 int3 18f0: movabs rdi,0x732f2867c110 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bf010 mov r15,rax mov rdi,r15 movabs rax,0x732f286570a8 → call QWORD PTR [rax] lea rdi,[r13+0x18] mov rsi,r15 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 ↑ jmp 18c 1922: test esi,esi ↓ jne 2b00 xor edi,edi xor esi,esi ↑ jmp 178 1933: mov rdi,r13 movabs rax,0x732f286571b0 → call QWORD PTR [rax] ↑ jmp 1e0 1947: mov rdi,r13 mov esi,0x7b movabs rax,0x732f286571e0 → call QWORD PTR [rax] ↑ jmp 282 1960: mov rdi,r13 mov esi,0x2 movabs rax,0x732f28657240 → call QWORD PTR [rax] ↑ jmp 201 1979: mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x28] mov r12,rax mov eax,edx ↑ jmp 228 198d: mov edx,DWORD PTR [r13+0x28] mov ecx,DWORD PTR [r13+0x78] mov rdi,r15 mov esi,0x7 movabs rax,0x732f28657438 → call QWORD PTR [rax] ↑ jmp 2b9 19ae: mov edx,0x7 mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x28] ↑ jmp 303 19c2: mov rsi,r15 mov edx,0x7 mov rdi,r13 mov r8d,eax mov ecx,0x5b movabs rax,0x732f286574c8 → call QWORD PTR [rax] ↑ jmp 476 19e6: cmp BYTE PTR [r13+0x38],0x5 ↓ jne 19f4 cmp BYTE PTR [r13+0x3a],0x5 ↓ jne 1a03 19f4: mov rdi,r13 movabs rax,0x732f2865c558 → call QWORD PTR [rax] 1a03: lea r12,[r13+0x50] cmp DWORD PTR [r12+0x10],0x40 ↓ jge 1a16 shl QWORD PTR [r12+0x8],1 ↓ jmp 1a27 1a16: mov rdi,r12 xor esi,esi movabs rax,0x732f2865d110 → call QWORD PTR [rax] 1a27: inc DWORD mov BYTE PTR [r13+0x38],0x10 ↑ jmp 31d 1a36: mov rsi,r15 mov edx,0x7 mov rdi,r13 mov ecx,0x5b movabs rax,0x732f2865c510 → call QWORD PTR [rax] ↑ jmp 476 1a57: mov rdi,r13 mov esi,0x1a movabs rax,0x732f28657240 → call QWORD PTR [rax] ↑ jmp 339 1a70: mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x28] mov ecx,edx mov rdx,rax mov eax,ecx mov ecx,eax mov rax,rdx ↑ jmp 360 1a8b: mov r12d,DWORD PTR [r13+0x34] lea edx,[r12+0x1] mov DWORD PTR [r13+0x34],edx cmp r12d,ecx ↓ jae 2b6c mov edx,r12d mov BYTE PTR [rax+rdx*1],0x2c ↑ jmp 392 1aad: mov rsi,rax movabs rax,0x732f27b46928 → call QWORD PTR [rax] mov rcx,rax ↑ jmp f9c 1ac4: mov rdi,r13 movabs rcx,0x732f2882d488 → call QWORD PTR [rcx] test eax,eax ↑ jne c30 mov rdi,r13 movabs rax,0x732f2882d4a0 → call QWORD PTR [rax] ↑ jmp c30 1aef: mov rdi,r13 movabs rcx,0x732f286571b0 → call QWORD PTR [rcx] ↑ jmp fbf 1b03: mov rdi,QWORD PTR [rcx+0x8] mov edi,DWORD PTR [rdi+0x8] cmp edi,0x100 ↓ jle 1b16 mov esi,edi ↓ jmp 1b1b 1b16: mov esi,0x100 1b1b: mov edx,esi test edi,edi ↓ jne 1b23 mov edx,esi 1b23: lea esi,[rdi+rdx*1] cmp esi,0x7fffffc7 ↓ jbe 1b51 mov rsi,QWORD PTR [rcx+0x8] mov esi,DWORD PTR [rsi+0x8] sub esi,DWORD PTR [rcx+0x10] sub edi,esi add edi,0x100 cmp edi,0x7fffffc7 ↓ ja 2886 mov esi,0x7fffffc7 1b51: lea rdi,[rcx+0x8] movabs rdx,0x732f28657390 → call QWORD PTR [rdx] mov rcx,QWORD PTR [rbp-0x330] ↑ jmp d69 1b6d: test ecx,ecx ↓ jne 2b00 xor esi,esi xor edx,edx mov DWORD PTR [rbp-0x2e4],edx mov DWORD PTR [rbp-0x2e8],edx ↑ jmp d98 1b8a: mov rdi,QWORD PTR [r13+0x8] movabs r11,0x732f26a52830 mov esi,0x100 → call QWORD PTR [r11] mov QWORD PTR [rbp-0x88],rax mov QWORD PTR [rbp-0x80],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0x88] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] cmp DWORD PTR [r13+0x4c],0x100 ↑ jge fe0 ↓ jmp 2ade 1bd0: cmp QWORD PTR [r13+0x10],0x0 ↓ je 1c5a mov esi,DWORD PTR [r13+0x34] add esi,0x1000 cmp esi,0x7fefffff ↓ ja 2893 mov rcx,QWORD PTR [r13+0x18] mov QWORD PTR [rbp-0x338],rcx cmp BYTE PTR [rcx],cl mov rdi,rcx movabs rdx,0x732f28657378 → call QWORD PTR [rdx] lea rax,[r13+0x40] mov QWORD PTR [rbp-0x498],rax mov rsi,QWORD PTR [rbp-0x338] mov rdi,QWORD PTR [rsi+0x8] mov esi,DWORD PTR [rsi+0x10] movabs rcx,0x732f28657348 → call QWORD PTR [rcx] mov QWORD PTR [rbp-0x98],rax mov QWORD PTR [rbp-0x90],rdx mov rdi,QWORD PTR [rbp-0x498] lea rsi,[rbp-0x98] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] ↑ jmp fe0 1c5a: mov rdi,QWORD PTR [r13+0x8] mov esi,DWORD PTR [r13+0x34] movabs r11,0x732f26a52820 → call QWORD PTR [r11] movsxd rdi,DWORD PTR [r13+0x34] add QWORD PTR [r13+0x20],rdi xor edi,edi mov DWORD PTR [r13+0x34],edi mov rdi,QWORD PTR [r13+0x8] movabs r11,0x732f26a52828 mov esi,0x1000 → call QWORD PTR [r11] mov QWORD PTR [rbp-0x78],rax mov QWORD PTR [rbp-0x70],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0x78] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] cmp DWORD PTR [r13+0x4c],0x1000 ↑ jge fe0 ↓ jmp 2ade 1cbd: mov rdx,QWORD PTR [rdi] mov rdx,QWORD PTR [rdx+0x40] → call QWORD PTR [rdx+0x28] mov esi,edx mov rdx,rax ↑ jmp 100d 1cd1: mov edx,0xffffffff mov DWORD PTR [rbp-0x300],r8d mov ecx,edx ↑ jmp 648 1ce4: mov DWORD PTR [rbp-0x300],r8d mov rdi,r11 mov rsi,rdx mov edx,r10d mov r11,QWORD PTR [r11] mov r11,QWORD PTR [r11+0x40] → call QWORD PTR [r11+0x28] mov ecx,eax ↑ jmp 648 1d06: cmp BYTE PTR [r13+0x38],0x5 ↓ jne 1d18 cmp BYTE PTR [r13+0x3a],0x5 ↑ jne 665 1d18: mov rdi,r13 movabs rcx,0x732f2865c558 → call QWORD PTR [rcx] ↑ jmp 665 1d2c: mov rdi,QWORD PTR [rbp-0x348] mov r10d,DWORD PTR [rbp-0x9c] mov rsi,rdi mov edx,r10d mov rdi,r13 movabs rcx,0x732f2865d278 → call QWORD PTR [rcx] ↑ jmp 8a9 1d54: mov ecx,esi ↑ jmp 6aa 1d5b: mov rsi,QWORD PTR [rdx+0x8] mov esi,DWORD PTR [rsi+0x8] cmp ecx,esi ↓ jge 1d6b mov r11d,esi ↓ jmp 1d6e 1d6b: mov r11d,ecx 1d6e: mov DWORD PTR [rbp-0xd0],r11d test esi,esi ↓ jne 1d8f mov r11d,DWORD PTR [rbp-0xd0] cmp r11d,0x100 ↓ jge 1d8f mov r11d,0x100 1d8f: add r11d,esi cmp r11d,0x7fffffc7 ↓ jbe 1dbe mov r11,QWORD PTR [rdx+0x8] mov r11d,DWORD PTR [r11+0x8] sub r11d,DWORD PTR [rdx+0x10] sub esi,r11d add ecx,esi cmp ecx,0x7fffffc7 ↓ ja 28c9 mov r11d,0x7fffffc7 1dbe: lea rdi,[rdx+0x8] mov esi,r11d movabs rcx,0x732f28657390 → call QWORD PTR [rcx] mov rdx,QWORD PTR [rbp-0x350] ↑ jmp 6d4 1ddd: test ecx,ecx ↓ jne 2b00 xor esi,esi xor edx,edx mov DWORD PTR [rbp-0x2ec],edx mov DWORD PTR [rbp-0x2f0],edx ↑ jmp 703 1dfa: mov rdi,QWORD PTR [r13+0x8] mov DWORD PTR [rbp-0xcc],ecx mov esi,ecx movabs r11,0x732f26a52848 → call QWORD PTR [r11] mov QWORD PTR [rbp-0xc8],rax mov QWORD PTR [rbp-0xc0],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0xc8] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] mov edi,DWORD PTR [rbp-0xcc] cmp DWORD PTR [r13+0x4c],edi ↑ jge 720 ↓ jmp 2ade 1e48: cmp esi,0x1000 ↓ jle 1e58 mov DWORD PTR [rbp-0xd4],esi ↓ jmp 1e63 1e58: mov esi,0x1000 mov DWORD PTR [rbp-0xd4],esi 1e63: cmp QWORD PTR [r13+0x10],0x0 ↓ je 1ec5 mov esi,DWORD PTR [rbp-0xd4] add esi,DWORD PTR [r13+0x34] cmp esi,0x7fefffff ↓ ja 28d8 lea rcx,[r13+0x40] mov QWORD PTR [rbp-0x4a0],rcx mov rdi,QWORD PTR [r13+0x18] movabs rdx,0x732f2867c1a8 cmp DWORD PTR [rdi],edi → call QWORD PTR [rdx] mov QWORD PTR [rbp-0xe8],rax mov QWORD PTR [rbp-0xe0],rdx mov rdi,QWORD PTR [rbp-0x4a0] lea rsi,[rbp-0xe8] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] ↑ jmp 720 1ec5: mov rdi,QWORD PTR [r13+0x8] mov esi,DWORD PTR [r13+0x34] movabs r11,0x732f26a52838 → call QWORD PTR [r11] movsxd rdi,DWORD PTR [r13+0x34] add QWORD PTR [r13+0x20],rdi xor edi,edi mov DWORD PTR [r13+0x34],edi mov rdi,QWORD PTR [r13+0x8] mov esi,DWORD PTR [rbp-0xd4] movabs r11,0x732f26a52840 → call QWORD PTR [r11] mov QWORD PTR [rbp-0xb8],rax mov QWORD PTR [rbp-0xb0],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0xb8] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] mov esi,DWORD PTR [rbp-0xd4] cmp DWORD PTR [r13+0x4c],esi ↑ jge 720 ↓ jmp 2ade 1f34: mov rdi,r11 mov rdx,QWORD PTR [r11] mov rdx,QWORD PTR [rdx+0x40] → call QWORD PTR [rdx+0x28] mov esi,edx mov rdx,rax mov eax,esi mov esi,eax ↑ jmp 74e 1f4f: movabs rdi,0x732777c033d8 xor esi,esi movabs rcx,0x732f2865db00 → call QWORD PTR [rcx] mov rcx,rax ↑ jmp 8dc 1f6f: mov QWORD PTR [rbp-0x368],rcx mov rdi,rcx movabs rdx,0x732f2865e058 → call QWORD PTR [rdx] mov rcx,QWORD PTR [rbp-0x368] ↑ jmp 8e9 1f91: mov ecx,0x101 mov rdi,QWORD PTR [rbp-0x368] movabs rsi,0x732f25602620 mov edx,0x1 xor r8d,r8d xor r9d,r9d movabs r10,0x732f2865e178 → call QWORD PTR [r10] mov rsi,rax mov QWORD PTR [rbp-0x370],rsi mov rdi,QWORD PTR [rbp-0x368] lea rdi,[rdi+0x18] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov rsi,QWORD PTR [rbp-0x370] ↑ jmp 8fd 1fe5: movabs rax,0x732f27b463d0 → call QWORD PTR [rax] int3 1ff2: mov rcx,QWORD PTR [rcx+0x148] mov rsi,r13 mov rdx,QWORD PTR [rbp-0x118] mov rdi,QWORD PTR [rcx+0x8] → call QWORD PTR [rcx+0x18] ↑ jmp 540 200f: mov rdi,rcx movabs rdx,0x732f2865e238 → call QWORD PTR [rdx] mov rdx,rax mov rax,QWORD PTR [rbp-0x390] mov rcx,QWORD PTR [rbp-0x398] ↑ jmp 9d2 2034: movabs rdi,0x732f286b05d0 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bf010 mov r8,rax mov QWORD PTR [rbp-0x3c0],r8 lea rdi,[r8+0x8] mov rsi,r8 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 movabs rdi,0x732f26a4d740 mov r8,QWORD PTR [rbp-0x3c0] mov QWORD PTR [r8+0x18],rdi movabs rdi,0x732f2865a820 mov QWORD PTR [r8+0x20],rdi movabs rdi,0x732777c03428 mov rsi,r8 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov r8,QWORD PTR [rbp-0x3c0] mov rax,r8 mov r8,rax mov rax,QWORD PTR [rbp-0x390] mov rcx,QWORD PTR [rbp-0x398] ↑ jmp 9fa 20ae: mov rsi,r9 movabs r11,0x732f26a52850 → call QWORD PTR [r11] ↑ jmp a45 20c3: mov rdi,QWORD PTR [rbp-0x3c8] movabs rax,0x732f27d4c918 → call QWORD PTR [rax] ↑ jmp a45 20db: mov r8,QWORD PTR [rbp-0x3f0] ↑ jmp dfc 20e7: mov r10,QWORD PTR [rbp-0x390] ↓ jmp 21b8 20f3: mov r10,QWORD PTR [rbp-0x390] mov rdi,r9 mov rsi,r10 mov rdx,QWORD PTR [r9] mov rdx,QWORD PTR [rdx+0x40] → call QWORD PTR [rdx+0x10] mov r11d,eax mov r10,QWORD PTR [rbp-0x390] ↑ jmp af3 2119: mov r8,QWORD PTR [rbp-0x3f0] ↑ jmp dfc 2125: mov r10,QWORD PTR [rbp-0x390] ↓ jmp 21b8 2131: mov rdx,QWORD PTR [rbp-0x3e8] mov r10,QWORD PTR [rbp-0x390] mov rdi,rdx mov rdx,r10 mov rsi,r9 movabs r11,0x732f26a52858 → call QWORD PTR [r11] mov r11d,eax mov rdx,QWORD PTR [rbp-0x3e8] mov r10,QWORD PTR [rbp-0x390] ↑ jmp 1115 216b: mov r8,QWORD PTR [rbp-0x3f0] mov r10,QWORD PTR [rbp-0x390] ↑ jmp 10a9 217e: mov r10,QWORD PTR [rbp-0x390] mov rdi,r9 mov rsi,r10 mov r9,QWORD PTR [r9] mov r9,QWORD PTR [r9+0x40] → call QWORD PTR [r9+0x10] mov r11d,eax mov rdx,QWORD PTR [rbp-0x3e8] mov r10,QWORD PTR [rbp-0x390] ↑ jmp 1115 21ac: mov r8,QWORD PTR [rbp-0x3f0] ↑ jmp 10a9 21b8: xor esi,esi mov QWORD PTR [rbp-0x1c8],rsi mov rsi,r10 mov rdx,QWORD PTR [rbp-0x3b0] mov r8,QWORD PTR [rbp-0x3d0] mov rdi,QWORD PTR [r8+0x8] → call QWORD PTR [r8+0x18] mov r8,rax mov DWORD PTR [rsp],0x1 lea rcx,[rbp-0x1c8] mov QWORD PTR [rsp+0x8],rcx mov ecx,DWORD PTR [rbp-0x1bc] shl rcx,0x20 or rcx,0x1 mov rsi,QWORD PTR [rbp-0x3e0] mov rdx,QWORD PTR [rbp-0x390] mov rdi,QWORD PTR [rbp-0x3d8] xor r9d,r9d movabs rax,0x732f27ffd5a8 → call QWORD PTR [rax] mov r10,QWORD PTR [rbp-0x390] ↑ jmp b0e 222e: mov rdi,QWORD PTR [rbp-0x3b0] mov rsi,r10 movabs rax,0x732f2865e7d8 → call QWORD PTR [rax] mov rdx,rax mov r10,QWORD PTR [rbp-0x390] ↑ jmp b39 2253: mov QWORD PTR [rbp-0x3a8],rdx mov rdi,rdx movabs rax,0x732f286ef810 → call QWORD PTR [rax] mov rax,QWORD PTR [rbp-0x390] mov rcx,QWORD PTR [rbp-0x398] mov rdx,QWORD PTR [rbp-0x3a8] ↑ jmp b59 2283: mov rsi,QWORD PTR [rcx+0x20] mov rdi,rax movabs rax,0x732f2865e220 → call QWORD PTR [rax] int3 2297: mov rax,r10 mov rcx,QWORD PTR [rbp-0x398] ↑ jmp b59 22a6: mov QWORD PTR [rbp-0x380],rax mov rdi,rax movabs rcx,0x732f287249f0 → call QWORD PTR [rcx] mov rcx,QWORD PTR [rbp-0x380] lea rdi,[rcx+0xf8] mov rsi,rax → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov rax,QWORD PTR [rbp-0x380] mov BYTE PTR [rax+0x11a],0x1 ↑ jmp b8f 22e5: mov rax,rdi ↑ jmp b9f 22ed: mov rdi,rsi mov rdx,QWORD PTR [rbp-0x3f8] mov rsi,rdx movabs rax,0x732f27b463d0 → call QWORD PTR [rax] int3 2307: mov rax,QWORD PTR [rax+0x148] mov rsi,r13 mov rdx,QWORD PTR [rbp-0x1d0] mov rdi,QWORD PTR [rax+0x8] → call QWORD PTR [rax+0x18] ↑ jmp cfb 2324: mov rdi,rcx movabs rdx,0x732f2865e238 → call QWORD PTR [rdx] mov rdx,rax mov rax,QWORD PTR [rbp-0x408] mov rcx,QWORD PTR [rbp-0x410] ↑ jmp 120a 2349: movabs rdi,0x732f286b05d0 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bf010 mov r8,rax mov QWORD PTR [rbp-0x438],r8 mov rdi,r8 xor esi,esi movabs rdx,0x732f2865a820 movabs rcx,0x732f26a4d740 movabs rax,0x732f27b47ea0 → call QWORD PTR [rax] movabs rdi,0x732777c03428 mov rsi,QWORD PTR [rbp-0x438] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov r8,QWORD PTR [rbp-0x438] mov rax,r8 mov r8,rax mov rax,QWORD PTR [rbp-0x408] mov rcx,QWORD PTR [rbp-0x410] ↑ jmp 1232 23bd: mov rsi,r9 movabs r11,0x732f26a52860 → call QWORD PTR [r11] ↑ jmp 127d 23d2: mov rdi,QWORD PTR [rbp-0x440] movabs rax,0x732f27d4c918 → call QWORD PTR [rax] ↑ jmp 127d 23ea: mov r8,QWORD PTR [rbp-0x468] ↑ jmp 141a 23f6: mov r10,QWORD PTR [rbp-0x408] ↓ jmp 24c7 2402: mov r10,QWORD PTR [rbp-0x408] mov rdi,r9 mov rsi,r10 mov rdx,QWORD PTR [r9] mov rdx,QWORD PTR [rdx+0x40] → call QWORD PTR [rdx+0x10] mov r11d,eax mov r10,QWORD PTR [rbp-0x408] ↑ jmp 132b 2428: mov r8,QWORD PTR [rbp-0x468] ↑ jmp 141a 2434: mov r10,QWORD PTR [rbp-0x408] ↓ jmp 24c7 2440: mov rdx,QWORD PTR [rbp-0x460] mov r10,QWORD PTR [rbp-0x408] mov rdi,rdx mov rdx,r10 mov rsi,r9 movabs r11,0x732f26a52868 → call QWORD PTR [r11] mov r11d,eax mov rdx,QWORD PTR [rbp-0x460] mov r10,QWORD PTR [rbp-0x408] ↑ jmp 14a5 247a: mov r8,QWORD PTR [rbp-0x468] mov r10,QWORD PTR [rbp-0x408] ↑ jmp 1439 248d: mov r10,QWORD PTR [rbp-0x408] mov rdi,r9 mov rsi,r10 mov r9,QWORD PTR [r9] mov r9,QWORD PTR [r9+0x40] → call QWORD PTR [r9+0x10] mov r11d,eax mov rdx,QWORD PTR [rbp-0x460] mov r10,QWORD PTR [rbp-0x408] ↑ jmp 14a5 24bb: mov r8,QWORD PTR [rbp-0x468] ↑ jmp 1439 24c7: xor esi,esi mov QWORD PTR [rbp-0x280],rsi mov rsi,r10 mov rdx,QWORD PTR [rbp-0x428] mov r8,QWORD PTR [rbp-0x448] mov rdi,QWORD PTR [r8+0x8] → call QWORD PTR [r8+0x18] mov r8,rax mov DWORD PTR [rsp],0x1 lea rcx,[rbp-0x280] mov QWORD PTR [rsp+0x8],rcx mov ecx,DWORD PTR [rbp-0x274] shl rcx,0x20 or rcx,0x1 mov rsi,QWORD PTR [rbp-0x458] mov rdx,QWORD PTR [rbp-0x408] mov rdi,QWORD PTR [rbp-0x450] xor r9d,r9d movabs rax,0x732f27ffd5a8 → call QWORD PTR [rax] mov r10,QWORD PTR [rbp-0x408] ↑ jmp 1346 253d: mov rdi,QWORD PTR [rbp-0x428] mov rsi,r10 movabs rax,0x732f2865e7d8 → call QWORD PTR [rax] mov rdx,rax mov r10,QWORD PTR [rbp-0x408] ↑ jmp 1371 2562: mov QWORD PTR [rbp-0x420],rdx mov rdi,rdx movabs rax,0x732f286ef810 → call QWORD PTR [rax] mov rax,QWORD PTR [rbp-0x408] mov rcx,QWORD PTR [rbp-0x410] mov rdx,QWORD PTR [rbp-0x420] ↑ jmp 1391 2592: mov rsi,QWORD PTR [rcx+0x20] mov rdi,rax movabs rax,0x732f2865e220 → call QWORD PTR [rax] int3 25a6: mov rax,r10 mov rcx,QWORD PTR [rbp-0x410] ↑ jmp 1391 25b5: mov QWORD PTR [rbp-0x400],rax mov rdi,rax movabs rcx,0x732f287249f0 → call QWORD PTR [rcx] mov rcx,QWORD PTR [rbp-0x400] lea rdi,[rcx+0xf8] mov rsi,rax → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153280 mov rax,QWORD PTR [rbp-0x400] mov BYTE PTR [rax+0x11a],0x1 ↑ jmp 13c7 25f4: mov rax,rdi ↑ jmp 13d7 25fc: xor eax,eax xor edi,edi ↑ jmp 13dc 2605: mov rdi,QWORD PTR [rax+0x38] mov esi,0x1 mov r8,QWORD PTR [rdi] mov r8,QWORD PTR [r8+0x40] → call QWORD PTR [r8+0x28] mov QWORD PTR [rbp-0x250],rax mov rdi,QWORD PTR [rbp-0x470] cmp DWORD PTR [rdi+0x8c],0x2 ↑ jne cc7 cmp QWORD PTR [rbp-0x3f8],0x0 ↑ je cc7 mov rcx,QWORD PTR [rbp-0x388] mov rdi,QWORD PTR [rcx+0xc0] mov rdx,QWORD PTR [rdi] mov rdx,QWORD PTR [rdx+0x78] → call QWORD PTR [rdx+0x8] test eax,eax ↑ je cc7 mov rdi,QWORD PTR [rbp-0x250] mov rsi,QWORD PTR [rbp-0x3f8] mov rax,QWORD PTR [rbp-0x250] mov rax,QWORD PTR [rax] mov rax,QWORD PTR [rax+0x48] → call QWORD PTR [rax] ↑ jmp cc7 2685: mov rdi,QWORD PTR [rdi+0x38] mov esi,0x1 mov rdx,QWORD PTR [rdi] mov rdx,QWORD PTR [rdx+0x40] → call QWORD PTR [rdx+0x28] mov QWORD PTR [rbp-0x198],rax ↑ jmp 50b 26a4: mov DWORD PTR [rbp-0x300],r8d cmp r8d,DWORD PTR [rax+0x38] mov rax,QWORD PTR [rbp-0x488] mov esi,DWORD PTR [rbp-0x300] ↑ jb 57b ↑ jmp e14 26c7: mov rdi,QWORD PTR [rax+0x8] mov edi,DWORD PTR [rdi+0x8] cmp edi,0x100 ↓ jle 26da mov esi,edi ↓ jmp 26df 26da: mov esi,0x100 26df: mov ecx,esi test edi,edi ↓ jne 26f6 cmp esi,0x100 ↓ jge 26f4 mov ecx,0x100 ↓ jmp 26f6 26f4: mov ecx,esi 26f6: lea esi,[rdi+rcx*1] cmp esi,0x7fffffc7 ↓ jbe 2724 mov rsi,QWORD PTR [rax+0x8] mov esi,DWORD PTR [rsi+0x8] sub esi,DWORD PTR [rax+0x10] sub edi,esi add edi,0x100 cmp edi,0x7fffffc7 ↓ ja 2901 mov esi,0x7fffffc7 2724: lea rdi,[rax+0x8] movabs rcx,0x732f28657390 → call QWORD PTR [rcx] mov rax,QWORD PTR [rbp-0x478] ↑ jmp e6b 2740: test eax,eax ↓ jne 2b00 xor esi,esi xor ecx,ecx mov DWORD PTR [rbp-0x2f4],ecx mov DWORD PTR [rbp-0x2f8],ecx ↑ jmp e97 275d: mov rdi,QWORD PTR [r13+0x8] movabs r11,0x732f26a52880 mov esi,0x100 → call QWORD PTR [r11] mov QWORD PTR [rbp-0x2a0],rax mov QWORD PTR [rbp-0x298],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0x2a0] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] cmp DWORD PTR [r13+0x4c],0x100 ↑ jge eb4 ↓ jmp 2ade 27a6: cmp QWORD PTR [r13+0x10],0x0 ↓ je 2808 mov esi,DWORD PTR [r13+0x34] add esi,0x1000 cmp esi,0x7fefffff ↓ ja 290e lea rax,[r13+0x40] mov QWORD PTR [rbp-0x4a8],rax mov rdi,QWORD PTR [r13+0x18] movabs rcx,0x732f2867c1a8 cmp DWORD PTR [rdi],edi → call QWORD PTR [rcx] mov QWORD PTR [rbp-0x2b0],rax mov QWORD PTR [rbp-0x2a8],rdx mov rdi,QWORD PTR [rbp-0x4a8] lea rsi,[rbp-0x2b0] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] ↑ jmp eb4 2808: mov rdi,QWORD PTR [r13+0x8] mov esi,DWORD PTR [r13+0x34] movabs r11,0x732f26a52870 → call QWORD PTR [r11] movsxd rdi,DWORD PTR [r13+0x34] add QWORD PTR [r13+0x20],rdi xor edi,edi mov DWORD PTR [r13+0x34],edi mov rdi,QWORD PTR [r13+0x8] movabs r11,0x732f26a52878 mov esi,0x1000 → call QWORD PTR [r11] mov QWORD PTR [rbp-0x290],rax mov QWORD PTR [rbp-0x288],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0x290] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] cmp DWORD PTR [r13+0x4c],0x1000 ↑ jge eb4 ↓ jmp 2ade 2874: mov rcx,QWORD PTR [rdi] mov rcx,QWORD PTR [rcx+0x40] → call QWORD PTR [rcx+0x28] mov rcx,rax ↑ jmp ee1 2886: movabs rax,0x732f286573d8 → call QWORD PTR [rax] int3 2893: mov edi,esi movabs rax,0x732f2865d188 → call QWORD PTR [rax] int3 28a2: movabs rdi,0x732f2561d180 movabs rax,0x732f28327b70 → call QWORD PTR [rax] int3 28b9: mov edi,r10d movabs rax,0x732f2865d248 → call QWORD PTR [rax] int3 28c9: mov edi,ecx movabs rax,0x732f286573d8 → call QWORD PTR [rax] int3 28d8: mov edi,esi movabs rax,0x732f2865d188 → call QWORD PTR [rax] int3 28e7: movabs rax,0x732f286ef7e0 → call QWORD PTR [rax] int3 28f4: movabs rax,0x732f286ef7e0 → call QWORD PTR [rax] int3 2901: movabs rax,0x732f286573d8 → call QWORD PTR [rax] int3 290e: mov edi,esi movabs rax,0x732f2865d188 → call QWORD PTR [rax] int3 291d: movabs rax,0x732f27d4ed90 → call QWORD PTR [rax] int3 292a: mov rdi,r13 mov esi,0x5d movabs rax,0x732f28797378 → call QWORD PTR [rax] ↑ jmp 15cb 2943: mov rdi,QWORD PTR [rbx+0x8] mov edi,DWORD PTR [rdi+0x8] mov eax,0x100 cmp edi,0x100 cmovg eax,edi mov esi,eax test edi,edi ↓ jne 296d mov esi,0x100 cmp eax,0x100 cmovl eax,esi mov esi,eax 296d: add esi,edi cmp esi,0x7fffffc7 ↓ jbe 29a3 mov rax,QWORD PTR [rbx+0x8] mov eax,DWORD PTR [rax+0x8] sub eax,DWORD PTR [rbx+0x10] sub edi,eax add edi,0x100 cmp edi,0x7fffffc7 ↓ jbe 299e movabs rax,0x732f286573d8 → call QWORD PTR [rax] int3 299e: mov esi,0x7fffffc7 29a3: lea rdi,[rbx+0x8] movabs rax,0x732f28657390 → call QWORD PTR [rax] ↑ jmp 1536 29b8: test ebx,ebx ↓ jne 2b00 xor esi,esi xor ebx,ebx xor r15d,r15d ↑ jmp 1556 29cc: mov rdi,QWORD PTR [r13+0x8] movabs r11,0x732f26a52898 mov esi,0x100 → call QWORD PTR [r11] mov QWORD PTR [rbp-0x2d0],rax mov QWORD PTR [rbp-0x2c8],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0x2d0] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] cmp DWORD PTR [r13+0x4c],0x100 ↑ jge 1567 ↓ jmp 2ade 2a15: cmp QWORD PTR [r13+0x10],0x0 ↓ je 2a77 mov esi,DWORD PTR [r13+0x34] add esi,0x1000 cmp esi,0x7fefffff ↓ jbe 2a3d mov edi,esi movabs rax,0x732f2865d188 → call QWORD PTR [rax] int3 2a3d: lea rbx,[r13+0x40] mov rdi,QWORD PTR [r13+0x18] movabs rax,0x732f2867c1a8 cmp DWORD PTR [rdi],edi → call QWORD PTR [rax] mov QWORD PTR [rbp-0x2e0],rax mov QWORD PTR [rbp-0x2d8],rdx mov rdi,rbx lea rsi,[rbp-0x2e0] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] ↑ jmp 1567 2a77: mov rdi,QWORD PTR [r13+0x8] mov esi,DWORD PTR [r13+0x34] movabs r11,0x732f26a52888 → call QWORD PTR [r11] movsxd rdi,DWORD PTR [r13+0x34] add QWORD PTR [r13+0x20],rdi xor edi,edi mov DWORD PTR [r13+0x34],edi mov rdi,QWORD PTR [r13+0x8] movabs r11,0x732f26a52890 mov esi,0x1000 → call QWORD PTR [r11] mov QWORD PTR [rbp-0x2c0],rax mov QWORD PTR [rbp-0x2b8],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0x2c0] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bdf80 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] cmp DWORD PTR [r13+0x4c],0x1000 ↑ jge 1567 2ade: movabs rax,0x732f28657330 → call QWORD PTR [rax] int3 2aeb: mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x28] mov r15,rax mov r12d,edx ↑ jmp 1590 2b00: movabs rax,0x732f27d4dd28 → call QWORD PTR [rax] int3 2b0d: mov rdi,r13 mov esi,0x7d movabs rax,0x732f28797378 → call QWORD PTR [rax] ↑ jmp 160a 2b26: mov rdi,r14 mov rax,QWORD PTR [r14] mov rax,QWORD PTR [rax+0x48] → call QWORD PTR [rax+0x8] ↑ jmp 1656 2b38: movabs rdi,0x732f27b81690 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bf010 mov rbx,rax mov rdi,rbx movabs rsi,0x732f2561d100 movabs rax,0x732f27ecff00 → call QWORD PTR [rax] mov rdi,rbx → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6bd9c0 int3 2b6c: → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xffffffffff2649c8 int3 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5075075070, [percent: local period] valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]() /tmp/jitted-41649-32751.so 6.40 push rbp 6.40 push r15 push rbx lea rbp,[rsp+0x10] cmp esi,ecx mov eax,ecx cmovle eax,esi xor r10d,r10d cmp rax,0x20 ↓ jae 77 19: sub rax,r10 0.49 cmp rax,0x4 ↓ jb 17d lea r11,[r10+rax*1-0x4] 4.93 mov rbx,QWORD PTR [rdi+r10*2] movabs r15,0xff80ff80ff80ff80 test r15,rbx 1.48 ↓ jne 3c4 1.48 42: vmovq xmm0,rbx 0.99 vpackuswb xmm0,xmm0,xmm0 1.97 vmovd DWORD PTR [rdx+r10*1],xmm0 add r10,0x4 8.37 cmp r10,r11 ↓ ja 17d mov rbx,QWORD PTR [rdi+r10*2] movabs r15,0xff80ff80ff80ff80 0.99 test r15,rbx ↓ jne 3c4 ↑ jmp 42 77: mov r11,QWORD PTR [rdi] movabs rbx,0xff80ff80ff80ff80 0.49 test rbx,r11 mov rbx,r11 ↓ jne 3c4 cmp rax,0x80 ↓ jb 237 mov r10,rdi vmovups zmm0,ZMMWORD PTR [r10] vbroadcastss zmm1,DWORD PTR [rip+0x8b5] # 9e4 vptestmd k1,zmm0,zmm1 kortestw k1,k1 0.99 ↓ jne 1dd 0.49 mov r11,rdx vpackuswb zmm0,zmm0,zmm0 vmovups zmm2,ZMMWORD PTR [rip+0x8ae] # a00 vpermq zmm0,zmm2,zmm0 vmovups YMMWORD PTR [r11],ymm0 0.49 mov ebx,0x20 0.49 test dl,0x20 ↓ je 1e2 eb: mov rbx,rdx and rbx,0x3f neg rbx add rbx,0x40 lea r15,[rax-0x40] vmovups zmm0,ZMMWORD PTR [r10+rbx*2] 0.99 vmovups zmm3,ZMMWORD PTR [r10+rbx*2+0x40] 2.46 vmovaps zmm4,zmm0 0.99 vpternlogd zmm4,zmm1,zmm3,0xc8 0.99 vptestmw k1,zmm4,zmm4 1.97 kortestd k1,k1 2.46 ↓ jne 20c 2.46 12a: vpackuswb zmm0,zmm0,zmm3 0.49 vpermq zmm3,zmm2,zmm0 vmovups ZMMWORD PTR [r11+rbx*1],zmm3 add rbx,0x40 cmp rbx,r15 ↓ ja 175 vmovups zmm0,ZMMWORD PTR [r10+rbx*2] 1.97 vmovups zmm3,ZMMWORD PTR [r10+rbx*2+0x40] 6.90 vmovaps zmm4,zmm0 0.99 vpternlogd zmm4,zmm1,zmm3,0xc8 4.93 vptestmw k1,zmm4,zmm4 8.87 kortestd k1,k1 5.91 ↓ jne 20c 9.85 ↑ jmp 12a 175: mov r10,rbx 0.49 178: ↑ jmp 19 17d: test al,0x2 0.99 ↓ jne 1b7 0.99 181: test al,0x1 ↓ je 197 movzx r11d,WORD PTR [rdi+r10*2] cmp r11d,0x7f ↓ ja 197 190: mov BYTE PTR [rdx+r10*1],r11b inc r10 197: lea rdi,[rdi+r10*2] add rdx,r10 0.49 cmp r10d,esi ↓ jne 3fc mov QWORD PTR [r8],rdi 1.48 mov QWORD PTR [r9],rdx 0.99 xor eax,eax 0.49 vzeroupper 1.97 pop rbx 1.48 pop r15 0.99 pop rbp ← ret 1b7: mov r11d,DWORD PTR [rdi+r10*2] 0.49 test r11d,0xff80ff80 ↓ jne 3ea lea rbx,[rdx+r10*1] mov BYTE PTR [rbx],r11b shr r11d,0x10 mov BYTE PTR [rbx+0x1],r11b add r10,0x2 0.49 ↑ jmp 181 1dd: xor r10d,r10d ↑ jmp 178 1e2: vmovups zmm0,ZMMWORD PTR [r10+0x40] vptestmd k1,zmm0,zmm1 kortestw k1,k1 ↑ jne 175 vpackuswb zmm0,zmm0,zmm0 vpermq zmm0,zmm2,zmm0 vmovups YMMWORD PTR [r11+0x20],ymm0 ↑ jmp eb 20c: vptestmd k1,zmm0,zmm1 kortestw k1,k1 ↑ jne 175 vpackuswb zmm0,zmm0,zmm0 vpermq zmm0,zmm2,zmm0 vmovups YMMWORD PTR [r11+rbx*1],ymm0 add rbx,0x20 ↑ jmp 175 237: cmp rax,0x40 ↓ jb 312 mov r10,rdi vmovups ymm0,YMMWORD PTR [r10] vptest ymm0,YMMWORD PTR [rip+0x76e] # a40 ↓ je 25c xor r10d,r10d ↓ jmp 30d 25c: mov r11,rdx vpackuswb ymm0,ymm0,ymm0 vpermq ymm0,ymm0,0xd8 vmovups XMMWORD PTR [r11],xmm0 mov ebx,0x10 test dl,0x10 ↓ jne 299 vmovups ymm0,YMMWORD PTR [r10+0x20] vptest ymm0,YMMWORD PTR [rip+0x759] # a60 ↓ jne 2e7 vpackuswb ymm0,ymm0,ymm0 vpermq ymm0,ymm0,0xd8 vmovups XMMWORD PTR [r11+0x10],xmm0 299: mov rbx,rdx and rbx,0x1f neg rbx add rbx,0x20 lea r15,[rax-0x20] 2ab: vmovups ymm0,YMMWORD PTR [r10+rbx*2] vmovups ymm1,YMMWORD PTR [r10+rbx*2+0x20] vmovaps ymm2,ymm0 vpternlogd ymm2,ymm1,DWORD BCST [rip+0x69d],0xa8 # 9e4 vptest ymm2,ymm2 ↓ jne 2ec vpackuswb ymm0,ymm0,ymm1 vpermq ymm0,ymm0,0xd8 vmovups YMMWORD PTR [r11+rbx*1],ymm0 add rbx,0x20 cmp rbx,r15 ↑ jbe 2ab 2e7: mov r10,rbx ↓ jmp 30d 2ec: vptest ymm0,YMMWORD PTR [rip+0x70b] # a80 ↑ jne 2e7 vpackuswb ymm0,ymm0,ymm0 vpermq ymm0,ymm0,0xd8 vmovups XMMWORD PTR [r11+rbx*1],xmm0 add rbx,0x10 ↑ jmp 2e7 30d: ↑ jmp 19 312: mov r10,rdi vmovups xmm0,XMMWORD PTR [r10] vbroadcastss xmm1,DWORD PTR [rip+0x641] # 9e4 vptest xmm1,xmm0 ↓ je 332 xor r10d,r10d ↓ jmp 3bf 332: mov r11,rdx vpackuswb xmm0,xmm0,xmm0 vmovsd QWORD PTR [r11],xmm0 mov ebx,0x8 test dl,0x8 ↓ jne 35f vmovups xmm0,XMMWORD PTR [r10+0x10] vptest xmm1,xmm0 ↓ jne 3a3 vpackuswb xmm0,xmm0,xmm0 vmovsd QWORD PTR [r11+0x8],xmm0 35f: mov rbx,rdx and rbx,0xf neg rbx add rbx,0x10 lea r15,[rax-0x10] 371: vmovups xmm0,XMMWORD PTR [r10+rbx*2] vmovups xmm2,XMMWORD PTR [r10+rbx*2+0x10] vmovaps xmm3,xmm0 vpternlogd xmm3,xmm1,xmm2,0xc8 vptest xmm3,xmm3 ↓ jne 3a8 vpackuswb xmm0,xmm0,xmm2 vmovups XMMWORD PTR [r11+rbx*1],xmm0 add rbx,0x10 cmp rbx,r15 ↑ jbe 371 3a3: mov r10,rbx ↓ jmp 3bf 3a8: vptest xmm1,xmm0 ↑ jne 3a3 vpackuswb xmm0,xmm0,xmm0 vmovsd QWORD PTR [r11+rbx*1],xmm0 add rbx,0x8 ↑ jmp 3a3 3bf: ↑ jmp 19 3c4: mov r11d,ebx test r11d,0xff80ff80 ↓ jne 3ea lea rax,[rdx+r10*1] mov BYTE PTR [rax],r11b shr r11d,0x10 mov BYTE PTR [rax+0x1],r11b shr rbx,0x20 mov r11d,ebx add r10,0x2 3ea: test r11d,0xff80 ↑ je 190 ↑ jmp 197 3fc: sub esi,r10d sub ecx,r10d cmp esi,0x2 ↓ jl 87e mov eax,esi lea rax,[rdi+rax*2-0x4] 412: mov r10d,DWORD PTR [rdi] ↓ jmp 790 41a: cmp ecx,0x2 ↓ jl 88c mov r11d,r10d shr r11d,0x8 or r11d,r10d mov WORD PTR [rdx],r11w add rdi,0x4 add rdx,0x2 add ecx,0xfffffffe mov r10,rax sub r10,rdi mov r11,r10 shr r11,0x3f add r10,r11 sar r10,1 add r10d,0x2 mov r11d,ecx cmp r10,r11 ↓ jle 45e mov r10,r11 45e: mov r11d,r10d shr r11d,0x3 xor ebx,ebx ↓ jmp 48a 469: vmovups xmm0,XMMWORD PTR [rdi] vptest xmm0,XMMWORD PTR [rip+0x5aa] # aa0 ↓ jne 4bb vpackuswb xmm0,xmm0,xmm0 vmovq QWORD PTR [rdx],xmm0 add rdi,0x10 add rdx,0x8 inc ebx 48a: cmp ebx,r11d ↑ jb 469 lea r11d,[rbx*8+0x0] sub ecx,r11d test r10b,0x4 ↓ je 853 mov r10,QWORD PTR [rdi] movabs r11,0xff80ff80ff80ff80 test r11,r10 ↓ jne 4f3 ↓ jmp 7c6 4bb: lea r10d,[rbx*8+0x0] sub ecx,r10d vmovq r10,xmm0 movabs r11,0xff80ff80ff80ff80 test r11,r10 ↓ jne 4f3 vpackuswb xmm1,xmm0,xmm0 vmovd DWORD PTR [rdx],xmm1 add rdi,0x8 add rdx,0x4 add ecx,0xfffffffc vpextrq r10,xmm0,0x1 4f3: mov r11d,r10d test r11d,0xff80ff80 ↓ jne 51d mov ebx,r11d shr ebx,0x8 or ebx,r11d mov WORD PTR [rdx],bx add rdi,0x4 add rdx,0x2 add ecx,0xfffffffe shr r10,0x20 mov r11d,r10d 51d: test r11d,0xff80 ↓ jne 530 test ecx,ecx ↓ je 940 ↓ jmp 542 530: test r11d,0xf800 ↓ jne 7a5 ↓ jmp 5ca 542: mov BYTE PTR [rdx],r11b add rdi,0x2 inc rdx dec ecx cmp rdi,rax ↓ ja 86b mov r11d,DWORD PTR [rdi] ↑ jmp 530 55c: cmp ecx,0x2 ↓ jl 940 ↓ jmp 5dc 567: cmp ecx,0x4 ↓ jl 5c2 mov r10d,r11d shr r10d,0x6 and r10d,0x1f001f shl r11d,0x8 and r11d,0x3f003f00 add r10d,r11d add r10d,0x80c080c0 mov DWORD PTR [rdx],r10d add rdi,0x4 add rdx,0x4 add ecx,0xfffffffc cmp rdi,rax ↓ ja 86b mov r11d,DWORD PTR [rdi] lea r10d,[r11-0x80] movzx r10d,r10w cmp r10d,0x780 ↓ jl 5ca mov r10d,r11d ↓ jmp 790 5c2: mov r10d,r11d ↓ jmp 88c 5ca: lea r10d,[r11-0x800000] cmp r10d,0x77fffff ↑ jbe 567 ↑ jmp 55c 5dc: lea r10d,[r11*4+0x0] and r10d,0x1f00 mov ebx,r11d and ebx,0x3f lea r10d,[r10+rbx*1+0xc080] movbe WORD PTR [rdx],r10w cmp r11d,0x800000 ↓ jb 61e add rdi,0x2 add rdx,0x2 add ecx,0xfffffffe cmp rdi,rax ↓ ja 86b ↓ jmp 62c 61e: cmp ecx,0x3 ↓ jl 85e ↓ jmp 7d9 62c: mov r11d,DWORD PTR [rdi] ↓ jmp 7a5 634: test r11d,0xf8000000 ↓ jne 658 ↓ jmp 66d 63f: lea r10d,[r11+0x23ff2800] test r10d,0xfc00fc00 ↓ je 7f8 ↓ jmp 7ee 658: lea r10d,[r11+0x28000000] cmp r10d,0x8000000 ↓ jb 66d cmp ecx,0x6 ↓ jge 67b 66d: cmp ecx,0x3 ↓ jl 940 ↓ jmp 70e 67b: lea r10d,[r11*4+0x0] and r10d,0x3f00 mov ebx,r11d and ebx,0x3f shl ebx,0x10 or r10d,ebx mov ebx,r11d shr ebx,0x4 and ebx,0xf000000 mov r15d,r11d shr r15d,0xc and r15d,0xf or ebx,r15d add r10d,ebx add r10d,0xe08080e0 mov DWORD PTR [rdx],r10d mov r10d,r11d shr r10d,0x16 and r10d,0x3f shr r11d,0x8 and r11d,0x3f00 add r10d,r11d add r10d,0x8080 mov WORD PTR [rdx+0x4],r10w add rdi,0x4 add rdx,0x6 add ecx,0xfffffffa cmp rdi,rax ↓ ja 86b mov r11d,DWORD PTR [rdi] test r11d,0xf800 ↓ jne 7a5 mov r10d,r11d ↓ jmp 790 70e: lea r10d,[r11*4+0x0] and r10d,0x3f00 movzx ebx,r11w shr ebx,0xc add r10d,ebx add r10d,0x80e0 mov WORD PTR [rdx],r10w mov r10d,r11d and r10d,0x3f or r10d,0xffffff80 mov BYTE PTR [rdx+0x2],r10b add rdi,0x2 add rdx,0x3 add ecx,0xfffffffd cmp r11d,0x800000 ↓ jb 760 cmp rdi,rax ↓ ja 86b ↓ jmp 7be 760: test ecx,ecx ↓ je 940 shr r11d,0x10 mov BYTE PTR [rdx],r11b add rdi,0x2 inc rdx dec ecx cmp rdi,rax ↓ ja 86b mov r11d,DWORD PTR [rdi] test r11d,0xf800 ↓ jne 7a5 mov r10d,r11d 790: test r10d,0xff80ff80 ↑ je 41a mov r11d,r10d ↑ jmp 51d 7a5: lea r10d,[r11-0xd800] test r10d,0xf800 ↑ je 63f ↑ jmp 634 7be: mov r11d,DWORD PTR [rdi] ↑ jmp 51d 7c6: vmovq xmm0,r10 vpackuswb xmm0,xmm0,xmm0 vmovd DWORD PTR [rdx],xmm0 add rdi,0x8 ↓ jmp 84c 7d9: shr r11d,0x10 mov BYTE PTR [rdx+0x2],r11b add rdi,0x4 add rdx,0x3 add ecx,0xfffffffd ↓ jmp 853 7ee: mov eax,0x3 ↓ jmp 945 7f8: cmp ecx,0x4 ↓ jl 940 add r11d,0x40 mov r10d,r11d and r10d,0x3 shl r10d,0x14 or r10d,0x808080f0 mov ebx,r11d and ebx,0x3f0700 bswap ebx rol ebx,0x10 or r10d,ebx mov ebx,r11d shr ebx,0x6 and ebx,0xf0000 or r10d,ebx and r11d,0xfc shl r11d,0x6 or r10d,r11d mov DWORD PTR [rdx],r10d add rdi,0x4 84c: add rdx,0x4 add ecx,0xfffffffc 853: cmp rdi,rax ↑ jbe 412 ↓ jmp 86b 85e: add rdi,0x2 add rdx,0x2 ↓ jmp 940 86b: sub rax,rdi mov rsi,rax shr rsi,0x3f add rsi,rax sar rsi,1 add esi,0x2 87e: test esi,esi ↓ je 93c movzx r10d,WORD PTR [rdi] ↓ jmp 890 88c: movzx r10d,r10w 890: cmp r10d,0x7f ↓ ja 8ad test ecx,ecx ↓ je 940 mov BYTE PTR [rdx],r10b add rdi,0x2 inc rdx ↓ jmp 937 8ad: cmp r10d,0x800 ↓ jae 8e0 cmp ecx,0x2 ↓ jl 940 mov ecx,r10d and ecx,0x3f or ecx,0xffffff80 mov BYTE PTR [rdx+0x1],cl shr r10d,0x6 or r10d,0xffffffc0 mov BYTE PTR [rdx],r10b add rdi,0x2 add rdx,0x2 ↓ jmp 937 8e0: lea eax,[r10-0xd800] cmp eax,0x7ff ↓ jbe 923 cmp ecx,0x3 ↓ jl 940 mov eax,r10d and eax,0x3f or eax,0xffffff80 mov BYTE PTR [rdx+0x2],al mov eax,r10d shr eax,0x6 and eax,0x3f or eax,0xffffff80 mov BYTE PTR [rdx+0x1],al shr r10d,0xc or r10d,0xffffffe0 mov BYTE PTR [rdx],r10b add rdi,0x2 add rdx,0x3 ↓ jmp 937 923: cmp r10d,0xdbff ↑ ja 7ee mov eax,0x2 ↓ jmp 945 937: cmp esi,0x1 ↓ jg 940 93c: xor eax,eax ↓ jmp 945 940: mov eax,0x1 945: mov QWORD PTR [r8],rdi mov QWORD PTR [r9],rdx vzeroupper pop rbx pop r15 pop rbp ← ret Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5075075070, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeLiteral(valuetype [System.Runtime]System.ReadOnlySpan`1,valuetype System.Text.Json.JsonTokenType)[OptimizedTier1]() /tmp/jitted-41649-32736.so 9.28 push rbp 6.19 push rbx push rax lea rbp,[rsp+0x10] lea rax,[rdi+0x30] mov r8d,DWORD PTR [rdi+0x20] mov r9d,DWORD PTR [rax+0x8] cmp r8d,r9d ↓ ja 1ff mov r10d,r8d add r10,QWORD PTR [rax] 6.19 sub r9d,r8d cmp edx,r9d ↓ jg 1dd mov rax,rsi mov r8d,edx cmp r8,0x8 ↓ jae d0 cmp r8,0x4 ↓ jb 98 add r8,0xfffffffffffffffc mov eax,DWORD PTR [r10] sub eax,DWORD PTR [rsi] 10.31 mov r11d,DWORD PTR [r10+r8*1] 12.37 sub r11d,DWORD PTR [rsi+r8*1] 15.46 or eax,r11d sete al 10.82 movzx eax,al 7.22 5f: test eax,eax 12.37 ↓ je 1dd cmp edx,r9d ↓ jg 1ff mov QWORD PTR [rdi+0x98],r10 mov DWORD PTR [rdi+0xa0],edx mov BYTE PTR [rdi+0x28],cl add DWORD PTR [rdi+0x20],edx mov eax,edx add QWORD PTR [rdi+0x8],rax mov eax,0x1 9.79 vzeroupper add rsp,0x8 pop rbx pop rbp ← ret 98: xor eax,eax mov r11,r8 and r11,0x2 ↓ jne b3 a3: test r8b,0x1 ↓ jne be a9: test eax,eax sete al movzx eax,al ↑ jmp 5f b3: movzx eax,WORD PTR [r10] movzx ebx,WORD PTR [rsi] sub eax,ebx ↑ jmp a3 be: movzx r8d,BYTE PTR [r10+r11*1] movzx r11d,BYTE PTR [rsi+r11*1] sub r8d,r11d or eax,r8d ↑ jmp a9 d0: cmp r10,rax ↓ je 1ac cmp r8,0x40 ↓ jb 128 xor eax,eax add r8,0xffffffffffffffc0 ↓ je 10a e7: vmovups zmm0,ZMMWORD PTR [r10+rax*1] vpcmpnequb k1,zmm0,ZMMWORD PTR [rsi+rax*1] kortestq k1,k1 ↓ jne 1d6 add rax,0x40 cmp r8,rax ↑ ja e7 10a: vmovups zmm0,ZMMWORD PTR [r10+r8*1] vpcmpeqb k1,zmm0,ZMMWORD PTR [rsi+r8*1] kortestq k1,k1 ↓ jae 1d6 ↓ jmp 1ac 128: cmp r8,0x20 ↓ jb 16e xor eax,eax add r8,0xffffffffffffffe0 ↓ je 158 136: vmovups ymm0,YMMWORD PTR [r10+rax*1] vpcmpnequb k1,ymm0,YMMWORD PTR [rsi+rax*1] kortestd k1,k1 ↓ jne 1d6 add rax,0x20 cmp r8,rax ↑ ja 136 158: vmovups ymm0,YMMWORD PTR [r10+r8*1] vpcmpeqb k1,ymm0,YMMWORD PTR [rsi+r8*1] kortestd k1,k1 ↓ jae 1d6 ↓ jmp 1ac 16e: cmp r8,0x10 ↓ jb 1b6 xor eax,eax add r8,0xfffffffffffffff0 ↓ je 199 17c: vmovups xmm0,XMMWORD PTR [r10+rax*1] vpcmpnequb k1,xmm0,XMMWORD PTR [rsi+rax*1] kortestw k1,k1 ↓ jne 1d6 add rax,0x10 cmp r8,rax ↑ ja 17c 199: vmovups xmm0,XMMWORD PTR [r10+r8*1] vpcmpeqb k1,xmm0,XMMWORD PTR [rsi+r8*1] kortestw k1,k1 ↓ jae 1d6 1ac: mov eax,0x1 ↑ jmp 5f 1b6: lea rax,[r8-0x8] mov r8,QWORD PTR [r10] sub r8,QWORD PTR [rsi] mov r11,QWORD PTR [r10+rax*1] sub r11,QWORD PTR [rsi+rax*1] or r8,r11 sete al movzx eax,al ↑ jmp 5f 1d6: xor eax,eax ↑ jmp 5f 1dd: mov rcx,rsi mov r8d,edx mov rsi,r10 mov edx,r9d movabs rax,0x732f2865d0e0 vzeroupper add rsp,0x8 pop rbx pop rbp rex.W jmp QWORD PTR [rax] 1ff: movabs rax,0x732f27d4dd28 → call QWORD PTR [rax] int3 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5075075070, [percent: local period] instance void [System.Text.Json] System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.__Canon]::SerializeAsObject(class System.Text.Json.Utf8JsonWriter,object)[OptimizedTier1]() /tmp/jitted-41649-32837.so 9.42 push rbp 1.57 push r15 push r14 push r13 push r12 push rbx sub rsp,0x118 lea rbp,[rsp+0x140] 2.62 xor eax,eax mov QWORD PTR [rbp-0xe8],rax vxorps xmm8,xmm8,xmm8 vmovdqu32 ZMMWORD PTR [rbp-0xe0],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0xa0],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0x70],zmm8 0.52 mov QWORD PTR [rbp-0x30],rdi mov rbx,rdi mov r15,rsi mov r14,rdx mov rdi,QWORD PTR [rbx] mov rsi,QWORD PTR [rdi+0x30] mov rsi,QWORD PTR [rsi] 2.09 mov rax,QWORD PTR [rsi+0x38] 0.52 test rax,rax ↓ je 2ec 69: mov rdi,QWORD PTR [rax+0x18] 40.84 mov rdi,QWORD PTR [rdi] 28.80 mov rax,r14 test rax,rax ↓ je 8c cmp QWORD PTR [rax],rdi 1.05 ↓ je 8c mov rsi,r14 movabs rax,0x732f27b45920 → call QWORD PTR [rax] 8c: mov QWORD PTR [rbp-0x38],rax cmp BYTE PTR [rbx+0x116],0x0 ↓ jne 44a mov rdi,QWORD PTR [rbx+0xc8] cmp BYTE PTR [rdi+0x12],0x0 ↓ je 39e cmp QWORD PTR [rbp-0x38],0x0 ↓ je 39e mov r13,QWORD PTR [rbx+0xb8] mov rdi,QWORD PTR [rbp-0x38] cmp BYTE PTR [r13+0x0],r13b movabs rax,0x732f27e567c0 → call QWORD PTR [rax] mov r12,rax movabs rdi,0x732f25602620 cmp r12,rdi ↓ je 39e mov r14,QWORD PTR [r13+0x10] test r14,r14 ↓ je 103 mov rdi,QWORD PTR [r14+0xc0] cmp rdi,r12 ↓ je 2a4 103: xor r14d,r14d cmp BYTE PTR [r13+0x9e],0x0 ↓ je 28f mov r14,QWORD PTR [r13+0x8] test r14,r14 ↓ je 461 121: mov rax,QWORD PTR [r14+0x8] mov QWORD PTR [rbp-0xf0],rax movabs rdi,0x732777c03428 mov rcx,QWORD PTR [rdi] test rcx,rcx ↓ je 478 142: mov rax,QWORD PTR [rbp-0xf0] mov QWORD PTR [rbp-0x110],rax mov rdx,r12 mov QWORD PTR [rbp-0x100],rdx mov QWORD PTR [rbp-0x108],rcx cmp BYTE PTR [rax],al mov rsi,QWORD PTR [rax+0x8] mov QWORD PTR [rbp-0x118],rsi mov rdi,QWORD PTR [rsi+0x8] cmp BYTE PTR [rax+0x19],0x0 ↓ je 4de mov rdi,rdx → call instance void [System.Text.Json] System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.__Canon]::SerializeAsObject(class System.Text.Json.Utf8JsonWriter,object)[OptimizedTier1]+0x7d54d600 test eax,eax ↓ je 4f3 18c: mov DWORD PTR [rbp-0xdc],eax mov rcx,QWORD PTR [rbp-0x118] mov rdx,QWORD PTR [rcx+0x8] mov QWORD PTR [rbp-0x120],rdx mov rdi,QWORD PTR [rcx+0x10] mov esi,eax imul rsi,QWORD PTR [rcx+0x28] shr rsi,0x20 inc rsi mov r8d,DWORD PTR [rdi+0x8] mov r9d,r8d imul rsi,r9 shr rsi,0x20 cmp esi,r8d ↓ jae 6fa mov esi,esi mov r8,QWORD PTR [rdi+rsi*8+0x10] test r8,r8 ↓ je 517 test rdx,rdx ↓ je 31f movabs rdi,0x732f2803a260 cmp QWORD PTR [rdx],rdi ↓ jne 31f 1fa: cmp eax,DWORD PTR [r8+0x20] ↓ jne 307 mov QWORD PTR [rbp-0x128],r8 mov r9,QWORD PTR [r8+0x8] test r9,r9 ↓ je 50b movabs rdi,0x732f26a4a290 cmp QWORD PTR [r9],rdi ↓ jne 51c cmp r12,r9 sete r10b movzx r10d,r10b 236: test r10d,r10d ↓ je 534 23f: mov r8,QWORD PTR [rbp-0x128] mov rsi,QWORD PTR [r8+0x10] mov QWORD PTR [rbp-0xe8],rsi 251: mov rdx,QWORD PTR [rbp-0xe8] xor edi,edi mov QWORD PTR [rbp-0xe8],rdi cmp BYTE PTR [rdx+0x20],0x0 ↓ je 624 mov rdi,QWORD PTR [rdx+0x10] test rdi,rdi ↓ jne 617 mov r14,QWORD PTR [rdx+0x8] 27c: test r14,r14 ↓ je 28f cmp BYTE PTR [r14+0x119],0x2 ↓ jne 63e 28f: test r14,r14 ↓ je 652 lea rdi,[r13+0x10] mov rsi,r14 → call instance void [System.Text.Json] System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.__Canon]::SerializeAsObject(class System.Text.Json.Utf8JsonWriter,object)[OptimizedTier1]+0xfffffffffe162520 2a4: cmp BYTE PTR [r14+0x11a],0x0 ↓ je 666 2b2: mov rdi,QWORD PTR [r14+0xf8] test rdi,rdi cmovne r14,rdi mov rax,QWORD PTR [r14] movabs rdi,0x732f28763948 cmp rax,rdi ↓ je 383 mov rdi,r14 mov rsi,r15 mov rdx,QWORD PTR [rbp-0x38] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x38] ↓ jmp 437 2ec: movabs rsi,0x732f2877d1b0 movabs rax,0x732f27d47408 → call QWORD PTR [rax] ↑ jmp 69 307: mov r8,QWORD PTR [r8+0x18] test r8,r8 ↓ je 5b0 mov eax,DWORD PTR [rbp-0xdc] ↑ jmp 1fa 31f: cmp eax,DWORD PTR [r8+0x20] ↓ jne 573 mov QWORD PTR [rbp-0x128],r8 mov r9,QWORD PTR [r8+0x8] movabs rdi,0x732f2803a260 cmp QWORD PTR [rdx],rdi ↓ jne 540 mov rdx,QWORD PTR [rbp-0x120] test r9,r9 ↓ je 56c movabs rdi,0x732f26a4a290 cmp QWORD PTR [r9],rdi ↓ jne 587 cmp r12,r9 sete r10b movzx r10d,r10b 375: test r10d,r10d ↓ je 5a7 ↑ jmp 23f 383: mov rdi,r14 mov rsi,r15 mov rdx,QWORD PTR [rbp-0x38] movabs rax,0x732f286a7450 → call QWORD PTR [rax] ↓ jmp 437 39e: vxorps ymm0,ymm0,ymm0 vmovdqu32 ZMMWORD PTR [rbp-0xd8],zmm0 3.14 vmovdqu32 ZMMWORD PTR [rbp-0x98],zmm0 vmovdqu YMMWORD PTR [rbp-0x58],ymm0 mov QWORD PTR [rbp-0x70],rbx mov rdi,QWORD PTR [rbx+0xd0] mov QWORD PTR [rbp-0x78],rdi mov rdi,QWORD PTR [rbp-0x78] 4.19 mov rdi,QWORD PTR [rdi+0xc8] 0.52 mov QWORD PTR [rbp-0x48],rdi mov BYTE PTR [rbp-0x8a],0x0 mov BYTE PTR [rbp-0x89],0x0 mov r13,QWORD PTR [rbx+0xb8] cmp DWORD PTR [r13+0x8c],0x0 ↓ jne 691 3fc: mov rdi,QWORD PTR [rbx+0x158] 2.09 mov rcx,QWORD PTR [rbx+0xb8] lea rdx,[rbp-0x38] lea r8,[rbp-0xd8] mov rsi,r15 movabs rax,0x732f287244e0 cmp DWORD PTR [rdi],edi → call QWORD PTR [rax] 1.05 426: mov rdi,r15 movabs rax,0x732f28657018 cmp DWORD PTR [rdi],edi → call QWORD PTR [rax] 437: nop add rsp,0x118 pop rbx pop r12 1.57 pop r13 pop r14 pop r15 pop rbp ← ret 44a: mov rax,QWORD PTR [rbx+0x148] mov rsi,r15 mov rdx,QWORD PTR [rbp-0x38] mov rdi,QWORD PTR [rax+0x8] → call QWORD PTR [rax+0x18] ↑ jmp 426 461: mov rdi,r13 movabs rax,0x732f2865e238 → call QWORD PTR [rax] mov r14,rax ↑ jmp 121 478: movabs rdi,0x732f286b05d0 → call instance void [System.Text.Json] System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.__Canon]::SerializeAsObject(class System.Text.Json.Utf8JsonWriter,object)[OptimizedTier1]+0x7d6ce2b0 mov rcx,rax mov QWORD PTR [rbp-0xf8],rcx mov rdi,rcx xor esi,esi movabs rdx,0x732f2865a820 movabs rcx,0x732f26a4d740 movabs rax,0x732f27b47ea0 → call QWORD PTR [rax] movabs rdi,0x732777c03428 mov rsi,QWORD PTR [rbp-0xf8] → call instance void [System.Text.Json] System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.__Canon]::SerializeAsObject(class System.Text.Json.Utf8JsonWriter,object)[OptimizedTier1]+0xfffffffffe162520 mov rcx,QWORD PTR [rbp-0xf8] mov rax,rcx mov rcx,rax ↑ jmp 142 4de: mov rsi,rdx movabs r11,0x732f26a527b0 → call QWORD PTR [r11] ↑ jmp 18c 4f3: mov rdi,QWORD PTR [rbp-0x100] movabs rax,0x732f27d4c918 → call QWORD PTR [rax] ↑ jmp 18c 50b: mov r8,QWORD PTR [rbp-0x128] ↑ jmp 307 517: ↓ jmp 5b0 51c: mov rdi,r9 mov rsi,r12 mov rdx,QWORD PTR [r9] mov rdx,QWORD PTR [rdx+0x40] → call QWORD PTR [rdx+0x10] mov r10d,eax ↑ jmp 236 534: mov r8,QWORD PTR [rbp-0x128] ↑ jmp 307 540: mov rdx,QWORD PTR [rbp-0x120] mov rdi,rdx mov rdx,r12 mov rsi,r9 movabs r11,0x732f26a527b8 → call QWORD PTR [r11] mov r10d,eax mov rdx,QWORD PTR [rbp-0x120] ↑ jmp 375 56c: mov r8,QWORD PTR [rbp-0x128] 573: mov r8,QWORD PTR [r8+0x18] test r8,r8 ↓ je 5b0 mov eax,DWORD PTR [rbp-0xdc] ↑ jmp 31f 587: mov rdi,r9 mov rsi,r12 mov r9,QWORD PTR [r9] mov r9,QWORD PTR [r9+0x40] → call QWORD PTR [r9+0x10] mov r10d,eax mov rdx,QWORD PTR [rbp-0x120] ↑ jmp 375 5a7: mov r8,QWORD PTR [rbp-0x128] ↑ jmp 573 5b0: xor esi,esi mov QWORD PTR [rbp-0xe8],rsi mov rsi,r12 mov rdx,r14 mov r8,QWORD PTR [rbp-0x108] mov rdi,QWORD PTR [r8+0x8] → call QWORD PTR [r8+0x18] mov r8,rax mov DWORD PTR [rsp],0x1 lea rcx,[rbp-0xe8] mov QWORD PTR [rsp+0x8],rcx mov ecx,DWORD PTR [rbp-0xdc] shl rcx,0x20 or rcx,0x1 mov rsi,QWORD PTR [rbp-0x118] mov rdx,r12 mov rdi,QWORD PTR [rbp-0x110] xor r9d,r9d movabs rax,0x732f27ffd5a8 → call QWORD PTR [rax] ↑ jmp 251 617: movabs rax,0x732f286ef7e0 → call QWORD PTR [rax] int3 624: mov rdi,r14 mov rsi,r12 movabs rax,0x732f2865e7d8 → call QWORD PTR [rax] mov r14,rax ↑ jmp 27c 63e: mov rdi,r14 movabs rax,0x732f286ef810 → call QWORD PTR [rax] ↑ jmp 28f 652: mov rsi,QWORD PTR [r13+0x20] mov rdi,r12 movabs rax,0x732f2865e220 → call QWORD PTR [rax] int3 666: mov rdi,r14 movabs rax,0x732f287249f0 → call QWORD PTR [rax] lea rdi,[r14+0xf8] mov rsi,rax → call instance void [System.Text.Json] System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.__Canon]::SerializeAsObject(class System.Text.Json.Utf8JsonWriter,object)[OptimizedTier1]+0xfffffffffe162520 mov BYTE PTR [r14+0x11a],0x1 ↑ jmp 2b2 691: mov rdi,QWORD PTR [r13+0x38] mov esi,0x1 mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x28] mov QWORD PTR [rbp-0xb8],rax cmp DWORD PTR [r13+0x8c],0x2 ↑ jne 3fc test r14,r14 ↑ je 3fc mov rdi,QWORD PTR [rbx+0xc0] mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x78] → call QWORD PTR [rax+0x8] test eax,eax ↑ je 3fc mov rdi,QWORD PTR [rbp-0xb8] mov rsi,r14 mov rax,QWORD PTR [rbp-0xb8] mov rax,QWORD PTR [rax] mov rax,QWORD PTR [rax+0x48] → call QWORD PTR [rax] ↑ jmp 3fc 6fa: → call instance void [System.Text.Json] System.Text.Json.Serialization.Metadata.JsonTypeInfo`1[System.__Canon]::SerializeAsObject(class System.Text.Json.Utf8JsonWriter,object)[OptimizedTier1]+0xffffffffff273c68 int3 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5075075070, [percent: local period] instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-41649-32765.so 7.34 push rbp 8.47 push r15 push r14 push r13 push rbx sub rsp,0x10 lea rbp,[rsp+0x30] xor eax,eax 5.65 mov QWORD PTR [rbp-0x28],rax mov rbx,rdi mov r14,rsi mov r15d,edx xor r13d,r13d cmp r15d,0x8 ↓ jge 94 29: xor eax,eax test r15d,r15d cmovne rax,r14 3.95 mov QWORD PTR [rbp-0x28],rax mov edi,r15d mov ecx,r13d cmp rcx,rdi ↓ jae 7b cmp BYTE PTR [rbx],bl mov rdx,rdi sub rdx,rcx cmp rdx,0x8 ↓ jae 10c 53: cmp rcx,rdi ↓ jae 7b 58: lea rdx,[rbx+0x420] 5.65 movzx esi,WORD PTR [rax+rcx*2] 2.26 mov r8d,esi 3.95 shr r8d,0x5 mov edx,DWORD PTR [rdx+r8*4] 33.90 bt edx,esi ↓ jae 7b 18.64 inc rcx 0.56 cmp rcx,rdi ↑ jb 58 7b: mov eax,ecx 1.13 mov ecx,0xffffffff 0.56 cmp eax,edi cmove eax,ecx add rsp,0x10 pop rbx 1.13 pop r13 pop r14 6.21 pop r15 pop rbp 0.56 ← ret 94: mov rdi,QWORD PTR [rbx+0x18] test rdi,rdi ↓ je d7 movabs rdx,0x732f27ebf488 cmp QWORD PTR [rdi],rdx ↓ jne e9 lea rdx,[rdi+0x8] mov rdi,r14 mov esi,r15d movabs rax,0x732f287973a8 → call QWORD PTR [rax] c2: mov r13d,eax cmp r13d,r15d ↓ jb fb ca: add rsp,0x10 pop rbx pop r13 pop r14 pop r15 pop rbp ← ret d7: mov edi,0x6 movabs rax,0x732f27d4ec88 → call QWORD PTR [rax] int3 e9: mov rsi,r14 mov edx,r15d mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x38] ↑ jmp c2 fb: mov edi,r13d cmp WORD PTR [r14+rdi*2],0x7f ↑ ja 29 ↑ jmp ca 10c: xor edx,edx lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x1 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0x2] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x2 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0x4] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x3 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0x6] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x4 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0x8] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x5 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0xa] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x6 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0xc] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x7 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0xe] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d add rcx,0x8 mov rdx,rdi sub rdx,rcx cmp rdx,0x8 ↑ jae 10c ↑ jmp 53 24d: add rcx,rdx ↑ jmp 7b Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5075075070, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-41649-32805.so 7.43 push rbp 4.57 push r15 push r14 push r13 push r12 0.57 push rbx push rax lea rbp,[rsp+0x30] mov rbx,rdi 1.71 mov r15,QWORD PTR [rbx+0x10] test r15,r15 ↓ je 1a1 20: xor edi,edi mov QWORD PTR [rbx+0x40],rdi mov QWORD PTR [rbx+0x48],rdi test r15,r15 ↓ je 310 mov esi,DWORD PTR [rbx+0x34] test esi,esi 4.00 ↓ je 17b mov rdi,QWORD PTR [rbx+0x18] mov rax,rdi cmp BYTE PTR [rax],al 3.43 test esi,esi ↓ jl 1b9 mov r14d,DWORD PTR [rax+0x10] 0.57 mov rcx,QWORD PTR [rax+0x8] mov ecx,DWORD PTR [rcx+0x8] 1.71 sub ecx,esi 5.71 cmp r14d,ecx ↓ jg 1ef add r14d,esi mov DWORD PTR [rax+0x10],r14d xor esi,esi mov DWORD PTR [rbx+0x34],esi mov r13,QWORD PTR [rdi+0x8] test r13,r13 ↓ je 203 cmp DWORD PTR [r13+0x8],r14d 20.57 ↓ jb 2eb add r13,0x10 8c: movabs rdi,0x732f282e8fd8 1.14 cmp QWORD PTR [r15],rdi ↓ jne 2c6 cmp BYTE PTR [r15+0x2b],0x0 ↓ je 217 cmp BYTE PTR [r15+0x29],0x0 ↓ je 226 mov edi,DWORD PTR [r15+0x1c] 2.29 lea r12d,[rdi+r14*1] test r12d,r12d ↓ jl 233 mov esi,DWORD PTR [r15+0x20] cmp r12d,esi ↓ jle f2 cmp edi,esi setg al movzx eax,al mov DWORD PTR [rbp-0x2c],eax cmp r12d,DWORD PTR [r15+0x24] 4.00 ↓ jg 26c e4: cmp DWORD PTR [rbp-0x2c],0x0 4.57 ↓ jne 28b 0.57 ee: mov DWORD PTR [r15+0x20],r12d f2: mov rdx,QWORD PTR [r15+0x10] mov edi,DWORD PTR [r15+0x1c] test rdx,rdx ↓ je 2ab mov esi,edi mov eax,r14d add rsi,rax 2.86 mov eax,DWORD PTR [rdx+0x8] 0.57 cmp rsi,rax ↓ ja 2eb lea rdi,[rdx+rdi*1+0x10] mov edx,r14d 11f: cmp r14d,edx ↓ jg 2b9 mov edx,r14d mov rsi,r13 movabs rax,0x732f27b45848 → call QWORD PTR [rax] 0.57 mov DWORD PTR [r15+0x1c],r12d 13e: mov r15,QWORD PTR [rbx+0x18] mov eax,DWORD PTR [r15+0x10] 4.00 movsxd rcx,eax 0.57 add QWORD PTR [rbx+0x20],rcx 1.71 mov rdi,QWORD PTR [r15+0x8] 0.57 test rdi,rdi ↓ je 2de cmp DWORD PTR [rdi+0x8],eax 16.57 ↓ jb 2eb add rdi,0x10 0.57 167: mov esi,eax movabs rax,0x732f27b45818 → call QWORD PTR [rax] xor edi,edi mov DWORD PTR [r15+0x10],edi 17b: mov rdi,QWORD PTR [rbx+0x10] 2.29 movabs rax,0x732f282e8fd8 1.14 cmp QWORD PTR [rdi],rax 1.14 ↓ jne 2f8 192: add rsp,0x8 pop rbx pop r12 pop r13 pop r14 0.57 pop r15 2.29 pop rbp 1.71 ← ret 1a1: cmp QWORD PTR [rbx+0x8],0x0 ↑ jne 20 movabs rax,0x732f28727510 → call QWORD PTR [rax] int3 1b9: movabs rdi,0x732f27b8ec30 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6d0ea0 mov rbx,rax mov rdi,rbx xor esi,esi movabs rdx,0x732f25602898 movabs rax,0x732f27eccb88 → call QWORD PTR [rax] mov rdi,rbx → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6cf850 int3 1ef: mov rdi,QWORD PTR [rax+0x8] mov edi,DWORD PTR [rdi+0x8] movabs rax,0x732f28727528 → call QWORD PTR [rax] int3 203: test r14d,r14d ↓ jne 2eb xor r13d,r13d xor r14d,r14d ↑ jmp 8c 217: xor edi,edi movabs rax,0x732f28827cd8 → call QWORD PTR [rax] int3 226: movabs rax,0x732f28827cf0 → call QWORD PTR [rax] int3 233: movabs rdi,0x732f27dce570 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6d0ea0 mov r13,rax movabs rax,0x732f28827d08 → call QWORD PTR [rax] mov rsi,rax mov rdi,r13 movabs rax,0x732f2858cdc8 → call QWORD PTR [rax] mov rdi,r13 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6cf850 int3 26c: mov rdi,r15 mov esi,r12d movabs rcx,0x732f2846ca50 → call QWORD PTR [rcx] test eax,eax ↑ jne ee ↑ jmp e4 28b: mov edx,r12d sub edx,DWORD PTR [r15+0x20] mov esi,DWORD PTR [r15+0x20] mov rdi,QWORD PTR [r15+0x10] movabs rax,0x732f27ecd6b0 → call QWORD PTR [rax] ↑ jmp ee 2ab: or edi,r14d ↓ jne 2eb xor edi,edi xor edx,edx ↑ jmp 11f 2b9: movabs rax,0x732f280953b0 → call QWORD PTR [rax] int3 2c6: mov rsi,r13 mov edx,r14d mov rdi,r15 mov rax,QWORD PTR [r15] mov rax,QWORD PTR [rax+0x68] → call QWORD PTR [rax+0x30] ↑ jmp 13e 2de: test eax,eax ↓ jne 2eb xor edi,edi xor eax,eax ↑ jmp 167 2eb: movabs rax,0x732f27d4dd28 → call QWORD PTR [rax] int3 2f8: mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x58] add rsp,0x8 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp rex.W jmp QWORD PTR [rax] 310: mov esi,DWORD PTR [rbx+0x34] test esi,esi ↑ je 192 mov rdi,QWORD PTR [rbx+0x8] movabs r11,0x732f26a52718 → call QWORD PTR [r11] movsxd rax,DWORD PTR [rbx+0x34] add QWORD PTR [rbx+0x20],rax xor eax,eax mov DWORD PTR [rbx+0x34],eax ↑ jmp 192 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5075075070, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-41649-32753.so 7.81 push rbp 5.47 mov rbp,rsp mov rax,rdi sub rax,rsi cmp rax,rdx ↓ jb 118 mov rax,rsi sub rax,rdi cmp rax,rdx ↓ jb 118 lea rax,[rsi+rdx*1] lea rcx,[rdi+rdx*1] cmp rdx,0x10 ↓ jbe d6 cmp rdx,0x40 9.38 ↓ jbe 9d cmp rdx,0x800 ↓ ja 122 cmp rdx,0x100 ↓ jb 73 mov r8,rdi and r8,0x3f neg r8 add r8,0x40 vmovdqu32 zmm0,ZMMWORD PTR [rsi] vmovdqu32 ZMMWORD PTR [rdi],zmm0 3.91 add rsi,r8 add rdi,r8 sub rdx,r8 73: mov r8,rdx shr r8,0x6 7a: vmovdqu32 zmm0,ZMMWORD PTR [rsi] 22.66 vmovdqu32 ZMMWORD PTR [rdi],zmm0 18.75 add rdi,0x40 6.25 add rsi,0x40 dec r8 3.12 ↑ jne 7a and rdx,0x3f cmp rdx,0x10 ↓ jbe ab 9d: vmovups xmm0,XMMWORD PTR [rsi] 1.56 vmovups XMMWORD PTR [rdi],xmm0 3.12 cmp rdx,0x20 ↓ ja ba ab: vmovups xmm0,XMMWORD PTR [rax-0x10] 4.69 vmovups XMMWORD PTR [rcx-0x10],xmm0 4.69 b5: vzeroupper 0.78 pop rbp 1.56 ← ret ba: vmovups xmm0,XMMWORD PTR [rsi+0x10] vmovups XMMWORD PTR [rdi+0x10],xmm0 0.78 cmp rdx,0x30 0.78 ↑ jbe ab vmovups xmm0,XMMWORD PTR [rsi+0x20] 0.78 vmovups XMMWORD PTR [rdi+0x20],xmm0 ↑ jmp ab d6: test dl,0x18 ↓ je eb mov rdx,QWORD PTR [rsi] mov QWORD PTR [rdi],rdx mov rsi,QWORD PTR [rax-0x8] 3.91 mov QWORD PTR [rcx-0x8],rsi ↑ jmp b5 eb: test dl,0x4 ↓ je fc mov esi,DWORD PTR [rsi] mov DWORD PTR [rdi],esi mov edi,DWORD PTR [rax-0x4] mov DWORD PTR [rcx-0x4],edi ↑ jmp b5 fc: test rdx,rdx ↑ je b5 rex movzx esi,BYTE PTR [rsi] mov BYTE PTR [rdi],sil test dl,0x2 ↑ je b5 movsx rdi,WORD PTR [rax-0x2] mov WORD PTR [rcx-0x2],di ↑ jmp b5 118: cmp rdi,rsi ↓ jne 122 cmp BYTE PTR [rsi],sil ↑ jmp b5 122: cmp BYTE PTR [rdi],dil cmp BYTE PTR [rsi],sil movabs rax,0x732f27b46748 vzeroupper pop rbp rex.W jmp QWORD PTR [rax]