richardstartin commented on pull request #7442:
URL: https://github.com/apache/pinot/pull/7442#issuecomment-934674765


   @amrishlal Firstly, note that preincrement is only banned in loop bodies: 
https://github.com/apache/pinot/commit/0069fc3545b558cf7e49bccac4bf37a614433e48 
this probably alleviates your concerns.
   
   Regarding how to increment loop induction variables, the reason to look at 
disassembly if you are concerned is that what you see is not what you get when 
Java executes on modern JVMs; the choice of preincrement and postincrement 
usually makes no difference to JIT compiled code. That benchmark isn't very 
well designed and isn't measuring what it purports to be. HotSpot has tiered 
JIT compilation which warms up as code executes. It does lots of smart things, 
like vectorizing loops (so neither pre nor post increment will be used) 
figuring out the variable `i` isn't used, and it even can eliminate the loop 
entirely. Benchmarks should be run with JMH to avoid these kinds of pitfalls, 
and JMH includes the perfasm profiler which correlates perf output with 
disassembler output, which allows you to dig in to what code actually executed 
during the benchmark.
   
   This benchmark below demonstrates this quite well. It has three kinds of 
loops
   
   1. the first one can be autovectorized
   2. the second one can be unrolled but not autovectorized
   3. the last one uses a `Blackhole` to prevent any unrolling
   
   There are two flavours of each loop: preincrement and postincrement.
   
   ```java
   import org.openjdk.jmh.annotations.*;
   import org.openjdk.jmh.infra.Blackhole;
   
   import java.util.concurrent.ThreadLocalRandom;
   
   @State(Scope.Benchmark)
   public class Increments {
   
     @Param("1024")
     int size;
   
     private int[] input;
     private int[] output;
   
     @Setup(Level.Trial)
     public void setup() {
       input = ThreadLocalRandom.current().ints(size).toArray();
       output = new int[size];
     }
   
     @Benchmark
     public void autovecPre(Blackhole bh) {
       for (int i = 0; i < input.length; ++i) {
         output[i] += input[i];
       }
       bh.consume(output);
     }
   
     @Benchmark
     public void autovecPost(Blackhole bh) {
       for (int i = 0; i < input.length; i++) {
         output[i] += input[i];
       }
       bh.consume(output);
     }
   
     @Benchmark
     public int reducePre(Blackhole bh) {
       int sum = 0;
       for (int i = 0; i < input.length; ++i) {
         sum += Integer.bitCount(input[i]);
       }
       return sum;
     }
   
     @Benchmark
     public int reducePost(Blackhole bh) {
       int sum = 0;
       for (int i = 0; i < input.length; i++) {
         sum += Integer.bitCount(input[i]);
       }
       return sum;
     }
   
     @Benchmark
     public void blackholedPre(Blackhole bh) {
       for (int i = 0; i < input.length; ++i) {
         bh.consume(i);
       }
     }
   
     @Benchmark
     public void blackholedPost(Blackhole bh) {
       for (int i = 0; i < input.length; i++) {
         bh.consume(i);
       }
     }
   
   }
   ```
   
   This benchmark was run on jdk11 on ubuntu, with the command `taskset -c 0 
java -jar target/benchmarks.jar -wi 5 -i 5 -w 1 -r 1 -f 1 -bm avgt -tu ns 
Increments`
   Firstly, there is no difference in performance - any difference is well 
within the noise:
   
   ```
   Benchmark                  (size)  Mode  Cnt     Score   Error  Units
   Increments.autovecPost       1024  avgt    5   156.744 ± 0.416  ns/op
   Increments.autovecPre        1024  avgt    5   158.390 ± 0.096  ns/op
   Increments.blackholedPost    1024  avgt    5  2798.470 ± 2.657  ns/op
   Increments.blackholedPre     1024  avgt    5  2798.259 ± 2.553  ns/op
   Increments.reducePost        1024  avgt    5   456.012 ± 0.267  ns/op
   Increments.reducePre         1024  avgt    5   455.922 ± 0.299  ns/op
   ```
   
   What's interesting is that the generated code is identical in each case. 
   
   Firstly, `autovec*`. In each case, the loop strides over 64 integers at a 
