Skip to content

Instantly share code, notes, and snippets.

@EgorBot
Created September 1, 2024 21:24
Show Gist options
  • Save EgorBot/689e16aa4243c376ec8ac23120dc2f37 to your computer and use it in GitHub Desktop.
Save EgorBot/689e16aa4243c376ec8ac23120dc2f37 to your computer and use it in GitHub Desktop.
base_asm_626b20d4.asm
Samples: 301K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6033560000, [percent: local period]
JIT_NewArr1VC_MP_FastPortable(CORINFO_CLASS_STRUCT_*, long)() /home/egorbot/506e473b-af96-4105-b537-a93181aff483/libcoreclr.so
Percent
Disassembly of section .text:
00000000003552d0 <GetCLRRuntimeHost@@V1.0+0x13c660>:
5.57 push rbp
0.76 mov rbp,rsp
3.53 push r15
0.34 push r14
0.00 push r12
0.20 push rbx
0.25 mov r12,rsi
5.29 mov r14,rdi
cmp rsi,0xfeff
↓ jae 60
0.05 cmp QWORD PTR [rip+0x38175e],0x0
5.14 ↓ je 29
→ call TLS init function for t_runtime_thread_locals@plt
1.26 29: movzx eax,WORD PTR [r14]
0.04 imul rax,r12
0.02 mov ecx,DWORD PTR [r14+0x4]
3.55 lea rbx,[rcx+rax*1]
0.05 add rbx,0x7
0.03 and rbx,0xfffffffffffffff8
0.03 data16 lea rdi,[rip+0x38173f] # 6d6a58 <msync@plt+0x277c8>
4.06 data16 data16 rex.W call 6ae100 <__tls_get_addr@plt>
1.86 mov r15,QWORD PTR [rax]
23.49 mov rax,QWORD PTR [rax+0x8]
0.19 sub rax,r15
4.78 cmp rbx,rax
↓ jbe 73
0.30 60: mov rdi,r14
0.02 mov rsi,r12
pop rbx
0.23 pop r12
pop r14
0.02 pop r15
0.00 pop rbp
0.03 → jmp JIT_NewArr1(CORINFO_CLASS_STRUCT_*, long)
5.15 73: add rbx,r15
0.18 data16 lea rdi,[rip+0x38170a] # 6d6a58 <msync@plt+0x277c8>
0.01 data16 data16 rex.W call 6ae100 <__tls_get_addr@plt>
3.43 mov QWORD PTR [rax],rbx
12.75 mov QWORD PTR [r15],r14
0.03 mov DWORD PTR [r15+0x8],r12d
0.22 mov rax,r15
1.59 pop rbx
7.88 pop r12
0.69 pop r14
3.71 pop r15
0.08 pop rbp
3.19 ← ret
Samples: 301K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6033560000, [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>:
0.62 endbr64
mov rdx,QWORD PTR fs:0x8
1.73 mov rax,QWORD PTR [rip+0x22ed4]
0.15 cmp QWORD PTR [rdx],rax
↓ jne 2f
1.82 mov rax,QWORD PTR [rdi]
1.84 shl rax,0x4
47.28 mov rax,QWORD PTR [rdx+rax*1]
20.25 cmp rax,0xffffffffffffffff
↓ je 2f
22.42 add rax,QWORD PTR [rdi+0x8]
3.89 ← 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.): 6033560000, [percent: local period]
__tls_get_addr@plt() /home/egorbot/506e473b-af96-4105-b537-a93181aff483/libcoreclr.so
Percent
Disassembly of section .plt:
00000000006ae100 <__tls_get_addr@plt>:
100.00 → jmp QWORD PTR [rip+0x28b2a] # 6d6c30 <msync@plt+0x279a0>
push 0x11
→ jmp 6adfe0 <GetCLRRuntimeHost@@V1.0+0x495370>
Samples: 301K of event 'cpu-clock', 49999 Hz, Event count (approx.): 6033560000, [percent: local period]
void [benchapp] Bench::Work(int32)[OptimizedTier1]() /tmp/jitted-50142-2339.so
Percent
Disassembly of section .text:
0000000000000080 <void [benchapp] Bench::Work(int32)[OptimizedTier1]>:
void [benchapp] Bench::Work(int32)[OptimizedTier1]():
68.38 push rbp
0.46 mov rbp,rsp
cmp edi,0x400
↓ jge 21
0.41 movsxd rsi,edi
1.63 movabs rdi,0x72e5a2c981b8
0.28 → call void [benchapp] Bench::Work(int32)[OptimizedTier1]+0x7e30cd70
1.31 1e: nop
10.79 pop rbp
16.73 ← ret
21: mov esi,edi
movabs rdi,0x72e5a2c981b8
mov edx,0x10
→ call void [benchapp] Bench::Work(int32)[OptimizedTier1]+0x7e2d0870
↑ jmp 1e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment