Skip to content

Instantly share code, notes, and snippets.

@stsypanov
Created February 13, 2021 20:01
Show Gist options
  • Save stsypanov/2132afe210c704dc0efd1462ac948251 to your computer and use it in GitHub Desktop.
Save stsypanov/2132afe210c704dc0efd1462ac948251 to your computer and use it in GitHub Desktop.
....[Hottest Region 1]..............................................................................
C2, level 4, org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub, version 584 (130 bytes)
0x00007fb4512539bd: mov 0x50(%rsp),%r9
0x00007fb4512539c2: movzbl 0x94(%r9),%r11d ;*getfield isDone
; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@27 (line 188)
; implicit exception: dispatches to 0x00007fb451253bb5
0x00007fb4512539ca: test %r11d,%r11d
0x00007fb4512539cd: jne 0x00007fb451253a85 ;*ifeq
; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@30 (line 188)
0x00007fb4512539d3: mov $0x1,%ebx
╭ 0x00007fb4512539d8: jmp 0x00007fb451253a45
│ 0x00007fb4512539da: nopw 0x0(%rax,%rax,1)
9.48% │ ↗ 0x00007fb4512539e0: mov 0x50(%rsp),%r9
0.02% │ │ 0x00007fb4512539e5: mov (%rsp),%rbx ;*aload_1
│ │ ; - org.tsypanov.sb.misc.LoopyBenchmarks::goodOldLoop@11 (line 25)
│ │ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@17 (line 186)
0.82% │ │ ↗ 0x00007fb4512539e9: mov 0xc(%r12,%r11,8),%r8d ; implicit exception: dispatches to 0x00007fb451253b2d
0.08% │ │ │ 0x00007fb4512539ee: cmp %r8d,%ebp
0.01% │╭│ │ 0x00007fb4512539f1: jae 0x00007fb451253a66
9.32% │││ │ 0x00007fb4512539f3: mov %rbx,(%rsp)
0.03% │││ │ 0x00007fb4512539f7: mov %r9,0x50(%rsp)
0.76% │││ │ 0x00007fb4512539fc: lea (%r12,%r11,8),%r10
0.02% │││ │ 0x00007fb451253a00: movsbl 0x10(%r10,%rbp,1),%edx ;*baload
│││ │ ; - org.tsypanov.sb.misc.LoopyBenchmarks::goodOldLoop@17 (line 25)
│││ │ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@17 (line 186)
9.52% │││ │ 0x00007fb451253a06: mov 0x18(%rsp),%rsi
0.06% │││ │ 0x00007fb451253a0b: callq 0x00007fb451045de0 ; OopMap{[80]=Oop [88]=Oop [96]=Oop [24]=Oop off=240}
│││ │ ;*invokevirtual consume
│││ │ ; - org.tsypanov.sb.misc.LoopyBenchmarks::goodOldLoop@18 (line 25)
│││ │ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@17 (line 186)
│││ │ ; {optimized virtual_call}
6.61% │││ │ 0x00007fb451253a10: mov 0x60(%rsp),%r10
9.18% │││ │ 0x00007fb451253a15: mov 0x10(%r10),%r11d ;*getfield bunn
│││ │ ; - org.tsypanov.sb.misc.LoopyBenchmarks::goodOldLoop@4 (line 24)
│││ │ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@17 (line 186)
0.15% │││ │ 0x00007fb451253a19: mov 0xc(%r12,%r11,8),%r8d ; implicit exception: dispatches to 0x00007fb451253b3d
6.78% │││ │ 0x00007fb451253a1e: inc %ebp ;*iinc
│││ │ ; - org.tsypanov.sb.misc.LoopyBenchmarks::goodOldLoop@21 (line 24)
│││ │ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@17 (line 186)
0.01% │││ │ 0x00007fb451253a20: cmp %r8d,%ebp
0.02% ││╰ │ 0x00007fb451253a23: jl 0x00007fb4512539e0
0.41% ││ │ 0x00007fb451253a25: mov 0x50(%rsp),%r9
0.07% ││ │ 0x00007fb451253a2a: mov (%rsp),%rbx ;*if_icmpge
││ │ ; - org.tsypanov.sb.misc.LoopyBenchmarks::goodOldLoop@8 (line 24)
││ │ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@17 (line 186)
0.02% ││ ↗│ 0x00007fb451253a2e: movzbl 0x94(%r9),%r10d ;*getfield isDone
││ ││ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@27 (line 188)
0.07% ││ ││ 0x00007fb451253a36: add $0x1,%rbx ; OopMap{r9=Oop [88]=Oop [96]=Oop [24]=Oop off=282}
││ ││ ;*ifeq
││ ││ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@30 (line 188)
0.28% ││ ││ 0x00007fb451253a3a: test %eax,0x1837a5c0(%rip) # 0x00007fb4695ce000
││ ││ ; {poll}
0.01% ││ ││ 0x00007fb451253a40: test %r10d,%r10d
││ ││ 0x00007fb451253a43: jne 0x00007fb451253a8a ;*aload
││ ││ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@13 (line 186)
0.03% ↘│ ││ 0x00007fb451253a45: mov 0x60(%rsp),%r10
0.02% │ ││ 0x00007fb451253a4a: mov 0x10(%r10),%r11d ;*getfield bunn
│ ││ ; - org.tsypanov.sb.misc.LoopyBenchmarks::goodOldLoop@4 (line 24)
│ ││ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@17 (line 186)
0.35% │ ││ 0x00007fb451253a4e: mov 0xc(%r12,%r11,8),%r10d ; implicit exception: dispatches to 0x00007fb451253b4d
0.06% │ ││ 0x00007fb451253a53: test %r10d,%r10d
│ ╰│ 0x00007fb451253a56: jle 0x00007fb451253a2e ;*if_icmpge
│ │ ; - org.tsypanov.sb.misc.LoopyBenchmarks::goodOldLoop@8 (line 24)
│ │ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@17 (line 186)
0.11% │ │ 0x00007fb451253a58: mov 0x18(%rsp),%r10
│ │ 0x00007fb451253a5d: test %r10,%r10
│ │ 0x00007fb451253a60: je 0x00007fb451253ab4 ;*aload_1
│ │ ; - org.tsypanov.sb.misc.LoopyBenchmarks::goodOldLoop@11 (line 25)
│ │ ; - org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub@17 (line 186)
0.24% │ │ 0x00007fb451253a62: xor %ebp,%ebp
│ ╰ 0x00007fb451253a64: jmp 0x00007fb4512539e9
↘ 0x00007fb451253a66: mov $0xffffffe4,%esi
0x00007fb451253a6b: mov %r9,0x50(%rsp)
0x00007fb451253a70: mov %rbx,0x8(%rsp)
0x00007fb451253a75: mov %r11d,0x28(%rsp)
0x00007fb451253a7a: nop
0x00007fb451253a7b: callq 0x00007fb4510453e0 ; OopMap{[80]=Oop [88]=Oop [96]=Oop [24]=Oop [40]=NarrowOop off=352}
;*baload
....................................................................................................
54.56% <total for region 1>
....[Hottest Region 2]..............................................................................
C2, level 4, org.openjdk.jmh.infra.Blackhole::consume, version 561 (53 bytes)
# parm0: rdx = byte
# [sp+0x30] (sp of caller)
0x00007fb45123b7a0: mov 0x8(%rsi),%r10d
0x00007fb45123b7a4: shl $0x3,%r10
0x00007fb45123b7a8: cmp %r10,%rax
0x00007fb45123b7ab: jne 0x00007fb451045ba0 ; {runtime_call}
0x00007fb45123b7b1: data16 xchg %ax,%ax
0x00007fb45123b7b4: nopl 0x0(%rax,%rax,1)
0x00007fb45123b7bc: data16 data16 xchg %ax,%ax
[Verified Entry Point]
0.95% 0x00007fb45123b7c0: mov %eax,-0x14000(%rsp)
9.97% 0x00007fb45123b7c7: push %rbp
1.11% 0x00007fb45123b7c8: sub $0x20,%rsp ;*synchronization entry
; - org.openjdk.jmh.infra.Blackhole::consume@-1 (line 322)
9.93% 0x00007fb45123b7cc: movsbl 0xd0(%rsi),%r10d ;*getfield b1
; - org.openjdk.jmh.infra.Blackhole::consume@1 (line 322)
0.11% 0x00007fb45123b7d4: mov %edx,%r8d
0.83% 0x00007fb45123b7d7: xor %r10d,%r8d ;*ixor
; - org.openjdk.jmh.infra.Blackhole::consume@12 (line 324)
0.08% 0x00007fb45123b7da: movsbl 0xd2(%rsi),%r11d
9.38% 0x00007fb45123b7e2: xor %edx,%r11d ;*ixor
; - org.openjdk.jmh.infra.Blackhole::consume@15 (line 324)
0.06% 0x00007fb45123b7e5: cmp %r11d,%r8d
╭ 0x00007fb45123b7e8: je 0x00007fb45123b7f6 ;*if_icmpne
│ ; - org.openjdk.jmh.infra.Blackhole::consume@16 (line 324)
0.81% │ 0x00007fb45123b7ea: add $0x20,%rsp
0.01% │ 0x00007fb45123b7ee: pop %rbp
10.09% │ 0x00007fb45123b7ef: test %eax,0x1839280b(%rip) # 0x00007fb4695ce000
│ ; {poll_return}
0.08% │ 0x00007fb45123b7f5: retq
↘ 0x00007fb45123b7f6: mov %rsi,%rbp
0x00007fb45123b7f9: mov %edx,(%rsp)
0x00007fb45123b7fc: mov %r8d,0x4(%rsp)
0x00007fb45123b801: mov %r11d,0x8(%rsp)
0x00007fb45123b806: mov $0xffffff65,%esi
0x00007fb45123b80b: callq 0x00007fb4510453e0 ; OopMap{rbp=Oop off=112}
;*if_icmpne
; - org.openjdk.jmh.infra.Blackhole::consume@16 (line 324)
; {runtime_call}
....................................................................................................
43.41% <total for region 2>
....[Hottest Regions]...............................................................................
54.56% C2, level 4 org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub, version 584 (130 bytes)
43.41% C2, level 4 org.openjdk.jmh.infra.Blackhole::consume, version 561 (53 bytes)
0.59% [kernel.kallsyms] native_write_msr (6 bytes)
0.07% [kernel.kallsyms] do_syscall_64 (0 bytes)
0.06% [kernel.kallsyms] entry_SYSCALL_64 (0 bytes)
0.04% libjvm.so fileStream::write (12 bytes)
0.03% libjvm.so is_error_reported (0 bytes)
0.02% [kernel.kallsyms] prepare_exit_to_usermode (0 bytes)
0.02% [kernel.kallsyms] update_curr (26 bytes)
0.02% [kernel.kallsyms] psi_task_change (0 bytes)
0.02% [kernel.kallsyms] __x64_sys_write (6 bytes)
0.02% [kernel.kallsyms] kill_fasync (0 bytes)
0.02% [kernel.kallsyms] __fget (0 bytes)
0.02% [kernel.kallsyms] iov_iter_copy_from_user_atomic (16 bytes)
0.02% [kernel.kallsyms] timerqueue_add (0 bytes)
0.02% [kernel.kallsyms] _raw_spin_lock_irq (0 bytes)
0.02% [kernel.kallsyms] syscall_return_via_sysret (0 bytes)
0.02% kvm.ko pvclock_gtod_notify (8 bytes)
0.02% libjvm.so SpinPause (0 bytes)
0.02% libjvm.so outputStream::print (11 bytes)
0.95% <...other 88 warm regions...>
....................................................................................................
99.99% <totals>
....[Hottest Methods (after inlining)]..............................................................
54.56% C2, level 4 org.tsypanov.sb.misc.jmh_generated.LoopyBenchmarks_goodOldLoop_jmhTest::goodOldLoop_avgt_jmhStub, version 584
43.41% C2, level 4 org.openjdk.jmh.infra.Blackhole::consume, version 561
0.59% [kernel.kallsyms] native_write_msr
0.08% [kernel.kallsyms] do_syscall_64
0.06% [kernel.kallsyms] entry_SYSCALL_64
0.04% libjvm.so fileStream::write
0.03% libjvm.so is_error_reported
0.02% [kernel.kallsyms] _raw_spin_lock_irq
0.02% [kernel.kallsyms] syscall_return_via_sysret
0.02% [kernel.kallsyms] prepare_exit_to_usermode
0.02% [kernel.kallsyms] __fget
0.02% libjvm.so SpinPause
0.02% hsdis-amd64.so print_insn
0.02% libjvm.so outputStream::print
0.02% [kernel.kallsyms] iov_iter_copy_from_user_atomic
0.02% [kernel.kallsyms] vfs_write
0.02% [kernel.kallsyms] kill_fasync
0.02% [kernel.kallsyms] __x64_sys_write
0.02% [kernel.kallsyms] psi_task_change
0.02% libc-2.27.so __GI___libc_write
0.94% <...other 81 warm methods...>
....................................................................................................
99.99% <totals>
....[Distribution by Source]........................................................................
97.97% C2, level 4
1.49% [kernel.kallsyms]
0.26% libjvm.so
0.11% libc-2.27.so
0.04% hsdis-amd64.so
0.04% interpreter
0.02% iwlwifi.ko
0.02% kvm.ko
0.01% libpthread-2.27.so
0.01% runtime stub
0.01% eset_rtp.ko
....................................................................................................
99.99% <totals>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment