Last active
December 28, 2019 20:59
-
-
Save martijndwars/0d8ac5ae9b7b7933216709c27f72f56b to your computer and use it in GitHub Desktop.
Hottest Region with Random.nextInt(2)
This file contains hidden or 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
....[Hottest Region 1].............................................................................. | |
C2, nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub, version 92 (285 bytes) | |
; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@33 (line 192) | |
0x000000010ee39cf8: mov $0x1,%ebx | |
╭ 0x000000010ee39cfd: jmpq 0x000000010ee39e29 | |
│ 0x000000010ee39d02: mov %r8,0x50(%rsp) | |
│ 0x000000010ee39d07: mov %rbx,0x10(%rsp) ;*lload_2 | |
│ ; - java.util.Random::seedUniquifier@24 (line 115) | |
│ ; - java.util.Random::<init>@1 (line 105) | |
│ ; - nl.martijndwars.jits.Range::benchmark@4 (line 24) | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
│ 0x000000010ee39d0c: movabs $0x10d13aa00,%r10 | |
0.01% │ 0x000000010ee39d16: callq *%r10 ;*invokestatic nanoTime | |
│ ; - java.util.Random::<init>@4 (line 105) | |
│ ; - nl.martijndwars.jits.Range::benchmark@4 (line 24) | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
│ 0x000000010ee39d19: mov 0x60(%r15),%rcx | |
│ 0x000000010ee39d1d: xor %rax,%rbp ;*lxor | |
│ ; - java.util.Random::<init>@7 (line 105) | |
│ ; - nl.martijndwars.jits.Range::benchmark@4 (line 24) | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.01% │ 0x000000010ee39d20: mov %rcx,%r10 | |
│ 0x000000010ee39d23: add $0x18,%r10 | |
│ 0x000000010ee39d27: cmp 0x70(%r15),%r10 | |
│ 0x000000010ee39d2b: jae 0x000000010ee39f35 | |
│ 0x000000010ee39d31: mov %r10,0x60(%r15) | |
0.01% │ 0x000000010ee39d35: prefetchw 0xc0(%r10) | |
0.01% │ 0x000000010ee39d3d: mov (%rsp),%rbx | |
│ 0x000000010ee39d41: mov 0xa8(%rbx),%r10 | |
0.01% │ 0x000000010ee39d48: mov %r10,(%rcx) | |
0.01% │ 0x000000010ee39d4b: movl $0xf80053a8,0x8(%rcx) ; {metadata('java/util/concurrent/atomic/AtomicLong')} | |
│ 0x000000010ee39d52: mov %r12d,0xc(%rcx) | |
│ 0x000000010ee39d56: mov %r12,0x10(%rcx) | |
0.02% │ 0x000000010ee39d5a: movabs $0x5deece66d,%r10 | |
│ 0x000000010ee39d64: xor %r10,%rbp | |
│ 0x000000010ee39d67: movabs $0xffffffffffff,%r10 | |
│ 0x000000010ee39d71: and %r10,%rbp | |
0.01% │ 0x000000010ee39d74: mov %rbp,0x10(%rcx) | |
│ 0x000000010ee39d78: lock addl $0x0,(%rsp) ;*synchronization entry | |
│ ; - java.util.Random::<init>@-1 (line 105) | |
│ ; - nl.martijndwars.jits.Range::benchmark@4 (line 24) | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.29% │ 0x000000010ee39d7d: xor %r11d,%r11d ;*synchronization entry | |
│ ; - java.util.concurrent.atomic.AtomicLong::get@-1 (line 105) | |
│ ; - java.util.Random::next@8 (line 202) | |
│ ; - java.util.Random::nextInt@17 (line 390) | |
│ ; - nl.martijndwars.jits.Range::benchmark@25 (line 28) | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.02% │↗ 0x000000010ee39d80: mov 0x10(%rcx),%rax ;*invokevirtual compareAndSwapLong | |
││ ; - java.util.concurrent.atomic.AtomicLong::compareAndSet@9 (line 147) | |
││ ; - java.util.Random::next@32 (line 204) | |
││ ; - java.util.Random::nextInt@17 (line 390) | |
││ ; - nl.martijndwars.jits.Range::benchmark@25 (line 28) | |
││ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
28.47% ││ 0x000000010ee39d84: mov %rax,%r8 | |
0.15% ││ 0x000000010ee39d87: movabs $0x5deece66d,%r10 | |
0.01% ││ 0x000000010ee39d91: imul %r10,%r8 | |
7.79% ││ 0x000000010ee39d95: add $0xb,%r8 ;*ladd | |
││ ; - java.util.Random::next@20 (line 203) | |
││ ; - java.util.Random::nextInt@17 (line 390) | |
││ ; - nl.martijndwars.jits.Range::benchmark@25 (line 28) | |
││ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
2.98% ││ 0x000000010ee39d99: mov %r8,%r9 | |
0.04% ││ 0x000000010ee39d9c: movabs $0xffffffffffff,%r10 | |
││ 0x000000010ee39da6: and %r10,%r9 ;*land | |
││ ; - java.util.Random::next@24 (line 203) | |
││ ; - java.util.Random::nextInt@17 (line 390) | |
││ ; - nl.martijndwars.jits.Range::benchmark@25 (line 28) | |
││ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
2.64% ││ 0x000000010ee39da9: lock cmpxchg %r9,0x10(%rcx) | |
47.57% ││ 0x000000010ee39daf: sete %r10b | |
0.33% ││ 0x000000010ee39db3: movzbl %r10b,%r10d ;*invokevirtual compareAndSwapLong | |
││ ; - java.util.concurrent.atomic.AtomicLong::compareAndSet@9 (line 147) | |
││ ; - java.util.Random::next@32 (line 204) | |
││ ; - java.util.Random::nextInt@17 (line 390) | |
││ ; - nl.martijndwars.jits.Range::benchmark@25 (line 28) | |
││ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
2.61% ││ 0x000000010ee39db7: test %r10d,%r10d | |
││ 0x000000010ee39dba: je 0x000000010ee39ec1 ;*ifeq | |
││ ; - java.util.Random::next@35 (line 204) | |
││ ; - java.util.Random::nextInt@17 (line 390) | |
││ ; - nl.martijndwars.jits.Range::benchmark@25 (line 28) | |
││ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.08% ││ 0x000000010ee39dc0: shr $0x11,%r8 | |
││ 0x000000010ee39dc4: and $0x7fffffff,%r8 | |
0.02% ││ 0x000000010ee39dcb: mov %r8d,%r8d | |
2.70% ││ 0x000000010ee39dce: movslq %r8d,%r10 | |
0.03% ││ 0x000000010ee39dd1: shl %r10 | |
0.01% ││ 0x000000010ee39dd4: sar $0x1f,%r10 | |
││ 0x000000010ee39dd8: mov %r10d,%r8d ;*l2i ; - java.util.Random::nextInt@39 (line 393) | |
││ ; - nl.martijndwars.jits.Range::benchmark@25 (line 28) | |
││ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
2.39% ││ 0x000000010ee39ddb: cmp $0x1,%r8d | |
││ 0x000000010ee39ddf: jg 0x000000010ee39efd ;*if_icmple | |
││ ; - nl.martijndwars.jits.Range::benchmark@39 (line 31) | |
││ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.02% ││ 0x000000010ee39de5: inc %r11d ;*iinc | |
││ ; - nl.martijndwars.jits.Range::benchmark@50 (line 27) | |
││ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.01% ││ 0x000000010ee39de8: cmp $0x12c,%r11d | |
│╰ 0x000000010ee39def: jl 0x000000010ee39d80 ;*if_icmpge | |
│ ; - nl.martijndwars.jits.Range::benchmark@16 (line 27) | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
│ 0x000000010ee39df1: mov %rbx,(%rsp) ;*invokevirtual benchmark | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.02% │ 0x000000010ee39df5: mov 0x8(%rsp),%rsi | |
0.01% │ 0x000000010ee39dfa: xor %edx,%edx | |
│ 0x000000010ee39dfc: data16 xchg %ax,%ax | |
│ 0x000000010ee39dff: callq 0x000000010ede70a0 ; OopMap{[80]=Oop [88]=Oop [96]=Oop [8]=Oop off=708} | |
│ ;*invokevirtual consume | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@20 (line 190) | |
│ ; {optimized virtual_call} | |
0.01% │ 0x000000010ee39e04: mov 0x50(%rsp),%r8 | |
│ 0x000000010ee39e09: movzbl 0x94(%r8),%r11d ;*getfield isDone | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@30 (line 192) | |
│ 0x000000010ee39e11: mov 0x10(%rsp),%rbx | |
0.02% │ 0x000000010ee39e16: add $0x1,%rbx ; OopMap{r8=Oop [80]=Oop [88]=Oop [96]=Oop [8]=Oop off=730} | |
│ ;*ifeq | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@33 (line 192) | |
│ 0x000000010ee39e1a: test %eax,-0x118fe20(%rip) # 0x000000010dcaa000 | |
│ ; {poll} | |
│ 0x000000010ee39e20: test %r11d,%r11d | |
│ 0x000000010ee39e23: jne 0x000000010ee39f55 ;*synchronization entry | |
│ ; - java.util.concurrent.atomic.AtomicLong::get@-1 (line 105) | |
│ ; - java.util.Random::seedUniquifier@3 (line 112) | |
│ ; - java.util.Random::<init>@1 (line 105) | |
│ ; - nl.martijndwars.jits.Range::benchmark@4 (line 24) | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
↘ 0x000000010ee39e29: movabs $0x76b124078,%r10 ; {oop(a 'java/util/concurrent/atomic/AtomicLong')} | |
0.03% 0x000000010ee39e33: mov 0x10(%r10),%rax ;*invokevirtual compareAndSwapLong | |
; - java.util.concurrent.atomic.AtomicLong::compareAndSet@9 (line 147) | |
; - java.util.Random::seedUniquifier@18 (line 114) | |
; - java.util.Random::<init>@1 (line 105) | |
; - nl.martijndwars.jits.Range::benchmark@4 (line 24) | |
; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0x000000010ee39e37: mov %rax,%rbp | |
0x000000010ee39e3a: movabs $0x285d320ad33fdb5,%r10 | |
0x000000010ee39e44: imul %r10,%rbp ;*lmul | |
; - java.util.Random::seedUniquifier@11 (line 113) | |
; - java.util.Random::<init>@1 (line 105) |
This file contains hidden or 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
....[Hottest Region 3].............................................................................. | |
JVMCI-native, nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub, version 97 (148 bytes) | |
; - java.util.Random::<init>@1 (line 105) | |
; - nl.martijndwars.jits.Range::benchmark@4 (line 24) | |
; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0x000000011029dd80: test %eax,-0x15afd80(%rip) # 0x000000010ecee006 | |
;*getstatic seedUniquifier {reexecute=0 rethrow=0 return_oop=0} | |
; - java.util.Random::seedUniquifier@0 (line 112) | |
; - java.util.Random::<init>@1 (line 105) | |
; - nl.martijndwars.jits.Range::benchmark@4 (line 24) | |
; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
; {poll} | |
0.08% ↗ 0x000000011029dd86: mov 0x10(%r11),%r9 ;*getfield value {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - java.util.concurrent.atomic.AtomicLong::get@1 (line 105) | |
│ ; - java.util.Random::seedUniquifier@3 (line 112) | |
│ ; - java.util.Random::<init>@1 (line 105) | |
│ ; - nl.martijndwars.jits.Range::benchmark@4 (line 24) | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.04% │ 0x000000011029dd8a: mov %r9,%rcx | |
0.32% │ 0x000000011029dd8d: imul %r10,%rcx ;*lmul {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - java.util.Random::seedUniquifier@11 (line 113) | |
│ ; - java.util.Random::<init>@1 (line 105) | |
│ ; - nl.martijndwars.jits.Range::benchmark@4 (line 24) | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
│ 0x000000011029dd91: mov %r9,%rax | |
0.09% │ 0x000000011029dd94: lock cmpxchg %rcx,0x10(%r11) ;*ifeq {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - java.util.Random::seedUniquifier@21 (line 114) | |
│ ; - java.util.Random::<init>@1 (line 105) | |
│ ; - nl.martijndwars.jits.Range::benchmark@4 (line 24) | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
9.55% │ 0x000000011029dd9a: jne 0x000000011029dd80 | |
0.01% │ 0x000000011029dd9c: callq 0x000000010faeec16 ; {runtime_call} | |
0.51% │ 0x000000011029dda1: nop | |
│ 0x000000011029dda2: mov $0x0,%esi | |
╭ │ 0x000000011029dda7: jmpq 0x000000011029ddb2 ;*iload_3 {reexecute=0 rethrow=0 return_oop=0} | |
│ │ ; - nl.martijndwars.jits.Range::benchmark@12 (line 27) | |
│ │ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
│ │ 0x000000011029ddac: nopl 0x0(%rax) ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0} | |
│ │ ; - nl.martijndwars.jits.Range::benchmark@16 (line 27) | |
│ │ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.50% │↗ │ 0x000000011029ddb0: inc %esi ;*iinc {reexecute=0 rethrow=0 return_oop=0} | |
││ │ ; - nl.martijndwars.jits.Range::benchmark@50 (line 27) | |
││ │ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.61% ↘│ │ 0x000000011029ddb2: cmp $0x1,%esi | |
╰ │ 0x000000011029ddb5: jl 0x000000011029ddb0 | |
╭ │ 0x000000011029ddb7: jmpq 0x000000011029ddc3 | |
│ │ 0x000000011029ddbc: nopl 0x0(%rax) ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0} | |
│ │ ; - nl.martijndwars.jits.Range::benchmark@16 (line 27) | |
│ │ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
9.47% │↗ │ 0x000000011029ddc0: lea 0x10(%rsi),%esi ;*iinc {reexecute=0 rethrow=0 return_oop=0} | |
││ │ ; - nl.martijndwars.jits.Range::benchmark@50 (line 27) | |
││ │ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.53% ↘│ │ 0x000000011029ddc3: cmp $0x11c,%esi | |
╰ │ 0x000000011029ddc9: jl 0x000000011029ddc0 | |
0.01% ╭ │ 0x000000011029ddcb: jmpq 0x000000011029ddd2 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0} | |
│ │ ; - nl.martijndwars.jits.Range::benchmark@16 (line 27) | |
│ │ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
6.23% │↗ │ 0x000000011029ddd0: inc %esi ;*iinc {reexecute=0 rethrow=0 return_oop=0} | |
││ │ ; - nl.martijndwars.jits.Range::benchmark@50 (line 27) | |
││ │ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.50% ↘│ │ 0x000000011029ddd2: cmp $0x12c,%esi | |
╰ │ 0x000000011029ddd8: jl 0x000000011029ddd0 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - nl.martijndwars.jits.Range::benchmark@16 (line 27) | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@17 (line 190) | |
0.03% │ 0x000000011029ddda: mov 0x10(%rsp),%rsi ;*invokevirtual consume {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@20 (line 190) | |
0.63% │ 0x000000011029dddf: mov $0x0,%edx | |
0.01% │ 0x000000011029dde4: data16 xchg %ax,%ax | |
│ 0x000000011029dde7: callq 0x00000001102350a0 ; OopMap{[8]=Oop [16]=Oop [24]=Oop [32]=Oop off=236} | |
│ ;*invokevirtual consume {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@20 (line 190) | |
│ ; {optimized virtual_call} | |
0.60% │ 0x000000011029ddec: nop | |
│ 0x000000011029dded: mov 0x20(%rsp),%rsi | |
0.44% │ 0x000000011029ddf2: movsbl 0x94(%rsi),%r10d ;*getfield isDone {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@30 (line 192) | |
0.19% │ 0x000000011029ddfa: mov 0x28(%rsp),%r11 | |
0.01% │ 0x000000011029ddff: inc %r11 ;*ladd {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@26 (line 191) | |
0.49% │ 0x000000011029de02: test %r10b,%r10b ;*ifeq {reexecute=0 rethrow=0 return_oop=0} | |
│ ; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@33 (line 192) | |
0.02% │ 0x000000011029de05: mov %r11,0x28(%rsp) | |
0.07% ╭│ 0x000000011029de0a: jne 0x000000011029de24 | |
0.04% ││ 0x000000011029de10: movabs $0x76b4f9868,%r11 ; {oop(a 'java/util/concurrent/atomic/AtomicLong')} | |
0.35% ││ 0x000000011029de1a: mov 0x30(%rsp),%r10 | |
│╰ 0x000000011029de1f: jmpq 0x000000011029dd86 | |
↘ 0x000000011029de24: callq 0x000000010faeec16 ; {runtime_call} | |
0x000000011029de29: nop | |
0x000000011029de2a: mov 0x18(%rsp),%rdx | |
0x000000011029de2f: mov %rax,0x30(%rdx) ;*putfield stopTime {reexecute=0 rethrow=0 return_oop=0} | |
; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@40 (line 193) | |
0x000000011029de33: mov %r12,0x20(%rdx) ;*putfield realTime {reexecute=0 rethrow=0 return_oop=0} | |
; - nl.martijndwars.jits.generated.Range_benchmark_jmhTest::benchmark_avgt_jmhStub@46 (line 194) | |
0x000000011029de37: mov 0x28(%rsp),%r11 | |
0x000000011029de3c: mov %r11,0x18(%rdx) ;*putfield measuredOps {reexecute=0 rethrow=0 return_oop=0} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment