Skip to content

Instantly share code, notes, and snippets.

@EgorBot
Created September 2, 2024 00:14
Show Gist options
  • Save EgorBot/229aadf076b904d01d5e19b27dd5a6c1 to your computer and use it in GitHub Desktop.
Save EgorBot/229aadf076b904d01d5e19b27dd5a6c1 to your computer and use it in GitHub Desktop.
diff_asm_cc2d28f6.asm
Samples: 301K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6038960000, [percent: local period]
JIT_NewArr1VC_MP_FastPortable(CORINFO_CLASS_STRUCT_*, long)() /home/egorbot/24a3eb13-935a-4ed9-a055-20028fcd81c9/libcoreclr.so
Percent
Disassembly of section .text:
0000000000354b10 <GetCLRRuntimeHost@@V1.0+0x13bfd0>:
8.78 push rbp
0.14 mov rbp,rsp
0.95 push r15
0.16 push r14
0.02 push r12
0.09 push rbx
0.32 mov r12,rsi
8.01 mov r14,rdi
cmp rsi,0xfeff
↓ jae 60
0.01 cmp QWORD PTR [rip+0x38172e],0x0
0.06 ↓ je 29
→ call TLS init function for t_runtime_thread_locals@plt
0.02 29: movzx eax,WORD PTR [r14]
0.01 imul rax,r12
0.06 mov ecx,DWORD PTR [r14+0x4]
8.09 lea rbx,[rcx+rax*1]
0.21 add rbx,0x7
0.03 and rbx,0xfffffffffffffff8
0.03 data16 lea rdi,[rip+0x38170f] # 6d6268 <msync@plt+0x27798>
7.97 data16 data16 rex.W call 6ad940 <__tls_get_addr@plt>
7.59 mov r15,QWORD PTR [rax]
3.47 mov rax,QWORD PTR [rax+0x8]
3.49 sub rax,r15
6.72 cmp rbx,rax
↓ jbe 73
0.35 60: mov rdi,r14
0.02 mov rsi,r12
pop rbx
0.31 pop r12
0.00 pop r14
0.04 pop r15
pop rbp
0.04 → jmp JIT_NewArr1(CORINFO_CLASS_STRUCT_*, long)
7.96 73: add rbx,r15
0.00 data16 lea rdi,[rip+0x3816da] # 6d6268 <msync@plt+0x27798>
0.00 data16 data16 rex.W call 6ad940 <__tls_get_addr@plt>
6.17 mov QWORD PTR [rax],rbx
1.06 mov QWORD PTR [r15],r14
0.06 mov DWORD PTR [r15+0x8],r12d
0.82 mov rax,r15
6.72 pop rbx
6.64 pop r12
0.13 pop r14
5.82 pop r15
2.65 pop rbp
4.95 ← ret
Samples: 301K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6038960000, [percent: local period]
JIT_InitPInvokeFrame(InlinedCallFrame*)() /home/egorbot/24a3eb13-935a-4ed9-a055-20028fcd81c9/libcoreclr.so
Percent
Disassembly of section .text:
000000000035d7a0 <GetCLRRuntimeHost@@V1.0+0x144c60>:
10.09 push rbp
1.57 mov rbp,rsp
0.01 push r14
0.11 push rbx
0.09 mov r14,rdi
0.20 data16 lea rdi,[rip+0x37898e] # 6d6140 <msync@plt+0x27670>
0.09 data16 data16 rex.W call 6ad940 <__tls_get_addr@plt>
5.27 mov rbx,QWORD PTR [rax]
43.45 mov rdi,r14
0.03 → call InlinedCallFrame::Init()
0.01 mov rax,QWORD PTR [rbx+0x8]
18.84 mov QWORD PTR [r14+0x8],rax
20.08 mov rax,rbx
0.05 pop rbx
0.07 pop r14
0.01 pop rbp
0.03 ← ret
Samples: 301K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6038960000, [percent: local period]
void [benchapp] Bench::Work(int32)[OptimizedTier1]() /tmp/jitted-49921-2339.so
Percent
Disassembly of section .text:
0000000000000080 <void [benchapp] Bench::Work(int32)[OptimizedTier1]>:
void [benchapp] Bench::Work(int32)[OptimizedTier1]():
17.68 push rbp
1.71 push r15
0.05 push r14
0.13 push r13
0.12 push r12
1.60 push rbx
0.35 sub rsp,0x48
13.01 vzeroupper
0.08 lea rbp,[rsp+0x70]
0.06 xor eax,eax
0.14 mov QWORD PTR [rbp-0x30],rax
21.13 mov ebx,edi
13.14 lea rdi,[rbp-0x68]
0.01 → call void [benchapp] Bench::Work(int32)[OptimizedTier1]+0x7e3451a0
0.58 mov r15,rax
0.01 mov rsi,rsp
12.82 mov QWORD PTR [rbp-0x50],rsi
0.07 mov rsi,rbp
0.26 mov QWORD PTR [rbp-0x40],rsi
0.25 cmp ebx,0x400
↓ jge 67
0.04 movsxd rsi,ebx
0.08 movabs rdi,0x760b10268328
0.00 → call void [benchapp] Bench::Work(int32)[OptimizedTier1]+0x7e33c510
0.58 52: xor ecx,ecx
0.10 mov QWORD PTR [rbp-0x30],rcx
1.01 add rsp,0x48
1.87 pop rbx
1.59 pop r12
3.62 pop r13
6.52 pop r14
0.36 pop r15
0.19 pop rbp
0.86 ← ret
67: xor ecx,ecx
mov QWORD PTR [rbp-0x30],rcx
lea rcx,[rbp-0x30]
mov esi,ebx
movabs rdi,0x760b10268328
mov edx,0x10
movabs rax,0x760b104093b8
mov QWORD PTR [rbp-0x58],rax
lea rax,[rip+0x1d]
mov QWORD PTR [rbp-0x48],rax
lea rax,[rbp-0x68]
mov QWORD PTR [r15+0x8],rax
mov BYTE PTR [r15+0x4],0x0
movabs rax,0x760b8e518690
→ call rax
mov BYTE PTR [r15+0x4],0x1
movabs rcx,0x760b8e906530
cmp DWORD PTR [rcx],0x0
↓ je d4
movabs rdi,0x760b8e8e15d8
→ call QWORD PTR [rdi]
d4: mov rax,QWORD PTR [rbp-0x60]
mov QWORD PTR [r15+0x8],rax
mov rax,QWORD PTR [rbp-0x30]
↑ jmp 52
Samples: 301K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6038960000, [percent: local period]
__tls_get_addr() /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
Percent
Disassembly of section .text:
00000000000181d0 <__tls_get_addr@@GLIBC_2.3>:
2.29 endbr64
mov rdx,QWORD PTR fs:0x8
5.03 mov rax,QWORD PTR [rip+0x22ed4]
0.13 cmp QWORD PTR [rdx],rax
↓ jne 2f
4.39 mov rax,QWORD PTR [rdi]
0.05 shl rax,0x4
66.31 mov rax,QWORD PTR [rdx+rax*1]
6.90 cmp rax,0xffffffffffffffff
↓ je 2f
14.05 add rax,QWORD PTR [rdi+0x8]
0.84 ← ret
2f: push rbp
mov rbp,rsp
and rsp,0xfffffffffffffff0
→ call _dl_deallocate_tls@@GLIBC_PRIVATE+0x5e0
mov rsp,rbp
pop rbp
← ret
Samples: 301K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6038960000, [percent: local period]
__tls_get_addr@plt() /home/egorbot/24a3eb13-935a-4ed9-a055-20028fcd81c9/libcoreclr.so
Percent
Disassembly of section .plt:
00000000006ad940 <__tls_get_addr@plt>:
100.00 → jmp QWORD PTR [rip+0x28afa] # 6d6440 <msync@plt+0x27970>
push 0x11
→ jmp 6ad820 <GetCLRRuntimeHost@@V1.0+0x494ce0>
Samples: 301K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6038960000, [percent: local period]
InlinedCallFrame::Init()() /home/egorbot/24a3eb13-935a-4ed9-a055-20028fcd81c9/libcoreclr.so
Percent
Disassembly of section .text:
000000000023e030 <GetCLRRuntimeHost@@V1.0+0x254f0>:
30.40 push rbp
0.55 mov rbp,rsp
0.00 lea rax,[rip+0x4830bd]
0.19 add rax,0x10
0.23 mov QWORD PTR [rdi],rax
2.13 lea rax,[rip+0xffffffffffea164f]
0.03 mov rax,QWORD PTR [rax]
31.63 mov QWORD PTR [rdi-0x8],rax
2.30 xorps xmm0,xmm0
0.10 movups XMMWORD PTR [rdi+0x10],xmm0
1.87 mov QWORD PTR [rdi+0x20],0x0
29.56 pop rbp
0.99 ← ret
Samples: 301K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6038960000, [percent: local period]
instance void [benchapp] Bench::Foo()[OptimizedTier1]() /tmp/jitted-49921-2343.so
Percent
Disassembly of section .text:
0000000000000080 <instance void [benchapp] Bench::Foo()[OptimizedTier1]>:
instance void [benchapp] Bench::Foo()[OptimizedTier1]():
0.14 push rbp
push rbx
push rax
lea rbp,[rsp+0x10]
mov ebx,0x3e8
11.34 d: mov edi,0x1
20.47 movabs rax,0x760b1063e1c0
53.73 → call QWORD PTR [rax]
12.51 dec ebx
0.13 ↑ jne d
0.54 add rsp,0x8
0.63 pop rbx
0.40 pop rbp
0.13 ← ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment