-
-
Save EgorBot/ad4db5cbd12ab4274e164c37ed170334 to your computer and use it in GitHub Desktop.
diff_asm_50a6e111.asm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1]() /tmp/jitted-47883-2720.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1]>: | |
instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1](): | |
0.35 push rbp | |
0.01 push r15 | |
0.00 push r14 | |
0.01 push r13 | |
push r12 | |
0.00 push rbx | |
0.02 sub rsp,0x108 | |
0.39 lea rbp,[rsp+0x130] | |
0.00 xor eax,eax | |
0.00 mov QWORD PTR [rbp-0xd8],rax | |
0.02 vxorps xmm8,xmm8,xmm8 | |
0.01 vmovdqu YMMWORD PTR [rbp-0xd0],ymm8 | |
0.08 vmovdqu YMMWORD PTR [rbp-0xb0],ymm8 | |
0.00 vmovdqu YMMWORD PTR [rbp-0x90],ymm8 | |
0.11 vmovdqu YMMWORD PTR [rbp-0x70],ymm8 | |
0.31 vmovdqu YMMWORD PTR [rbp-0x50],ymm8 | |
0.02 mov QWORD PTR [rbp-0x30],rax | |
0.08 mov QWORD PTR [rbp-0x128],rsp | |
0.03 mov rbx,rdi | |
0.00 mov r15,QWORD PTR [rbx+0x8] | |
0.19 mov rdi,QWORD PTR [r15+0x8] | |
1.20 mov r14d,DWORD PTR [r15+0x10] | |
0.22 test rdi,rdi | |
0.27 ↓ je 1eb3 | |
cmp DWORD PTR [rdi+0x8],r14d | |
1.66 ↓ jb 1eb8 | |
0.33 add rdi,0x10 | |
7a: mov esi,r14d | |
movabs rax,0x789023385788 | |
→ call QWORD PTR [rax] | |
0.31 xor edi,edi | |
0.02 mov DWORD PTR [r15+0x10],edi | |
0.00 mov r13,QWORD PTR [rbx+0x8] | |
0.02 cmp BYTE PTR [rbx+0x64],0x0 | |
0.03 setne r12b | |
0.02 movzx r12d,r12b | |
0.03 cmp BYTE PTR [rbx+0x65],0x0 | |
0.25 ↓ jne 1ecf | |
0.00 and r12d,0xfffffffd | |
0.04 ad: movabs rdi,0x789023910520 | |
0.01 → call instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1]+0x7e2f5400 | |
0.05 mov r15,rax | |
test r13,r13 | |
0.01 ↓ je 1f06 | |
lea rdi,[r15+0x8] | |
mov rsi,r13 | |
0.19 → call instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1]+0x7e458d60 | |
0.08 xor edi,edi | |
0.05 mov QWORD PTR [r15+0x68],rdi | |
0.02 mov DWORD PTR [r15+0x70],edi | |
0.01 mov DWORD PTR [r15+0x74],r12d | |
0.04 mov edi,0x9 | |
0.29 mov esi,0x20 | |
test BYTE PTR [r15+0x74],0x8 | |
1.29 cmove edi,esi | |
0.30 mov BYTE PTR [r15+0x3b],dil | |
0.02 mov eax,r12d | |
and eax,0x7f0 | |
0.00 sar eax,0x4 | |
0.01 ↓ jne 1ed8 | |
0.02 mov ecx,0x2 | |
10e: mov DWORD PTR [r15+0x2c],ecx | |
0.02 test r12b,0x4 | |
0.30 ↓ jne 1ee5 | |
movabs rdx,0x789098401c40 | |
0.02 126: mov edi,DWORD PTR [rdx+0x8] | |
0.01 mov DWORD PTR [r15+0x30],edi | |
0.01 mov DWORD PTR [r15+0x70],0x3e8 | |
0.01 mov r13,r15 | |
0.03 mov QWORD PTR [rbp-0xf0],r13 | |
0.01 mov edi,DWORD PTR [r15+0x28] | |
0.02 and edi,0x7fffffff | |
0.29 cmp edi,DWORD PTR [r15+0x70] | |
0.16 ↓ jge 1e72 | |
0.13 mov r14d,DWORD PTR [r15+0x74] | |
mov esi,r14d | |
0.00 and esi,0x3 | |
0.01 cmp esi,0x2 | |
0.01 ↓ je 14aa | |
test r14b,0x1 | |
0.01 ↓ jne 1443 | |
cmp BYTE PTR [r15+0x38],0x0 | |
0.14 ↓ jne 1009 | |
0.02 test edi,edi | |
0.13 ↓ jne 18a | |
cmp BYTE PTR [r15+0x3a],0x0 | |
0.00 ↓ jne 1201 | |
0.02 18a: lea r14,[r15+0x50] | |
0.02 cmp DWORD PTR [r14+0x10],0x40 | |
0.02 ↓ jge 1220 | |
0.02 mov rdi,QWORD PTR [r14+0x8] | |
0.18 add rdi,rdi | |
0.02 or rdi,0x1 | |
0.10 mov QWORD PTR [r14+0x8],rdi | |
0.01 1a8: inc DWORD | |
0.02 mov BYTE PTR [r15+0x38],0x1 | |
0.02 mov edi,DWORD PTR [r15+0x4c] | |
0.02 mov esi,edi | |
0.02 sub esi,DWORD PTR [r15+0x34] | |
0.15 cmp esi,0x2 | |
0.01 ↓ jge 253 | |
test edi,edi | |
0.12 ↓ jne 132b | |
cmp QWORD PTR [r15+0x10],0x0 | |
0.01 ↓ jne 12f5 | |
0.03 mov rdi,QWORD PTR [r15+0x8] | |
0.03 mov r12,rdi | |
0.02 movabs rdi,0x7890238589d0 | |
0.02 cmp QWORD PTR [r12],rdi | |
0.34 ↓ jne 12c7 | |
0.09 mov rdi,QWORD PTR [r12+0x8] | |
0.14 mov edi,DWORD PTR [rdi+0x8] | |
0.82 sub edi,DWORD PTR [r12+0x10] | |
0.32 cmp edi,0x100 | |
0.28 ↓ jl 1239 | |
20b: mov rsi,QWORD PTR [r12+0x8] | |
0.01 mov r14d,DWORD PTR [r12+0x10] | |
0.01 test rsi,rsi | |
0.03 ↓ je 12b1 | |
cmp DWORD PTR [rsi+0x8],r14d | |
0.52 ↓ jb 1e3f | |
0.00 mov r15d,DWORD PTR [rsi+0x8] | |
0.08 sub r15d,r14d | |
0.06 22f: lea r12,[r13+0x40] | |
0.10 mov rdi,r12 | |
→ call instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1]+0x7e458d60 | |
0.03 mov DWORD PTR [r12+0x8],r14d | |
0.17 mov DWORD PTR [r12+0xc],r15d | |
0.14 cmp DWORD PTR [r13+0x4c],0x100 | |
1.94 ↓ jl 1390 | |
0.32 253: lea r12,[r13+0x40] | |
0.03 xor esi,esi | |
xor eax,eax | |
mov rdi,QWORD PTR [r12] | |
test rdi,rdi | |
0.04 ↓ je 29f | |
mov rsi,QWORD PTR [rdi] | |
0.37 test DWORD PTR [rsi],0x80000000 | |
1.40 ↓ je 13ef | |
lea rsi,[rdi+0x10] | |
0.03 mov eax,DWORD PTR [rdi+0x8] | |
0.01 27a: mov edx,DWORD PTR [r12+0x8] | |
and edx,0x7fffffff | |
0.00 mov edi,DWORD PTR [r12+0xc] | |
0.00 mov ecx,edi | |
0.00 add rcx,rdx | |
0.01 mov eax,eax | |
0.28 cmp rcx,rax | |
0.03 ↓ ja 1e3f | |
add rsi,rdx | |
0.01 mov eax,edi | |
29f: cmp DWORD PTR [r13+0x28],0x0 | |
↓ jl 1403 | |
2aa: mov ecx,DWORD PTR [r13+0x34] | |
0.01 lea edx,[rcx+0x1] | |
0.00 mov DWORD PTR [r13+0x34],edx | |
0.31 cmp ecx,eax | |
0.04 ↓ jae 1e4c | |
mov edx,ecx | |
mov BYTE PTR [rsi+rdx*1],0x7b | |
0.09 2c3: mov esi,DWORD PTR [r13+0x28] | |
0.03 and esi,0x7fffffff | |
0.00 mov DWORD PTR [r13+0x28],esi | |
0.01 inc esi | |
0.01 mov DWORD PTR [r13+0x28],esi | |
0.25 mov BYTE PTR [r13+0x3a],0x1 | |
0.04 mov rsi,QWORD PTR [rbx+0x30] | |
0.01 test rsi,rsi | |
0.03 ↓ je 1019 | |
lea r12,[rsi+0x10] | |
mov r15d,DWORD PTR [rsi+0x8] | |
0.04 2f1: cmp r15d,0x9ef21aa | |
0.03 ↓ jg 1e62 | |
mov rdi,QWORD PTR [r13+0x68] | |
0.00 movabs rsi,0x78500c001388 | |
0.22 test rdi,rdi | |
0.03 cmove rdi,QWORD PTR [rsi] | |
0.03 movabs r14,0x7890239146a0 | |
0.03 cmp QWORD PTR [rdi],r14 | |
0.24 ↓ jne 14c3 | |
mov rsi,r12 | |
0.00 mov edx,r15d | |
mov rdi,QWORD PTR [rdi+0x8] | |
0.22 movabs rax,0x78902386f600 | |
0.02 cmp DWORD PTR [rdi],edi | |
0.47 → call QWORD PTR [rax] | |
0.26 33e: cmp eax,0xffffffff | |
0.02 ↓ jne 1515 | |
mov esi,DWORD PTR [r13+0x74] | |
0.01 test sil,0x2 | |
0.03 ↓ jne 367 | |
cmp BYTE PTR [r13+0x38],0x0 | |
0.04 ↓ je 14d7 | |
0.04 cmp BYTE PTR [r13+0x3a],0x5 | |
0.04 ↓ je 14d7 | |
0.22 367: test sil,0x1 | |
0.00 ↓ jne 14f6 | |
mov rsi,r12 | |
0.03 mov edx,r15d | |
mov rdi,r13 | |
0.02 mov ecx,0x2a | |
movabs rax,0x78902386f7f8 | |
0.02 → call QWORD PTR [rax] | |
0.28 38b: or DWORD PTR [r13+0x28],0x80000000 | |
0.25 mov BYTE PTR [r13+0x3a],0x8 | |
0.02 mov rdi,QWORD PTR [rbx+0x20] | |
0.07 test rdi,rdi | |
0.02 ↓ je 1024 | |
lea r15,[rdi+0x10] | |
0.01 mov r12d,DWORD PTR [rdi+0x8] | |
0.26 3ad: movabs rax,0x789098409e2c | |
0.18 mov QWORD PTR [rbp-0x108],rax | |
0.03 cmp r12d,0x9ef21aa | |
0.08 ↓ jg 102f | |
0.00 3cb: lea rsi,[r13+0x68] | |
0.00 mov rdi,QWORD PTR [rsi] | |
0.13 mov QWORD PTR [rbp-0x78],rax | |
0.00 mov rsi,rax | |
0.01 movabs rdx,0x78500c001388 | |
0.03 test rdi,rdi | |
0.19 cmove rdi,QWORD PTR [rdx] | |
0.05 cmp QWORD PTR [rdi],r14 | |
0.65 ↓ jne 1537 | |
0.11 mov rdi,QWORD PTR [rdi+0x8] | |
0.20 cmp BYTE PTR [rdi],dil | |
0.92 mov edx,0x4 | |
0.00 movabs rcx,0x78902386f9c0 | |
0.01 → call QWORD PTR [rcx] | |
0.07 40b: mov DWORD PTR [rbp-0x6c],eax | |
xor esi,esi | |
mov QWORD PTR [rbp-0x78],rsi | |
mov rdi,QWORD PTR [r13+0x68] | |
0.01 movabs rsi,0x78500c001388 | |
0.28 test rdi,rdi | |
cmove rdi,QWORD PTR [rsi] | |
0.08 cmp QWORD PTR [rdi],r14 | |
0.04 ↓ jne 154f | |
0.01 mov rsi,r15 | |
mov edx,r12d | |
mov rdi,QWORD PTR [rdi+0x8] | |
0.02 movabs rax,0x78902386f600 | |
0.22 cmp DWORD PTR [rdi],edi | |
0.14 → call QWORD PTR [rax] | |
0.00 44a: mov r9d,DWORD PTR [rbp-0x6c] | |
0.01 lea ecx,[r9+rax*1] | |
0.00 cmp ecx,0xfffffffe | |
0.19 ↓ jne 15a9 | |
mov ecx,DWORD PTR [r13+0x74] | |
0.01 test cl,0x2 | |
0.01 ↓ jne 47a | |
cmp BYTE PTR [r13+0x38],0x0 | |
0.15 ↓ je 1563 | |
0.01 cmp BYTE PTR [r13+0x3a],0x5 | |
0.01 ↓ je 1563 | |
0.01 47a: test cl,0x1 | |
↓ jne 1582 | |
mov rcx,QWORD PTR [rbp-0x108] | |
0.18 mov r8d,0x4 | |
mov rsi,r15 | |
0.00 mov edx,r12d | |
0.12 mov rdi,r13 | |
0.01 movabs rax,0x78902386fa50 | |
0.00 → call QWORD PTR [rax] | |
4a5: or DWORD PTR [r13+0x28],0x80000000 | |
0.02 mov BYTE PTR [r13+0x3a],0x7 | |
mov rdi,QWORD PTR [rbx+0x28] | |
0.00 test rdi,rdi | |
0.00 ↓ je 1056 | |
0.00 lea r12,[rdi+0x10] | |
0.01 mov r15d,DWORD PTR [rdi+0x8] | |
0.38 4c7: movabs rax,0x789098409e4c | |
mov QWORD PTR [rbp-0x110],rax | |
0.00 cmp r15d,0x9ef21aa | |
0.03 ↓ jg 1061 | |
0.00 4e5: lea rsi,[r13+0x68] | |
0.00 mov rdi,QWORD PTR [rsi] | |
0.00 mov QWORD PTR [rbp-0x88],rax | |
0.00 mov rsi,rax | |
0.01 movabs rdx,0x78500c001388 | |
0.31 test rdi,rdi | |
0.00 cmove rdi,QWORD PTR [rdx] | |
0.00 cmp QWORD PTR [rdi],r14 | |
0.13 ↓ jne 15db | |
0.05 mov rdi,QWORD PTR [rdi+0x8] | |
0.02 cmp BYTE PTR [rdi],dil | |
0.48 mov edx,0x5 | |
0.00 movabs rcx,0x78902386f9c0 | |
0.17 → call QWORD PTR [rcx] | |
0.00 528: mov DWORD PTR [rbp-0x7c],eax | |
0.17 xor esi,esi | |
mov QWORD PTR [rbp-0x88],rsi | |
0.00 mov rdi,QWORD PTR [r13+0x68] | |
0.17 movabs rsi,0x78500c001388 | |
test rdi,rdi | |
cmove rdi,QWORD PTR [rsi] | |
0.01 cmp QWORD PTR [rdi],r14 | |
0.13 ↓ jne 15f3 | |
0.07 mov rsi,r12 | |
mov edx,r15d | |
mov rdi,QWORD PTR [rdi+0x8] | |
0.15 movabs rax,0x78902386f600 | |
cmp DWORD PTR [rdi],edi | |
0.16 → call QWORD PTR [rax] | |
0.00 56a: mov r9d,DWORD PTR [rbp-0x7c] | |
0.13 lea ecx,[r9+rax*1] | |
cmp ecx,0xfffffffe | |
↓ jne 164d | |
mov ecx,DWORD PTR [r13+0x74] | |
0.00 test cl,0x2 | |
↓ jne 59a | |
cmp BYTE PTR [r13+0x38],0x0 | |
0.23 ↓ je 1607 | |
0.01 cmp BYTE PTR [r13+0x3a],0x5 | |
0.00 ↓ je 1607 | |
0.14 59a: test cl,0x1 | |
0.00 ↓ jne 1626 | |
mov rcx,QWORD PTR [rbp-0x110] | |
0.00 mov r8d,0x5 | |
mov rsi,r12 | |
mov edx,r15d | |
0.22 mov rdi,r13 | |
0.01 movabs rax,0x78902386fa50 | |
0.00 → call QWORD PTR [rax] | |
5c5: mov edx,DWORD PTR [r13+0x28] | |
0.01 or edx,0x80000000 | |
0.01 mov DWORD PTR [r13+0x28],edx | |
0.00 mov BYTE PTR [r13+0x3a],0x7 | |
0.01 mov rdi,QWORD PTR [rbx+0x38] | |
0.05 test rdi,rdi | |
0.26 ↓ je 1088 | |
lea r15,[rdi+0x10] | |
0.00 mov r12d,DWORD PTR [rdi+0x8] | |
0.04 5ed: cmp r12d,0x9ef21aa | |
0.03 ↓ jg 1093 | |
mov edi,edx | |
0.00 and edi,0x7fffffff | |
0.00 cmp edi,DWORD PTR [r13+0x70] | |
0.01 ↓ jge 1093 | |
60c: mov rdi,QWORD PTR [r13+0x68] | |
0.07 movabs rsi,0x78500c001388 | |
0.27 test rdi,rdi | |
cmove rdi,QWORD PTR [rsi] | |
0.00 cmp QWORD PTR [rdi],r14 | |
0.15 ↓ jne 167f | |
mov rsi,r15 | |
mov edx,r12d | |
mov rdi,QWORD PTR [rdi+0x8] | |
0.10 movabs rax,0x78902386f600 | |
0.23 cmp DWORD PTR [rdi],edi | |
0.62 → call QWORD PTR [rax] | |
642: cmp eax,0xffffffff | |
0.17 ↓ jne 16ee | |
test BYTE PTR [r13+0x74],0x2 | |
0.02 ↓ jne 68b | |
0.06 cmp BYTE PTR [r13+0x38],0x0 | |
0.01 ↓ je 16b0 | |
0.11 cmp BYTE PTR [r13+0x3a],0x5 | |
0.01 ↓ je 16b0 | |
lea r8,[r13+0x50] | |
mov QWORD PTR [rbp-0xf8],r8 | |
0.18 cmp DWORD PTR [r8+0x10],0x40 | |
0.01 ↓ jge 1693 | |
0.06 shl QWORD PTR [r8+0x8],1 | |
0.12 682: inc DWORD | |
mov BYTE PTR [r13+0x38],0x0 | |
68b: test BYTE PTR [r13+0x74],0x1 | |
0.01 ↓ jne 16cf | |
0.17 mov rsi,r15 | |
0.01 mov edx,r12d | |
0.07 mov rdi,r13 | |
0.11 mov ecx,0x5b | |
0.00 movabs rax,0x78902386fb58 | |
→ call QWORD PTR [rax] | |
0.02 6b0: mov esi,DWORD PTR [r13+0x28] | |
0.01 and esi,0x7fffffff | |
0.01 mov DWORD PTR [r13+0x28],esi | |
inc esi | |
0.01 mov DWORD PTR [r13+0x28],esi | |
0.00 mov BYTE PTR [r13+0x3a],0x3 | |
0.33 movabs r12,0x789098409e6c | |
0.01 lea rsi,[r13+0x68] | |
mov rdi,QWORD PTR [rsi] | |
0.02 mov QWORD PTR [rbp-0x90],r12 | |
0.00 mov rsi,r12 | |
0.00 movabs rdx,0x78500c001388 | |
0.00 test rdi,rdi | |
cmove rdi,QWORD PTR [rdx] | |
0.33 cmp QWORD PTR [rdi],r14 | |
0.10 ↓ jne 1710 | |
mov rdi,QWORD PTR [rdi+0x8] | |
0.05 cmp BYTE PTR [rdi],dil | |
0.34 mov edx,0xc | |
movabs rax,0x78902386f9c0 | |
0.00 → call QWORD PTR [rax] | |
0.09 mov ecx,eax | |
718: xor esi,esi | |
mov QWORD PTR [rbp-0x90],rsi | |
cmp ecx,0xffffffff | |
0.20 ↓ jne 178b | |
mov eax,DWORD PTR [r13+0x74] | |
0.02 test al,0x2 | |
↓ jne 74b | |
cmp BYTE PTR [r13+0x38],0x0 | |
0.12 ↓ jne 10ae | |
0.00 test DWORD PTR [r13+0x28],0x7fffffff | |
0.00 ↓ je 1726 | |
74b: test al,0x1 | |
0.00 ↓ jne 176f | |
mov rsi,r12 | |
0.21 mov edx,0xc | |
0.04 mov rdi,r13 | |
movabs rax,0x78902386fc48 | |
0.10 → call QWORD PTR [rax] | |
0.00 76a: or DWORD PTR [r13+0x28],0x80000000 | |
0.01 mov BYTE PTR [r13+0x3a],0x7 | |
0.00 movabs r15,0x789098409e9c | |
lea rsi,[r13+0x68] | |
mov rdi,QWORD PTR [rsi] | |
0.01 mov QWORD PTR [rbp-0x98],r15 | |
0.36 mov rsi,r15 | |
movabs rdx,0x78500c001388 | |
test rdi,rdi | |
0.01 cmove rdi,QWORD PTR [rdx] | |
0.01 cmp QWORD PTR [rdi],r14 | |
0.26 ↓ jne 17a7 | |
mov rdi,QWORD PTR [rdi+0x8] | |
0.03 cmp BYTE PTR [rdi],dil | |
0.71 mov edx,0xc | |
movabs rax,0x78902386f9c0 | |
→ call QWORD PTR [rax] | |
0.23 mov ecx,eax | |
7c6: xor esi,esi | |
mov QWORD PTR [rbp-0x98],rsi | |
cmp ecx,0xffffffff | |
0.08 ↓ jne 1822 | |
mov eax,DWORD PTR [r13+0x74] | |
0.01 test al,0x2 | |
↓ jne 7f9 | |
cmp BYTE PTR [r13+0x38],0x0 | |
0.24 ↓ jne 10be | |
test DWORD PTR [r13+0x28],0x7fffffff | |
0.00 ↓ je 17bd | |
0.00 7f9: test al,0x1 | |
↓ jne 1806 | |
mov rsi,r15 | |
0.09 mov edx,0xc | |
0.01 mov rdi,r13 | |
movabs rax,0x78902386fc48 | |
0.19 → call QWORD PTR [rax] | |
0.01 818: or DWORD PTR [r13+0x28],0x80000000 | |
0.01 mov BYTE PTR [r13+0x3a],0x7 | |
0.00 mov eax,DWORD PTR [r13+0x74] | |
0.01 mov edi,eax | |
0.00 and edi,0x3 | |
cmp edi,0x2 | |
0.37 ↓ je 189c | |
test al,0x1 | |
0.00 ↓ jne 186b | |
mov rdi,r13 | |
mov esi,0x5d | |
0.00 movabs rax,0x78902386fca8 | |
→ call QWORD PTR [rax] | |
0.03 mov esi,DWORD PTR [r13+0x4c] | |
sub esi,DWORD PTR [r13+0x34] | |
0.01 test esi,esi | |
0.02 ↓ jle 183e | |
863: lea r15,[r13+0x40] | |
0.26 xor esi,esi | |
0.01 xor eax,eax | |
mov rdi,QWORD PTR [r15] | |
0.01 test rdi,rdi | |
↓ je 8ac | |
mov rsi,QWORD PTR [rdi] | |
0.04 test DWORD PTR [rsi],0x80000000 | |
0.43 ↓ je 1857 | |
0.02 lea rsi,[rdi+0x10] | |
0.05 mov eax,DWORD PTR [rdi+0x8] | |
0.16 889: mov edx,DWORD PTR [r15+0x8] | |
and edx,0x7fffffff | |
mov edi,DWORD PTR [r15+0xc] | |
0.01 mov ecx,edi | |
add rcx,rdx | |
0.00 mov eax,eax | |
0.13 cmp rcx,rax | |
0.07 ↓ ja 1e3f | |
add rsi,rdx | |
0.15 mov eax,edi | |
8ac: mov edx,DWORD PTR [r13+0x34] | |
0.00 lea edi,[rdx+0x1] | |
0.00 mov DWORD PTR [r13+0x34],edi | |
cmp edx,eax | |
0.00 ↓ jae 1e4c | |
0.01 mov BYTE PTR [rsi+rdx*1],0x5d | |
0.17 8c3: mov esi,DWORD PTR [r13+0x28] | |
0.05 or esi,0x80000000 | |
0.14 mov DWORD PTR [r13+0x28],esi | |
test esi,0x7fffffff | |
0.00 ↓ je 8df | |
dec esi | |
0.00 mov DWORD PTR [r13+0x28],esi | |
8df: mov BYTE PTR [r13+0x3a],0x4 | |
0.01 mov rsi,QWORD PTR [rbx+0x40] | |
0.11 test rsi,rsi | |
0.08 ↓ je 10ce | |
0.01 lea r15,[rsi+0x10] | |
0.13 mov r12d,DWORD PTR [rsi+0x8] | |
0.02 8f9: cmp r12d,0x9ef21aa | |
0.01 ↓ jg 10d9 | |
mov esi,DWORD PTR [r13+0x28] | |
0.11 and esi,0x7fffffff | |
0.04 cmp esi,DWORD PTR [r13+0x70] | |
0.08 ↓ jge 10d9 | |
0.01 91a: mov rdi,QWORD PTR [r13+0x68] | |
0.11 movabs rsi,0x78500c001388 | |
0.04 test rdi,rdi | |
0.11 cmove rdi,QWORD PTR [rsi] | |
0.01 cmp QWORD PTR [rdi],r14 | |
0.20 ↓ jne 18b5 | |
mov rsi,r15 | |
0.01 mov edx,r12d | |
0.04 mov rdi,QWORD PTR [rdi+0x8] | |
0.16 movabs rax,0x78902386f600 | |
0.05 cmp DWORD PTR [rdi],edi | |
0.67 → call QWORD PTR [rax] | |
0.19 950: cmp eax,0xffffffff | |
0.01 ↓ jne 1927 | |
test BYTE PTR [r13+0x74],0x2 | |
0.03 ↓ jne 9a4 | |
0.01 cmp BYTE PTR [r13+0x38],0x0 | |
0.04 ↓ je 18e9 | |
0.09 cmp BYTE PTR [r13+0x3a],0x5 | |
0.03 ↓ je 18e9 | |
0.20 lea r8,[r13+0x50] | |
mov QWORD PTR [rbp-0x100],r8 | |
0.01 cmp DWORD PTR [r8+0x10],0x40 | |
0.00 ↓ jge 18c9 | |
0.02 mov rsi,QWORD PTR [r8+0x8] | |
0.00 add rsi,rsi | |
0.08 or rsi,0x1 | |
0.02 mov QWORD PTR [r8+0x8],rsi | |
0.19 99b: inc DWORD | |
0.00 mov BYTE PTR [r13+0x38],0x1 | |
0.02 9a4: test BYTE PTR [r13+0x74],0x1 | |
0.02 ↓ jne 1908 | |
0.03 mov rsi,r15 | |
0.00 mov edx,r12d | |
0.07 mov rdi,r13 | |
0.02 mov ecx,0x7b | |
0.19 movabs rax,0x78902386fb58 | |
0.00 → call QWORD PTR [rax] | |
0.01 9c9: mov esi,DWORD PTR [r13+0x28] | |
0.01 and esi,0x7fffffff | |
0.00 mov DWORD PTR [r13+0x28],esi | |
inc esi | |
0.01 mov DWORD PTR [r13+0x28],esi | |
mov BYTE PTR [r13+0x3a],0x1 | |
0.34 mov rsi,QWORD PTR [rbx+0x48] | |
0.01 test rsi,rsi | |
↓ je 10f8 | |
lea r15,[rsi+0x10] | |
mov r12d,DWORD PTR [rsi+0x8] | |
0.02 9f7: movabs rax,0x789098409ecc | |
mov QWORD PTR [rbp-0x118],rax | |
0.01 cmp r12d,0x9ef21aa | |
0.00 ↓ jg 1103 | |
a15: lea rsi,[r13+0x68] | |
0.30 mov rdi,QWORD PTR [rsi] | |
0.01 mov QWORD PTR [rbp-0xa8],rax | |
0.00 mov rsi,rax | |
movabs rdx,0x78500c001388 | |
0.00 test rdi,rdi | |
0.00 cmove rdi,QWORD PTR [rdx] | |
0.02 cmp QWORD PTR [rdi],r14 | |
0.14 ↓ jne 1949 | |
0.33 mov rdi,QWORD PTR [rdi+0x8] | |
0.05 cmp BYTE PTR [rdi],dil | |
0.19 mov edx,0xf | |
movabs rcx,0x78902386f9c0 | |
→ call QWORD PTR [rcx] | |
a58: mov DWORD PTR [rbp-0x9c],eax | |
0.01 xor esi,esi | |
0.18 mov QWORD PTR [rbp-0xa8],rsi | |
0.01 mov rdi,QWORD PTR [r13+0x68] | |
0.01 movabs rsi,0x78500c001388 | |
test rdi,rdi | |
0.14 cmove rdi,QWORD PTR [rsi] | |
0.01 cmp QWORD PTR [rdi],r14 | |
0.06 ↓ jne 1961 | |
0.02 mov rsi,r15 | |
0.20 mov edx,r12d | |
mov rdi,QWORD PTR [rdi+0x8] | |
0.02 movabs rax,0x78902386f600 | |
cmp DWORD PTR [rdi],edi | |
0.29 → call QWORD PTR [rax] | |
0.19 a9d: mov r9d,DWORD PTR [rbp-0x9c] | |
0.00 lea ecx,[r9+rax*1] | |
cmp ecx,0xfffffffe | |
0.18 ↓ jne 19bb | |
mov ecx,DWORD PTR [r13+0x74] | |
test cl,0x2 | |
0.00 ↓ jne ad0 | |
cmp BYTE PTR [r13+0x38],0x0 | |
0.01 ↓ je 1975 | |
0.17 cmp BYTE PTR [r13+0x3a],0x5 | |
0.00 ↓ je 1975 | |
0.01 ad0: test cl,0x1 | |
↓ jne 1994 | |
mov rcx,QWORD PTR [rbp-0x118] | |
0.17 mov r8d,0xf | |
mov rsi,r15 | |
0.00 mov edx,r12d | |
0.00 mov rdi,r13 | |
0.19 movabs rax,0x78902386fa50 | |
→ call QWORD PTR [rax] | |
afb: or DWORD PTR [r13+0x28],0x80000000 | |
0.01 mov BYTE PTR [r13+0x3a],0x7 | |
0.00 mov rsi,QWORD PTR [rbx+0x50] | |
test rsi,rsi | |
0.00 ↓ je 112a | |
lea r12,[rsi+0x10] | |
0.01 mov r15d,DWORD PTR [rsi+0x8] | |
0.32 b1d: movabs rax,0x789098409f04 | |
mov QWORD PTR [rbp-0x120],rax | |
cmp r15d,0x9ef21aa | |
0.01 ↓ jg 1135 | |
b3b: lea rsi,[r13+0x68] | |
0.00 mov rdi,QWORD PTR [rsi] | |
0.00 mov QWORD PTR [rbp-0xb8],rax | |
0.00 mov rsi,rax | |
0.01 movabs rdx,0x78500c001388 | |
0.34 test rdi,rdi | |
0.00 cmove rdi,QWORD PTR [rdx] | |
0.01 cmp QWORD PTR [rdi],r14 | |
0.09 ↓ jne 19f0 | |
mov rdi,QWORD PTR [rdi+0x8] | |
0.01 cmp BYTE PTR [rdi],dil | |
0.28 mov edx,0x7 | |
0.01 movabs rcx,0x78902386f9c0 | |
0.23 → call QWORD PTR [rcx] | |
0.01 b7e: mov DWORD PTR [rbp-0xac],eax | |
0.00 xor esi,esi | |
mov QWORD PTR [rbp-0xb8],rsi | |
0.18 mov rdi,QWORD PTR [r13+0x68] | |
0.01 movabs rsi,0x78500c001388 | |
0.01 test rdi,rdi | |
0.13 cmove rdi,QWORD PTR [rsi] | |
cmp QWORD PTR [rdi],r14 | |
0.08 ↓ jne 1a08 | |
mov rsi,r12 | |
mov edx,r15d | |
0.16 mov rdi,QWORD PTR [rdi+0x8] | |
0.02 movabs rax,0x78902386f600 | |
0.00 cmp DWORD PTR [rdi],edi | |
0.42 → call QWORD PTR [rax] | |
0.03 bc3: mov r9d,DWORD PTR [rbp-0xac] | |
0.16 lea ecx,[r9+rax*1] | |
cmp ecx,0xfffffffe | |
↓ jne 1a62 | |
mov ecx,DWORD PTR [r13+0x74] | |
test cl,0x2 | |
0.02 ↓ jne bf6 | |
cmp BYTE PTR [r13+0x38],0x0 | |
0.13 ↓ je 1a1c | |
0.02 cmp BYTE PTR [r13+0x3a],0x5 | |
0.00 ↓ je 1a1c | |
0.19 bf6: test cl,0x1 | |
↓ jne 1a3b | |
mov rcx,QWORD PTR [rbp-0x120] | |
mov r8d,0x7 | |
mov rsi,r12 | |
0.03 mov edx,r15d | |
0.13 mov rdi,r13 | |
0.04 movabs rax,0x78902386fa50 | |
→ call QWORD PTR [rax] | |
0.00 c21: or DWORD PTR [r13+0x28],0x80000000 | |
0.01 mov BYTE PTR [r13+0x3a],0x7 | |
mov rsi,QWORD PTR [rbx+0x58] | |
test rsi,rsi | |
0.00 ↓ je 115c | |
lea r15,[rsi+0x10] | |
0.02 mov r12d,DWORD PTR [rsi+0x8] | |
0.35 c43: cmp r12d,0x9ef21aa | |
0.01 ↓ jg 1e52 | |
mov rdi,QWORD PTR [r13+0x68] | |
movabs rsi,0x78500c001388 | |
0.01 test rdi,rdi | |
0.00 cmove rdi,QWORD PTR [rsi] | |
0.00 cmp QWORD PTR [rdi],r14 | |
0.07 ↓ jne 1a97 | |
0.00 mov rsi,r15 | |
0.29 mov edx,r12d | |
0.01 mov rdi,QWORD PTR [rdi+0x8] | |
0.01 movabs rax,0x78902386f600 | |
0.00 cmp DWORD PTR [rdi],edi | |
0.21 → call QWORD PTR [rax] | |
0.27 c86: cmp eax,0xffffffff | |
0.01 ↓ jne 1ae9 | |
mov esi,DWORD PTR [r13+0x74] | |
0.00 test sil,0x2 | |
0.02 ↓ jne caf | |
cmp BYTE PTR [r13+0x38],0x0 | |
0.01 ↓ je 1aab | |
0.02 cmp BYTE PTR [r13+0x3a],0x5 | |
0.03 ↓ je 1aab | |
0.26 caf: test sil,0x1 | |
↓ jne 1aca | |
mov rsi,r15 | |
0.02 mov edx,r12d | |
mov rdi,r13 | |
0.03 mov ecx,0x17f04 | |
0.00 movabs rax,0x78902386f7f8 | |
0.02 → call QWORD PTR [rax] | |
0.08 cd3: or DWORD PTR [r13+0x28],0x80000000 | |
0.13 mov BYTE PTR [r13+0x3a],0x8 | |
0.16 mov r15d,DWORD PTR [r13+0x74] | |
0.05 mov edi,r15d | |
0.01 and edi,0x3 | |
0.01 cmp edi,0x2 | |
0.02 ↓ je 1b6b | |
test r15b,0x1 | |
0.07 ↓ jne 1b38 | |
mov rdi,r13 | |
mov esi,0x7d | |
0.08 movabs rax,0x78902386fca8 | |
0.16 → call QWORD PTR [rax] | |
0.09 mov esi,DWORD PTR [r13+0x4c] | |
0.02 sub esi,DWORD PTR [r13+0x34] | |
0.01 test esi,esi | |
0.07 ↓ jle 1b0b | |
d21: lea r15,[r13+0x40] | |
0.14 xor r12d,r12d | |
0.02 xor eax,eax | |
0.00 mov rdi,QWORD PTR [r15] | |
0.13 test rdi,rdi | |
0.01 ↓ je d6b | |
mov rax,QWORD PTR [rdi] | |
0.17 test DWORD PTR [rax],0x80000000 | |
0.63 ↓ je 1b24 | |
lea r12,[rdi+0x10] | |
0.02 mov eax,DWORD PTR [rdi+0x8] | |
0.16 d48: mov esi,DWORD PTR [r15+0x8] | |
0.01 and esi,0x7fffffff | |
0.00 mov edx,DWORD PTR [r15+0xc] | |
0.04 mov edi,edx | |
add rdi,rsi | |
0.00 mov eax,eax | |
0.16 cmp rdi,rax | |
0.07 ↓ ja 1e3f | |
add r12,rsi | |
0.12 mov eax,edx | |
0.01 d6b: mov esi,DWORD PTR [r13+0x34] | |
0.00 lea edx,[rsi+0x1] | |
0.03 mov DWORD PTR [r13+0x34],edx | |
cmp esi,eax | |
↓ jae 1e4c | |
mov BYTE PTR [r12+rsi*1],0x7d | |
0.17 d83: mov esi,DWORD PTR [r13+0x28] | |
0.05 or esi,0x80000000 | |
0.09 mov DWORD PTR [r13+0x28],esi | |
0.00 test esi,0x7fffffff | |
0.01 ↓ je d9f | |
dec esi | |
0.02 mov DWORD PTR [r13+0x28],esi | |
0.00 d9f: mov BYTE PTR [r13+0x3a],0x2 | |
0.00 mov rsi,QWORD PTR [rbx+0x18] | |
0.15 test rsi,rsi | |
0.06 ↓ je 1167 | |
lea r15,[rsi+0x10] | |
0.10 mov r12d,DWORD PTR [rsi+0x8] | |
0.04 db9: cmp r12d,0x9ef21aa | |
0.02 ↓ jg 1172 | |
mov esi,DWORD PTR [r13+0x28] | |
0.17 and esi,0x7fffffff | |
0.07 cmp esi,DWORD PTR [r13+0x70] | |
0.07 ↓ jge 1172 | |
dda: mov rdi,QWORD PTR [r13+0x68] | |
0.11 movabs rsi,0x78500c001388 | |
0.03 test rdi,rdi | |
0.08 cmove rdi,QWORD PTR [rsi] | |
0.01 cmp QWORD PTR [rdi],r14 | |
0.28 ↓ jne 1b84 | |
mov rsi,r15 | |
mov edx,r12d | |
0.05 mov rdi,QWORD PTR [rdi+0x8] | |
0.16 movabs rax,0x78902386f600 | |
0.04 cmp DWORD PTR [rdi],edi | |
0.73 → call QWORD PTR [rax] | |
0.09 e10: cmp eax,0xffffffff | |
0.25 ↓ jne 1bec | |
test BYTE PTR [r13+0x74],0x2 | |
0.02 ↓ jne e52 | |
0.01 cmp BYTE PTR [r13+0x38],0x0 | |
0.06 ↓ je 1bae | |
0.01 cmp BYTE PTR [r13+0x3a],0x5 | |
0.03 ↓ je 1bae | |
0.08 lea r14,[r13+0x50] | |
cmp DWORD PTR [r14+0x10],0x40 | |
0.26 ↓ jge 1b98 | |
0.01 shl QWORD PTR [r14+0x8],1 | |
0.02 e49: inc DWORD | |
0.02 mov BYTE PTR [r13+0x38],0x0 | |
0.02 e52: test BYTE PTR [r13+0x74],0x1 | |
0.08 ↓ jne 1bcd | |
0.02 mov rsi,r15 | |
0.21 mov edx,r12d | |
0.01 mov rdi,r13 | |
0.01 mov ecx,0x5b | |
movabs rax,0x78902386fb58 | |
0.01 → call QWORD PTR [rax] | |
0.01 e77: and DWORD PTR [r13+0x28],0x7fffffff | |
0.02 inc DWORD | |
0.27 mov BYTE PTR [r13+0x3a],0x3 | |
0.03 xor r15d,r15d | |
0.00 cmp DWORD PTR [rbx+0x60],0x0 | |
0.01 ↓ jle fd7 | |
0.28 e95: mov rsi,QWORD PTR [rbx+0x10] | |
0.01 cmp r15d,DWORD PTR [rsi+0x8] | |
0.25 ↓ jae 1e4c | |
0.01 mov esi,DWORD PTR [rsi+r15*4+0x10] | |
3.03 movsxd r12,esi | |
0.29 test BYTE PTR [r13+0x74],0x2 | |
0.03 ↓ jne ecb | |
0.02 cmp BYTE PTR [r13+0x38],0x0 | |
0.03 ↓ jne 1191 | |
0.31 test DWORD PTR [r13+0x28],0x7fffffff | |
0.30 ↓ je 1c0e | |
0.11 ecb: test BYTE PTR [r13+0x74],0x1 | |
2.67 ↓ jne 11ea | |
0.31 mov esi,DWORD PTR [r13+0x4c] | |
0.02 sub esi,DWORD PTR [r13+0x34] | |
0.38 cmp esi,0x15 | |
0.34 ↓ jl 1c57 | |
ee7: lea r14,[r13+0x40] | |
0.12 xor esi,esi | |
0.00 xor eax,eax | |
0.08 mov rdi,QWORD PTR [r14] | |
2.46 test rdi,rdi | |
0.27 ↓ je f30 | |
mov rsi,QWORD PTR [rdi] | |
0.56 test DWORD PTR [rsi],0x80000000 | |
3.22 ↓ je 1c70 | |
lea rsi,[rdi+0x10] | |
0.24 mov eax,DWORD PTR [rdi+0x8] | |
0.19 f0d: mov edx,DWORD PTR [r14+0x8] | |
0.03 and edx,0x7fffffff | |
0.06 mov ecx,DWORD PTR [r14+0xc] | |
1.97 mov edi,ecx | |
0.15 add rdi,rdx | |
0.02 mov eax,eax | |
0.70 cmp rdi,rax | |
0.27 ↓ ja 1e3f | |
add rsi,rdx | |
0.14 mov eax,ecx | |
0.00 f30: cmp DWORD PTR [r13+0x28],0x0 | |
0.06 ↓ jge f4e | |
1.98 mov edx,DWORD PTR [r13+0x34] | |
0.14 lea ecx,[rdx+0x1] | |
0.01 mov DWORD PTR [r13+0x34],ecx | |
0.72 cmp edx,eax | |
0.13 ↓ jae 1e4c | |
mov BYTE PTR [rsi+rdx*1],0x2c | |
0.69 f4e: mov edx,DWORD PTR [r13+0x34] | |
0.84 cmp edx,eax | |
0.48 ↓ ja 1e3f | |
mov r14d,edx | |
1.65 add r14,rsi | |
0.28 sub eax,edx | |
0.25 mov DWORD PTR [rbp-0xe0],eax | |
0.56 mov WORD PTR [rbp-0xc8],0x0 | |
0.16 rex movzx esi,BYTE PTR [rbp-0xc8] | |
0.98 movzx edx,BYTE PTR [rbp-0xc7] | |
3.54 or esi,edx | |
1.35 ↓ jne 1c8b | |
test r12,r12 | |
1.14 ↓ jl 11a1 | |
mov rsi,r14 | |
0.13 mov edx,eax | |
0.09 lea rcx,[rbp-0xc0] | |
0.18 mov rdi,r12 | |
0.03 movabs rax,0x78902386f858 | |
0.05 → call QWORD PTR [rax] | |
0.99 fac: mov edi,DWORD PTR [rbp-0xc0] | |
0.55 add DWORD PTR [r13+0x34],edi | |
0.40 fb6: mov rdi,r13 | |
1.17 movabs rax,0x78902386eb80 | |
0.25 → call QWORD PTR [rax] | |
0.75 mov BYTE PTR [r13+0x3a],0x8 | |
inc r15d | |
cmp r15d,DWORD PTR [rbx+0x60] | |
0.01 ↑ jl e95 | |
fd7: mov rdi,r13 | |
movabs rax,0x78902386e5e0 | |
→ call QWORD PTR [rax] | |
0.24 mov rdi,r13 | |
movabs rax,0x78902386e610 | |
0.14 → call QWORD PTR [rax] | |
0.26 mov rdi,r13 | |
movabs rax,0x78902386e640 | |
0.16 → call QWORD PTR [rax] | |
0.01 ↓ jmp 1e91 | |
1009: cmp BYTE PTR [r15+0x3a],0x5 | |
↑ je 18a | |
↓ jmp 1424 | |
1019: xor r12d,r12d | |
xor r15d,r15d | |
↑ jmp 2f1 | |
1024: xor r15d,r15d | |
xor r12d,r12d | |
↑ jmp 3ad | |
102f: mov rdi,r15 | |
mov esi,r12d | |
mov rdx,rax | |
mov ecx,0x4 | |
movabs r8,0x78902386f8e8 | |
→ call QWORD PTR [r8] | |
mov rax,QWORD PTR [rbp-0x108] | |
↑ jmp 3cb | |
1056: xor r12d,r12d | |
xor r15d,r15d | |
↑ jmp 4c7 | |
1061: mov rdi,r12 | |
mov esi,r15d | |
mov rdx,rax | |
mov ecx,0x5 | |
movabs r8,0x78902386f8e8 | |
→ call QWORD PTR [r8] | |
mov rax,QWORD PTR [rbp-0x110] | |
↑ jmp 4e5 | |
1088: xor r15d,r15d | |
xor r12d,r12d | |
↑ jmp 5ed | |
1093: mov rdi,r15 | |
mov esi,r12d | |
mov ecx,DWORD PTR [r13+0x70] | |
movabs rax,0x78902386fae0 | |
→ call QWORD PTR [rax] | |
↑ jmp 60c | |
10ae: cmp BYTE PTR [r13+0x3a],0x5 | |
↑ je 74b | |
↓ jmp 1750 | |
10be: cmp BYTE PTR [r13+0x3a],0x5 | |
↑ je 7f9 | |
↓ jmp 17e7 | |
10ce: xor r15d,r15d | |
xor r12d,r12d | |
↑ jmp 8f9 | |
10d9: mov rdi,r15 | |
mov esi,r12d | |
mov edx,DWORD PTR [r13+0x28] | |
mov ecx,DWORD PTR [r13+0x70] | |
movabs rax,0x78902386fae0 | |
→ call QWORD PTR [rax] | |
↑ jmp 91a | |
10f8: xor r15d,r15d | |
xor r12d,r12d | |
↑ jmp 9f7 | |
1103: mov rdi,r15 | |
mov esi,r12d | |
mov rdx,rax | |
mov ecx,0xf | |
movabs r8,0x78902386f8e8 | |
→ call QWORD PTR [r8] | |
mov rax,QWORD PTR [rbp-0x118] | |
↑ jmp a15 | |
112a: xor r12d,r12d | |
xor r15d,r15d | |
↑ jmp b1d | |
1135: mov rdi,r12 | |
mov esi,r15d | |
mov rdx,rax | |
mov ecx,0x7 | |
movabs r8,0x78902386f8e8 | |
→ call QWORD PTR [r8] | |
mov rax,QWORD PTR [rbp-0x120] | |
↑ jmp b3b | |
115c: xor r15d,r15d | |
xor r12d,r12d | |
↑ jmp c43 | |
1167: xor r15d,r15d | |
xor r12d,r12d | |
↑ jmp db9 | |
1172: mov rdi,r15 | |
mov esi,r12d | |
mov edx,DWORD PTR [r13+0x28] | |
mov ecx,DWORD PTR [r13+0x70] | |
movabs rax,0x78902386fae0 | |
→ call QWORD PTR [rax] | |
↑ jmp dda | |
1191: cmp BYTE PTR [r13+0x3a],0x5 | |
↑ je ecb | |
↓ jmp 1c38 | |
11a1: cmp BYTE PTR [rbp-0xc7],0xff | |
0.61 ↓ je 1c84 | |
0.49 rex movzx esi,BYTE PTR [rbp-0xc7] | |
0.21 11b6: movabs rdx,0x78902252fbc8 | |
0.01 lea r8,[rbp-0xc0] | |
0.06 mov QWORD PTR [rsp],r8 | |
mov r8,r14 | |
0.33 mov r9d,eax | |
0.59 mov ecx,0x1 | |
0.04 mov rdi,r12 | |
0.45 movabs rax,0x78902386fd80 | |
0.22 → call QWORD PTR [rax] | |
0.04 ↑ jmp fac | |
11ea: mov rdi,r13 | |
mov rsi,r12 | |
movabs rax,0x78902386fd38 | |
→ call QWORD PTR [rax] | |
↑ jmp fb6 | |
1201: movzx r8d,BYTE PTR [r15+0x3a] | |
mov edx,DWORD PTR [r15+0x70] | |
mov edi,0x1c | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1220: mov rdi,r14 | |
mov esi,0x1 | |
movabs rax,0x78902386e910 | |
→ call QWORD PTR [rax] | |
↑ jmp 1a8 | |
1239: mov rdi,QWORD PTR [r12+0x8] | |
mov edi,DWORD PTR [rdi+0x8] | |
mov esi,0x100 | |
cmp edi,0x100 | |
cmovg esi,edi | |
mov eax,esi | |
test edi,edi | |
↓ jne 1265 | |
mov eax,0x100 | |
cmp esi,0x100 | |
cmovl esi,eax | |
mov eax,esi | |
1265: lea esi,[rdi+rax*1] | |
test esi,esi | |
↓ jge 129b | |
mov rax,QWORD PTR [r12+0x8] | |
mov eax,DWORD PTR [rax+0x8] | |
sub eax,DWORD PTR [r12+0x10] | |
sub edi,eax | |
add edi,0x100 | |
cmp edi,0x7fffffc7 | |
↓ jbe 1296 | |
movabs rax,0x78902386ead8 | |
→ call QWORD PTR [rax] | |
int3 | |
1296: mov esi,0x7fffffc7 | |
129b: lea rdi,[r12+0x8] | |
movabs rax,0x7890238665e0 | |
→ call QWORD PTR [rax] | |
↑ jmp 20b | |
12b1: test r14d,r14d | |
↓ jne 1e3f | |
xor esi,esi | |
xor r14d,r14d | |
xor r15d,r15d | |
↑ jmp 22f | |
12c7: mov rdi,r12 | |
movabs r11,0x789022460630 | |
mov esi,0x100 | |
→ call QWORD PTR [r11] | |
mov QWORD PTR [rbp-0x48],rax | |
mov QWORD PTR [rbp-0x40],rdx | |
mov rsi,QWORD PTR [rbp-0x48] | |
mov r14d,DWORD PTR [rbp-0x40] | |
mov r15d,DWORD PTR [rbp-0x3c] | |
↑ jmp 22f | |
12f5: lea r14,[r15+0x40] | |
mov rdi,QWORD PTR [r15+0x18] | |
mov esi,0x100 | |
movabs rax,0x789023858a68 | |
cmp DWORD PTR [rdi],edi | |
→ call QWORD PTR [rax] | |
mov QWORD PTR [rbp-0x58],rax | |
mov QWORD PTR [rbp-0x50],rdx | |
mov rdi,r14 | |
lea rsi,[rbp-0x58] | |
→ call instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1]+0x7e458660 | |
movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] | |
↑ jmp 253 | |
132b: cmp QWORD PTR [r15+0x10],0x0 | |
↓ jne 139d | |
mov rdi,QWORD PTR [r15+0x8] | |
mov esi,DWORD PTR [r15+0x34] | |
movabs r11,0x789022460620 | |
→ call QWORD PTR [r11] | |
movsxd rdi,DWORD PTR [r15+0x34] | |
add QWORD PTR [r15+0x20],rdi | |
xor edi,edi | |
mov DWORD PTR [r15+0x34],edi | |
mov rdi,QWORD PTR [r15+0x8] | |
movabs r11,0x789022460628 | |
mov esi,0x1000 | |
→ call QWORD PTR [r11] | |
mov QWORD PTR [rbp-0x38],rax | |
mov QWORD PTR [rbp-0x30],rdx | |
lea rdi,[r15+0x40] | |
lea rsi,[rbp-0x38] | |
→ call instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1]+0x7e458660 | |
movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] | |
cmp DWORD PTR [r15+0x4c],0x1000 | |
↑ jge 253 | |
1390: movabs rax,0x78902386ea48 | |
→ call QWORD PTR [rax] | |
int3 | |
139d: mov esi,DWORD PTR [r15+0x34] | |
add esi,0x1000 | |
cmp esi,0x7fefffff | |
↓ jbe 13be | |
mov edi,esi | |
movabs rax,0x789023966fb8 | |
→ call QWORD PTR [rax] | |
int3 | |
13be: lea r14,[r15+0x40] | |
mov rdi,QWORD PTR [r15+0x18] | |
movabs rax,0x789023858a68 | |
cmp DWORD PTR [rdi],edi | |
→ call QWORD PTR [rax] | |
mov QWORD PTR [rbp-0x68],rax | |
mov QWORD PTR [rbp-0x60],rdx | |
mov rdi,r14 | |
lea rsi,[rbp-0x68] | |
→ call instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1]+0x7e458660 | |
movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] | |
↑ jmp 253 | |
13ef: mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x40] | |
→ call QWORD PTR [rax+0x28] | |
mov rsi,rax | |
mov eax,edx | |
↑ jmp 27a | |
1403: mov ecx,DWORD PTR [r13+0x34] | |
lea r8d,[rcx+0x1] | |
mov DWORD PTR [r13+0x34],r8d | |
cmp ecx,eax | |
↓ jae 1e4c | |
mov r8d,ecx | |
mov BYTE PTR [rsi+r8*1],0x2c | |
↑ jmp 2aa | |
1424: movzx r8d,BYTE PTR [r15+0x3a] | |
mov edx,DWORD PTR [r15+0x70] | |
mov edi,0x1b | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1443: test r14b,0x2 | |
↓ jne 1491 | |
mov rdi,r15 | |
movabs rax,0x78902386e898 | |
→ call QWORD PTR [rax] | |
lea r14,[r15+0x50] | |
cmp DWORD PTR [r14+0x10],0x40 | |
↓ jge 1474 | |
mov rdi,QWORD PTR [r14+0x8] | |
add rdi,rdi | |
or rdi,0x1 | |
mov QWORD PTR [r14+0x8],rdi | |
↓ jmp 1488 | |
1474: mov rdi,r14 | |
mov esi,0x1 | |
movabs rax,0x78902386e910 | |
→ call QWORD PTR [rax] | |
1488: inc DWORD | |
mov BYTE PTR [r15+0x38],0x1 | |
1491: mov rdi,r15 | |
mov esi,0x7b | |
movabs rax,0x78902386e8c8 | |
→ call QWORD PTR [rax] | |
↑ jmp 2c3 | |
14aa: mov rdi,r15 | |
mov esi,0x7b | |
movabs rax,0x78902386e850 | |
→ call QWORD PTR [rax] | |
↑ jmp 2c3 | |
14c3: mov rsi,r12 | |
mov edx,r15d | |
mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x50] | |
→ call QWORD PTR [rax] | |
↑ jmp 33e | |
14d7: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1f | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
14f6: mov rsi,r12 | |
mov edx,r15d | |
mov rdi,r13 | |
mov ecx,0x2a | |
movabs rax,0x78902386f7e0 | |
→ call QWORD PTR [rax] | |
↑ jmp 38b | |
1515: mov rsi,r12 | |
mov edx,r15d | |
mov rdi,r13 | |
mov r8d,eax | |
mov ecx,0x2a | |
movabs rax,0x78902386ebe0 | |
→ call QWORD PTR [rax] | |
↑ jmp 38b | |
1537: mov edx,0x4 | |
mov rcx,QWORD PTR [rdi] | |
mov rcx,QWORD PTR [rcx+0x40] | |
→ call QWORD PTR [rcx+0x28] | |
mov esi,eax | |
mov eax,esi | |
↑ jmp 40b | |
154f: mov rsi,r15 | |
mov edx,r12d | |
mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x50] | |
→ call QWORD PTR [rax] | |
↑ jmp 44a | |
1563: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1f | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1582: mov rcx,QWORD PTR [rbp-0x108] | |
mov r8d,0x4 | |
mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
movabs rax,0x78902386fa38 | |
→ call QWORD PTR [rax] | |
↑ jmp 4a5 | |
15a9: mov r9d,DWORD PTR [rbp-0x6c] | |
mov DWORD PTR [rsp],r9d | |
mov rcx,QWORD PTR [rbp-0x108] | |
mov r8d,0x4 | |
mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
mov r9d,eax | |
movabs rax,0x78902386f918 | |
→ call QWORD PTR [rax] | |
↑ jmp 4a5 | |
15db: mov edx,0x5 | |
mov rcx,QWORD PTR [rdi] | |
mov rcx,QWORD PTR [rcx+0x40] | |
→ call QWORD PTR [rcx+0x28] | |
mov esi,eax | |
mov eax,esi | |
↑ jmp 528 | |
15f3: mov rsi,r12 | |
mov edx,r15d | |
mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x50] | |
→ call QWORD PTR [rax] | |
↑ jmp 56a | |
1607: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1f | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1626: mov rcx,QWORD PTR [rbp-0x110] | |
mov r8d,0x5 | |
mov rsi,r12 | |
mov edx,r15d | |
mov rdi,r13 | |
movabs rax,0x78902386fa38 | |
→ call QWORD PTR [rax] | |
↑ jmp 5c5 | |
164d: mov r9d,DWORD PTR [rbp-0x7c] | |
mov DWORD PTR [rsp],r9d | |
mov rcx,QWORD PTR [rbp-0x110] | |
mov r8d,0x5 | |
mov rsi,r12 | |
mov edx,r15d | |
mov rdi,r13 | |
mov r9d,eax | |
movabs rax,0x78902386f918 | |
→ call QWORD PTR [rax] | |
↑ jmp 5c5 | |
167f: mov rsi,r15 | |
mov edx,r12d | |
mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x50] | |
→ call QWORD PTR [rax] | |
↑ jmp 642 | |
1693: mov rdi,r8 | |
xor esi,esi | |
movabs rax,0x78902386e910 | |
→ call QWORD PTR [rax] | |
mov r8,QWORD PTR [rbp-0xf8] | |
↑ jmp 682 | |
16b0: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1f | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
16cf: mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
mov ecx,0x5b | |
movabs rax,0x78902386fb40 | |
→ call QWORD PTR [rax] | |
↑ jmp 6b0 | |
16ee: mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
mov r8d,eax | |
mov ecx,0x5b | |
movabs rax,0x78902386faf8 | |
→ call QWORD PTR [rax] | |
↑ jmp 6b0 | |
1710: mov edx,0xc | |
mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x40] | |
→ call QWORD PTR [rax+0x28] | |
mov ecx,eax | |
↑ jmp 718 | |
1726: cmp BYTE PTR [r13+0x3a],0x0 | |
↑ je 74b | |
movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1e | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1750: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1d | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
176f: mov rsi,r12 | |
mov edx,0xc | |
mov rdi,r13 | |
movabs rax,0x78902386fc30 | |
→ call QWORD PTR [rax] | |
↑ jmp 76a | |
178b: mov rsi,r12 | |
mov edx,0xc | |
mov rdi,r13 | |
movabs rax,0x78902386fbe8 | |
→ call QWORD PTR [rax] | |
↑ jmp 76a | |
17a7: mov edx,0xc | |
mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x40] | |
→ call QWORD PTR [rax+0x28] | |
mov ecx,eax | |
↑ jmp 7c6 | |
17bd: cmp BYTE PTR [r13+0x3a],0x0 | |
↑ je 7f9 | |
movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1e | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
17e7: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1d | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1806: mov rsi,r15 | |
mov edx,0xc | |
mov rdi,r13 | |
movabs rax,0x78902386fc30 | |
→ call QWORD PTR [rax] | |
↑ jmp 818 | |
1822: mov rsi,r15 | |
mov edx,0xc | |
mov rdi,r13 | |
movabs rax,0x78902386fbe8 | |
→ call QWORD PTR [rax] | |
↑ jmp 818 | |
183e: mov rdi,r13 | |
mov esi,0x1 | |
movabs rax,0x78902386e958 | |
→ call QWORD PTR [rax] | |
↑ jmp 863 | |
1857: mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x40] | |
→ call QWORD PTR [rax+0x28] | |
mov rsi,rax | |
mov eax,edx | |
↑ jmp 889 | |
186b: test al,0x2 | |
↓ jne 1883 | |
mov rdi,r13 | |
mov esi,0x5d | |
movabs rax,0x78902386fca8 | |
→ call QWORD PTR [rax] | |
1883: mov rdi,r13 | |
mov esi,0x5d | |
movabs rax,0x78902386fcc0 | |
→ call QWORD PTR [rax] | |
↑ jmp 8c3 | |
189c: mov rdi,r13 | |
mov esi,0x5d | |
movabs rax,0x78902386fc90 | |
→ call QWORD PTR [rax] | |
↑ jmp 8c3 | |
18b5: mov rsi,r15 | |
mov edx,r12d | |
mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x50] | |
→ call QWORD PTR [rax] | |
↑ jmp 950 | |
18c9: mov rdi,r8 | |
mov esi,0x1 | |
movabs rax,0x78902386e910 | |
→ call QWORD PTR [rax] | |
mov r8,QWORD PTR [rbp-0x100] | |
↑ jmp 99b | |
18e9: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1f | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1908: mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
mov ecx,0x7b | |
movabs rax,0x78902386fb40 | |
→ call QWORD PTR [rax] | |
↑ jmp 9c9 | |
1927: mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
mov r8d,eax | |
mov ecx,0x7b | |
movabs rax,0x78902386faf8 | |
→ call QWORD PTR [rax] | |
↑ jmp 9c9 | |
1949: mov edx,0xf | |
mov rcx,QWORD PTR [rdi] | |
mov rcx,QWORD PTR [rcx+0x40] | |
→ call QWORD PTR [rcx+0x28] | |
mov esi,eax | |
mov eax,esi | |
↑ jmp a58 | |
1961: mov rsi,r15 | |
mov edx,r12d | |
mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x50] | |
→ call QWORD PTR [rax] | |
↑ jmp a9d | |
1975: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1f | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1994: mov rcx,QWORD PTR [rbp-0x118] | |
mov r8d,0xf | |
mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
movabs rax,0x78902386fa38 | |
→ call QWORD PTR [rax] | |
↑ jmp afb | |
19bb: mov r9d,DWORD PTR [rbp-0x9c] | |
mov DWORD PTR [rsp],r9d | |
mov rcx,QWORD PTR [rbp-0x118] | |
mov r8d,0xf | |
mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
mov r9d,eax | |
movabs rax,0x78902386f918 | |
→ call QWORD PTR [rax] | |
↑ jmp afb | |
19f0: mov edx,0x7 | |
mov rcx,QWORD PTR [rdi] | |
mov rcx,QWORD PTR [rcx+0x40] | |
→ call QWORD PTR [rcx+0x28] | |
mov esi,eax | |
mov eax,esi | |
↑ jmp b7e | |
1a08: mov rsi,r12 | |
mov edx,r15d | |
mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x50] | |
→ call QWORD PTR [rax] | |
↑ jmp bc3 | |
1a1c: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1f | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1a3b: mov rcx,QWORD PTR [rbp-0x120] | |
mov r8d,0x7 | |
mov rsi,r12 | |
mov edx,r15d | |
mov rdi,r13 | |
movabs rax,0x78902386fa38 | |
→ call QWORD PTR [rax] | |
↑ jmp c21 | |
1a62: mov r9d,DWORD PTR [rbp-0xac] | |
mov DWORD PTR [rsp],r9d | |
mov rcx,QWORD PTR [rbp-0x120] | |
mov r8d,0x7 | |
mov rsi,r12 | |
mov edx,r15d | |
mov rdi,r13 | |
mov r9d,eax | |
movabs rax,0x78902386f918 | |
→ call QWORD PTR [rax] | |
↑ jmp c21 | |
1a97: mov rsi,r15 | |
mov edx,r12d | |
mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x50] | |
→ call QWORD PTR [rax] | |
↑ jmp c86 | |
1aab: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1f | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1aca: mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
mov ecx,0x17f04 | |
movabs rax,0x78902386f7e0 | |
→ call QWORD PTR [rax] | |
↑ jmp cd3 | |
1ae9: mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
mov r8d,eax | |
mov ecx,0x17f04 | |
movabs rax,0x78902386ebe0 | |
→ call QWORD PTR [rax] | |
↑ jmp cd3 | |
1b0b: mov rdi,r13 | |
mov esi,0x1 | |
movabs rax,0x78902386e958 | |
→ call QWORD PTR [rax] | |
↑ jmp d21 | |
1b24: mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x40] | |
→ call QWORD PTR [rax+0x28] | |
mov r12,rax | |
mov eax,edx | |
↑ jmp d48 | |
1b38: test r15b,0x2 | |
↓ jne 1b52 | |
mov rdi,r13 | |
mov esi,0x7d | |
movabs rax,0x78902386fca8 | |
→ call QWORD PTR [rax] | |
1b52: mov rdi,r13 | |
mov esi,0x7d | |
movabs rax,0x78902386fcc0 | |
→ call QWORD PTR [rax] | |
↑ jmp d83 | |
1b6b: mov rdi,r13 | |
mov esi,0x7d | |
movabs rax,0x78902386fc90 | |
→ call QWORD PTR [rax] | |
↑ jmp d83 | |
1b84: mov rsi,r15 | |
mov edx,r12d | |
mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x50] | |
→ call QWORD PTR [rax] | |
↑ jmp e10 | |
1b98: mov rdi,r14 | |
xor esi,esi | |
movabs rax,0x78902386e910 | |
→ call QWORD PTR [rax] | |
↑ jmp e49 | |
1bae: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1f | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1bcd: mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
mov ecx,0x5b | |
movabs rax,0x78902386fb40 | |
→ call QWORD PTR [rax] | |
↑ jmp e77 | |
1bec: mov rsi,r15 | |
mov edx,r12d | |
mov rdi,r13 | |
mov r8d,eax | |
mov ecx,0x5b | |
movabs rax,0x78902386faf8 | |
→ call QWORD PTR [rax] | |
↑ jmp e77 | |
1c0e: cmp BYTE PTR [r13+0x3a],0x0 | |
↑ je ecb | |
movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1e | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1c38: movzx r8d,BYTE PTR [r13+0x3a] | |
mov edx,DWORD PTR [r13+0x70] | |
mov edi,0x1d | |
xor esi,esi | |
xor ecx,ecx | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1c57: mov rdi,r13 | |
mov esi,0x15 | |
movabs rax,0x78902386e958 | |
→ call QWORD PTR [rax] | |
↑ jmp ee7 | |
1c70: mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x40] | |
→ call QWORD PTR [rax+0x28] | |
mov rsi,rax | |
mov eax,edx | |
↑ jmp f0d | |
1c84: xor esi,esi | |
↑ jmp 11b6 | |
1c8b: movzx ecx,BYTE PTR [rbp-0xc8] | |
or ecx,0x20 | |
cmp ecx,0x67 | |
↓ jg 1caa | |
cmp ecx,0x64 | |
↓ je 1d3a | |
cmp ecx,0x67 | |
↓ je 1d10 | |
↓ jmp 1cc1 | |
1caa: cmp ecx,0x6e | |
↓ je 1e07 | |
cmp ecx,0x72 | |
↓ je 1cbf | |
cmp ecx,0x78 | |
↓ jne 1cc1 | |
↓ jmp 1cce | |
1cbf: ↓ jmp 1d10 | |
1cc1: movabs rax,0x7890239668c8 | |
→ call QWORD PTR [rax] | |
int3 | |
1cce: movzx ecx,BYTE PTR [rbp-0xc8] | |
add ecx,0xffffffdf | |
movzx esi,cx | |
cmp BYTE PTR [rbp-0xc7],0xff | |
↓ je 1ced | |
movzx edx,BYTE PTR [rbp-0xc7] | |
↓ jmp 1cef | |
1ced: xor edx,edx | |
1cef: mov rcx,r14 | |
mov r8d,eax | |
lea r9,[rbp-0xc0] | |
mov rdi,r12 | |
movabs rax,0x789023966700 | |
→ call QWORD PTR [rax] | |
↑ jmp fac | |
1d10: lea rdi,[rbp-0xc8] | |
movabs rcx,0x789023966fd0 | |
→ call QWORD PTR [rcx] | |
test eax,eax | |
mov eax,DWORD PTR [rbp-0xe0] | |
↓ je 1d3a | |
movabs rax,0x7890239668e0 | |
→ call QWORD PTR [rax] | |
int3 | |
1d3a: test r12,r12 | |
↓ jge 1dce | |
cmp BYTE PTR [rbp-0xc7],0xff | |
↓ je 1d5b | |
movzx ecx,BYTE PTR [rbp-0xc7] | |
mov DWORD PTR [rbp-0xdc],ecx | |
↓ jmp 1d63 | |
1d5b: xor ecx,ecx | |
mov DWORD PTR [rbp-0xdc],ecx | |
1d63: vxorps xmm0,xmm0,xmm0 | |
vmovdqu XMMWORD PTR [rbp-0xd8],xmm0 | |
lea rdi,[rbp-0xd8] | |
movabs rsi,0x78902252fbc8 | |
mov edx,0x1 | |
movabs r8,0x789023756310 | |
→ call QWORD PTR [r8] | |
lea r8,[rbp-0xc0] | |
mov QWORD PTR [rsp],r8 | |
mov r8,r14 | |
mov r9d,DWORD PTR [rbp-0xe0] | |
mov rdx,QWORD PTR [rbp-0xd8] | |
mov ecx,DWORD PTR [rbp-0xd0] | |
mov rdi,r12 | |
mov esi,DWORD PTR [rbp-0xdc] | |
movabs rax,0x78902386fd80 | |
→ call QWORD PTR [rax] | |
↑ jmp fac | |
1dce: lea rdi,[rbp-0xc8] | |
movabs rcx,0x78902386fd68 | |
→ call QWORD PTR [rcx] | |
mov esi,eax | |
mov rdx,r14 | |
mov ecx,DWORD PTR [rbp-0xe0] | |
lea r8,[rbp-0xc0] | |
mov rdi,r12 | |
movabs rax,0x7890239666e8 | |
→ call QWORD PTR [rax] | |
↑ jmp fac | |
1e07: movzx r8d,WORD PTR [rbp-0xc8] | |
mov WORD PTR [rbp-0xe8],r8w | |
movzx r8d,WORD PTR [rbp-0xe8] | |
mov rsi,r14 | |
mov edx,eax | |
lea rcx,[rbp-0xc0] | |
mov rdi,r12 | |
movabs rax,0x7890239666d0 | |
→ call QWORD PTR [rax] | |
↑ jmp fac | |
1e3f: movabs rax,0x78902360c060 | |
→ call QWORD PTR [rax] | |
int3 | |
1e4c: → call instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1]+0xfffffffffff23da8 | |
int3 | |
1e52: mov edi,r12d | |
movabs rax,0x78902386eb98 | |
→ call QWORD PTR [rax] | |
int3 | |
1e62: mov edi,r15d | |
movabs rax,0x78902386eb98 | |
→ call QWORD PTR [rax] | |
int3 | |
1e72: mov edx,DWORD PTR [r15+0x70] | |
mov esi,DWORD PTR [r15+0x28] | |
mov edi,0x1a | |
xor ecx,ecx | |
xor r8d,r8d | |
movabs rax,0x78902386e808 | |
→ call QWORD PTR [rax] | |
int3 | |
1e91: mov rdi,r13 | |
movabs rax,0x7890239105a0 | |
→ call QWORD PTR [rax] | |
0.14 nop | |
0.16 add rsp,0x108 | |
0.03 pop rbx | |
0.02 pop r12 | |
0.02 pop r13 | |
0.01 pop r14 | |
0.09 pop r15 | |
0.02 pop rbp | |
0.17 ← ret | |
1eb3: test r14d,r14d | |
↓ je 1ec5 | |
1eb8: movabs rax,0x78902360c060 | |
→ call QWORD PTR [rax] | |
int3 | |
1ec5: xor edi,edi | |
xor r14d,r14d | |
↑ jmp 7a | |
1ecf: or r12d,0x2 | |
↑ jmp ad | |
1ed8: xor ecx,ecx | |
cmp eax,0x2 | |
cmovne ecx,eax | |
↑ jmp 10e | |
1ee5: movabs rdi,0x789023910458 | |
→ call instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1]+0x7e2f3c20 | |
movabs rdi,0x78500c001368 | |
mov rdx,QWORD PTR [rdi] | |
↑ jmp 126 | |
1f06: mov edi,0x3ad4 | |
movabs rsi,0x7890238ec028 | |
→ call instance void [benchapp] System.Text.Json.Tests.Perf_Basic::WriteBasicUtf8()[OptimizedTier1]+0x7e2f5cc0 | |
mov rdi,rax | |
movabs rax,0x78902386e6e8 | |
→ call QWORD PTR [rax] | |
int3 | |
push rbp | |
push r15 | |
push r14 | |
push r13 | |
push r12 | |
push rbx | |
sub rsp,0x18 | |
mov rbp,QWORD PTR [rdi+0x8] | |
mov QWORD PTR [rsp+0x8],rbp | |
lea rbp,[rbp+0x130] | |
mov rdi,QWORD PTR [rbp-0xf0] | |
movabs rax,0x7890239105a0 | |
→ call QWORD PTR [rax] | |
nop | |
add rsp,0x18 | |
pop rbx | |
pop r12 | |
pop r13 | |
pop r14 | |
pop r15 | |
pop rbp | |
← ret | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteStringMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>,valuetype [System.Runtime]System.ReadOnlySpan`1<char>)[OptimizedTier1]() /tmp/jitted-47883-2683.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteStringMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>,valuetype [System.Runtime]System.ReadOnlySpan`1<char>)[OptimizedTier1]>: | |
instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteStringMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>,valuetype [System.Runtime]System.ReadOnlySpan`1<char>)[OptimizedTier1](): | |
3.00 push rbp | |
2.27 push r15 | |
0.00 push r14 | |
0.00 push r13 | |
0.10 push r12 | |
0.01 push rbx | |
0.01 sub rsp,0x38 | |
lea rbp,[rsp+0x60] | |
2.09 mov rbx,rdi | |
mov r13,rsi | |
mov r15d,edx | |
0.08 mov r12,rcx | |
0.01 mov r14d,r8d | |
0.00 lea edx,[r14+r14*2] | |
0.00 lea esi,[rdx+r15*1+0x6] | |
2.24 mov edx,DWORD PTR [rbx+0x4c] | |
0.05 sub edx,DWORD PTR [rbx+0x34] | |
0.16 cmp edx,esi | |
0.14 ↓ jl 1ac | |
39: lea rax,[rbx+0x40] | |
mov QWORD PTR [rbp-0x50],rax | |
0.03 xor edx,edx | |
0.00 xor ecx,ecx | |
1.97 mov rdi,QWORD PTR [rax] | |
0.04 test rdi,rdi | |
0.08 ↓ je 84 | |
mov rdx,QWORD PTR [rdi] | |
0.49 test DWORD PTR [rdx],0x80000000 | |
2.34 ↓ je 1c0 | |
0.43 lea rdx,[rdi+0x10] | |
mov ecx,DWORD PTR [rdi+0x8] | |
63: mov edi,DWORD PTR [rax+0x8] | |
0.77 and edi,0x7fffffff | |
0.82 mov esi,DWORD PTR [rax+0xc] | |
mov eax,esi | |
add rax,rdi | |
0.00 mov ecx,ecx | |
0.72 cmp rax,rcx | |
↓ ja 1e5 | |
add rdx,rdi | |
mov ecx,esi | |
0.74 84: cmp DWORD PTR [rbx+0x28],0x0 | |
0.91 ↓ jge 9f | |
mov eax,DWORD PTR [rbx+0x34] | |
lea edi,[rax+0x1] | |
mov DWORD PTR [rbx+0x34],edi | |
0.61 cmp eax,ecx | |
0.05 ↓ jae 1f2 | |
0.00 mov BYTE PTR [rdx+rax*1],0x2c | |
0.04 9f: mov eax,DWORD PTR [rbx+0x34] | |
1.10 lea edi,[rax+0x1] | |
1.40 mov DWORD PTR [rbx+0x34],edi | |
0.11 cmp eax,ecx | |
0.03 ↓ jae 1f2 | |
mov edi,eax | |
0.01 mov BYTE PTR [rdx+rdi*1],0x22 | |
3.09 mov edi,DWORD PTR [rbx+0x34] | |
4.57 cmp edi,ecx | |
1.28 ↓ ja 1e5 | |
mov esi,edi | |
0.01 mov QWORD PTR [rbp-0x48],rdx | |
0.34 add rsi,rdx | |
0.17 mov DWORD PTR [rbp-0x2c],ecx | |
mov eax,ecx | |
0.00 sub eax,edi | |
1.46 cmp r15d,eax | |
1.26 ↓ ja 1d8 | |
mov edx,r15d | |
mov rdi,rsi | |
0.03 mov rsi,r13 | |
0.29 movabs rax,0x7890233857b8 | |
0.03 → call QWORD PTR [rax] | |
0.22 add r15d,DWORD PTR [rbx+0x34] | |
0.03 mov eax,r15d | |
0.47 mov DWORD PTR [rbx+0x34],eax | |
0.15 lea edi,[rax+0x1] | |
1.51 mov DWORD PTR [rbx+0x34],edi | |
0.02 mov r15d,DWORD PTR [rbp-0x2c] | |
0.07 cmp eax,r15d | |
0.11 ↓ jae 1f2 | |
mov r13,QWORD PTR [rbp-0x48] | |
0.00 mov BYTE PTR [rax+r13*1],0x22 | |
1.07 mov eax,DWORD PTR [rbx+0x34] | |
2.13 lea edi,[rax+0x1] | |
0.89 mov DWORD PTR [rbx+0x34],edi | |
0.71 cmp eax,r15d | |
↓ jae 1f2 | |
mov BYTE PTR [rax+r13*1],0x3a | |
6.94 mov eax,DWORD PTR [rbx+0x34] | |
4.91 lea edi,[rax+0x1] | |
1.64 mov DWORD PTR [rbx+0x34],edi | |
0.03 cmp eax,r15d | |
0.05 ↓ jae 1f2 | |
mov edi,eax | |
mov BYTE PTR [rdi+r13*1],0x22 | |
11.04 mov edi,DWORD PTR [rbx+0x34] | |
5.19 cmp edi,r15d | |
1.58 ↓ ja 1e5 | |
mov edx,edi | |
add rdx,r13 | |
mov ecx,r15d | |
sub ecx,edi | |
0.00 xor edi,edi | |
mov DWORD PTR [rsp],edi | |
0.58 mov DWORD PTR [rsp+0x8],0x1 | |
mov rdi,r12 | |
1.63 mov esi,r14d | |
lea r8,[rbp-0x40] | |
lea r9,[rbp-0x38] | |
movabs rax,0x78902386fa98 | |
→ call QWORD PTR [rax] | |
0.96 mov eax,DWORD PTR [rbx+0x34] | |
0.40 add eax,DWORD PTR [rbp-0x38] | |
9.22 mov DWORD PTR [rbx+0x34],eax | |
0.18 lea edi,[rax+0x1] | |
1.72 mov DWORD PTR [rbx+0x34],edi | |
0.14 cmp eax,r15d | |
0.01 ↓ jae 1f2 | |
mov edi,eax | |
0.38 mov BYTE PTR [rdi+r13*1],0x22 | |
8.36 add rsp,0x38 | |
0.01 pop rbx | |
0.01 pop r12 | |
0.01 pop r13 | |
0.01 pop r14 | |
0.01 pop r15 | |
0.13 pop rbp | |
2.08 ← ret | |
1ac: mov rdi,rbx | |
movabs rax,0x78902386e958 | |
→ call QWORD PTR [rax] | |
↑ jmp 39 | |
1c0: mov rcx,QWORD PTR [rdi] | |
mov rcx,QWORD PTR [rcx+0x40] | |
→ call QWORD PTR [rcx+0x28] | |
mov ecx,edx | |
mov rdx,rax | |
mov rax,QWORD PTR [rbp-0x50] | |
↑ jmp 63 | |
1d8: movabs rax,0x78902386f450 | |
→ call QWORD PTR [rax] | |
int3 | |
1e5: movabs rax,0x78902360c060 | |
→ call QWORD PTR [rax] | |
int3 | |
1f2: → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteStringMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8 | |
int3 | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
bool [System.Private.CoreLib] System.Number::TryNegativeInt64ToDecStr(int64,int32,valuetype System.ReadOnlySpan`1<!!0>,valuetype System.Span`1<!!0>,int32&)[OptimizedTier1]() /tmp/jitted-47883-2674.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <bool [System.Private.CoreLib] System.Number::TryNegativeInt64ToDecStr(int64,int32,valuetype System.ReadOnlySpan`1<!!0>,valuetype System.Span`1<!!0>,int32&)[OptimizedTier1]>: | |
bool [System.Private.CoreLib] System.Number::TryNegativeInt64ToDecStr(int64,int32,valuetype System.ReadOnlySpan`1<!!0>,valuetype System.Span`1<!!0>,int32&)[OptimizedTier1](): | |
4.82 push rbp | |
3.79 push rbx | |
0.00 push rax | |
lea rbp,[rsp+0x10] | |
xor eax,eax | |
mov QWORD PTR [rbp-0x10],rax | |
0.04 mov r10,rdx | |
mov eax,0x1 | |
test esi,esi | |
3.88 cmovle esi,eax | |
0.00 mov rax,rdi | |
neg rax | |
0.02 mov rdx,rax | |
or rdx,0x1 | |
0.01 lzcnt rdx,rdx | |
0.00 xor edx,0x3f | |
0.00 movsxd rdx,edx | |
4.00 movabs r11,0x78902252fc20 | |
0.00 movzx edx,BYTE PTR [rdx+r11*1] | |
0.48 mov r11d,edx | |
movabs rbx,0x789022536738 | |
cmp rax,QWORD PTR [rbx+r11*8] | |
5.17 setb al | |
2.00 movzx eax,al | |
2.69 sub edx,eax | |
3.91 cmp esi,edx | |
2.85 mov eax,edx | |
cmovge eax,esi | |
3.00 add eax,ecx | |
3.59 cmp eax,r9d | |
3.51 ↓ jg 14b | |
mov r9,QWORD PTR [rbp+0x10] | |
mov DWORD PTR [r9],eax | |
0.02 mov QWORD PTR [rbp-0x10],r8 | |
0.57 movsxd r9,eax | |
add r8,r9 | |
3.57 neg rdi | |
cmp rdi,0x64 | |
↓ jb d8 | |
movabs rax,0x78500c0005d8 | |
mov r9,QWORD PTR [rax] | |
0.04 94: add r8,0xfffffffffffffffe | |
3.49 add esi,0xfffffffe | |
0.25 movabs rdx,0x28f5c28f5c28f5c3 | |
mov rax,rdi | |
shr rax,0x2 | |
mul rdx | |
0.01 shr rdx,0x2 | |
0.01 imul rax,rdx,0x64 | |
3.52 sub rdi,rax | |
0.44 mov r11,rdx | |
0.00 mov rax,r9 | |
add edi,edi | |
0.01 mov edx,edi | |
mov ax,WORD PTR [rax+rdx*1+0x10] | |
1.46 mov WORD PTR [r8],ax | |
12.47 cmp r11,0x64 | |
0.05 ↓ jb 10f | |
mov rdi,r11 | |
↑ jmp 94 | |
d8: mov r11,rdi | |
↓ jmp 10f | |
nop | |
e0: dec esi | |
0.12 movabs rdx,0xcccccccccccccccd | |
mov rax,r11 | |
0.00 mul rdx | |
0.41 shr rdx,0x3 | |
3.72 lea rax,[rdx+rdx*4] | |
3.66 add rax,rax | |
0.17 mov rdi,r11 | |
0.13 sub rdi,rax | |
0.03 mov r11,rdx | |
dec r8 | |
0.36 add edi,0x30 | |
0.07 mov BYTE PTR [r8],dil | |
8.96 10f: test r11,r11 | |
3.20 ↑ jne e0 | |
test esi,esi | |
↑ jg e0 | |
mov rax,r8 | |
0.14 lea edx,[rcx-0x1] | |
test edx,edx | |
0.00 ↓ jge 134 | |
122: xor eax,eax | |
mov QWORD PTR [rbp-0x10],rax | |
0.13 mov eax,0x1 | |
0.06 add rsp,0x8 | |
3.60 pop rbx | |
0.60 pop rbp | |
0.17 ← ret | |
134: dec rax | |
0.14 cmp edx,ecx | |
0.05 ↓ jae 15b | |
mov edi,edx | |
0.55 movzx edi,BYTE PTR [r10+rdi*1] | |
3.02 mov BYTE PTR [rax],dil | |
0.92 dec edx | |
0.07 ↑ jns 134 | |
↑ jmp 122 | |
14b: xor eax,eax | |
mov r9,QWORD PTR [rbp+0x10] | |
mov DWORD PTR [r9],eax | |
add rsp,0x8 | |
pop rbx | |
pop rbp | |
← ret | |
15b: → call bool [System.Private.CoreLib] System.Number::TryNegativeInt64ToDecStr(int64,int32,valuetype System.ReadOnlySpan`1<!!0 | |
int3 | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstByteToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]() /tmp/jitted-47883-2654.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstByteToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]>: | |
instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstByteToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1](): | |
10.45 push rbp | |
7.72 push r15 | |
push r14 | |
0.01 push r13 | |
0.02 push rbx | |
sub rsp,0x20 | |
lea rbp,[rsp+0x40] | |
xor eax,eax | |
7.26 mov QWORD PTR [rbp-0x28],rax | |
0.10 mov rbx,rdi | |
mov r14,rsi | |
0.01 mov r15d,edx | |
xor eax,eax | |
test r15d,r15d | |
cmovne rax,r14 | |
0.02 mov QWORD PTR [rbp-0x28],rax | |
7.62 mov rdi,rax | |
mov esi,r15d | |
vxorps xmm0,xmm0,xmm0 | |
0.02 vmovups xmm1,XMMWORD PTR [rip+0x1e1] # 2a0 <instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstByteToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x220> | |
0.03 vmovups xmm2,XMMWORD PTR [rip+0x1e9] # 2b0 <instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstByteToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>)[OptimizedTier1]+0x230> | |
0.08 vmovups xmm3,XMMWORD PTR [rbx+0x18] | |
5.04 xor edx,edx | |
cmp rsi,0x10 | |
6.14 ↓ jae 11c | |
58: test sil,0x8 | |
↓ jne eb | |
62: test sil,0x4 | |
0.02 ↓ je 99 | |
vmovd xmm4,DWORD PTR [rdi+rdx*1] | |
0.06 vpshufb xmm3,xmm3,xmm4 | |
2.19 vpsrld xmm4,xmm4,0x4 | |
0.27 vpand xmm1,xmm4,xmm1 | |
0.15 vpshufb xmm2,xmm2,xmm1 | |
0.80 vpand xmm1,xmm2,xmm3 | |
4.30 vpcmpeqb xmm0,xmm1,xmm0 | |
1.21 vpmovmskb ecx,xmm0 | |
test cl,0xf | |
8.65 ↓ jne 15e | |
0.06 add rdx,0x4 | |
0.03 99: test sil,0x3 | |
0.22 ↓ je c8 | |
0.00 9f: lea rax,[rbx+0x18] | |
0.74 movzx ecx,BYTE PTR [rdi+rdx*1] | |
1.86 cmp ecx,0x7f | |
2.55 ↓ ja c8 | |
mov r8d,ecx | |
0.64 and r8d,0xf | |
1.80 movzx eax,BYTE PTR [rax+r8*1] | |
3.10 shr ecx,0x4 | |
1.51 bt eax,ecx | |
1.70 ↓ jae c8 | |
1.25 inc rdx | |
1.50 cmp rdx,rsi | |
2.59 ↑ jne 9f | |
c8: mov eax,edx | |
0.01 xor edx,edx | |
0.59 mov QWORD PTR [rbp-0x28],rdx | |
1.53 cmp eax,r15d | |
1.39 ↓ jb 16c | |
d9: mov eax,0xffffffff | |
0.98 add rsp,0x20 | |
1.99 pop rbx | |
0.29 pop r13 | |
1.30 pop r14 | |
0.03 pop r15 | |
0.72 pop rbp | |
1.37 ← ret | |
eb: vmovq xmm4,QWORD PTR [rdi+rdx*1] | |
0.06 vpshufb xmm5,xmm3,xmm4 | |
1.41 vpsrld xmm4,xmm4,0x4 | |
vpand xmm4,xmm4,xmm1 | |
0.18 vpshufb xmm4,xmm2,xmm4 | |
0.18 vpand xmm4,xmm4,xmm5 | |
0.63 vpcmpeqb xmm4,xmm4,xmm0 | |
1.46 vpmovmskb ecx,xmm4 | |
test cl,cl | |
4.17 ↓ jne 15e | |
add rdx,0x8 | |
↑ jmp 62 | |
11c: mov rax,rsi | |
and rax,0xfffffffffffffff0 | |
123: vmovups xmm4,XMMWORD PTR [rdi+rdx*1] | |
vpshufb xmm5,xmm3,xmm4 | |
vpsrld xmm4,xmm4,0x4 | |
vpand xmm4,xmm4,xmm1 | |
vpshufb xmm4,xmm2,xmm4 | |
vpand xmm4,xmm4,xmm5 | |
vpcmpeqb xmm4,xmm4,xmm0 | |
vpmovmskb ecx,xmm4 | |
movzx r8d,cx | |
test r8d,r8d | |
↓ jne 15e | |
add rdx,0x10 | |
cmp rdx,rax | |
↑ jb 123 | |
↑ jmp 58 | |
15e: xor edi,edi | |
tzcnt edi,ecx | |
add rdx,rdi | |
↑ jmp c8 | |
16c: mov edi,eax | |
cmp BYTE PTR [r14+rdi*1],0x7f | |
↓ jbe 20a | |
mov edi,eax | |
add r14,rdi | |
mov edi,r15d | |
sub edi,eax | |
mov r13d,edi | |
test r13d,r13d | |
↓ je 1ee | |
18b: mov rdi,r14 | |
mov esi,r13d | |
lea rdx,[rbp-0x30] | |
lea rcx,[rbp-0x38] | |
movabs rax,0x78902386f678 | |
→ call QWORD PTR [rax] | |
test eax,eax | |
↓ jne 1ee | |
cmp DWORD PTR [rbp-0x38],0x4 | |
↓ jge 1ee | |
lea rax,[rbx+0x428] | |
movzx ecx,WORD PTR [rbp-0x30] | |
mov edx,ecx | |
shr edx,0x5 | |
mov eax,DWORD PTR [rax+rdx*4] | |
bt eax,ecx | |
↓ jae 1ee | |
mov eax,DWORD PTR [rbp-0x38] | |
cmp eax,r13d | |
↓ ja 1e1 | |
mov ecx,eax | |
add rcx,r14 | |
sub r13d,eax | |
mov r14,rcx | |
test r13d,r13d | |
↑ jne 18b | |
↓ jmp 1ee | |
1e1: movabs rax,0x78902360c060 | |
→ call QWORD PTR [rax] | |
int3 | |
1ee: test r13d,r13d | |
↑ je d9 | |
mov eax,r15d | |
sub eax,r13d | |
add rsp,0x20 | |
pop rbx | |
pop r13 | |
pop r14 | |
pop r15 | |
pop rbp | |
← ret | |
20a: add rsp,0x20 | |
pop rbx | |
pop r13 | |
pop r14 | |
pop r15 | |
pop rbp | |
← ret | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WritePropertyNameMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>,uint8)[OptimizedTier1]() /tmp/jitted-47883-2694.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WritePropertyNameMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>,uint8)[OptimizedTier1]>: | |
instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WritePropertyNameMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>,uint8)[OptimizedTier1](): | |
3.24 push rbp | |
2.86 push r15 | |
0.00 push r14 | |
0.00 push r13 | |
0.04 push r12 | |
0.01 push rbx | |
0.01 sub rsp,0x18 | |
lea rbp,[rsp+0x40] | |
2.59 mov rbx,rdi | |
0.00 mov r13,rsi | |
mov r15d,edx | |
0.02 mov r14d,ecx | |
0.00 lea esi,[r15+0x5] | |
0.01 mov edx,DWORD PTR [rbx+0x4c] | |
0.12 sub edx,DWORD PTR [rbx+0x34] | |
0.14 cmp edx,esi | |
2.61 ↓ jl 160 | |
31: lea r12,[rbx+0x40] | |
0.00 xor edx,edx | |
xor eax,eax | |
0.00 mov rdi,QWORD PTR [r12] | |
0.06 test rdi,rdi | |
0.04 ↓ je 7d | |
mov rdx,QWORD PTR [rdi] | |
0.66 test DWORD PTR [rdx],0x80000000 | |
3.05 ↓ je 174 | |
0.01 lea rdx,[rdi+0x10] | |
1.71 mov eax,DWORD PTR [rdi+0x8] | |
0.00 58: mov edi,DWORD PTR [r12+0x8] | |
0.01 and edi,0x7fffffff | |
0.01 mov esi,DWORD PTR [r12+0xc] | |
0.01 mov ecx,esi | |
add rcx,rdi | |
0.00 mov eax,eax | |
0.85 cmp rcx,rax | |
1.81 ↓ ja 197 | |
add rdx,rdi | |
mov eax,esi | |
7d: cmp DWORD PTR [rbx+0x28],0x0 | |
0.01 ↓ jge 9f | |
0.02 mov r12d,DWORD PTR [rbx+0x34] | |
0.01 lea edi,[r12+0x1] | |
0.00 mov DWORD PTR [rbx+0x34],edi | |
0.80 cmp r12d,eax | |
1.84 ↓ jae 1a4 | |
0.00 mov edi,r12d | |
mov BYTE PTR [rdx+rdi*1],0x2c | |
0.38 9f: mov r12d,DWORD PTR [rbx+0x34] | |
1.44 lea edi,[r12+0x1] | |
0.70 mov DWORD PTR [rbx+0x34],edi | |
cmp r12d,eax | |
↓ jae 1a4 | |
mov edi,r12d | |
0.40 mov BYTE PTR [rdx+rdi*1],0x22 | |
6.97 mov edi,DWORD PTR [rbx+0x34] | |
4.64 cmp edi,eax | |
1.59 ↓ ja 197 | |
0.01 mov esi,edi | |
mov QWORD PTR [rbp-0x38],rdx | |
add rsi,rdx | |
0.19 mov DWORD PTR [rbp-0x2c],eax | |
0.00 mov ecx,eax | |
0.03 sub ecx,edi | |
1.42 cmp r15d,ecx | |
1.40 ↓ ja 18a | |
0.00 mov edx,r15d | |
mov rdi,rsi | |
mov rsi,r13 | |
movabs rcx,0x7890233857b8 | |
0.12 → call QWORD PTR [rcx] | |
0.10 add r15d,DWORD PTR [rbx+0x34] | |
6.55 mov r12d,r15d | |
0.16 mov DWORD PTR [rbx+0x34],r12d | |
0.51 lea edi,[r12+0x1] | |
2.02 mov DWORD PTR [rbx+0x34],edi | |
0.06 mov r15d,DWORD PTR [rbp-0x2c] | |
0.03 cmp r12d,r15d | |
0.04 ↓ jae 1a4 | |
mov edi,r12d | |
mov r13,QWORD PTR [rbp-0x38] | |
0.22 mov BYTE PTR [rdi+r13*1],0x22 | |
9.10 mov r12d,DWORD PTR [rbx+0x34] | |
4.61 lea edi,[r12+0x1] | |
1.81 mov DWORD PTR [rbx+0x34],edi | |
0.03 cmp r12d,r15d | |
↓ jae 1a4 | |
mov edi,r12d | |
0.00 mov BYTE PTR [rdi+r13*1],0x3a | |
10.75 mov r12d,DWORD PTR [rbx+0x34] | |
6.10 lea edi,[r12+0x1] | |
1.92 mov DWORD PTR [rbx+0x34],edi | |
0.05 cmp r12d,r15d | |
0.04 ↓ jae 1a4 | |
mov edi,r12d | |
mov BYTE PTR [rdi+r13*1],r14b | |
11.37 add rsp,0x18 | |
0.06 pop rbx | |
0.02 pop r12 | |
0.01 pop r13 | |
0.01 pop r14 | |
0.05 pop r15 | |
0.02 pop rbp | |
2.46 ← ret | |
160: mov rdi,rbx | |
movabs rax,0x78902386e958 | |
→ call QWORD PTR [rax] | |
↑ jmp 31 | |
174: 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 | |
↑ jmp 58 | |
18a: movabs rax,0x78902386f450 | |
→ call QWORD PTR [rax] | |
int3 | |
197: movabs rax,0x78902360c060 | |
→ call QWORD PTR [rax] | |
int3 | |
1a4: → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WritePropertyNameMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8 | |
int3 | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
bool [System.Private.CoreLib] System.Number::TryUInt64ToDecStr(uint64,valuetype System.Span`1<!!0>,int32&)[OptimizedTier1]() /tmp/jitted-47883-2748.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <bool [System.Private.CoreLib] System.Number::TryUInt64ToDecStr(uint64,valuetype System.Span`1<!!0>,int32&)[OptimizedTier1]>: | |
bool [System.Private.CoreLib] System.Number::TryUInt64ToDecStr(uint64,valuetype System.Span`1<!!0>,int32&)[OptimizedTier1](): | |
9.50 push rbp | |
5.86 sub rsp,0x10 | |
lea rbp,[rsp+0x10] | |
xor eax,eax | |
mov QWORD PTR [rbp-0x8],rax | |
0.21 mov rax,rdi | |
or rax,0x1 | |
0.01 lzcnt rax,rax | |
5.60 xor eax,0x3f | |
cdqe | |
movabs r8,0x78902252fc20 | |
0.02 movzx eax,BYTE PTR [rax+r8*1] | |
0.75 mov r8d,eax | |
0.02 movabs r9,0x789022536738 | |
cmp rdi,QWORD PTR [r9+r8*8] | |
7.92 setb r8b | |
5.92 movzx r8d,r8b | |
2.27 sub eax,r8d | |
2.84 cmp eax,edx | |
3.34 ↓ jg ec | |
mov DWORD PTR [rcx],eax | |
0.01 mov QWORD PTR [rbp-0x8],rsi | |
0.08 movsxd rcx,eax | |
add rcx,rsi | |
3.91 cmp rdi,0xa | |
1.90 ↓ jae c2 | |
66: dec rcx | |
0.01 add edi,0x30 | |
mov BYTE PTR [rcx],dil | |
5.86 6f: xor eax,eax | |
0.19 mov QWORD PTR [rbp-0x8],rax | |
0.10 mov eax,0x1 | |
0.51 add rsp,0x10 | |
pop rbp | |
0.47 ← ret | |
80: add rcx,0xfffffffffffffffe | |
4.01 movabs rdx,0x28f5c28f5c28f5c3 | |
mov rax,rdi | |
shr rax,0x2 | |
mul rdx | |
0.01 shr rdx,0x2 | |
1.89 imul rax,rdx,0x64 | |
0.04 mov rsi,rdi | |
3.81 sub rsi,rax | |
0.04 mov rdi,rdx | |
movabs rax,0x78500c0005d8 | |
mov rax,QWORD PTR [rax] | |
0.06 add esi,esi | |
0.01 mov edx,esi | |
1.88 mov ax,WORD PTR [rax+rdx*1+0x10] | |
2.50 mov WORD PTR [rcx],ax | |
18.83 c2: cmp rdi,0x64 | |
0.10 ↑ jae 80 | |
cmp rdi,0xa | |
0.01 ↑ jb 66 | |
add rcx,0xfffffffffffffffe | |
movabs rax,0x78500c0005d8 | |
0.01 mov rax,QWORD PTR [rax] | |
0.12 lea edx,[rdi+rdi*1] | |
0.53 mov ax,WORD PTR [rax+rdx*1+0x10] | |
0.97 mov WORD PTR [rcx],ax | |
7.91 ↑ jmp 6f | |
ec: xor eax,eax | |
mov DWORD PTR [rcx],eax | |
add rsp,0x10 | |
pop rbp | |
← ret | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8::FromUtf16(valuetype System.ReadOnlySpan`1<char>,valuetype System.Span`1<uint8>,int32&,int32&,bool,bool)[OptimizedTier1]() /tmp/jitted-47883-2661.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8::FromUtf16(valuetype System.ReadOnlySpan`1<char>,valuetype System.Span`1<uint8>,int32&,int32&,bool,bool)[OptimizedTier1]>: | |
valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8::FromUtf16(valuetype System.ReadOnlySpan`1<char>,valuetype System.Span`1<uint8>,int32&,int32&,bool,bool)[OptimizedTier1](): | |
26.65 push rbp | |
6.83 push r15 | |
push r14 | |
push r13 | |
0.01 push r12 | |
push rbx | |
0.01 sub rsp,0x38 | |
lea rbp,[rsp+0x60] | |
7.01 mov rbx,rdi | |
mov r12d,esi | |
mov r15,rdx | |
mov eax,ecx | |
mov r14,r8 | |
0.01 mov r13,r9 | |
0.02 mov QWORD PTR [rbp-0x38],rbx | |
0.03 mov r10,rbx | |
6.85 mov QWORD PTR [rbp-0x30],r10 | |
mov QWORD PTR [rbp-0x48],r15 | |
mov r11,r15 | |
mov QWORD PTR [rbp-0x40],r11 | |
0.04 xor ecx,ecx | |
mov QWORD PTR [rbp-0x50],r10 | |
mov QWORD PTR [rbp-0x58],r11 | |
test r12d,r12d | |
7.30 ↓ je 72 | |
49: mov rdi,rbx | |
mov rdx,r15 | |
0.01 lea r9,[rbp-0x58] | |
0.01 lea r8,[rbp-0x50] | |
0.01 mov esi,r12d | |
mov DWORD PTR [rbp-0x5c],eax | |
0.01 mov ecx,eax | |
movabs rax,0x78902338e700 | |
7.20 → call QWORD PTR [rax] | |
0.24 mov ecx,eax | |
0.07 cmp ecx,0x1 | |
3.23 ↓ jg a7 | |
72: mov rax,QWORD PTR [rbp-0x50] | |
1.40 sub rax,QWORD PTR [rbp-0x30] | |
5.44 mov r10,rax | |
0.22 shr r10,0x3f | |
5.23 add rax,r10 | |
3.02 sar rax,1 | |
3.24 mov DWORD PTR [r14],eax | |
0.19 mov rax,QWORD PTR [rbp-0x58] | |
4.89 sub rax,QWORD PTR [rbp-0x40] | |
2.17 mov DWORD PTR [r13+0x0],eax | |
1.08 mov eax,ecx | |
add rsp,0x38 | |
2.15 pop rbx | |
1.13 pop r12 | |
0.13 pop r13 | |
0.87 pop r14 | |
2.24 pop r15 | |
1.01 pop rbp | |
0.06 ← ret | |
a7: mov eax,DWORD PTR [rbp-0x5c] | |
cmp ecx,0x2 | |
↓ jne ba | |
movzx edx,BYTE PTR [rbp+0x18] | |
test dl,dl | |
mov DWORD PTR [rbp+0x18],edx | |
↑ je 72 | |
ba: rex movzx edi,BYTE PTR [rbp+0x10] | |
test dil,dil | |
↓ je 157 | |
mov rcx,QWORD PTR [rbp-0x58] | |
mov rsi,r15 | |
sub ecx,esi | |
cmp ecx,eax | |
↓ ja 14a | |
mov esi,ecx | |
add r15,rsi | |
sub eax,ecx | |
cmp eax,0x2 | |
↓ jle 140 | |
mov WORD PTR [r15],0xbfef | |
mov BYTE PTR [r15+0x2],0xbd | |
cmp eax,0x3 | |
↓ jb 14a | |
add r15,0x3 | |
add eax,0xfffffffd | |
mov rcx,QWORD PTR [rbp-0x50] | |
mov rsi,rbx | |
sub rcx,rsi | |
mov rsi,rcx | |
shr rsi,0x3f | |
add rcx,rsi | |
sar rcx,1 | |
inc ecx | |
cmp ecx,r12d | |
↓ ja 14a | |
mov esi,ecx | |
lea rbx,[rbx+rsi*2] | |
sub r12d,ecx | |
xor ecx,ecx | |
mov rsi,rbx | |
mov QWORD PTR [rbp-0x50],rsi | |
mov rsi,r15 | |
mov QWORD PTR [rbp-0x58],rsi | |
test r12d,r12d | |
mov DWORD PTR [rbp+0x10],edi | |
↑ jne 49 | |
↑ jmp 72 | |
140: mov ecx,0x1 | |
↑ jmp 72 | |
14a: movabs rax,0x78902360c060 | |
→ call QWORD PTR [rax] | |
int3 | |
157: mov ecx,0x3 | |
↑ jmp 72 | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteNumberMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>,int64)[OptimizedTier1]() /tmp/jitted-47883-2714.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteNumberMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>,int64)[OptimizedTier1]>: | |
instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteNumberMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8>,int64)[OptimizedTier1](): | |
4.17 push rbp | |
2.53 push r15 | |
push r14 | |
0.01 push r13 | |
0.06 push r12 | |
0.01 push rbx | |
0.02 sub rsp,0x38 | |
lea rbp,[rsp+0x60] | |
2.46 xor eax,eax | |
mov QWORD PTR [rbp-0x48],rax | |
0.12 mov rbx,rdi | |
0.02 mov r13,rsi | |
mov r15d,edx | |
mov r14,rcx | |
lea esi,[r15+0x18] | |
mov edx,DWORD PTR [rbx+0x4c] | |
2.33 sub edx,DWORD PTR [rbx+0x34] | |
0.20 cmp edx,esi | |
0.18 ↓ jl 2b5 | |
37: lea r12,[rbx+0x40] | |
xor edx,edx | |
xor eax,eax | |
mov rdi,QWORD PTR [r12] | |
0.06 test rdi,rdi | |
0.10 ↓ je 83 | |
mov rdx,QWORD PTR [rdi] | |
2.75 test DWORD PTR [rdx],0x80000000 | |
3.41 ↓ je 2c9 | |
lea rdx,[rdi+0x10] | |
0.02 mov eax,DWORD PTR [rdi+0x8] | |
0.04 5e: mov edi,DWORD PTR [r12+0x8] | |
and edi,0x7fffffff | |
0.01 mov esi,DWORD PTR [r12+0xc] | |
0.01 mov ecx,esi | |
add rcx,rdi | |
1.75 mov eax,eax | |
0.78 cmp rcx,rax | |
0.10 ↓ ja 41b | |
add rdx,rdi | |
mov eax,esi | |
83: cmp DWORD PTR [rbx+0x28],0x0 | |
0.01 ↓ jge a5 | |
mov r12d,DWORD PTR [rbx+0x34] | |
0.02 lea edi,[r12+0x1] | |
1.07 mov DWORD PTR [rbx+0x34],edi | |
0.49 cmp r12d,eax | |
0.80 ↓ jae 428 | |
0.04 mov edi,r12d | |
mov BYTE PTR [rdx+rdi*1],0x2c | |
0.18 a5: mov r12d,DWORD PTR [rbx+0x34] | |
0.37 lea edi,[r12+0x1] | |
0.76 mov DWORD PTR [rbx+0x34],edi | |
0.70 cmp r12d,eax | |
1.30 ↓ jae 428 | |
0.01 mov edi,r12d | |
0.17 mov BYTE PTR [rdx+rdi*1],0x22 | |
1.67 mov edi,DWORD PTR [rbx+0x34] | |
2.08 cmp edi,eax | |
0.81 ↓ ja 41b | |
mov esi,edi | |
mov QWORD PTR [rbp-0x58],rdx | |
0.49 add rsi,rdx | |
0.38 mov DWORD PTR [rbp-0x34],eax | |
0.40 mov ecx,eax | |
0.07 sub ecx,edi | |
0.51 cmp r15d,ecx | |
0.92 ↓ ja 40e | |
mov edx,r15d | |
mov rdi,rsi | |
mov rsi,r13 | |
0.56 movabs rcx,0x7890233857b8 | |
0.40 → call QWORD PTR [rcx] | |
0.49 add r15d,DWORD PTR [rbx+0x34] | |
1.59 mov r12d,r15d | |
mov DWORD PTR [rbx+0x34],r12d | |
0.24 lea eax,[r12+0x1] | |
0.07 mov DWORD PTR [rbx+0x34],eax | |
0.03 mov r13d,DWORD PTR [rbp-0x34] | |
0.15 cmp r12d,r13d | |
0.33 ↓ jae 428 | |
mov eax,r12d | |
mov r15,QWORD PTR [rbp-0x58] | |
1.58 mov BYTE PTR [r15+rax*1],0x22 | |
0.76 mov r12d,DWORD PTR [rbx+0x34] | |
3.04 lea eax,[r12+0x1] | |
1.20 mov DWORD PTR [rbx+0x34],eax | |
cmp r12d,r13d | |
0.01 ↓ jae 428 | |
mov eax,r12d | |
0.15 mov BYTE PTR [r15+rax*1],0x3a | |
6.79 mov eax,DWORD PTR [rbx+0x34] | |
6.73 cmp eax,r13d | |
2.00 ↓ ja 41b | |
mov r8d,eax | |
0.01 add r8,r15 | |
0.09 sub r13d,eax | |
0.01 mov r12,r8 | |
mov r15d,r13d | |
0.02 mov WORD PTR [rbp-0x40],0x0 | |
0.18 movzx eax,BYTE PTR [rbp-0x40] | |
0.26 rex movzx esi,BYTE PTR [rbp-0x3f] | |
2.41 or eax,esi | |
0.32 ↓ jne 2df | |
test r14,r14 | |
0.04 ↓ jl 277 | |
mov rax,r14 | |
or rax,0x1 | |
lzcnt rax,rax | |
0.02 xor eax,0x3f | |
0.21 cdqe | |
0.02 movabs rdx,0x78902252fc20 | |
1.67 movzx eax,BYTE PTR [rax+rdx*1] | |
0.44 mov edx,eax | |
0.02 movabs rsi,0x789022536738 | |
0.01 cmp r14,QWORD PTR [rsi+rdx*8] | |
1.46 setb dl | |
0.49 movzx edx,dl | |
1.11 sub eax,edx | |
0.89 cmp eax,r13d | |
2.00 ↓ jg 1f8 | |
mov DWORD PTR [rbp-0x30],eax | |
0.16 mov QWORD PTR [rbp-0x48],r8 | |
0.05 movsxd r9,eax | |
0.01 add r8,r9 | |
0.93 cmp r14,0xa | |
0.02 ↓ jae 243 | |
1cd: dec r8 | |
add r14d,0x30 | |
0.16 mov BYTE PTR [r8],r14b | |
0.56 1d7: xor eax,eax | |
0.29 mov QWORD PTR [rbp-0x48],rax | |
0.60 1dd: xor eax,eax | |
0.05 mov QWORD PTR [rbp-0x48],rax | |
1e3: mov eax,DWORD PTR [rbp-0x30] | |
0.16 add DWORD PTR [rbx+0x34],eax | |
0.35 add rsp,0x38 | |
1.26 pop rbx | |
0.59 pop r12 | |
1.01 pop r13 | |
0.15 pop r14 | |
0.24 pop r15 | |
0.26 pop rbp | |
0.22 ← ret | |
1f8: xor eax,eax | |
mov DWORD PTR [rbp-0x30],eax | |
↑ jmp 1dd | |
1ff: add r8,0xfffffffffffffffe | |
0.56 movabs rdx,0x28f5c28f5c28f5c3 | |
0.55 mov rax,r14 | |
0.03 shr rax,0x2 | |
0.04 mul rdx | |
0.36 shr rdx,0x2 | |
0.92 imul r9,rdx,0x64 | |
0.05 mov rcx,r14 | |
0.56 sub rcx,r9 | |
0.50 mov r14,rdx | |
0.02 movabs r9,0x78500c0005d8 | |
0.04 mov r9,QWORD PTR [r9] | |
0.33 add ecx,ecx | |
0.02 mov edx,ecx | |
1.00 mov r9w,WORD PTR [r9+rdx*1+0x10] | |
6.40 mov WORD PTR [r8],r9w | |
2.15 243: cmp r14,0x64 | |
0.20 ↑ jae 1ff | |
cmp r14,0xa | |
0.01 ↑ jb 1cd | |
add r8,0xfffffffffffffffe | |
0.99 movabs r9,0x78500c0005d8 | |
0.04 mov r9,QWORD PTR [r9] | |
0.01 lea edx,[r14+r14*1] | |
mov r9w,WORD PTR [r9+rdx*1+0x10] | |
0.31 mov WORD PTR [r8],r9w | |
5.63 ↑ jmp 1d7 | |
277: xor r8d,r8d | |
cmp esi,0xff | |
cmove esi,r8d | |
movabs rdx,0x78902252fbc8 | |
lea r8,[rbp-0x30] | |
mov QWORD PTR [rsp],r8 | |
mov r8,r12 | |
mov r9d,r15d | |
mov ecx,0x1 | |
mov rdi,r14 | |
movabs rax,0x78902386fd80 | |
→ call QWORD PTR [rax] | |
↑ jmp 1e3 | |
2b5: mov rdi,rbx | |
movabs rax,0x78902386e958 | |
→ call QWORD PTR [rax] | |
↑ jmp 37 | |
2c9: 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 | |
↑ jmp 5e | |
2df: movzx eax,BYTE PTR [rbp-0x40] | |
or eax,0x20 | |
cmp eax,0x67 | |
↓ jg 2f7 | |
cmp eax,0x64 | |
↓ je 369 | |
cmp eax,0x67 | |
↓ je 354 | |
↓ jmp 30a | |
2f7: cmp eax,0x6e | |
↓ je 3e1 | |
cmp eax,0x72 | |
↓ je 354 | |
cmp eax,0x78 | |
↓ je 317 | |
30a: movabs rax,0x7890239668c8 | |
→ call QWORD PTR [rax] | |
int3 | |
317: movzx r13d,BYTE PTR [rbp-0x40] | |
lea rdi,[rbp-0x40] | |
movabs rax,0x78902386fd68 | |
→ call QWORD PTR [rax] | |
mov edx,eax | |
mov rcx,r12 | |
mov r8d,r15d | |
add r13d,0xffffffdf | |
movzx esi,r13w | |
lea r9,[rbp-0x30] | |
mov rdi,r14 | |
movabs rax,0x789023966700 | |
→ call QWORD PTR [rax] | |
↑ jmp 1e3 | |
354: cmp esi,0xff | |
↓ je 369 | |
movabs rax,0x7890239668e0 | |
→ call QWORD PTR [rax] | |
int3 | |
369: test r14,r14 | |
↓ jge 3b1 | |
lea rdi,[rbp-0x40] | |
movabs rax,0x78902386fd68 | |
→ call QWORD PTR [rax] | |
mov esi,eax | |
movabs rdx,0x78902252fbc8 | |
lea r8,[rbp-0x30] | |
mov QWORD PTR [rsp],r8 | |
mov r8,r12 | |
mov r9d,r15d | |
mov ecx,0x1 | |
mov rdi,r14 | |
movabs rax,0x78902386fd80 | |
→ call QWORD PTR [rax] | |
↑ jmp 1e3 | |
3b1: lea rdi,[rbp-0x40] | |
movabs rax,0x78902386fd68 | |
→ call QWORD PTR [rax] | |
mov esi,eax | |
mov rdx,r12 | |
mov ecx,r15d | |
lea r8,[rbp-0x30] | |
mov rdi,r14 | |
movabs rax,0x7890239666e8 | |
→ call QWORD PTR [rax] | |
↑ jmp 1e3 | |
3e1: movzx r8d,WORD PTR [rbp-0x40] | |
mov WORD PTR [rbp-0x50],r8w | |
movzx r8d,WORD PTR [rbp-0x50] | |
mov rsi,r12 | |
mov edx,r15d | |
lea rcx,[rbp-0x30] | |
mov rdi,r14 | |
movabs rax,0x7890239666d0 | |
→ call QWORD PTR [rax] | |
↑ jmp 1e3 | |
40e: movabs rax,0x78902386f450 | |
→ call QWORD PTR [rax] | |
int3 | |
41b: movabs rax,0x78902360c060 | |
→ call QWORD PTR [rax] | |
int3 | |
428: → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteNumberMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<uint8 | |
int3 | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1<char>)[OptimizedTier1]() /tmp/jitted-47883-2670.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1<char>)[OptimizedTier1]>: | |
instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1<char>)[OptimizedTier1](): | |
16.69 push rbp | |
7.84 sub rsp,0x10 | |
lea rbp,[rsp+0x10] | |
xor eax,eax | |
mov QWORD PTR [rbp-0x8],rax | |
0.03 xor eax,eax | |
0.01 test edx,edx | |
0.01 cmovne rax,rsi | |
7.75 mov QWORD PTR [rbp-0x8],rax | |
0.01 mov rcx,rax | |
mov edx,edx | |
vxorps xmm0,xmm0,xmm0 | |
vmovups xmm1,XMMWORD PTR [rip+0x2b3] # 360 <instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1<char>)[OptimizedTier1]+0x2e0> | |
0.05 vmovups xmm2,XMMWORD PTR [rip+0x2bb] # 370 <instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1<char>)[OptimizedTier1]+0x2f0> | |
0.05 vmovups xmm3,XMMWORD PTR [rdi+0x18] | |
4.56 xor esi,esi | |
7.11 cmp rdx,0x10 | |
↓ jae 110 | |
46: test dl,0x8 | |
0.02 ↓ jne a7 | |
4b: test dl,0x4 | |
0.01 ↓ je 86 | |
vmovq xmm4,QWORD PTR [rcx+rsi*2] | |
2.25 vpackuswb xmm4,xmm4,xmm0 | |
0.44 vpshufb xmm3,xmm3,xmm4 | |
1.32 vpsrld xmm4,xmm4,0x4 | |
0.08 vpand xmm1,xmm4,xmm1 | |
5.33 vpshufb xmm2,xmm2,xmm1 | |
0.13 vpand xmm1,xmm2,xmm3 | |
0.75 vpcmpeqb xmm0,xmm1,xmm0 | |
1.27 vpmovmskb r8d,xmm0 | |
1.91 test r8b,0xf | |
8.14 ↓ jne 158 | |
0.06 add rsi,0x4 | |
86: test dl,0x3 | |
0.03 ↓ jne e1 | |
8b: mov rax,rsi | |
1.52 cmp rax,rdx | |
0.77 ↓ jb 167 | |
97: mov ecx,0xffffffff | |
0.71 cmp eax,edx | |
0.63 cmove eax,ecx | |
1.81 add rsp,0x10 | |
1.16 pop rbp | |
1.32 ← ret | |
a7: vmovups xmm4,XMMWORD PTR [rcx+rsi*2] | |
0.08 vpackuswb xmm4,xmm4,xmm0 | |
0.28 vpshufb xmm5,xmm3,xmm4 | |
1.25 vpsrld xmm4,xmm4,0x4 | |
vpand xmm4,xmm4,xmm1 | |
0.08 vpshufb xmm4,xmm2,xmm4 | |
3.06 vpand xmm4,xmm4,xmm5 | |
0.48 vpcmpeqb xmm4,xmm4,xmm0 | |
0.92 vpmovmskb r8d,xmm4 | |
test r8b,r8b | |
6.78 ↓ jne 158 | |
add rsi,0x8 | |
0.01 ↑ jmp 4b | |
0.01 e1: lea r8,[rdi+0x18] | |
1.59 movzx eax,WORD PTR [rcx+rsi*2] | |
0.81 cmp eax,0x7f | |
1.57 ↑ ja 8b | |
mov r9d,eax | |
and r9d,0xf | |
0.79 movzx r8d,BYTE PTR [r8+r9*1] | |
2.80 shr eax,0x4 | |
0.63 bt r8d,eax | |
0.83 ↑ jae 8b | |
1.90 inc rsi | |
0.65 cmp rsi,rdx | |
1.71 ↑ jne e1 | |
↑ jmp 8b | |
110: mov rax,rdx | |
and rax,0xfffffffffffffff0 | |
117: vmovups xmm4,XMMWORD PTR [rcx+rsi*2] | |
vpackuswb xmm4,xmm4,XMMWORD PTR [rcx+rsi*2+0x10] | |
vpshufb xmm5,xmm3,xmm4 | |
vpsrld xmm4,xmm4,0x4 | |
vpand xmm4,xmm4,xmm1 | |
vpshufb xmm4,xmm2,xmm4 | |
vpand xmm4,xmm4,xmm5 | |
vpcmpeqb xmm4,xmm4,xmm0 | |
vpmovmskb r8d,xmm4 | |
movzx r9d,r8w | |
test r9d,r9d | |
↓ jne 158 | |
add rsi,0x10 | |
cmp rsi,rax | |
↑ jb 117 | |
↑ jmp 46 | |
158: xor eax,eax | |
tzcnt eax,r8d | |
add rsi,rax | |
↑ jmp 8b | |
167: mov rsi,rdx | |
sub rsi,rax | |
cmp rsi,0x8 | |
↓ jb 2ac | |
xor esi,esi | |
lea r8,[rdi+0x428] | |
movzx r9d,WORD PTR [rcx+rax*2] | |
mov r10d,r9d | |
shr r10d,0x5 | |
mov r8d,DWORD PTR [r8+r10*4] | |
bt r8d,r9d | |
↓ jae 2a4 | |
mov esi,0x1 | |
lea r8,[rdi+0x428] | |
movzx r9d,WORD PTR [rcx+rax*2+0x2] | |
mov r10d,r9d | |
shr r10d,0x5 | |
mov r8d,DWORD PTR [r8+r10*4] | |
bt r8d,r9d | |
↓ jae 2a4 | |
mov esi,0x2 | |
lea r8,[rdi+0x428] | |
movzx r9d,WORD PTR [rcx+rax*2+0x4] | |
mov r10d,r9d | |
shr r10d,0x5 | |
mov r8d,DWORD PTR [r8+r10*4] | |
bt r8d,r9d | |
↓ jae 2a4 | |
mov esi,0x3 | |
lea r8,[rdi+0x428] | |
movzx r9d,WORD PTR [rcx+rax*2+0x6] | |
mov r10d,r9d | |
shr r10d,0x5 | |
mov r8d,DWORD PTR [r8+r10*4] | |
bt r8d,r9d | |
↓ jae 2a4 | |
mov esi,0x4 | |
lea r8,[rdi+0x428] | |
movzx r9d,WORD PTR [rcx+rax*2+0x8] | |
mov r10d,r9d | |
shr r10d,0x5 | |
mov r8d,DWORD PTR [r8+r10*4] | |
bt r8d,r9d | |
↓ jae 2a4 | |
mov esi,0x5 | |
lea r8,[rdi+0x428] | |
movzx r9d,WORD PTR [rcx+rax*2+0xa] | |
mov r10d,r9d | |
shr r10d,0x5 | |
mov r8d,DWORD PTR [r8+r10*4] | |
bt r8d,r9d | |
↓ jae 2a4 | |
mov esi,0x6 | |
lea r8,[rdi+0x428] | |
movzx r9d,WORD PTR [rcx+rax*2+0xc] | |
mov r10d,r9d | |
shr r10d,0x5 | |
mov r8d,DWORD PTR [r8+r10*4] | |
bt r8d,r9d | |
↓ jae 2a4 | |
mov esi,0x7 | |
lea r8,[rdi+0x428] | |
movzx r9d,WORD PTR [rcx+rax*2+0xe] | |
mov r10d,r9d | |
shr r10d,0x5 | |
mov r8d,DWORD PTR [r8+r10*4] | |
bt r8d,r9d | |
↓ jae 2a4 | |
add rax,0x8 | |
↑ jmp 167 | |
2a4: add rax,rsi | |
↑ jmp 97 | |
2ac: cmp rax,rdx | |
↑ jae 97 | |
lea rsi,[rdi+0x428] | |
movzx r8d,WORD PTR [rcx+rax*2] | |
mov r9d,r8d | |
shr r9d,0x5 | |
mov esi,DWORD PTR [rsi+r9*4] | |
bt esi,r8d | |
↑ jae 97 | |
inc rax | |
↑ jmp 2ac | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-47883-2632.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]>: | |
void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1](): | |
20.51 push rbp | |
16.38 mov rbp,rsp | |
mov rax,rdi | |
sub rax,rsi | |
cmp rax,rdx | |
↓ jb 121 | |
mov rax,rsi | |
sub rax,rdi | |
0.02 cmp rax,rdx | |
2.03 ↓ jb 121 | |
lea rax,[rsi+rdx*1] | |
14.56 lea rcx,[rdi+rdx*1] | |
cmp rdx,0x10 | |
↓ ja 75 | |
test dl,0x18 | |
0.02 ↓ jne 65 | |
test dl,0x4 | |
0.08 ↓ je 49 | |
mov edx,DWORD PTR [rsi] | |
0.10 mov DWORD PTR [rdi],edx | |
14.16 mov esi,DWORD PTR [rax-0x4] | |
0.66 mov DWORD PTR [rcx-0x4],esi | |
11.69 44: vzeroupper | |
0.01 pop rbp | |
1.62 ← ret | |
49: test rdx,rdx | |
0.01 ↑ je 44 | |
rex movzx esi,BYTE PTR [rsi] | |
0.03 mov BYTE PTR [rdi],sil | |
1.54 test dl,0x2 | |
3.28 ↑ je 44 | |
movsx rdi,WORD PTR [rax-0x2] | |
0.04 mov WORD PTR [rcx-0x2],di | |
1.14 ↑ jmp 44 | |
65: mov rdx,QWORD PTR [rsi] | |
0.13 mov QWORD PTR [rdi],rdx | |
6.86 mov rdi,QWORD PTR [rax-0x8] | |
0.06 mov QWORD PTR [rcx-0x8],rdi | |
5.08 ↑ jmp 44 | |
75: cmp rdx,0x40 | |
↓ jbe ea | |
cmp rdx,0x800 | |
↓ ja 12e | |
cmp rdx,0x100 | |
↓ jb ba | |
mov r8,rdi | |
and r8,0x3f | |
neg r8 | |
add r8,0x40 | |
vmovdqu ymm0,YMMWORD PTR [rsi] | |
vmovdqu YMMWORD PTR [rdi],ymm0 | |
vmovdqu ymm0,YMMWORD PTR [rsi+0x20] | |
vmovdqu YMMWORD PTR [rdi+0x20],ymm0 | |
add rsi,r8 | |
add rdi,r8 | |
sub rdx,r8 | |
ba: mov r8,rdx | |
shr r8,0x6 | |
c1: vmovdqu ymm0,YMMWORD PTR [rsi] | |
vmovdqu YMMWORD PTR [rdi],ymm0 | |
vmovdqu ymm0,YMMWORD PTR [rsi+0x20] | |
vmovdqu YMMWORD PTR [rdi+0x20],ymm0 | |
add rdi,0x40 | |
add rsi,0x40 | |
dec r8 | |
↑ jne c1 | |
and rdx,0x3f | |
cmp rdx,0x10 | |
↓ jbe 112 | |
ea: vmovups xmm0,XMMWORD PTR [rsi] | |
vmovups XMMWORD PTR [rdi],xmm0 | |
cmp rdx,0x20 | |
↓ jbe 112 | |
vmovups xmm0,XMMWORD PTR [rsi+0x10] | |
vmovups XMMWORD PTR [rdi+0x10],xmm0 | |
cmp rdx,0x30 | |
↓ jbe 112 | |
vmovups xmm0,XMMWORD PTR [rsi+0x20] | |
vmovups XMMWORD PTR [rdi+0x20],xmm0 | |
112: vmovups xmm0,XMMWORD PTR [rax-0x10] | |
vmovups XMMWORD PTR [rcx-0x10],xmm0 | |
↑ jmp 44 | |
121: cmp rdi,rsi | |
↓ jne 12e | |
cmp BYTE PTR [rsi],sil | |
↑ jmp 44 | |
12e: cmp BYTE PTR [rdi],dil | |
cmp BYTE PTR [rsi],sil | |
movabs rax,0x7890233864f0 | |
vzeroupper | |
pop rbp | |
rex.W jmp QWORD PTR [rax] | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteStringMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<char>)[OptimizedTier1]() /tmp/jitted-47883-2700.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteStringMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<char>)[OptimizedTier1]>: | |
instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteStringMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<char>)[OptimizedTier1](): | |
4.36 push rbp | |
4.07 push r15 | |
push r14 | |
push r13 | |
0.02 push r12 | |
0.01 push rbx | |
0.01 sub rsp,0x28 | |
lea rbp,[rsp+0x50] | |
4.27 mov rbx,rdi | |
mov r14,rsi | |
mov r15d,edx | |
lea esi,[r15+r15*2] | |
add esi,0x3 | |
mov edi,DWORD PTR [rbx+0x4c] | |
0.19 sub edi,DWORD PTR [rbx+0x34] | |
0.18 cmp edi,esi | |
3.97 ↓ jl 12e | |
31: lea r13,[rbx+0x40] | |
xor r12d,r12d | |
xor eax,eax | |
mov rdi,QWORD PTR [r13+0x0] | |
0.07 test rdi,rdi | |
0.01 ↓ je 7c | |
mov rax,QWORD PTR [rdi] | |
0.41 test DWORD PTR [rax],0x80000000 | |
1.55 ↓ je 142 | |
0.01 lea r12,[rdi+0x10] | |
3.81 mov eax,DWORD PTR [rdi+0x8] | |
0.05 59: mov edi,DWORD PTR [r13+0x8] | |
0.08 and edi,0x7fffffff | |
mov esi,DWORD PTR [r13+0xc] | |
mov edx,esi | |
add rdx,rdi | |
0.04 mov eax,eax | |
0.40 cmp rdx,rax | |
3.79 ↓ ja 156 | |
add r12,rdi | |
mov eax,esi | |
7c: cmp DWORD PTR [rbx+0x28],0x0 | |
0.01 ↓ jl 111 | |
86: mov r13d,DWORD PTR [rbx+0x34] | |
0.18 lea edi,[r13+0x1] | |
0.08 mov DWORD PTR [rbx+0x34],edi | |
0.24 cmp r13d,eax | |
1.83 ↓ jae 163 | |
0.02 mov edi,r13d | |
1.92 mov BYTE PTR [r12+rdi*1],0x22 | |
0.78 mov edi,DWORD PTR [rbx+0x34] | |
1.42 cmp edi,eax | |
0.49 ↓ ja 156 | |
mov edx,edi | |
add rdx,r12 | |
mov DWORD PTR [rbp-0x2c],eax | |
0.22 mov ecx,eax | |
1.84 sub ecx,edi | |
1.56 xor edi,edi | |
0.04 mov DWORD PTR [rsp],edi | |
mov DWORD PTR [rsp+0x8],0x1 | |
0.58 mov rdi,r14 | |
mov esi,r15d | |
lea r8,[rbp-0x40] | |
0.19 lea r9,[rbp-0x38] | |
1.95 movabs r10,0x78902386fa98 | |
1.32 → call QWORD PTR [r10] | |
0.33 mov r13d,DWORD PTR [rbx+0x34] | |
1.64 add r13d,DWORD PTR [rbp-0x38] | |
25.03 mov DWORD PTR [rbx+0x34],r13d | |
0.13 lea edi,[r13+0x1] | |
3.69 mov DWORD PTR [rbx+0x34],edi | |
0.19 cmp r13d,DWORD PTR [rbp-0x2c] | |
0.02 ↓ jae 163 | |
mov edi,r13d | |
mov BYTE PTR [r12+rdi*1],0x22 | |
20.17 add rsp,0x28 | |
0.07 pop rbx | |
pop r12 | |
pop r13 | |
0.02 pop r14 | |
0.02 pop r15 | |
0.02 pop rbp | |
4.21 ← ret | |
0.01 111: mov r13d,DWORD PTR [rbx+0x34] | |
lea edi,[r13+0x1] | |
mov DWORD PTR [rbx+0x34],edi | |
0.21 cmp r13d,eax | |
2.11 ↓ jae 163 | |
0.01 mov edi,r13d | |
mov BYTE PTR [r12+rdi*1],0x2c | |
0.08 ↑ jmp 86 | |
12e: mov rdi,rbx | |
movabs rax,0x78902386e958 | |
→ call QWORD PTR [rax] | |
↑ jmp 31 | |
142: mov rax,QWORD PTR [rdi] | |
mov rax,QWORD PTR [rax+0x40] | |
→ call QWORD PTR [rax+0x28] | |
mov r12,rax | |
mov eax,edx | |
↑ jmp 59 | |
156: movabs rax,0x78902360c060 | |
→ call QWORD PTR [rax] | |
int3 | |
163: → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::WriteStringMinimized(valuetype [System.Runtime]System.ReadOnlySpan`1<char | |
int3 | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]() /tmp/jitted-47883-2662.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]>: | |
valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1](): | |
18.24 push rbp | |
13.42 push r15 | |
push r14 | |
push r13 | |
0.09 push r12 | |
push rbx | |
push rax | |
0.10 lea rbp,[rsp+0x30] | |
mov QWORD PTR [rbp-0x30],r9 | |
14.05 mov rbx,rdi | |
mov r14d,esi | |
mov r15,rdx | |
mov r13d,ecx | |
0.06 mov r12,r8 | |
cmp r14d,r13d | |
0.07 mov edx,r13d | |
cmovle edx,r14d | |
13.33 mov rdi,rbx | |
mov rsi,r15 | |
0.05 movabs rcx,0x78902338e718 | |
0.06 → call QWORD PTR [rcx] | |
7.78 lea rbx,[rbx+rax*2] | |
0.13 add r15,rax | |
0.13 cmp eax,r14d | |
6.68 ↓ jne 68 | |
mov QWORD PTR [r12],rbx | |
0.10 mov r12,QWORD PTR [rbp-0x30] | |
1.31 mov QWORD PTR [r12],r15 | |
3.66 xor eax,eax | |
5.81 add rsp,0x8 | |
0.09 pop rbx | |
1.01 pop r12 | |
6.27 pop r13 | |
0.19 pop r14 | |
0.25 pop r15 | |
1.04 pop rbp | |
6.09 ← ret | |
68: sub r14d,eax | |
sub r13d,eax | |
cmp r14d,0x2 | |
↓ jl 474 | |
mov eax,r14d | |
lea rax,[rbx+rax*2-0x4] | |
80: mov ecx,DWORD PTR [rbx] | |
82: test ecx,0xff80ff80 | |
↓ jne 1a3 | |
cmp r13d,0x2 | |
↓ jl 235 | |
mov edx,ecx | |
shr edx,0x8 | |
or edx,ecx | |
mov WORD PTR [r15],dx | |
add rbx,0x4 | |
add r15,0x2 | |
add r13d,0xfffffffe | |
mov rcx,rax | |
sub rcx,rbx | |
mov rdx,rcx | |
shr rdx,0x3f | |
add rcx,rdx | |
sar rcx,1 | |
add ecx,0x2 | |
movsxd rdx,r13d | |
cmp rcx,rdx | |
↓ jle cf | |
↓ jmp d2 | |
cf: mov rdx,rcx | |
d2: mov ecx,edx | |
shr ecx,0x3 | |
xor edi,edi | |
d9: cmp edi,ecx | |
↓ jae 138 | |
vmovups xmm0,XMMWORD PTR [rbx] | |
vptest xmm0,XMMWORD PTR [rip+0x466] # 5d0 <valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]+0x550> | |
↓ jne 101 | |
vpackuswb xmm0,xmm0,xmm0 | |
vmovq QWORD PTR [r15],xmm0 | |
add rbx,0x10 | |
add r15,0x8 | |
inc edi | |
↑ jmp d9 | |
101: shl edi,0x3 | |
sub r13d,edi | |
vmovq rcx,xmm0 | |
movabs rdx,0xff80ff80ff80ff80 | |
test rdx,rcx | |
↓ jne 15d | |
vpackuswb xmm1,xmm0,xmm0 | |
vmovd DWORD PTR [r15],xmm1 | |
add rbx,0x8 | |
add r15,0x4 | |
add r13d,0xfffffffc | |
vpextrq rcx,xmm0,0x1 | |
↓ jmp 15d | |
138: lea ecx,[rdi*8+0x0] | |
sub r13d,ecx | |
test dl,0x4 | |
↓ je 457 | |
mov rcx,QWORD PTR [rbx] | |
movabs rdx,0xff80ff80ff80ff80 | |
test rdx,rcx | |
↓ je 18c | |
15d: mov edx,ecx | |
test edx,0xff80ff80 | |
↓ jne 188 | |
mov edi,edx | |
shr edi,0x8 | |
or edi,edx | |
mov WORD PTR [r15],di | |
add rbx,0x4 | |
add r15,0x2 | |
add r13d,0xfffffffe | |
shr rcx,0x20 | |
mov edx,ecx | |
mov ecx,edx | |
↓ jmp 1a3 | |
188: mov ecx,edx | |
↓ jmp 1a3 | |
18c: vmovq xmm0,rcx | |
vpackuswb xmm0,xmm0,xmm0 | |
vmovd DWORD PTR [r15],xmm0 | |
add rbx,0x8 | |
↓ jmp 44f | |
1a3: test ecx,0xff80 | |
↓ jne 1cc | |
test r13d,r13d | |
↓ je 50c | |
mov BYTE PTR [r15],cl | |
add rbx,0x2 | |
inc r15 | |
dec r13d | |
cmp rbx,rax | |
↓ ja 460 | |
mov ecx,DWORD PTR [rbx] | |
1cc: test ecx,0xf800 | |
↓ jne 2b3 | |
1d8: lea edx,[rcx-0x800000] | |
cmp edx,0x77fffff | |
↓ ja 23d | |
cmp r13d,0x4 | |
↓ jl 235 | |
mov edx,ecx | |
shr edx,0x6 | |
and edx,0x1f001f | |
shl ecx,0x8 | |
and ecx,0x3f003f00 | |
add ecx,edx | |
add ecx,0x80c080c0 | |
mov DWORD PTR [r15],ecx | |
add rbx,0x4 | |
add r15,0x4 | |
add r13d,0xfffffffc | |
cmp rbx,rax | |
↓ ja 460 | |
mov ecx,DWORD PTR [rbx] | |
lea edx,[rcx-0x80] | |
movzx edx,dx | |
cmp edx,0x780 | |
↑ jb 1d8 | |
↑ jmp 82 | |
235: movzx edx,cx | |
↓ jmp 480 | |
23d: cmp r13d,0x2 | |
↓ jl 50c | |
lea edx,[rcx*4+0x0] | |
and edx,0x1f00 | |
mov edi,ecx | |
and edi,0x3f | |
lea edx,[rdx+rdi*1+0xc080] | |
movzx edx,dx | |
movbe WORD PTR [r15],dx | |
cmp ecx,0x800000 | |
↓ jae 29c | |
cmp r13d,0x3 | |
↓ jl 28f | |
shr ecx,0x10 | |
mov BYTE PTR [r15+0x2],cl | |
add rbx,0x4 | |
add r15,0x3 | |
add r13d,0xfffffffd | |
↓ jmp 457 | |
28f: add rbx,0x2 | |
add r15,0x2 | |
↓ jmp 50c | |
29c: add rbx,0x2 | |
add r15,0x2 | |
add r13d,0xfffffffe | |
cmp rbx,rax | |
↓ ja 460 | |
mov ecx,DWORD PTR [rbx] | |
2b3: lea edx,[rcx-0xd800] | |
test edx,0xf800 | |
↓ je 3f4 | |
test ecx,0xf8000000 | |
↓ je 36a | |
lea edx,[rcx+0x28000000] | |
cmp edx,0x8000000 | |
↓ jb 36a | |
cmp r13d,0x6 | |
↓ jl 36a | |
lea edx,[rcx*4+0x0] | |
and edx,0x3f00 | |
mov edi,ecx | |
and edi,0x3f | |
shl edi,0x10 | |
or edx,edi | |
mov edi,ecx | |
shr edi,0x4 | |
and edi,0xf000000 | |
mov esi,ecx | |
shr esi,0xc | |
and esi,0xf | |
or edi,esi | |
add edx,edi | |
add edx,0xe08080e0 | |
mov DWORD PTR [r15],edx | |
mov edx,ecx | |
shr edx,0x16 | |
and edx,0x3f | |
shr ecx,0x8 | |
and ecx,0x3f00 | |
add ecx,edx | |
add ecx,0x8080 | |
mov WORD PTR [r15+0x4],cx | |
add rbx,0x4 | |
add r15,0x6 | |
add r13d,0xfffffffa | |
cmp rbx,rax | |
↓ ja 460 | |
mov ecx,DWORD PTR [rbx] | |
test ecx,0xf800 | |
↑ jne 2b3 | |
↑ jmp 82 | |
36a: cmp r13d,0x3 | |
↓ jl 50c | |
lea edx,[rcx*4+0x0] | |
and edx,0x3f00 | |
movzx edi,cx | |
shr edi,0xc | |
add edx,edi | |
add edx,0x80e0 | |
mov WORD PTR [r15],dx | |
mov edx,ecx | |
and edx,0x3f | |
or edx,0xffffff80 | |
mov BYTE PTR [r15+0x2],dl | |
add rbx,0x2 | |
add r15,0x3 | |
add r13d,0xfffffffd | |
cmp ecx,0x800000 | |
↓ jae 3e8 | |
test r13d,r13d | |
↓ je 50c | |
shr ecx,0x10 | |
mov BYTE PTR [r15],cl | |
add rbx,0x2 | |
inc r15 | |
dec r13d | |
cmp rbx,rax | |
↓ ja 460 | |
mov ecx,DWORD PTR [rbx] | |
test ecx,0xf800 | |
↑ jne 2b3 | |
↑ jmp 82 | |
3e8: cmp rbx,rax | |
↓ ja 460 | |
mov ecx,DWORD PTR [rbx] | |
↑ jmp 1a3 | |
3f4: lea edx,[rcx+0x23ff2800] | |
test edx,0xfc00fc00 | |
↓ jne 522 | |
cmp r13d,0x4 | |
↓ jl 50c | |
add ecx,0x40 | |
mov edx,ecx | |
and edx,0x3 | |
shl edx,0x14 | |
or edx,0x808080f0 | |
mov edi,ecx | |
and edi,0x3f0700 | |
bswap edi | |
rol edi,0x10 | |
or edx,edi | |
mov edi,ecx | |
shr edi,0x6 | |
and edi,0xf0000 | |
or edx,edi | |
and ecx,0xfc | |
shl ecx,0x6 | |
or ecx,edx | |
mov DWORD PTR [r15],ecx | |
add rbx,0x4 | |
44f: add r15,0x4 | |
add r13d,0xfffffffc | |
457: cmp rbx,rax | |
↑ jbe 80 | |
460: sub rax,rbx | |
mov r14,rax | |
shr r14,0x3f | |
add r14,rax | |
sar r14,1 | |
add r14d,0x2 | |
474: test r14d,r14d | |
↓ je 529 | |
movzx edx,WORD PTR [rbx] | |
480: cmp edx,0x7f | |
↓ ja 49a | |
test r13d,r13d | |
↓ je 50c | |
mov BYTE PTR [r15],dl | |
add rbx,0x2 | |
inc r15 | |
↓ jmp 506 | |
49a: cmp edx,0x800 | |
↓ jae 4c7 | |
cmp r13d,0x2 | |
↓ jl 50c | |
mov eax,edx | |
and eax,0x3f | |
or eax,0xffffff80 | |
mov BYTE PTR [r15+0x1],al | |
shr edx,0x6 | |
or edx,0xffffffc0 | |
mov BYTE PTR [r15],dl | |
add rbx,0x2 | |
add r15,0x2 | |
↓ jmp 506 | |
4c7: lea eax,[rdx-0xd800] | |
cmp eax,0x7ff | |
↓ jbe 513 | |
cmp r13d,0x3 | |
↓ jl 50c | |
mov eax,edx | |
and eax,0x3f | |
or eax,0xffffff80 | |
mov BYTE PTR [r15+0x2],al | |
mov eax,edx | |
shr eax,0x6 | |
and eax,0x3f | |
or eax,0xffffff80 | |
mov BYTE PTR [r15+0x1],al | |
shr edx,0xc | |
or edx,0xffffffe0 | |
mov BYTE PTR [r15],dl | |
add rbx,0x2 | |
add r15,0x3 | |
506: cmp r14d,0x1 | |
↓ jle 529 | |
50c: mov eax,0x1 | |
↓ jmp 52b | |
513: cmp edx,0xdbff | |
↓ ja 522 | |
mov eax,0x2 | |
↓ jmp 52b | |
522: mov eax,0x3 | |
↓ jmp 52b | |
529: xor eax,eax | |
52b: mov QWORD PTR [r12],rbx | |
mov r12,QWORD PTR [rbp-0x30] | |
mov QWORD PTR [r12],r15 | |
add rsp,0x8 | |
pop rbx | |
pop r12 | |
pop r13 | |
pop r14 | |
pop r15 | |
pop rbp | |
← ret | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
native uint [System.Private.CoreLib] System.Text.Ascii::NarrowUtf16ToAscii(char*,uint8*,native uint)[OptimizedTier1]() /tmp/jitted-47883-2663.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <native uint [System.Private.CoreLib] System.Text.Ascii::NarrowUtf16ToAscii(char*,uint8*,native uint)[OptimizedTier1]>: | |
native uint [System.Private.CoreLib] System.Text.Ascii::NarrowUtf16ToAscii(char*,uint8*,native uint)[OptimizedTier1](): | |
19.06 push rbp | |
21.41 mov rbp,rsp | |
xor eax,eax | |
cmp rdx,0x20 | |
↓ jae 8d | |
10: sub rdx,rax | |
cmp rdx,0x4 | |
↓ jb 4c | |
lea rcx,[rax+rdx*1-0x4] | |
0.15 1e: mov r8,QWORD PTR [rdi+rax*2] | |
30.81 movabs r9,0xff80ff80ff80ff80 | |
test r9,r8 | |
0.44 ↓ jne 220 | |
vmovq xmm0,r8 | |
0.06 vpackuswb xmm0,xmm0,xmm0 | |
5.04 vmovd DWORD PTR [rsi+rax*1],xmm0 | |
0.30 add rax,0x4 | |
0.01 cmp rax,rcx | |
0.01 ↑ jbe 1e | |
4c: test dl,0x2 | |
13.87 ↓ jne 6a | |
4.44 51: test dl,0x1 | |
0.52 ↓ je 65 | |
movzx ecx,WORD PTR [rdi+rax*2] | |
0.96 cmp ecx,0x7f | |
0.31 ↓ ja 65 | |
0.01 5f: mov BYTE PTR [rsi+rax*1],cl | |
0.39 inc rax | |
0.04 65: vzeroupper | |
0.06 pop rbp | |
0.35 ← ret | |
6a: mov ecx,DWORD PTR [rdi+rax*2] | |
1.14 test ecx,0xff80ff80 | |
0.26 ↓ jne 242 | |
lea r8,[rsi+rax*1] | |
mov BYTE PTR [r8],cl | |
0.31 shr ecx,0x10 | |
0.03 mov BYTE PTR [r8+0x1],cl | |
add rax,0x2 | |
0.03 ↑ jmp 51 | |
8d: mov r8,QWORD PTR [rdi] | |
movabs rcx,0xff80ff80ff80ff80 | |
test rcx,r8 | |
↓ jne 220 | |
cmp rdx,0x40 | |
↓ jb 172 | |
mov rax,rdi | |
vmovups ymm0,YMMWORD PTR [rax] | |
vptest ymm0,YMMWORD PTR [rip+0x1a3] # 2e0 <native uint [System.Private.CoreLib] System.Text.Ascii::NarrowUtf16ToAscii(char*,uint8*,native uint)[OptimizedTier1]+0x260> | |
↓ jne 16b | |
mov r8,rsi | |
vpackuswb ymm0,ymm0,ymm0 | |
vpermq ymm0,ymm0,0xd8 | |
vmovups XMMWORD PTR [r8],xmm0 | |
mov ecx,0x10 | |
test sil,0x10 | |
↓ jne 100 | |
vmovups ymm0,YMMWORD PTR [rax+0x20] | |
vptest ymm0,YMMWORD PTR [rip+0x172] # 2e0 <native uint [System.Private.CoreLib] System.Text.Ascii::NarrowUtf16ToAscii(char*,uint8*,native uint)[OptimizedTier1]+0x260> | |
↓ jne 166 | |
vpackuswb ymm0,ymm0,ymm0 | |
vpermq ymm0,ymm0,0xd8 | |
vmovups XMMWORD PTR [r8+0x10],xmm0 | |
100: mov rcx,rsi | |
and rcx,0x1f | |
neg rcx | |
add rcx,0x20 | |
lea r9,[rdx-0x20] | |
112: vmovups ymm0,YMMWORD PTR [rax+rcx*2] | |
vmovups ymm1,YMMWORD PTR [rax+rcx*2+0x20] | |
vpor ymm2,ymm0,ymm1 | |
vptest ymm2,YMMWORD PTR [rip+0x136] # 2e0 <native uint [System.Private.CoreLib] System.Text.Ascii::NarrowUtf16ToAscii(char*,uint8*,native uint)[OptimizedTier1]+0x260> | |
↓ jne 147 | |
vpackuswb ymm0,ymm0,ymm1 | |
vpermq ymm0,ymm0,0xd8 | |
vmovups YMMWORD PTR [r8+rcx*1],ymm0 | |
add rcx,0x20 | |
cmp rcx,r9 | |
↑ jbe 112 | |
↓ jmp 166 | |
147: vptest ymm0,YMMWORD PTR [rip+0x110] # 2e0 <native uint [System.Private.CoreLib] System.Text.Ascii::NarrowUtf16ToAscii(char*,uint8*,native uint)[OptimizedTier1]+0x260> | |
↓ jne 166 | |
vpackuswb ymm0,ymm0,ymm0 | |
vpermq ymm0,ymm0,0xd8 | |
vmovups XMMWORD PTR [r8+rcx*1],xmm0 | |
add rcx,0x10 | |
166: mov rax,rcx | |
↓ jmp 16d | |
16b: xor eax,eax | |
16d: ↑ jmp 10 | |
172: mov rax,rdi | |
vmovups xmm0,XMMWORD PTR [rax] | |
vptest xmm0,XMMWORD PTR [rip+0xde] # 2e0 <native uint [System.Private.CoreLib] System.Text.Ascii::NarrowUtf16ToAscii(char*,uint8*,native uint)[OptimizedTier1]+0x260> | |
↓ jne 219 | |
mov rcx,rsi | |
vpackuswb xmm0,xmm0,xmm0 | |
vmovsd QWORD PTR [rcx],xmm0 | |
mov r8d,0x8 | |
test sil,0x8 | |
↓ jne 1b8 | |
vmovups xmm0,XMMWORD PTR [rax+0x10] | |
vptest xmm0,XMMWORD PTR [rip+0xb3] # 2e0 <native uint [System.Private.CoreLib] System.Text.Ascii::NarrowUtf16ToAscii(char*,uint8*,native uint)[OptimizedTier1]+0x260> | |
↓ jne 214 | |
vpackuswb xmm0,xmm0,xmm0 | |
vmovsd QWORD PTR [rcx+0x8],xmm0 | |
1b8: mov r8,rsi | |
and r8,0xf | |
neg r8 | |
add r8,0x10 | |
lea r9,[rdx-0x10] | |
1ca: vmovups xmm0,XMMWORD PTR [rax+r8*2] | |
vmovups xmm1,XMMWORD PTR [rax+r8*2+0x10] | |
vpor xmm2,xmm0,xmm1 | |
vptest xmm2,XMMWORD PTR [rip+0x7c] # 2e0 <native uint [System.Private.CoreLib] System.Text.Ascii::NarrowUtf16ToAscii(char*,uint8*,native uint)[OptimizedTier1]+0x260> | |
↓ jne 1fb | |
vpackuswb xmm0,xmm0,xmm1 | |
vmovups XMMWORD PTR [rcx+r8*1],xmm0 | |
add r8,0x10 | |
cmp r8,r9 | |
↑ jbe 1ca | |
↓ jmp 214 | |
1fb: vptest xmm0,XMMWORD PTR [rip+0x5c] # 2e0 <native uint [System.Private.CoreLib] System.Text.Ascii::NarrowUtf16ToAscii(char*,uint8*,native uint)[OptimizedTier1]+0x260> | |
↓ jne 214 | |
vpackuswb xmm0,xmm0,xmm0 | |
vmovsd QWORD PTR [rcx+r8*1],xmm0 | |
add r8,0x8 | |
214: mov rax,r8 | |
↓ jmp 21b | |
219: xor eax,eax | |
21b: ↑ jmp 10 | |
220: mov ecx,r8d | |
test ecx,0xff80ff80 | |
↓ jne 242 | |
lea rdx,[rsi+rax*1] | |
mov BYTE PTR [rdx],cl | |
shr ecx,0x10 | |
mov BYTE PTR [rdx+0x1],cl | |
shr r8,0x20 | |
mov ecx,r8d | |
add rax,0x2 | |
242: test ecx,0xff80 | |
↑ je 5f | |
↑ jmp 65 | |
Samples: 300K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6013580000, [percent: local period] | |
instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::SetFlagToAddListSeparatorBeforeNextItem()[OptimizedTier1]() /tmp/jitted-47883-2640.so | |
Percent | |
Disassembly of section .text: | |
0000000000000080 <instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::SetFlagToAddListSeparatorBeforeNextItem()[OptimizedTier1]>: | |
instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::SetFlagToAddListSeparatorBeforeNextItem()[OptimizedTier1](): | |
70.49 or DWORD PTR [rdi+0x28],0x80000000 | |
29.51 ← ret |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment