# VM invoker: /home/shade/trunks/jdk9/build/rsp-plus-72/jre/bin/java # VM options: # Warmup: 5 iterations, 1 s each # Measurement: 5 iterations, 1 s each # Threads: 1 thread, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: org.openjdk.VolatileBarrierBench.test # Run progress: 0.00% complete, ETA 00:00:10 # Fork: 1 of 1 # Preparing profilers: perfasm # Profilers consume stdout from target VM, use -v EXTRA to copy to console # Profilers consume stderr from target VM, use -v EXTRA to copy to console # Warmup Iteration 1: 1598.869 ns/op # Warmup Iteration 2: 1561.372 ns/op # Warmup Iteration 3: 1545.377 ns/op # Warmup Iteration 4: 1538.225 ns/op # Warmup Iteration 5: 1538.199 ns/op Iteration 1: 1539.009 ns/op Iteration 2: 1538.398 ns/op Iteration 3: 1536.230 ns/op Iteration 4: 1537.437 ns/op Iteration 5: 1557.950 ns/op # Processing profiler results: perfasm Result: 1541.805 ±(99.9%) 34.988 ns/op [Average] Statistics: (min, avg, max) = (1536.230, 1541.805, 1557.950), stdev = 9.086 Confidence interval (99.9%): [1506.817, 1576.793] PrintAssembly processed: 98171 total lines Perf output processed (skipped 6.000 seconds): Column 1: cycles (6933 events) Column 2: instructions (6947 events) Hottest code regions (>10.00% "cycles" events): ....[Hottest Region 1].............................................................................. [0x7effa1180787:0x7effa11807d4] in org.openjdk.VolatileBarrierBench::testWith # [sp+0x30] (sp of caller) 0x00007effa1180760: mov 0x8(%rsi),%r10d 0x00007effa1180764: shl $0x3,%r10 0x00007effa1180768: cmp %r10,%rax 0x00007effa118076b: jne 0x00007effa1045de0 ; {runtime_call} 0x00007effa1180771: xchg %ax,%ax 0x00007effa1180774: nopl 0x0(%rax,%rax,1) 0x00007effa118077c: xchg %ax,%ax [Verified Entry Point] 0x00007effa1180780: mov %eax,-0x14000(%rsp) 0.01% 0x00007effa1180787: push %rbp 0x00007effa1180788: sub $0x20,%rsp ;*synchronization entry ; - org.openjdk.VolatileBarrierBench::testWith@-1 (line 76) 0x00007effa118078c: mov %rsi,%rbp 0x00007effa118078f: mov %r12d,0x10(%rsi) ;*putfield c ; - org.openjdk.VolatileBarrierBench::testWith@2 (line 76) 0x00007effa1180793: mov %rdx,(%rsp) 0x00007effa1180797: mov 0xc(%rdx),%r10d ; implicit exception: dispatches to 0x00007effa11807ee 0x00007effa118079b: mov %r10d,0xc(%rsi) 0.01% 0x00007effa118079f: lock addl $0x0,0x48(%rsp) ;*putfield sink ; - org.openjdk.VolatileBarrierBench::testWith@10 (line 78) 1.23% 2.32% 0x00007effa11807a5: xchg %ax,%ax 0x00007effa11807a7: callq 0x00007effa1045fe0 ; OopMap{rbp=Oop [0]=Oop off=76} ;*invokespecial looping ; - org.openjdk.VolatileBarrierBench::testWith@14 (line 79) ; {optimized virtual_call} 0x00007effa11807ac: test %eax,%eax 0x00007effa11807ae: je 0x00007effa11807d0 ;*putfield sink ; - org.openjdk.VolatileBarrierBench::testWith@10 (line 78) 3.12% 0x00007effa11807b0: mov (%rsp),%r10 0x00007effa11807b4: mov 0xc(%r10),%r10d ;*getfield value ; - java.lang.Integer::intValue@1 (line 890) ; - org.openjdk.VolatileBarrierBench::testWith@7 (line 78) 0x00007effa11807b8: mov %r10d,0xc(%rbp) 2.78% 0x00007effa11807bc: lock addl $0x0,0x48(%rsp) ;*putfield sink ; - org.openjdk.VolatileBarrierBench::testWith@10 (line 78) 76.16% 94.43% 0x00007effa11807c2: mov %rbp,%rsi 0.01% 0x00007effa11807c5: xchg %ax,%ax 0x00007effa11807c7: callq 0x00007effa1045fe0 ; OopMap{rbp=Oop [0]=Oop off=108} ;*invokespecial looping ; - org.openjdk.VolatileBarrierBench::testWith@14 (line 79) ; {optimized virtual_call} 2.81% 0x00007effa11807cc: test %eax,%eax 0x00007effa11807ce: jne 0x00007effa11807b0 ;*return ; - org.openjdk.VolatileBarrierBench::testWith@20 (line 80) 0x00007effa11807d0: add $0x20,%rsp 0.03% 0x00007effa11807d4: pop %rbp 0x00007effa11807d5: test %eax,0x174f9825(%rip) # 0x00007effb867a000 ; {poll_return} 0x00007effa11807db: retq 0x00007effa11807dc: mov %rax,%rsi 0x00007effa11807df: jmp 0x00007effa11807e4 0x00007effa11807e1: mov %rax,%rsi ;*invokespecial looping ; - org.openjdk.VolatileBarrierBench::testWith@14 (line 79) 0x00007effa11807e4: add $0x20,%rsp 0x00007effa11807e8: pop %rbp 0x00007effa11807e9: jmpq 0x00007effa1101be0 ; {runtime_call} .................................................................................................... 86.17% 96.75% ....[Hottest Region 2].............................................................................. [0x7effa117e780:0x7effa117e7a7] in org.openjdk.VolatileBarrierBench::looping # {method} {0x00007effa04992e0} 'looping' '()Z' in 'org/openjdk/VolatileBarrierBench' # [sp+0x20] (sp of caller) 0x00007effa117e760: mov 0x8(%rsi),%r10d 0x00007effa117e764: shl $0x3,%r10 0x00007effa117e768: cmp %r10,%rax 0x00007effa117e76b: jne 0x00007effa1045de0 ; {runtime_call} 0x00007effa117e771: xchg %ax,%ax 0x00007effa117e774: nopl 0x0(%rax,%rax,1) 0x00007effa117e77c: xchg %ax,%ax [Verified Entry Point] 3.61% 0x00007effa117e780: sub $0x18,%rsp 0.06% 0x00007effa117e787: mov %rbp,0x10(%rsp) ;*synchronization entry ; - org.openjdk.VolatileBarrierBench::looping@-1 (line 84) 0x00007effa117e78c: mov 0x10(%rsi),%r10d ;*getfield c ; - org.openjdk.VolatileBarrierBench::looping@2 (line 84) 3.25% 0x00007effa117e790: cmp $0x64,%r10d 0x00007effa117e794: jge 0x00007effa117e7ae ;*if_icmpge ; - org.openjdk.VolatileBarrierBench::looping@13 (line 84) 0x00007effa117e796: mov $0x1,%eax ;*ireturn ; - org.openjdk.VolatileBarrierBench::looping@21 (line 84) 0.03% 0x00007effa117e79b: inc %r10d 0x00007effa117e79e: mov %r10d,0x10(%rsi) ;*putfield c ; - org.openjdk.VolatileBarrierBench::looping@8 (line 84) 3.06% 0x00007effa117e7a2: add $0x10,%rsp 0.04% 0x00007effa117e7a6: pop %rbp 0.07% 0x00007effa117e7a7: test %eax,0x174fb853(%rip) # 0x00007effb867a000 ; {poll_return} 0x00007effa117e7ad: retq 0x00007effa117e7ae: xor %eax,%eax 0x00007effa117e7b0: jmp 0x00007effa117e79b 0x00007effa117e7b2: hlt 0x00007effa117e7b3: hlt 0x00007effa117e7b4: hlt 0x00007effa117e7b5: hlt 0x00007effa117e7b6: hlt 0x00007effa117e7b7: hlt .................................................................................................... 10.11% ....[Hottest Regions]............................................................................... 86.17% 96.75% [0x7effa1180787:0x7effa11807d4] in org.openjdk.VolatileBarrierBench::testWith 10.11% [0x7effa117e780:0x7effa117e7a7] in org.openjdk.VolatileBarrierBench::looping 1.88% 1.38% [0x0:0x0] in 0.10% [0x7effa1197390:0x7effa11973ac] in org.openjdk.generated.VolatileBarrierBench_test::test_avgt_jmhLoop 0.04% 0.03% [0x7effb756d570:0x7effb756d58b] in java.util.concurrent.ConcurrentHashMap$Node:: 0.04% [0x7effb7ecd9f2:0x7effb7ecda1d] in vfprintf (libc-2.15.so) 0.04% 0.03% [0x7effb7f8714f:0x7effb7f8714f] in [unknown] (libc-2.15.so) 0.04% 0.04% [0x7effb7f871a3:0x7effb7f871b2] in [unknown] (libc-2.15.so) 0.04% 0.01% [0x7effb7fb74a9:0x7effb7fb74d1] in [unknown] (libc-2.15.so) 0.03% [0x7eff9a3a7fd9:0x7eff9a3a7fe4] in [unknown] ([unknown]) 0.03% 0.01% [0x7eff9a428280:0x7eff9a428292] in [unknown] ([unknown]) 0.03% [0x7effa1010bc0:0x7effa1010bc8] in [unknown] ([unknown]) 0.03% [0x7effb717342d:0x7effb717343e] in java.util.concurrent.ConcurrentHashMap$Node:: 0.03% [0x7effb73d8236:0x7effb73d823f] in java.util.concurrent.ConcurrentHashMap$Node:: 0.03% 0.12% [0x7effb73d8381:0x7effb73d83ba] in java.util.concurrent.ConcurrentHashMap$Node:: 0.03% [0x7effb73d8591:0x7effb73d8591] in java.util.concurrent.ConcurrentHashMap$Node:: 0.03% 0.12% [0x7effb744a2c5:0x7effb744a2e1] in java.util.concurrent.ConcurrentHashMap$Node:: 0.03% 0.03% [0x7effb756d67a:0x7effb756d67e] in java.util.concurrent.ConcurrentHashMap$Node:: 0.01% [0x7eff9a42c614:0x7eff9a42c614] in [unknown] ([unknown]) 0.01% [0x7eff9a42c68f:0x7eff9a42c68f] in [unknown] ([unknown]) 1.21% 1.45% <...other 142 warm regions...> .................................................................................................... 99.97% 99.97% ....[Hottest Methods (after inlining)].............................................................. 86.17% 96.75% org.openjdk.VolatileBarrierBench::testWith 10.11% org.openjdk.VolatileBarrierBench::looping 1.88% 1.38% 0.84% 1.22% java.util.concurrent.ConcurrentHashMap$Node:: 0.27% 0.12% [unknown] ([unknown]) 0.20% 0.19% [unknown] (libc-2.15.so) 0.17% 0.06% vfprintf (libc-2.15.so) 0.10% org.openjdk.generated.VolatileBarrierBench_test::test_avgt_jmhLoop 0.04% 0.06% _IO_fwrite (libc-2.15.so) 0.03% 0.04% pthread_getspecific (libpthread-2.15.so) 0.01% 0.01% __vsnprintf_chk (libc-2.15.so) 0.01% _IO_file_xsputn (libc-2.15.so) 0.01% java.lang.AbstractStringBuilder::expandCapacity 0.01% sun.reflect.ByteVectorImpl::add 0.01% _IO_file_sync (libc-2.15.so) 0.01% java.lang.ClassLoader::checkName 0.01% pthread_self (libc-2.15.so) 0.01% pthread_cond_wait@@GLIBC_2.3.2 (libpthread-2.15.so) 0.01% 0.04% strchrnul (libc-2.15.so) 0.01% pthread_self (libpthread-2.15.so) 0.01% <...other 1 warm methods...> .................................................................................................... 99.97% 99.87% ....[Distribution by Area].......................................................................... 97.26% 97.98% 1.88% 1.38% 0.50% 0.45% 0.27% 0.12% 0.06% 0.04% .................................................................................................... 99.97% 99.97% # Run complete. Total time: 00:00:15 Benchmark Mode Samples Score Score error Units o.o.VolatileBarrierBench.test avgt 5 1541.805 34.988 ns/op o.o.VolatileBarrierBench.test:@asm avgt 1 NaN NaN N/A