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 }