1 package org.openjdk.bench.vm.gc.barriers.reads;
2
3 import org.openjdk.jmh.annotations.*;
4 import org.openjdk.jmh.infra.Blackhole;
5
6 import java.util.concurrent.TimeUnit;
7
8 @Warmup(iterations = 3, time = 1, timeUnit = TimeUnit.SECONDS)
9 @Measurement(iterations = 3, time = 1, timeUnit = TimeUnit.SECONDS)
10 @Fork(3)
11 @BenchmarkMode(Mode.AverageTime)
12 @OutputTimeUnit(TimeUnit.NANOSECONDS)
13 @State(Scope.Thread)
14 public class MultipleObjects {
15
16 Target s1, s2, s3, s4;
17
18 @Setup
19 public void setup() {
20 s1 = new Target();
21 s2 = new Target();
22 s3 = new Target();
23 s4 = new Target();
24 }
25
26 @Benchmark
27 @CompilerControl(CompilerControl.Mode.DONT_INLINE)
28 public void test(Blackhole bh) {
29 bh.consume(s1.x);
30 bh.consume(s2.x);
31 bh.consume(s3.x);
32 bh.consume(s4.x);
33 }
34
35 static class Target {
36 int x;
37 }
38
39 }