1 
 2     @Benchmark
 3     public void compressScalar[[TEST_TYPE]][[OP_NAME]](Blackhole bh) {
 4         $type$[] as = fa.apply(size);
 5         $type$[] rs = new $type$[size];
 6         boolean[] im = fmt.apply(size);
 7 
 8         for (int ic = 0; ic < INVOC_COUNT; ic++) {
 9             for (int i = 0, j = 0; i < as.length; i++) {
10                 if (im[i]) {
11                     rs[j++] = as[i];
12                 }
13             }
14         }
15 
16         bh.consume(rs);
17     }
18 
19     @Benchmark
20     public void expandScalar[[TEST_TYPE]][[OP_NAME]](Blackhole bh) {
21         $type$[] as = fa.apply(size);
22         $type$[] rs = new $type$[size];
23         boolean[] im = fmt.apply(size);
24 
25         for (int ic = 0; ic < INVOC_COUNT; ic++) {
26             for (int i = 0, j = 0; i < as.length; i++) {
27                 if (im[i]) {
28                     rs[i++] = as[j++];
29                 }
30             }
31         }
32 
33         bh.consume(rs);
34     }
35 
36     @Benchmark
37     public void maskCompressScalar[[TEST_TYPE]][[OP_NAME]](Blackhole bh) {
38         boolean[] im = fmt.apply(size);
39         boolean[] rm = new boolean[size];
40 
41         for (int ic = 0; ic < INVOC_COUNT; ic++) {
42             for (int i = 0, j = 0; i < im.length; i++) {
43                 if (im[i]) {
44                     rm[j++] = im[i];
45                 }
46             }
47         }
48 
49         bh.consume(rm);
50     }