# JMH 1.13-SNAPSHOT (released today) # VM version: JDK 9-internal, VM 9-internal+0-2016-07-13-202226.shade.jdk9-hscomp # VM invoker: /home/shade/trunks/jdk9-hscomp/build/linux-x86_64-normal-server-fastdebug/images/jdk/bin/java # VM options: -XX:+UseCHA # Warmup: 5 iterations, 1 s each # Measurement: 5 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 1 thread, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: org.openjdk.CHAnoCHA.test # Run progress: 0.00% complete, ETA 00:00:10 # Fork: 1 of 1 # Preparing profilers: LinuxPerfAsmProfiler # Profilers consume stdout and stderr from target VM, use -v EXTRA to copy to console # Warmup Iteration 1: 294.923 ns/op # Warmup Iteration 2: 284.166 ns/op # Warmup Iteration 3: 282.146 ns/op # Warmup Iteration 4: 282.077 ns/op # Warmup Iteration 5: 282.076 ns/op Iteration 1: 282.086 ns/op Iteration 2: 282.078 ns/op Iteration 3: 282.076 ns/op Iteration 4: 282.071 ns/op Iteration 5: 282.071 ns/op # Processing profiler results: LinuxPerfAsmProfiler Result "test": 282.076 ±(99.9%) 0.024 ns/op [Average] (min, avg, max) = (282.071, 282.076, 282.086), stdev = 0.006 CI (99.9%): [282.052, 282.100] (assumes normal distribution) Secondary result "·asm": PrintAssembly processed: 367757 total address lines. Perf output processed (skipped 5.254 seconds): Column 1: cycles (9685 events) Column 2: instructions (9662 events) Hottest code regions (>10.00% "cycles" events): ....[Hottest Region 1].............................................................................. [0x7fd9744dadd8:0x7fd9744dae77] in org.openjdk.CHAnoCHA::test 0x00007fd9744dadd8: nop 0x00007fd9744dadd9: nop 0x00007fd9744dadda: nop 0x00007fd9744daddb: nop 0x00007fd9744daddc: nop 0x00007fd9744daddd: nop 0x00007fd9744dadde: nop 0x00007fd9744daddf: nop [Verified Entry Point] ;; B1: # B17 B2 <- BLOCK HEAD IS JUNK Freq: 1 0.02% 0.02% 0x00007fd9744dade0: mov %eax,-0x16000(%rsp) 0.07% 0.19% 0x00007fd9744dade7: push %rbp 0.01% 0x00007fd9744dade8: sub $0x10,%rsp ;*synchronization entry ; - org.openjdk.CHAnoCHA::test@-1 (line 37) 0.06% 0.26% 0x00007fd9744dadec: mov %rsi,%r11 0x00007fd9744dadef: mov 0x10(%rsi),%r10d ;*getfield c {reexecute=0 rethrow=0 return_oop=0} ; - org.openjdk.CHAnoCHA::test@12 (line 39) 0.04% 0x00007fd9744dadf3: test %r10d,%r10d 0x00007fd9744dadf6: je 0x00007fd9744daeaa ;; B2: # B4 <- B1 Freq: 0.999999 0x00007fd9744dadfc: mov $0x1,%r11d 0.08% 0.23% 0x00007fd9744dae02: xor %eax,%eax ╭ 0x00007fd9744dae04: jmp 0x00007fd9744dae13 │ 0x00007fd9744dae06: nop │ 0x00007fd9744dae07: nop │ 0x00007fd9744dae08: nop │ 0x00007fd9744dae09: nop │ 0x00007fd9744dae0a: nop │ 0x00007fd9744dae0b: nop │ 0x00007fd9744dae0c: nop │ 0x00007fd9744dae0d: nop │ 0x00007fd9744dae0e: nop │ 0x00007fd9744dae0f: nop │ ;; B3: # B4 <- B4 top-of-loop Freq: 1000.21 0.08% 0.27% │↗ 0x00007fd9744dae10: mov %r9d,%r11d ;*aload_0 {reexecute=0 rethrow=0 return_oop=0} ││ ; - org.openjdk.CHAnoCHA::test@11 (line 39) ││ ;; B4: # B3 B5 <- B2 B3 Loop: B4-B3 inner main of N40 Freq: 1001.21 9.96% 11.22% ↘│ 0x00007fd9744dae13: add %r11d,%eax 0.02% 0.01% │ 0x00007fd9744dae16: add %r11d,%eax 10.20% 5.68% │ 0x00007fd9744dae19: add %r11d,%eax 10.22% 6.41% │ 0x00007fd9744dae1c: add %r11d,%eax 10.36% 5.48% │ 0x00007fd9744dae1f: add %r11d,%eax 9.77% 6.10% │ 0x00007fd9744dae22: add %r11d,%eax 9.88% 16.92% │ 0x00007fd9744dae25: mov %r11d,%r8d 0.06% 0.26% │ 0x00007fd9744dae28: add $0x6,%r8d ;*iinc {reexecute=0 rethrow=0 return_oop=0} │ ; - org.openjdk.CHAnoCHA::test@29 (line 38) 0.02% 0.06% │ 0x00007fd9744dae2c: add %r8d,%eax 9.96% 5.80% │ 0x00007fd9744dae2f: add %r8d,%eax 10.91% 5.73% │ 0x00007fd9744dae32: add $0x10,%eax ;*iadd {reexecute=0 rethrow=0 return_oop=0} │ ; - org.openjdk.CHAnoCHA::test@27 (line 40) 10.06% 27.19% │ 0x00007fd9744dae35: mov %r11d,%r9d 0.02% 0.01% │ 0x00007fd9744dae38: add $0x8,%r9d ;*iinc {reexecute=0 rethrow=0 return_oop=0} │ ; - org.openjdk.CHAnoCHA::test@29 (line 38) 0.02% 0.03% │ 0x00007fd9744dae3c: cmp $0x3e1,%r9d ╰ 0x00007fd9744dae43: jl 0x00007fd9744dae10 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0} ; - org.openjdk.CHAnoCHA::test@8 (line 38) ;; B5: # B16 B6 <- B4 Freq: 0.999999 0x00007fd9744dae45: cmp $0x3e8,%r9d 0x00007fd9744dae4c: jge 0x00007fd9744dae9f ;; B6: # B7 <- B5 Freq: 0.499999 0.08% 0.08% 0x00007fd9744dae4e: add $0x8,%r11d ;*aload_0 {reexecute=0 rethrow=0 return_oop=0} ; - org.openjdk.CHAnoCHA::test@11 (line 39) ;; B7: # B9 B8 <- B6 B8 Loop: B7-B8 inner post of N158 Freq: 0.999999 ↗ 0x00007fd9744dae52: add %r11d,%eax ;*iadd {reexecute=0 rethrow=0 return_oop=0} │ ; - org.openjdk.CHAnoCHA::test@27 (line 40) 0.37% 0.34% │ 0x00007fd9744dae55: mov %r11d,%r9d │ 0x00007fd9744dae58: inc %r9d ;*iinc {reexecute=0 rethrow=0 return_oop=0} │ ; - org.openjdk.CHAnoCHA::test@29 (line 38) 0.26% 0.24% │ 0x00007fd9744dae5b: cmp $0x3e8,%r9d ╭│ 0x00007fd9744dae62: jge 0x00007fd9744dae69 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0} ││ ; - org.openjdk.CHAnoCHA::test@8 (line 38) ││ ;; B8: # B7 <- B7 Freq: 0.499999 ││ 0x00007fd9744dae64: mov %r9d,%r11d 0.34% 0.17% │╰ 0x00007fd9744dae67: jmp 0x00007fd9744dae52 │ ;; B9: # B10 <- B7 Freq: 0.499999 ↘ 0x00007fd9744dae69: mov %r11d,0x10(%r12,%r10,8) ;; B10: # B15 B11 <- B9 B16 Freq: 0.999999 0x00007fd9744dae6e: cmp $0x3e8,%r9d 0x00007fd9744dae75: jge 0x00007fd9744dae93 ;*aload_0 {reexecute=0 rethrow=0 return_oop=0} ; - org.openjdk.CHAnoCHA::test@11 (line 39) ;; B11: # B12 <- B10 Freq: 0.499999 ;; B12: # B14 B13 <- B11 B13 Loop: B12-B13 inner post of N158 Freq: 0.999999 0x00007fd9744dae77: add %r9d,%eax ;*iadd {reexecute=0 rethrow=0 return_oop=0} ; - org.openjdk.CHAnoCHA::test@27 (line 40) .................................................................................................... 92.85% 92.72% ....[Hottest Regions]............................................................................... 92.85% 92.72% [0x7fd9744dadd8:0x7fd9744dae77] in org.openjdk.CHAnoCHA::test 1.73% 1.72% [0xffffffff810644ba:0xffffffff810644bd] in [unknown] ([unknown]) 0.36% 0.82% [0x7fd9744dcf9b:0x7fd9744dcfde] in org.openjdk.generated.CHAnoCHA_test_jmhTest::test_avgt_jmhStub 0.32% 0.31% [0x7fd9744db2d8:0x7fd9744db31a] in org.openjdk.jmh.infra.Blackhole::consume 0.23% 0.25% [0x7fd98ba390b8:0x7fd98ba390f1] in ElfSymbolTable::lookup (libjvm.so) 0.21% 0.11% [0x7fd98bab7801:0x7fd98bab7845] in HeapRegionManager::addr_to_region (libjvm.so) 0.10% 0.05% [0xffffffff81827650:0xffffffff81827667] in [unknown] ([unknown]) 0.10% 0.02% [0x7fd9744dae80:0x7fd9744daea3] in org.openjdk.CHAnoCHA::test 0.09% 0.10% [0x7fd98baa6ff8:0x7fd98baa7088] in G1CollectedHeap::is_obj_dead_cond (libjvm.so) 0.08% 0.07% [0x7fd98baba360:0x7fd98baba3bc] in G1CollectedHeap::heap_region_containing (libjvm.so) 0.07% 0.02% [0xffffffff81825590:0xffffffff818255a0] in [unknown] ([unknown]) 0.07% 0.08% [0x7fd98b822b64:0x7fd98b822bc8] in oopDesc::decode_heap_oop_not_null (libjvm.so) 0.07% 0.04% [0x7fd98baacc10:0x7fd98baacc8c] in G1CollectedHeap::is_in_closed_subset (libjvm.so) 0.06% 0.03% [0x7fd98b4cee01:0x7fd98b4cee2d] in Klass::decode_klass_not_null (libjvm.so) 0.05% 0.02% [0x7fd98bab6a7a:0x7fd98bab6a98] in G1CollectedHeap::is_obj_dead (libjvm.so) 0.05% [0x7fd98d42f328:0x7fd98d42f328] in __memset_avx2 (libc-2.23.so) 0.04% 0.02% [0xffffffff813f7f05:0xffffffff813f7f07] in [unknown] ([unknown]) 0.04% 0.01% [0x7fd96c9e8af8:0x7fd96c9e8b76] in 0.04% 0.20% [0x7fd9744dc8dc:0x7fd9744dc955] in org.openjdk.generated.CHAnoCHA_test_jmhTest::test_avgt_jmhStub 0.04% 0.04% [0x7fd98bab6988:0x7fd98bab69c3] in G1CollectedHeap::is_obj_dead (libjvm.so) 3.34% 3.33% <...other 433 warm regions...> .................................................................................................... 99.97% 99.98% ....[Hottest Methods (after inlining)].............................................................. 92.96% 92.74% org.openjdk.CHAnoCHA::test 2.85% 2.53% [unknown] ([unknown]) 0.41% 1.02% org.openjdk.generated.CHAnoCHA_test_jmhTest::test_avgt_jmhStub 0.32% 0.31% org.openjdk.jmh.infra.Blackhole::consume 0.23% 0.25% ElfSymbolTable::lookup (libjvm.so) 0.21% 0.11% HeapRegionManager::addr_to_region (libjvm.so) 0.14% 0.18% G1CollectedHeap::is_obj_dead_cond (libjvm.so) 0.10% 0.08% G1CollectedHeap::heap_region_containing (libjvm.so) 0.09% 0.06% G1CollectedHeap::is_obj_dead (libjvm.so) 0.09% 0.03% TypeArrayKlass::oop_size (libjvm.so) 0.08% 0.10% oopDesc::decode_heap_oop_not_null (libjvm.so) 0.07% 0.10% vfprintf (libc-2.23.so) 0.07% 0.04% G1CollectedHeap::is_in_closed_subset (libjvm.so) 0.06% 0.04% _IO_fwrite (libc-2.23.so) 0.06% 0.01% xmlStream::write_text (libjvm.so) 0.06% 0.06% VerifyObjsInRegionClosure::do_object (libjvm.so) 0.06% _IO_str_init_static_internal (libc-2.23.so) 0.06% 0.03% G1ContiguousSpace::object_iterate (libjvm.so) 0.06% 0.02% __memset_avx2 (libc-2.23.so) 0.06% 0.03% Klass::decode_klass_not_null (libjvm.so) 1.90% 1.32% <...other 121 warm methods...> .................................................................................................... 99.97% 99.09% ....[Distribution by Area].......................................................................... 93.82% 94.14% 2.85% 2.53% 2.77% 2.80% 0.49% 0.37% 0.03% 0.02% 0.08% .................................................................................................... 99.97% 99.98% # Run complete. Total time: 00:00:17 Benchmark Mode Cnt Score Error Units CHAnoCHA.test avgt 5 282.076 ± 0.024 ns/op CHAnoCHA.test:·asm avgt NaN ---