# Detecting actual CPU count: 8 detected # JMH 1.17.5 (released 14 days ago) # VM version: JDK 9-internal, VM 9-internal+0-adhoc.shade.shenandoah-jdk9 # VM invoker: /home/shade/trunks/shenandoah-jdk9/build/baseline/bin/java # VM options: -XX:+UseShenandoahGC -XX:+UseShenandoahMatrix -XX:+VerifyShenandoahMatrix -XX:-TieredCompilation -Xmx1g -Xms1g # Warmup: 5 iterations, 1 s each # Measurement: 5 iterations, 1 s each # Timeout: 10 min per iteration # Threads: 8 threads, will synchronize iterations # Benchmark mode: Average time, time/op # Benchmark: org.openjdk.gcbench.runtime.writes.Plain.test_Object # 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: 7.643 ±(99.9%) 0.159 ns/op # Warmup Iteration 2: 7.612 ±(99.9%) 1.108 ns/op # Warmup Iteration 3: 6.751 ±(99.9%) 0.071 ns/op # Warmup Iteration 4: 6.595 ±(99.9%) 0.042 ns/op # Warmup Iteration 5: 7.210 ±(99.9%) 1.446 ns/op Iteration 1: 6.700 ±(99.9%) 0.282 ns/op Iteration 2: 6.659 ±(99.9%) 0.165 ns/op Iteration 3: 6.597 ±(99.9%) 0.084 ns/op Iteration 4: 6.607 ±(99.9%) 0.073 ns/op Iteration 5: 6.716 ±(99.9%) 0.381 ns/op # Processing profiler results: LinuxPerfAsmProfiler Result "org.openjdk.gcbench.runtime.writes.Plain.test_Object": 6.656 ±(99.9%) 0.207 ns/op [Average] (min, avg, max) = (6.597, 6.656, 6.716), stdev = 0.054 CI (99.9%): [6.449, 6.863] (assumes normal distribution) Secondary result "org.openjdk.gcbench.runtime.writes.Plain.test_Object:·asm": PrintAssembly processed: 51726 total address lines. Perf output processed (skipped 5.099 seconds): Column 1: cycles (39220 events) Column 2: instructions (39372 events) Hottest code regions (>10.00% "cycles" events): ....[Hottest Region 1].............................................................................. c2, org.openjdk.gcbench.runtime.writes.Plain::test_Object, version 131 (139 bytes) # {method} {0x00007f4452abda10} 'test_Object' '()V' in 'org/openjdk/gcbench/runtime/writes/Plain' # [sp+0x20] (sp of caller) 0x00007f4453ba7520: mov 0x8(%rsi),%r10d 0x00007f4453ba7524: shl $0x3,%r10 0x00007f4453ba7528: cmp %r10,%rax 0x00007f4453ba752b: jne 0x00007f4453b35580 ; {runtime_call ic_miss_stub} 0x00007f4453ba7531: data16 xchg %ax,%ax 0x00007f4453ba7534: nopl 0x0(%rax,%rax,1) 0x00007f4453ba753c: data16 data16 xchg %ax,%ax [Verified Entry Point] 5.79% 5.81% 0x00007f4453ba7540: mov %eax,-0x14000(%rsp) 0.15% 0.16% 0x00007f4453ba7547: push %rbp 4.16% 4.05% 0x00007f4453ba7548: sub $0x10,%rsp ;*synchronization entry ; - org.openjdk.gcbench.runtime.writes.Plain::test_Object@-1 (line 83) 2.26% 2.00% 0x00007f4453ba754c: mov -0x8(%rsi),%r10 0.09% 0.10% 0x00007f4453ba7550: mov 0xc(%r10),%r11d 3.75% 3.35% 0x00007f4453ba7554: movzbl 0x3d8(%r15),%r10d 2.30% 1.62% 0x00007f4453ba755c: test %r10d,%r10d ╭ 0x00007f4453ba755f: jne 0x00007f4453ba75cc 0.01% │ 0x00007f4453ba7561: mov -0x8(%r12,%r11,1),%rbx ; implicit exception: dispatches to 0x00007f4453ba7651 6.47% 3.07% │ ↗ 0x00007f4453ba7566: mov %rbx,%rbp 1.90% 0.80% │ │ 0x00007f4453ba7569: add $0x2c,%rbp 2.17% 1.33% │ │ 0x00007f4453ba756d: mov %rbx,%r10 0.00% 0.01% │ │ 0x00007f4453ba7570: mov %rbp,%r11 1.56% 1.03% │ │ 0x00007f4453ba7573: movabs $0x7f4464298010,%r8 2.06% 0.57% │ │ 0x00007f4453ba757d: movabs $0xffffffff40000000,%r9 2.06% 2.15% │ │ 0x00007f4453ba7587: add %r9,%r10 0.02% 0.02% │ │ 0x00007f4453ba758a: add %r9,%r11 4.12% 6.03% │ │ 0x00007f4453ba758d: shr $0x13,%r10 2.30% 2.84% │ │ 0x00007f4453ba7591: shr $0x13,%r11 2.28% 2.16% │ │ 0x00007f4453ba7595: shl $0xb,%r11 0.57% 0.60% │ │ 0x00007f4453ba7599: add %r11,%r10 2.29% 2.26% │ │ 0x00007f4453ba759c: add %r10,%r8 3.41% 4.07% │ │ 0x00007f4453ba759f: movsbl (%r8),%r11d 18.01% 20.18% │ │ 0x00007f4453ba75a3: test %r11d,%r11d │╭│ 0x00007f4453ba75a6: jne 0x00007f4453ba75ac │││ 0x00007f4453ba75a8: movb $0x1,(%r8) 0.50% 0.57% │↘│ 0x00007f4453ba75ac: movsbl 0x378(%r15),%r11d 0.01% │ │ 0x00007f4453ba75b4: test %r11d,%r11d │ │ 0x00007f4453ba75b7: jne 0x00007f4453ba7608 0.09% 0.08% │ │ 0x00007f4453ba75b9: mov %rbx,%r10 3.67% 4.33% │ │ 0x00007f4453ba75bc: mov %r10d,0x0(%rbp) 0.33% 0.28% │ │ 0x00007f4453ba75c0: add $0x10,%rsp 0.01% 0.01% │ │ 0x00007f4453ba75c4: pop %rbp 0.16% 0.18% │ │ 0x00007f4453ba75c5: test %eax,0x1620da35(%rip) # 0x00007f4469db5000 │ │ ; {poll_return} 8.53% 9.09% │ │ 0x00007f4453ba75cb: retq ↘ │ 0x00007f4453ba75cc: mov -0x8(%r12,%r11,1),%rbx ; implicit exception: dispatches to 0x00007f4453ba7651 │ 0x00007f4453ba75d1: mov %rbx,%r10 │ 0x00007f4453ba75d4: shr $0x13,%r10 │ 0x00007f4453ba75d8: movabs $0x7f446005aad0,%r11 │ 0x00007f4453ba75e2: movzbl (%r11,%r10,1),%r11d │ 0x00007f4453ba75e7: test %r11d,%r11d ╰ 0x00007f4453ba75ea: je 0x00007f4453ba7566 0x00007f4453ba75f0: mov %rbx,%rdi 0x00007f4453ba75f3: movabs $0x7f4453af17c7,%r10 .................................................................................................... 81.02% 78.75% ....[Hottest Region 2].............................................................................. c2, org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub, version 136 (43 bytes) ; {optimized virtual_call} 0x00007f4453ba6920: mov -0x8(%rbp),%r9 ; implicit exception: dispatches to 0x00007f4453ba6a19 0x00007f4453ba6924: movzbl 0x94(%r9),%r11d ;*getfield isDone {reexecute=0 rethrow=0 return_oop=0} ; - org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub@25 (line 188) 0x00007f4453ba692c: test %r11d,%r11d 0x00007f4453ba692f: jne 0x00007f4453ba69de ;*ifeq {reexecute=0 rethrow=0 return_oop=0} ; - org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub@28 (line 188) 0x00007f4453ba6935: mov $0x1,%ebp 0x00007f4453ba693a: nopw 0x0(%rax,%rax,1) ;*aload {reexecute=0 rethrow=0 return_oop=0} ; - org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub@13 (line 186) 5.39% 7.05% ↗ 0x00007f4453ba6940: mov %r9,0x28(%rsp) 2.52% 2.63% │ 0x00007f4453ba6945: mov 0x30(%rsp),%rsi 0.00% │ 0x00007f4453ba694a: nop 0.05% 0.08% │ 0x00007f4453ba694b: callq 0x00007f4453b35800 ; ImmutableOopMap{[32]=Oop [40]=Oop [48]=Oop } │ ;*invokevirtual test_Object {reexecute=0 rethrow=0 return_oop=0} │ ; - org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub@15 (line 186) │ ; {optimized virtual_call} 3.35% 3.47% │ 0x00007f4453ba6950: mov 0x28(%rsp),%r9 0.07% 0.11% │ 0x00007f4453ba6955: mov -0x8(%r9),%r10 3.57% 3.27% │ 0x00007f4453ba6959: movzbl 0x94(%r10),%r8d ;*getfield isDone {reexecute=0 rethrow=0 return_oop=0} │ ; - org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub@25 (line 188) 3.64% 4.38% │ 0x00007f4453ba6961: add $0x1,%rbp ; ImmutableOopMap{r10=Oop r9=Oop [32]=Oop [48]=Oop } │ ;*ifeq {reexecute=1 rethrow=0 return_oop=0} │ ; - org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub@28 (line 188) 0.00% │ 0x00007f4453ba6965: test %eax,0x1620e695(%rip) # 0x00007f4469db5000 │ ; {poll} 0.07% 0.05% │ 0x00007f4453ba696b: test %r8d,%r8d ╰ 0x00007f4453ba696e: je 0x00007f4453ba6940 ;*aload_1 {reexecute=0 rethrow=0 return_oop=0} ; - org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub@31 (line 189) 0x00007f4453ba6970: movabs $0x7f44686f8860,%r10 0x00007f4453ba697a: callq *%r10 ;*invokestatic nanoTime {reexecute=0 rethrow=0 return_oop=0} ; - org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub@32 (line 189) 0x00007f4453ba697d: mov 0x20(%rsp),%r10 0x00007f4453ba6982: mov %rbp,0x18(%r10) ;*putfield measuredOps {reexecute=0 rethrow=0 return_oop=0} ; - org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub@47 (line 191) 0x00007f4453ba6986: mov %rax,0x30(%r10) ;*putfield stopTime {reexecute=0 rethrow=0 return_oop=0} .................................................................................................... 18.66% 21.04% ....[Hottest Regions]............................................................................... 81.02% 78.75% c2 org.openjdk.gcbench.runtime.writes.Plain::test_Object, version 131 (139 bytes) 18.66% 21.04% c2 org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub, version 136 (43 bytes) 0.10% 0.09% c2 org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_AverageTime, version 135 (50 bytes) 0.09% 0.09% kernel [unknown] (0 bytes) 0.01% 0.00% kernel [unknown] (11 bytes) 0.01% kernel [unknown] (0 bytes) 0.01% interpreter method entry point (kind = zerolocals) (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.00% kernel [unknown] (0 bytes) 0.07% 0.02% <...other 33 warm regions...> .................................................................................................... 100.00% 100.00% ....[Hottest Methods (after inlining)].............................................................. 81.02% 78.75% c2 org.openjdk.gcbench.runtime.writes.Plain::test_Object, version 131 18.66% 21.04% c2 org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_avgt_jmhStub, version 136 0.18% 0.10% kernel [unknown] 0.10% 0.09% c2 org.openjdk.gcbench.runtime.writes.generated.Plain_test_Object_jmhTest::test_Object_AverageTime, version 135 0.01% interpreter method entry point (kind = zerolocals) 0.00% libjvm.so JVM_CurrentThread 0.00% interpreter invokestatic 184 invokestatic 0.00% libjvm.so Klass::search_secondary_supers 0.00% interpreter invoke return entry points 0.00% interpreter ifnull 198 ifnull 0.00% interpreter method entry point (kind = native) 0.00% libjvm.so ShenandoahBarrierSet::write_barrier .................................................................................................... 100.00% 99.99% ....[Distribution by Source]........................................................................ 99.79% 99.89% c2 0.18% 0.10% kernel 0.02% 0.01% interpreter 0.01% 0.00% libjvm.so .................................................................................................... 100.00% 100.00% # Run complete. Total time: 00:00:11 Benchmark Mode Cnt Score Error Units Plain.test_Object avgt 5 6.656 ± 0.207 ns/op Plain.test_Object:·asm avgt NaN ---