time (8 256 bit registers). The loop increment is `add    $0x40,%edx` (add 64 
to the induction variable) in each case.
   
   ```
   ....[Hottest Region 
1]..............................................................................
   c2, level 4, 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub,
 version 472 (464 bytes) 
   
                          0x00007fd6f435aff4: vzeroupper 
                          0x00007fd6f435aff7: add    $0x30,%rsp
                          0x00007fd6f435affb: pop    %rbp
                          0x00007fd6f435affc: mov    0x108(%r15),%r10
                          0x00007fd6f435b003: test   %eax,(%r10)        ;   
{poll_return}
                          0x00007fd6f435b006: retq   
                          0x00007fd6f435b007: nop                       
;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
                                                                        ; - 
com.openkappa.runtime.inc.Increments::autovecPost@11 (line 34)
                                                                        ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
            ↗         ↗   0x00007fd6f435b008: vmovdqu 0x10(%r8,%rdx,4),%ymm0
     0.73%  │         │   0x00007fd6f435b00f: vpaddd 
0x10(%r10,%rdx,4),%ymm0,%ymm0
     0.75%  │         │   0x00007fd6f435b016: vmovdqu %ymm0,0x10(%r8,%rdx,4)  
;*iastore {reexecute=0 rethrow=0 return_oop=0}
            │         │                                                 ; - 
com.openkappa.runtime.inc.Increments::autovecPost@25 (line 34)
            │         │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
            │         │   0x00007fd6f435b01d: add    $0x8,%edx          ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
            │         │                                                 ; - 
com.openkappa.runtime.inc.Increments::autovecPost@26 (line 33)
            │         │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
     0.66%  │         │   0x00007fd6f435b020: cmp    %r9d,%edx
            ╰         │   0x00007fd6f435b023: jl     0x00007fd6f435b008  
;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
                      │                                                 ; - 
com.openkappa.runtime.inc.Increments::autovecPost@8 (line 33)
                      │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
                    ↗ │↗  0x00007fd6f435b025: cmp    %r11d,%edx
             ╭      │ ││  0x00007fd6f435b028: jge    0x00007fd6f435b03d
     0.02%   │      │ ││  0x00007fd6f435b02a: xchg   %ax,%ax            
;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
             │      │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@11 (line 34)
             │      │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
             │↗     │ ││  0x00007fd6f435b02c: mov    0x10(%r10,%rdx,4),%ebx
     0.54%   ││     │ ││  0x00007fd6f435b031: add    %ebx,0x10(%r8,%rdx,4)  
;*iastore {reexecute=0 rethrow=0 return_oop=0}
             ││     │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@25 (line 34)
             ││     │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
     0.58%   ││     │ ││  0x00007fd6f435b036: inc    %edx               ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
             ││     │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@26 (line 33)
             ││     │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
     0.54%   ││     │ ││  0x00007fd6f435b038: cmp    %r11d,%edx
             │╰     │ ││  0x00007fd6f435b03b: jl     0x00007fd6f435b02c  
;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
             │      │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@8 (line 33)
             │      │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
             ↘ ↗    │ ││  0x00007fd6f435b03d: mov    %rcx,%rdx
     0.23%     │    │ ││  0x00007fd6f435b040: shl    $0x3,%rdx          
;*getfield output {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@12 (line 34)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
               │    │ ││  0x00007fd6f435b044: mov    0x10(%rsp),%rsi
     0.10%     │    │ ││  0x00007fd6f435b049: data16 xchg %ax,%ax
               │    │ ││  0x00007fd6f435b04c: vzeroupper 
     0.29%     │    │ ││  0x00007fd6f435b04f: callq  0x00007fd6ec89cb00  ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [16]=Oop }
               │    │ ││                                                
;*invokevirtual consume {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@37 (line 36)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
               │    │ ││                                                ;   
{optimized virtual_call}
               │    │ ││  0x00007fd6f435b054: mov    0x40(%rsp),%r10
     0.17%     │    │ ││  0x00007fd6f435b059: movzbl 0x94(%r10),%r10d   ;*goto 
{reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@29 (line 33)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
     0.10%     │    │ ││  0x00007fd6f435b061: mov    0x108(%r15),%r11
               │    │ ││  0x00007fd6f435b068: add    $0x1,%rbp          ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [16]=Oop }
               │    │ ││                                                ;*ifeq 
{reexecute=1 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@30
 (line 234)
     0.08%     │    │ ││  0x00007fd6f435b06c: test   %eax,(%r11)        ;   
{poll}
               │    │ ││  0x00007fd6f435b06f: test   %r10d,%r10d
               │    │ ││  0x00007fd6f435b072: jne    0x00007fd6f435afcf  
;*aload_1 {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@33
 (line 235)
     0.02%     │    │ ││  0x00007fd6f435b078: mov    0x50(%rsp),%r10
               │    │ ││  0x00007fd6f435b07d: mov    0x10(%r10),%r10d   
;*getfield input {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@4 (line 33)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
     0.12%     │    │ ││  0x00007fd6f435b081: mov    0xc(%r12,%r10,8),%r11d  
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@7 (line 33)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
               │    │ ││                                                ; 
implicit exception: dispatches to 0x00007fd6f435b24c
               │    │ ││  0x00007fd6f435b086: mov    0x50(%rsp),%r8
     0.06%     │    │ ││  0x00007fd6f435b08b: mov    0x14(%r8),%ecx     
;*getfield output {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@12 (line 34)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
               │    │ ││  0x00007fd6f435b08f: test   %r11d,%r11d
               ╰    │ ││  0x00007fd6f435b092: jbe    0x00007fd6f435b03d  
;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
                    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@8 (line 33)
                    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
     0.23%          │ ││  0x00007fd6f435b094: mov    0xc(%r12,%rcx,8),%r8d  
;*iaload {reexecute=0 rethrow=0 return_oop=0}
                    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@17 (line 34)
                    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
                    │ ││                                                ; 
implicit exception: dispatches to 0x00007fd6f435b1ed
                    │ ││  0x00007fd6f435b099: test   %r8d,%r8d
                ╭   │ ││  0x00007fd6f435b09c: jbe    0x00007fd6f435b1ed
     0.08%      │   │ ││  0x00007fd6f435b0a2: mov    %r11d,%r9d
                │   │ ││  0x00007fd6f435b0a5: dec    %r9d
     0.17%      │   │ ││  0x00007fd6f435b0a8: cmp    %r8d,%r9d
                │╭  │ ││  0x00007fd6f435b0ab: jae    0x00007fd6f435b1ed
                ││  │ ││  0x00007fd6f435b0b1: cmp    %r11d,%r9d
                ││╭ │ ││  0x00007fd6f435b0b4: jae    0x00007fd6f435b1ed
     0.08%      │││ │ ││  0x00007fd6f435b0ba: shl    $0x3,%r10
                │││ │ ││  0x00007fd6f435b0be: lea    (%r12,%rcx,8),%r8
     0.19%      │││ │ ││  0x00007fd6f435b0c2: mov    %r8d,%r9d
                │││ │ ││  0x00007fd6f435b0c5: shr    $0x2,%r9d
     0.06%      │││ │ ││  0x00007fd6f435b0c9: and    $0x7,%r9d
                │││ │ ││  0x00007fd6f435b0cd: mov    $0x3,%ebx
     0.19%      │││ │ ││  0x00007fd6f435b0d2: sub    %r9d,%ebx
                │││ │ ││  0x00007fd6f435b0d5: and    $0x7,%ebx
     0.06%      │││ │ ││  0x00007fd6f435b0d8: inc    %ebx
                │││ │ ││  0x00007fd6f435b0da: cmp    %r11d,%ebx
     0.08%      │││ │ ││  0x00007fd6f435b0dd: cmovg  %r11d,%ebx
                │││ │ ││  0x00007fd6f435b0e1: xor    %edx,%edx          
;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
                │││ │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@11 (line 34)
                │││ │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
     0.48%      │││↗│ ││  0x00007fd6f435b0e3: mov    0x10(%r10,%rdx,4),%edi
                │││││ ││  0x00007fd6f435b0e8: add    %edi,0x10(%r8,%rdx,4)  
;*iastore {reexecute=0 rethrow=0 return_oop=0}
                │││││ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@25 (line 34)
                │││││ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
     0.95%      │││││ ││  0x00007fd6f435b0ed: inc    %edx               ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
                │││││ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@26 (line 33)
                │││││ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
                │││││ ││  0x00007fd6f435b0ef: cmp    %ebx,%edx
                │││╰│ ││  0x00007fd6f435b0f1: jl     0x00007fd6f435b0e3  
;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
                │││ │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@8 (line 33)
                │││ │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
     0.02%      │││ │ ││  0x00007fd6f435b0f3: mov    %r11d,%ebx
                │││ │ ││  0x00007fd6f435b0f6: add    $0xffffffc1,%ebx
     0.21%      │││ │ ││  0x00007fd6f435b0f9: cmp    %ebx,%edx
                │││ ╰ ││  0x00007fd6f435b0fb: jge    0x00007fd6f435b025  
;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
                │││   ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@11 (line 34)
                │││   ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
     2.90%      │││  ↗││  0x00007fd6f435b101: vmovdqu 0x10(%r8,%rdx,4),%ymm0
     0.04%      │││  │││  0x00007fd6f435b108: vpaddd 
0x10(%r10,%rdx,4),%ymm0,%ymm0
    10.08%      │││  │││  0x00007fd6f435b10f: vmovdqu %ymm0,0x10(%r8,%rdx,4)
     1.00%      │││  │││  0x00007fd6f435b116: vmovdqu 0x30(%r8,%rdx,4),%ymm0
                │││  │││  0x00007fd6f435b11d: vpaddd 
0x30(%r10,%rdx,4),%ymm0,%ymm0
     9.27%      │││  │││  0x00007fd6f435b124: vmovdqu %ymm0,0x30(%r8,%rdx,4)
     0.79%      │││  │││  0x00007fd6f435b12b: vmovdqu 0x50(%r8,%rdx,4),%ymm0
                │││  │││  0x00007fd6f435b132: vpaddd 
0x50(%r10,%rdx,4),%ymm0,%ymm0
     8.07%      │││  │││  0x00007fd6f435b139: vmovdqu %ymm0,0x50(%r8,%rdx,4)
     0.89%      │││  │││  0x00007fd6f435b140: vmovdqu 0x70(%r8,%rdx,4),%ymm0
                │││  │││  0x00007fd6f435b147: vpaddd 
0x70(%r10,%rdx,4),%ymm0,%ymm0
     9.58%      │││  │││  0x00007fd6f435b14e: vmovdqu %ymm0,0x70(%r8,%rdx,4)
     0.52%      │││  │││  0x00007fd6f435b155: vmovdqu 0x90(%r8,%rdx,4),%ymm0
                │││  │││  0x00007fd6f435b15f: vpaddd 
0x90(%r10,%rdx,4),%ymm0,%ymm0
     8.34%      │││  │││  0x00007fd6f435b169: vmovdqu %ymm0,0x90(%r8,%rdx,4)
     0.64%      │││  │││  0x00007fd6f435b173: vmovdqu 0xb0(%r8,%rdx,4),%ymm0
                │││  │││  0x00007fd6f435b17d: vpaddd 
0xb0(%r10,%rdx,4),%ymm0,%ymm0
     9.71%      │││  │││  0x00007fd6f435b187: vmovdqu %ymm0,0xb0(%r8,%rdx,4)
     0.58%      │││  │││  0x00007fd6f435b191: vmovdqu 0xd0(%r8,%rdx,4),%ymm0
                │││  │││  0x00007fd6f435b19b: vpaddd 
0xd0(%r10,%rdx,4),%ymm0,%ymm0
    14.68%      │││  │││  0x00007fd6f435b1a5: vmovdqu %ymm0,0xd0(%r8,%rdx,4)
     0.54%      │││  │││  0x00007fd6f435b1af: vmovdqu 0xf0(%r8,%rdx,4),%ymm0
                │││  │││  0x00007fd6f435b1b9: vpaddd 
0xf0(%r10,%rdx,4),%ymm0,%ymm0
     9.46%      │││  │││  0x00007fd6f435b1c3: vmovdqu %ymm0,0xf0(%r8,%rdx,4)  
;*iastore {reexecute=0 rethrow=0 return_oop=0}
                │││  │││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@25 (line 34)
                │││  │││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
     0.52%      │││  │││  0x00007fd6f435b1cd: add    $0x40,%edx         ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
                │││  │││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPost@26 (line 33)
                │││  │││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
                │││  │││  0x00007fd6f435b1d0: cmp    %ebx,%edx
                │││  ╰││  0x00007fd6f435b1d2: jl     0x00007fd6f435b101
     0.23%      │││   ││  0x00007fd6f435b1d8: mov    %r11d,%r9d
                │││   ││  0x00007fd6f435b1db: add    $0xfffffff9,%r9d
     0.10%      │││   ││  0x00007fd6f435b1df: cmp    %r9d,%edx
                │││   ╰│  0x00007fd6f435b1e2: jl     0x00007fd6f435b008
                │││    ╰  0x00007fd6f435b1e8: jmpq   0x00007fd6f435b025  
;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
                │││                                                     ; - 
com.openkappa.runtime.inc.Increments::autovecPost@8 (line 33)
                │││                                                     ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPost_jmhTest::autovecPost_avgt_jmhStub@17
 (line 232)
                ↘↘↘       0x00007fd6f435b1ed: mov    $0xffffff7e,%esi
                          0x00007fd6f435b1f2: mov    %r11d,0x18(%rsp)
                          0x00007fd6f435b1f7: nop
                          0x00007fd6f435b1f8: vzeroupper 
                          0x00007fd6f435b1fb: callq  0x00007fd6ec89d280  ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [16]=Oop }
                                                                        
;*if_icmpge {reexecute=1 rethrow=0 return_oop=0}
   
....................................................................................................
    95.73%  <total for region 1>
   ```
   
   ```
   ....[Hottest Region 
1]..............................................................................
   c2, level 4, 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub,
 version 460 (464 bytes) 
   
                                                                        ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
                          0x00007f44cc35d2f4: vzeroupper 
                          0x00007f44cc35d2f7: add    $0x30,%rsp
                          0x00007f44cc35d2fb: pop    %rbp
                          0x00007f44cc35d2fc: mov    0x108(%r15),%r10
                          0x00007f44cc35d303: test   %eax,(%r10)        ;   
{poll_return}
                          0x00007f44cc35d306: retq   
                          0x00007f44cc35d307: nop                       
;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
                                                                        ; - 
com.openkappa.runtime.inc.Increments::autovecPre@11 (line 26)
                                                                        ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.77%  ↗         ↗   0x00007f44cc35d308: vmovdqu 0x10(%r8,%rdx,4),%ymm0
     0.25%  │         │   0x00007f44cc35d30f: vpaddd 
0x10(%r10,%rdx,4),%ymm0,%ymm0
     3.27%  │         │   0x00007f44cc35d316: vmovdqu %ymm0,0x10(%r8,%rdx,4)  
;*iastore {reexecute=0 rethrow=0 return_oop=0}
            │         │                                                 ; - 
com.openkappa.runtime.inc.Increments::autovecPre@25 (line 26)
            │         │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.29%  │         │   0x00007f44cc35d31d: add    $0x8,%edx          ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
            │         │                                                 ; - 
com.openkappa.runtime.inc.Increments::autovecPre@26 (line 25)
            │         │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.10%  │         │   0x00007f44cc35d320: cmp    %r9d,%edx
            ╰         │   0x00007f44cc35d323: jl     0x00007f44cc35d308  
;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
                      │                                                 ; - 
com.openkappa.runtime.inc.Increments::autovecPre@8 (line 25)
                      │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.19%          ↗ │↗  0x00007f44cc35d325: cmp    %r11d,%edx
             ╭      │ ││  0x00007f44cc35d328: jge    0x00007f44cc35d33d
             │      │ ││  0x00007f44cc35d32a: xchg   %ax,%ax            
;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
             │      │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@11 (line 26)
             │      │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.50%   │↗     │ ││  0x00007f44cc35d32c: mov    0x10(%r10,%rdx,4),%ebx
             ││     │ ││  0x00007f44cc35d331: add    %ebx,0x10(%r8,%rdx,4)  
;*iastore {reexecute=0 rethrow=0 return_oop=0}
             ││     │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@25 (line 26)
             ││     │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     1.06%   ││     │ ││  0x00007f44cc35d336: inc    %edx               ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
             ││     │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@26 (line 25)
             ││     │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
             ││     │ ││  0x00007f44cc35d338: cmp    %r11d,%edx
             │╰     │ ││  0x00007f44cc35d33b: jl     0x00007f44cc35d32c  
;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
             │      │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@8 (line 25)
             │      │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.10%   ↘ ↗    │ ││  0x00007f44cc35d33d: mov    %rcx,%rdx
               │    │ ││  0x00007f44cc35d340: shl    $0x3,%rdx          
;*getfield output {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@12 (line 26)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.17%     │    │ ││  0x00007f44cc35d344: mov    0x10(%rsp),%rsi
               │    │ ││  0x00007f44cc35d349: data16 xchg %ax,%ax
     0.10%     │    │ ││  0x00007f44cc35d34c: vzeroupper 
     0.10%     │    │ ││  0x00007f44cc35d34f: callq  0x00007f44c489cb00  ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [16]=Oop }
               │    │ ││                                                
;*invokevirtual consume {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@37 (line 28)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
               │    │ ││                                                ;   
{optimized virtual_call}
     0.02%     │    │ ││  0x00007f44cc35d354: mov    0x40(%rsp),%r10
     0.08%     │    │ ││  0x00007f44cc35d359: movzbl 0x94(%r10),%r10d   ;*goto 
{reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@29 (line 25)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
               │    │ ││  0x00007f44cc35d361: mov    0x108(%r15),%r11
     0.04%     │    │ ││  0x00007f44cc35d368: add    $0x1,%rbp          ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [16]=Oop }
               │    │ ││                                                ;*ifeq 
{reexecute=1 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@30
 (line 234)
               │    │ ││  0x00007f44cc35d36c: test   %eax,(%r11)        ;   
{poll}
     0.25%     │    │ ││  0x00007f44cc35d36f: test   %r10d,%r10d
               │    │ ││  0x00007f44cc35d372: jne    0x00007f44cc35d2cf  
;*aload_1 {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@33
 (line 235)
               │    │ ││  0x00007f44cc35d378: mov    0x50(%rsp),%r10
     0.04%     │    │ ││  0x00007f44cc35d37d: mov    0x10(%r10),%r10d   
;*getfield input {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@4 (line 25)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
               │    │ ││  0x00007f44cc35d381: mov    0xc(%r12,%r10,8),%r11d  
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@7 (line 25)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
               │    │ ││                                                ; 
implicit exception: dispatches to 0x00007f44cc35d54c
     0.15%     │    │ ││  0x00007f44cc35d386: mov    0x50(%rsp),%r8
               │    │ ││  0x00007f44cc35d38b: mov    0x14(%r8),%ecx     
;*getfield output {reexecute=0 rethrow=0 return_oop=0}
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@12 (line 26)
               │    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.04%     │    │ ││  0x00007f44cc35d38f: test   %r11d,%r11d
               ╰    │ ││  0x00007f44cc35d392: jbe    0x00007f44cc35d33d  
;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
                    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@8 (line 25)
                    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.06%          │ ││  0x00007f44cc35d394: mov    0xc(%r12,%rcx,8),%r8d  
;*iaload {reexecute=0 rethrow=0 return_oop=0}
                    │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@17 (line 26)
                    │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
                    │ ││                                                ; 
implicit exception: dispatches to 0x00007f44cc35d4ed
     0.27%          │ ││  0x00007f44cc35d399: test   %r8d,%r8d
                ╭   │ ││  0x00007f44cc35d39c: jbe    0x00007f44cc35d4ed
     0.15%      │   │ ││  0x00007f44cc35d3a2: mov    %r11d,%r9d
                │   │ ││  0x00007f44cc35d3a5: dec    %r9d
     0.17%      │   │ ││  0x00007f44cc35d3a8: cmp    %r8d,%r9d
                │╭  │ ││  0x00007f44cc35d3ab: jae    0x00007f44cc35d4ed
     0.08%      ││  │ ││  0x00007f44cc35d3b1: cmp    %r11d,%r9d
                ││╭ │ ││  0x00007f44cc35d3b4: jae    0x00007f44cc35d4ed
     0.19%      │││ │ ││  0x00007f44cc35d3ba: shl    $0x3,%r10
                │││ │ ││  0x00007f44cc35d3be: lea    (%r12,%rcx,8),%r8
                │││ │ ││  0x00007f44cc35d3c2: mov    %r8d,%r9d
     0.12%      │││ │ ││  0x00007f44cc35d3c5: shr    $0x2,%r9d
     0.04%      │││ │ ││  0x00007f44cc35d3c9: and    $0x7,%r9d
                │││ │ ││  0x00007f44cc35d3cd: mov    $0x3,%ebx
                │││ │ ││  0x00007f44cc35d3d2: sub    %r9d,%ebx
     0.10%      │││ │ ││  0x00007f44cc35d3d5: and    $0x7,%ebx
     0.17%      │││ │ ││  0x00007f44cc35d3d8: inc    %ebx
                │││ │ ││  0x00007f44cc35d3da: cmp    %r11d,%ebx
                │││ │ ││  0x00007f44cc35d3dd: cmovg  %r11d,%ebx
     0.06%      │││ │ ││  0x00007f44cc35d3e1: xor    %edx,%edx          
;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
                │││ │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@11 (line 26)
                │││ │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.19%      │││↗│ ││  0x00007f44cc35d3e3: mov    0x10(%r10,%rdx,4),%edi
     0.21%      │││││ ││  0x00007f44cc35d3e8: add    %edi,0x10(%r8,%rdx,4)  
;*iastore {reexecute=0 rethrow=0 return_oop=0}
                │││││ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@25 (line 26)
                │││││ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.50%      │││││ ││  0x00007f44cc35d3ed: inc    %edx               ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
                │││││ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@26 (line 25)
                │││││ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.21%      │││││ ││  0x00007f44cc35d3ef: cmp    %ebx,%edx
                │││╰│ ││  0x00007f44cc35d3f1: jl     0x00007f44cc35d3e3  
;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
                │││ │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@8 (line 25)
                │││ │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.08%      │││ │ ││  0x00007f44cc35d3f3: mov    %r11d,%ebx
                │││ │ ││  0x00007f44cc35d3f6: add    $0xffffffc1,%ebx
                │││ │ ││  0x00007f44cc35d3f9: cmp    %ebx,%edx
                │││ ╰ ││  0x00007f44cc35d3fb: jge    0x00007f44cc35d325  
;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
                │││   ││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@11 (line 26)
                │││   ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     3.25%      │││  ↗││  0x00007f44cc35d401: vmovdqu 0x10(%r8,%rdx,4),%ymm0
     0.42%      │││  │││  0x00007f44cc35d408: vpaddd 
0x10(%r10,%rdx,4),%ymm0,%ymm0
     9.16%      │││  │││  0x00007f44cc35d40f: vmovdqu %ymm0,0x10(%r8,%rdx,4)
     1.29%      │││  │││  0x00007f44cc35d416: vmovdqu 0x30(%r8,%rdx,4),%ymm0
                │││  │││  0x00007f44cc35d41d: vpaddd 
0x30(%r10,%rdx,4),%ymm0,%ymm0
     8.47%      │││  │││  0x00007f44cc35d424: vmovdqu %ymm0,0x30(%r8,%rdx,4)
     0.60%      │││  │││  0x00007f44cc35d42b: vmovdqu 0x50(%r8,%rdx,4),%ymm0
                │││  │││  0x00007f44cc35d432: vpaddd 
0x50(%r10,%rdx,4),%ymm0,%ymm0
    13.43%      │││  │││  0x00007f44cc35d439: vmovdqu %ymm0,0x50(%r8,%rdx,4)
     1.04%      │││  │││  0x00007f44cc35d440: vmovdqu 0x70(%r8,%rdx,4),%ymm0
                │││  │││  0x00007f44cc35d447: vpaddd 
0x70(%r10,%rdx,4),%ymm0,%ymm0
     7.91%      │││  │││  0x00007f44cc35d44e: vmovdqu %ymm0,0x70(%r8,%rdx,4)
     0.58%      │││  │││  0x00007f44cc35d455: vmovdqu 0x90(%r8,%rdx,4),%ymm0
                │││  │││  0x00007f44cc35d45f: vpaddd 
0x90(%r10,%rdx,4),%ymm0,%ymm0
     9.66%      │││  │││  0x00007f44cc35d469: vmovdqu %ymm0,0x90(%r8,%rdx,4)
     0.58%      │││  │││  0x00007f44cc35d473: vmovdqu 0xb0(%r8,%rdx,4),%ymm0
                │││  │││  0x00007f44cc35d47d: vpaddd 
0xb0(%r10,%rdx,4),%ymm0,%ymm0
     9.14%      │││  │││  0x00007f44cc35d487: vmovdqu %ymm0,0xb0(%r8,%rdx,4)
     0.50%      │││  │││  0x00007f44cc35d491: vmovdqu 0xd0(%r8,%rdx,4),%ymm0
                │││  │││  0x00007f44cc35d49b: vpaddd 
0xd0(%r10,%rdx,4),%ymm0,%ymm0
     9.08%      │││  │││  0x00007f44cc35d4a5: vmovdqu %ymm0,0xd0(%r8,%rdx,4)
     0.83%      │││  │││  0x00007f44cc35d4af: vmovdqu 0xf0(%r8,%rdx,4),%ymm0
                │││  │││  0x00007f44cc35d4b9: vpaddd 
0xf0(%r10,%rdx,4),%ymm0,%ymm0
     8.52%      │││  │││  0x00007f44cc35d4c3: vmovdqu %ymm0,0xf0(%r8,%rdx,4)  
;*iastore {reexecute=0 rethrow=0 return_oop=0}
                │││  │││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@25 (line 26)
                │││  │││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
     0.37%      │││  │││  0x00007f44cc35d4cd: add    $0x40,%edx         ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
                │││  │││                                                ; - 
com.openkappa.runtime.inc.Increments::autovecPre@26 (line 25)
                │││  │││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
                │││  │││  0x00007f44cc35d4d0: cmp    %ebx,%edx
                │││  ╰││  0x00007f44cc35d4d2: jl     0x00007f44cc35d401
     0.15%      │││   ││  0x00007f44cc35d4d8: mov    %r11d,%r9d
                │││   ││  0x00007f44cc35d4db: add    $0xfffffff9,%r9d
                │││   ││  0x00007f44cc35d4df: cmp    %r9d,%edx
                │││   ╰│  0x00007f44cc35d4e2: jl     0x00007f44cc35d308
                │││    ╰  0x00007f44cc35d4e8: jmpq   0x00007f44cc35d325  
;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
                │││                                                     ; - 
com.openkappa.runtime.inc.Increments::autovecPre@8 (line 25)
                │││                                                     ; - 
com.openkappa.runtime.inc.generated.Increments_autovecPre_jmhTest::autovecPre_avgt_jmhStub@17
 (line 232)
                ↘↘↘       0x00007f44cc35d4ed: mov    $0xffffff7e,%esi
                          0x00007f44cc35d4f2: mov    %r11d,0x18(%rsp)
                          0x00007f44cc35d4f7: nop
                          0x00007f44cc35d4f8: vzeroupper 
   
....................................................................................................
    95.13%  <total for region 1>
   
   ```
   
   Now `reduce*`. The loop is unrolled 8 ways. The increment is identical in 
each case: `add    $0x8,%esi` (increment the loop induction variable by 8).
   
   ```
   ....[Hottest Region 
1]..............................................................................
   c2, level 4, 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub,
 version 456 (196 bytes) 
   
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
                0x00007fd150359dfd: add    $0x30,%rsp
                0x00007fd150359e01: pop    %rbp
                0x00007fd150359e02: mov    0x108(%r15),%r10
                0x00007fd150359e09: test   %eax,(%r10)        ;   {poll_return}
                0x00007fd150359e0c: retq   
                0x00007fd150359e0d: data16 xchg %ax,%ax       ;*iload_2 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePost@13 (line 52)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
            ↗   0x00007fd150359e10: popcnt 0x10(%rdi,%rsi,4),%r8d
     1.14%  │   0x00007fd150359e17: add    %r8d,%edx          ;*iadd 
{reexecute=0 rethrow=0 return_oop=0}
            │                                                 ; - 
com.openkappa.runtime.inc.Increments::reducePost@23 (line 52)
            │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
     0.48%  │   0x00007fd150359e1a: inc    %esi               ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
            │                                                 ; - 
com.openkappa.runtime.inc.Increments::reducePost@25 (line 51)
            │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
            │   0x00007fd150359e1c: cmp    %r11d,%esi
            ╰   0x00007fd150359e1f: jl     0x00007fd150359e10  ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePost@10 (line 51)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
                0x00007fd150359e21: mov    (%rsp),%rsi
                0x00007fd150359e25: xchg   %ax,%ax
     0.17%      0x00007fd150359e27: callq  0x00007fd14889cb00  ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [0]=Oop }
                                                              ;*invokevirtual 
consume {reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@22
 (line 232)
                                                              ;   {optimized 
virtual_call}
     0.77%      0x00007fd150359e2c: mov    0x40(%rsp),%r10
                0x00007fd150359e31: movzbl 0x94(%r10),%r10d   ;*goto 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePost@28 (line 51)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
                0x00007fd150359e39: mov    0x108(%r15),%r11
     0.02%      0x00007fd150359e40: add    $0x1,%rbp          ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [0]=Oop }
                                                              ;*ifeq 
{reexecute=1 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@35
 (line 234)
                0x00007fd150359e44: test   %eax,(%r11)        ;   {poll}
                0x00007fd150359e47: test   %r10d,%r10d
                0x00007fd150359e4a: jne    0x00007fd150359ddb  ;*aload_1 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@38
 (line 235)
                0x00007fd150359e4c: mov    0x50(%rsp),%r10
     0.08%      0x00007fd150359e51: mov    0x10(%r10),%r10d   ;*getfield input 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePost@6 (line 51)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
                0x00007fd150359e55: mov    0xc(%r12,%r10,8),%r11d  
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePost@9 (line 51)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
                                                              ; implicit 
exception: dispatches to 0x00007fd150359f46
                0x00007fd150359e5a: test   %r11d,%r11d
                0x00007fd150359e5d: jbe    0x00007fd150359ef0  ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePost@10 (line 51)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
     0.02%      0x00007fd150359e63: mov    %r11d,%r8d
     0.06%      0x00007fd150359e66: dec    %r8d
                0x00007fd150359e69: cmp    %r11d,%r8d
                0x00007fd150359e6c: jae    0x00007fd150359ef7
     0.04%      0x00007fd150359e72: popcnt 0x10(%r12,%r10,8),%edx  
;*invokestatic bitCount {reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePost@20 (line 52)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
     0.02%      0x00007fd150359e79: lea    (%r12,%r10,8),%rdi
     0.08%      0x00007fd150359e7d: mov    %r11d,%ebx
                0x00007fd150359e80: add    $0xfffffff9,%ebx
                0x00007fd150359e83: cmp    $0x1,%ebx
                0x00007fd150359e86: jle    0x00007fd150359f08
                0x00007fd150359e8c: mov    $0x1,%esi          ;*iload_2 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePost@13 (line 52)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
     0.06%   ↗  0x00007fd150359e91: popcnt 0x2c(%rdi,%rsi,4),%r10d
             │  0x00007fd150359e98: popcnt 0x28(%rdi,%rsi,4),%r8d
    10.20%   │  0x00007fd150359e9f: popcnt 0x10(%rdi,%rsi,4),%r9d
     0.02%   │  0x00007fd150359ea6: add    %r9d,%edx
     0.15%   │  0x00007fd150359ea9: popcnt 0x14(%rdi,%rsi,4),%ecx
             │  0x00007fd150359eaf: add    %ecx,%edx
    10.91%   │  0x00007fd150359eb1: popcnt 0x18(%rdi,%rsi,4),%r9d
     0.04%   │  0x00007fd150359eb8: add    %r9d,%edx
    10.28%   │  0x00007fd150359ebb: popcnt 0x1c(%rdi,%rsi,4),%ecx
             │  0x00007fd150359ec1: add    %ecx,%edx
    10.51%   │  0x00007fd150359ec3: popcnt 0x20(%rdi,%rsi,4),%r9d
     7.78%   │  0x00007fd150359eca: add    %r9d,%edx
    10.43%   │  0x00007fd150359ecd: popcnt 0x24(%rdi,%rsi,4),%ecx
     2.07%   │  0x00007fd150359ed3: add    %ecx,%edx
    10.60%   │  0x00007fd150359ed5: add    %r8d,%edx
    10.45%   │  0x00007fd150359ed8: add    %r10d,%edx         ;*iadd 
{reexecute=0 rethrow=0 return_oop=0}
             │                                                ; - 
com.openkappa.runtime.inc.Increments::reducePost@23 (line 52)
             │                                                ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
    10.55%   │  0x00007fd150359edb: add    $0x8,%esi          ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
             │                                                ; - 
com.openkappa.runtime.inc.Increments::reducePost@25 (line 51)
             │                                                ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
             │  0x00007fd150359ede: cmp    %ebx,%esi
             ╰  0x00007fd150359ee0: jl     0x00007fd150359e91  ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePost@10 (line 51)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePost_jmhTest::reducePost_avgt_jmhStub@19
 (line 232)
                0x00007fd150359ee2: cmp    %r11d,%esi
                0x00007fd150359ee5: jl     0x00007fd150359e10
   
....................................................................................................
    96.93%  <total for region 1>
   ```
   ```
   ....[Hottest Region 
1]..............................................................................
   c2, level 4, 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub,
 version 468 (196 bytes) 
   
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
                0x00007fddc3b1b2fd: add    $0x30,%rsp
                0x00007fddc3b1b301: pop    %rbp
                0x00007fddc3b1b302: mov    0x108(%r15),%r10
                0x00007fddc3b1b309: test   %eax,(%r10)        ;   {poll_return}
                0x00007fddc3b1b30c: retq   
                0x00007fddc3b1b30d: data16 xchg %ax,%ax       ;*iload_2 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePre@13 (line 43)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
            ↗   0x00007fddc3b1b310: popcnt 0x10(%rdi,%rsi,4),%r8d
     1.03%  │   0x00007fddc3b1b317: add    %r8d,%edx          ;*iadd 
{reexecute=0 rethrow=0 return_oop=0}
            │                                                 ; - 
com.openkappa.runtime.inc.Increments::reducePre@23 (line 43)
            │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
     0.42%  │   0x00007fddc3b1b31a: inc    %esi               ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
            │                                                 ; - 
com.openkappa.runtime.inc.Increments::reducePre@25 (line 42)
            │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
            │   0x00007fddc3b1b31c: cmp    %r11d,%esi
            ╰   0x00007fddc3b1b31f: jl     0x00007fddc3b1b310  ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePre@10 (line 42)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
                0x00007fddc3b1b321: mov    (%rsp),%rsi
                0x00007fddc3b1b325: xchg   %ax,%ax
     0.07%      0x00007fddc3b1b327: callq  0x00007fddbc05cb00  ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [0]=Oop }
                                                              ;*invokevirtual 
consume {reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@22
 (line 232)
                                                              ;   {optimized 
virtual_call}
     0.75%      0x00007fddc3b1b32c: mov    0x40(%rsp),%r10
                0x00007fddc3b1b331: movzbl 0x94(%r10),%r10d   ;*goto 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePre@28 (line 42)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
                0x00007fddc3b1b339: mov    0x108(%r15),%r11
     0.09%      0x00007fddc3b1b340: add    $0x1,%rbp          ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [0]=Oop }
                                                              ;*ifeq 
{reexecute=1 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@35
 (line 234)
                0x00007fddc3b1b344: test   %eax,(%r11)        ;   {poll}
                0x00007fddc3b1b347: test   %r10d,%r10d
                0x00007fddc3b1b34a: jne    0x00007fddc3b1b2db  ;*aload_1 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@38
 (line 235)
     0.02%      0x00007fddc3b1b34c: mov    0x50(%rsp),%r10
     0.07%      0x00007fddc3b1b351: mov    0x10(%r10),%r10d   ;*getfield input 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePre@6 (line 42)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
                0x00007fddc3b1b355: mov    0xc(%r12,%r10,8),%r11d  
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePre@9 (line 42)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
                                                              ; implicit 
exception: dispatches to 0x00007fddc3b1b446
     0.02%      0x00007fddc3b1b35a: test   %r11d,%r11d
                0x00007fddc3b1b35d: jbe    0x00007fddc3b1b3f0  ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePre@10 (line 42)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
                0x00007fddc3b1b363: mov    %r11d,%r8d
     0.09%      0x00007fddc3b1b366: dec    %r8d
                0x00007fddc3b1b369: cmp    %r11d,%r8d
                0x00007fddc3b1b36c: jae    0x00007fddc3b1b3f7
                0x00007fddc3b1b372: popcnt 0x10(%r12,%r10,8),%edx  
;*invokestatic bitCount {reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePre@20 (line 43)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
     0.02%      0x00007fddc3b1b379: lea    (%r12,%r10,8),%rdi
     0.07%      0x00007fddc3b1b37d: mov    %r11d,%ebx
                0x00007fddc3b1b380: add    $0xfffffff9,%ebx
                0x00007fddc3b1b383: cmp    $0x1,%ebx
                0x00007fddc3b1b386: jle    0x00007fddc3b1b408
                0x00007fddc3b1b38c: mov    $0x1,%esi          ;*iload_2 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePre@13 (line 43)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
     0.09%   ↗  0x00007fddc3b1b391: popcnt 0x2c(%rdi,%rsi,4),%r10d
             │  0x00007fddc3b1b398: popcnt 0x28(%rdi,%rsi,4),%r8d
    10.58%   │  0x00007fddc3b1b39f: popcnt 0x10(%rdi,%rsi,4),%r9d
     0.02%   │  0x00007fddc3b1b3a6: add    %r9d,%edx
     0.15%   │  0x00007fddc3b1b3a9: popcnt 0x14(%rdi,%rsi,4),%ecx
             │  0x00007fddc3b1b3af: add    %ecx,%edx
    10.36%   │  0x00007fddc3b1b3b1: popcnt 0x18(%rdi,%rsi,4),%r9d
     0.02%   │  0x00007fddc3b1b3b8: add    %r9d,%edx
    10.45%   │  0x00007fddc3b1b3bb: popcnt 0x1c(%rdi,%rsi,4),%ecx
             │  0x00007fddc3b1b3c1: add    %ecx,%edx
    10.06%   │  0x00007fddc3b1b3c3: popcnt 0x20(%rdi,%rsi,4),%r9d
     9.17%   │  0x00007fddc3b1b3ca: add    %r9d,%edx
    10.65%   │  0x00007fddc3b1b3cd: popcnt 0x24(%rdi,%rsi,4),%ecx
     1.65%   │  0x00007fddc3b1b3d3: add    %ecx,%edx
    10.23%   │  0x00007fddc3b1b3d5: add    %r8d,%edx
    10.47%   │  0x00007fddc3b1b3d8: add    %r10d,%edx         ;*iadd 
{reexecute=0 rethrow=0 return_oop=0}
             │                                                ; - 
com.openkappa.runtime.inc.Increments::reducePre@23 (line 43)
             │                                                ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
    10.06%   │  0x00007fddc3b1b3db: add    $0x8,%esi          ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
             │                                                ; - 
com.openkappa.runtime.inc.Increments::reducePre@25 (line 42)
             │                                                ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
             │  0x00007fddc3b1b3de: cmp    %ebx,%esi
             ╰  0x00007fddc3b1b3e0: jl     0x00007fddc3b1b391  ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
                                                              ; - 
com.openkappa.runtime.inc.Increments::reducePre@10 (line 42)
                                                              ; - 
com.openkappa.runtime.inc.generated.Increments_reducePre_jmhTest::reducePre_avgt_jmhStub@19
 (line 232)
                0x00007fddc3b1b3e2: cmp    %r11d,%esi
                0x00007fddc3b1b3e5: jl     0x00007fddc3b1b310
   
....................................................................................................
    96.61%  <total for region 1>
   ```
   
   Finally, when no unrolling is possible in `blackholed`, there is still no 
difference. The loop induction variable is just incremented each time `inc  
%ebp`  (the surrounding instructions are also identical).
   
   ```
   ....[Hottest Region 
2]..............................................................................
   c2, level 4, 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub,
 version 454 (102 bytes) 
   
                                                                  ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@27
 (line 234)
                                                                  ; implicit 
exception: dispatches to 0x00007f90bc35c190
                    0x00007f90bc35c04e: test   %r10d,%r10d
            ╭       0x00007f90bc35c051: jne    0x00007f90bc35c0d3  ;*ifeq 
{reexecute=0 rethrow=0 return_oop=0}
            │                                                     ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@30
 (line 234)
            │       0x00007f90bc35c057: mov    (%rsp),%r10
            │       0x00007f90bc35c05b: test   %r10,%r10
            │       0x00007f90bc35c05e: je     0x00007f90bc35c124
            │       0x00007f90bc35c064: mov    $0x1,%ebx
            │╭      0x00007f90bc35c069: jmp    0x00007f90bc35c090
     0.19%  ││  ↗   0x00007f90bc35c06b: mov    0x8(%rsp),%rbx     ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
            ││  │                                                 ; - 
com.openkappa.runtime.inc.Increments::blackholedPre@8 (line 59)
            ││  │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@17
 (line 232)
     0.09%  ││ ↗│   0x00007f90bc35c070: mov    0x40(%rsp),%r10
            ││ ││   0x00007f90bc35c075: movzbl 0x94(%r10),%r11d   ;*ifeq 
{reexecute=0 rethrow=0 return_oop=0}
            ││ ││                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@30
 (line 234)
     0.13%  ││ ││   0x00007f90bc35c07d: mov    0x108(%r15),%r10
            ││ ││   0x00007f90bc35c084: add    $0x1,%rbx          ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [0]=Oop }
            ││ ││                                                 ;*ifeq 
{reexecute=1 rethrow=0 return_oop=0}
            ││ ││                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@30
 (line 234)
            ││ ││   0x00007f90bc35c088: test   %eax,(%r10)        ;   {poll}
            ││ ││   0x00007f90bc35c08b: test   %r11d,%r11d
            ││╭││   0x00007f90bc35c08e: jne    0x00007f90bc35c0d8  ;*aload_1 
{reexecute=0 rethrow=0 return_oop=0}
            │││││                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@33
 (line 235)
            │↘│││   0x00007f90bc35c090: mov    0x50(%rsp),%r10
            │ │││   0x00007f90bc35c095: mov    0x10(%r10),%r11d   ;*getfield 
input {reexecute=0 rethrow=0 return_oop=0}
            │ │││                                                 ; - 
com.openkappa.runtime.inc.Increments::blackholedPre@4 (line 59)
            │ │││                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@17
 (line 232)
     0.02%  │ │││   0x00007f90bc35c099: mov    0xc(%r12,%r11,8),%r10d  ; 
implicit exception: dispatches to 0x00007f90bc35c168
     0.09%  │ │││   0x00007f90bc35c09e: test   %r10d,%r10d
            │ │╰│   0x00007f90bc35c0a1: jbe    0x00007f90bc35c070  ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
            │ │ │                                                 ; - 
com.openkappa.runtime.inc.Increments::blackholedPre@8 (line 59)
            │ │ │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@17
 (line 232)
            │ │ │   0x00007f90bc35c0a3: xor    %ebp,%ebp
            │ │ │   0x00007f90bc35c0a5: mov    %rbx,0x8(%rsp)
            │ │ │   0x00007f90bc35c0aa: nopw   0x0(%rax,%rax,1)   ;*aload_1 
{reexecute=0 rethrow=0 return_oop=0}
            │ │ │                                                 ; - 
com.openkappa.runtime.inc.Increments::blackholedPre@11 (line 60)
            │ │ │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@17
 (line 232)
     3.75%  │ │ │↗  0x00007f90bc35c0b0: mov    (%rsp),%rsi
     2.07%  │ │ ││  0x00007f90bc35c0b4: mov    %ebp,%edx
     2.32%  │ │ ││  0x00007f90bc35c0b6: nop
     5.20%  │ │ ││  0x00007f90bc35c0b7: callq  0x00007f90b489cb00  ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [0]=Oop }
            │ │ ││                                                
;*invokevirtual consume {reexecute=0 rethrow=0 return_oop=0}
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::blackholedPre@13 (line 60)
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@17
 (line 232)
            │ │ ││                                                ;   
{optimized virtual_call}
     3.64%  │ │ ││  0x00007f90bc35c0bc: mov    0x50(%rsp),%r10
     4.90%  │ │ ││  0x00007f90bc35c0c1: mov    0x10(%r10),%r10d   ;*getfield 
input {reexecute=0 rethrow=0 return_oop=0}
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::blackholedPre@4 (line 59)
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@17
 (line 232)
     5.20%  │ │ ││  0x00007f90bc35c0c5: mov    0xc(%r12,%r10,8),%r11d  ; 
implicit exception: dispatches to 0x00007f90bc35c140
     6.75%  │ │ ││  0x00007f90bc35c0ca: inc    %ebp               ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::blackholedPre@16 (line 59)
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@17
 (line 232)
     1.85%  │ │ ││  0x00007f90bc35c0cc: cmp    %r11d,%ebp
            │ │ ╰│  0x00007f90bc35c0cf: jge    0x00007f90bc35c06b  ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
            │ │  │                                                ; - 
com.openkappa.runtime.inc.Increments::blackholedPre@8 (line 59)
            │ │  │                                                ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@17
 (line 232)
     5.39%  │ │  ╰  0x00007f90bc35c0d1: jmp    0x00007f90bc35c0b0
            ↘ │     0x00007f90bc35c0d3: mov    $0x1,%ebx          ;*aload_1 
{reexecute=0 rethrow=0 return_oop=0}
              │                                                   ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@33
 (line 235)
              ↘     0x00007f90bc35c0d8: movabs $0x7f90d36d7cb0,%r10
                    0x00007f90bc35c0e2: callq  *%r10              
;*invokestatic nanoTime {reexecute=0 rethrow=0 return_oop=0}
                                                                  ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@34
 (line 235)
                    0x00007f90bc35c0e5: mov    0x48(%rsp),%r10
                    0x00007f90bc35c0ea: mov    %rbx,0x18(%r10)    ;*putfield 
measuredOps {reexecute=0 rethrow=0 return_oop=0}
                                                                  ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPre_jmhTest::blackholedPre_avgt_jmhStub@49
 (line 237)
   
....................................................................................................
    41.59%  <total for region 2>
   
   ```
   
   ```
   ....[Hottest Region 
2]..............................................................................
   c2, level 4, 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub,
 version 466 (102 bytes) 
   
                                                                  ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@27
 (line 234)
                                                                  ; implicit 
exception: dispatches to 0x00007f307035ba10
                    0x00007f307035b8ce: test   %r10d,%r10d
            ╭       0x00007f307035b8d1: jne    0x00007f307035b953  ;*ifeq 
{reexecute=0 rethrow=0 return_oop=0}
            │                                                     ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@30
 (line 234)
            │       0x00007f307035b8d7: mov    (%rsp),%r10
            │       0x00007f307035b8db: test   %r10,%r10
            │       0x00007f307035b8de: je     0x00007f307035b9a4
            │       0x00007f307035b8e4: mov    $0x1,%ebx
            │╭      0x00007f307035b8e9: jmp    0x00007f307035b910
     0.17%  ││  ↗   0x00007f307035b8eb: mov    0x8(%rsp),%rbx     ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
            ││  │                                                 ; - 
com.openkappa.runtime.inc.Increments::blackholedPost@8 (line 66)
            ││  │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@17
 (line 232)
     0.02%  ││ ↗│   0x00007f307035b8f0: mov    0x40(%rsp),%r10
            ││ ││   0x00007f307035b8f5: movzbl 0x94(%r10),%r11d   ;*ifeq 
{reexecute=0 rethrow=0 return_oop=0}
            ││ ││                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@30
 (line 234)
     0.11%  ││ ││   0x00007f307035b8fd: mov    0x108(%r15),%r10
            ││ ││   0x00007f307035b904: add    $0x1,%rbx          ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [0]=Oop }
            ││ ││                                                 ;*ifeq 
{reexecute=1 rethrow=0 return_oop=0}
            ││ ││                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@30
 (line 234)
            ││ ││   0x00007f307035b908: test   %eax,(%r10)        ;   {poll}
     0.04%  ││ ││   0x00007f307035b90b: test   %r11d,%r11d
            ││╭││   0x00007f307035b90e: jne    0x00007f307035b958  ;*aload_1 
{reexecute=0 rethrow=0 return_oop=0}
            │││││                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@33
 (line 235)
            │↘│││   0x00007f307035b910: mov    0x50(%rsp),%r10
            │ │││   0x00007f307035b915: mov    0x10(%r10),%r11d   ;*getfield 
input {reexecute=0 rethrow=0 return_oop=0}
            │ │││                                                 ; - 
com.openkappa.runtime.inc.Increments::blackholedPost@4 (line 66)
            │ │││                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@17
 (line 232)
     0.06%  │ │││   0x00007f307035b919: mov    0xc(%r12,%r11,8),%r10d  ; 
implicit exception: dispatches to 0x00007f307035b9e8
     0.04%  │ │││   0x00007f307035b91e: test   %r10d,%r10d
            │ │╰│   0x00007f307035b921: jbe    0x00007f307035b8f0  ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
            │ │ │                                                 ; - 
com.openkappa.runtime.inc.Increments::blackholedPost@8 (line 66)
            │ │ │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@17
 (line 232)
            │ │ │   0x00007f307035b923: xor    %ebp,%ebp
            │ │ │   0x00007f307035b925: mov    %rbx,0x8(%rsp)
            │ │ │   0x00007f307035b92a: nopw   0x0(%rax,%rax,1)   ;*aload_1 
{reexecute=0 rethrow=0 return_oop=0}
            │ │ │                                                 ; - 
com.openkappa.runtime.inc.Increments::blackholedPost@11 (line 67)
            │ │ │                                                 ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@17
 (line 232)
     4.14%  │ │ │↗  0x00007f307035b930: mov    (%rsp),%rsi
     2.72%  │ │ ││  0x00007f307035b934: mov    %ebp,%edx
     2.18%  │ │ ││  0x00007f307035b936: nop
     5.22%  │ │ ││  0x00007f307035b937: callq  0x00007f306889cb00  ; 
ImmutableOopMap{[64]=Oop [72]=Oop [80]=Oop [0]=Oop }
            │ │ ││                                                
;*invokevirtual consume {reexecute=0 rethrow=0 return_oop=0}
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::blackholedPost@13 (line 67)
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@17
 (line 232)
            │ │ ││                                                ;   
{optimized virtual_call}
     3.84%  │ │ ││  0x00007f307035b93c: mov    0x50(%rsp),%r10
     4.19%  │ │ ││  0x00007f307035b941: mov    0x10(%r10),%r10d   ;*getfield 
input {reexecute=0 rethrow=0 return_oop=0}
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::blackholedPost@4 (line 66)
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@17
 (line 232)
     4.75%  │ │ ││  0x00007f307035b945: mov    0xc(%r12,%r10,8),%r11d  ; 
implicit exception: dispatches to 0x00007f307035b9c0
     6.78%  │ │ ││  0x00007f307035b94a: inc    %ebp               ;*iinc 
{reexecute=0 rethrow=0 return_oop=0}
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.Increments::blackholedPost@16 (line 66)
            │ │ ││                                                ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@17
 (line 232)
     2.16%  │ │ ││  0x00007f307035b94c: cmp    %r11d,%ebp
            │ │ ╰│  0x00007f307035b94f: jge    0x00007f307035b8eb  ;*if_icmpge 
{reexecute=0 rethrow=0 return_oop=0}
            │ │  │                                                ; - 
com.openkappa.runtime.inc.Increments::blackholedPost@8 (line 66)
            │ │  │                                                ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@17
 (line 232)
     4.83%  │ │  ╰  0x00007f307035b951: jmp    0x00007f307035b930
            ↘ │     0x00007f307035b953: mov    $0x1,%ebx          ;*aload_1 
{reexecute=0 rethrow=0 return_oop=0}
              │                                                   ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@33
 (line 235)
              ↘     0x00007f307035b958: movabs $0x7f3087995cb0,%r10
                    0x00007f307035b962: callq  *%r10              
;*invokestatic nanoTime {reexecute=0 rethrow=0 return_oop=0}
                                                                  ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@34
 (line 235)
                    0x00007f307035b965: mov    0x48(%rsp),%r10
                    0x00007f307035b96a: mov    %rbx,0x18(%r10)    ;*putfield 
measuredOps {reexecute=0 rethrow=0 return_oop=0}
                                                                  ; - 
com.openkappa.runtime.inc.generated.Increments_blackholedPost_jmhTest::blackholedPost_avgt_jmhStub@49
 (line 237)
   
....................................................................................................
    41.26%  <total for region 2>
   
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to