Weird performance behavior involving VarHandles

Andrew Haley aph-open at littlepinkcloud.com
Fri Apr 26 13:03:44 UTC 2024



-- 
Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
-------------- next part --------------
....[Hottest Region 1]..............................................................................                                                                ....[Hottest Region 1]..............................................................................                                                                                  
c2, level 4, org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::control_avgt_jmhStub, version 5, compile id 1291                         c2, level 4, org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmhTest::gwt2_methodhandle_avgt_jmhStub, version 5, compile id 1271        
                                                                                                                                                                                                                                                                                                                                           
                                                                        ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::contro                 ;; B20: #	out( B21 ) <- in( B19 )  Freq: 0.999985                                                                                                     
              0x0000fffeb0b528a4:   nop		                                                                                                                                  0x0000fffefcb54a14:   add		x0, x16, #0x94                                                                                                         
              0x0000fffeb0b528a8:   nop		                                                                                                                                  0x0000fffefcb54a18:   mov		x1, #0x23190000     ;   {metadata('jdk/internal/foreign/NativeMemorySegmentImpl')}                           
              0x0000fffeb0b528ac:   nop		                    ;*aload_1 {reexecute=0 rethrow=0 return_oop=0}                                                                0x0000fffefcb54a1c:   movk		x1, #0x6428         ;*aload_1 {reexecute=0 rethrow=0 return_oop=0}                                             
                                                                        ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::contro                                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmhTe       
             ;; B16: #	out( B44 B17 ) <- in( B15 B25 ) Loop( B16-B25 inner ) Freq: 133448                                                                                    ;; B21: #	out( B62 B22 ) <- in( B20 B35 ) Loop( B21-B35 inner ) Freq: 91236.1                                                                         
           ↗  0x0000fffeb0b528b0:   ldr		w12, [x15, #0xc]                                                                                                               ↗  0x0000fffefcb54a20:   ldr		w11, [x10, #0xc]                                                                                                       
           │  0x0000fffeb0b528b4:   lsl		x10, x12, #3        ;*getfield segment {reexecute=0 rethrow=0 return_oop=0}                                                    │  0x0000fffefcb54a24:   lsl		x17, x11, #3        ;*getfield segment {reexecute=0 rethrow=0 return_oop=0}                                            
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 4 (line 92)                                │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 9 (line 106)             
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
  11.47%   │  0x0000fffeb0b528b8:   ldr		w12, [x10, #8]      ; implicit exception: dispatches to 0x0000fffeb0b52cdc                                             7.57%   │  0x0000fffefcb54a28:   ldr		w13, [x17, #8]      ; implicit exception: dispatches to 0x0000fffefcb55058                                             
           │ ;; B17: #	out( B43 B18 ) <- in( B16 )  Freq: 133448                                                                                                           │ ;; B22: #	out( B61 B23 ) <- in( B21 )  Freq: 91236                                                                                                    
           │  0x0000fffeb0b528bc:   cmp		w12, w17                                                                                                                       │  0x0000fffefcb54a2c:   cmp		w13, w1             ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                                   
   0.48%   │  0x0000fffeb0b528c0:   b.ne		#0xfffeb0b52ca8                                                                                                        │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │ ;; B18: #	out( B30 B19 ) <- in( B17 )  Freq: 133448                                                                                                           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
           │  0x0000fffeb0b528c4:   mov		x13, x10            ;*checkcast {reexecute=0 rethrow=0 return_oop=0}                                                           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - jdk.internal.foreign.LayoutPath::checkAlign at 1 (line 290)                                           │  0x0000fffefcb54a30:   b.ne		#0xfffefcb55024                                                                                                
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971c8c00::invokeStatic at 15                                │ ;; B23: #	out( B41 B24 ) <- in( B22 )  Freq: 91236                                                                                                    
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971cd800::invoke at 26                                       │  0x0000fffefcb54a34:   mov		x13, x17            ;*checkcast {reexecute=0 rethrow=0 return_oop=0}                                                   
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971cf400::guardWithCatch at 42                               │                                                            ; - jdk.internal.foreign.LayoutPath::checkAlign at 1 (line 290)                                   
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 18                                       │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231c8c00::invokeStatic at 15                        
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231cd800::invoke at 26                               
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231cf400::guardWithCatch at 42                       
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 18                               
           │  0x0000fffeb0b528c8:   ldr		w14, [x13, #0x18]   ;*getfield scope {reexecute=0 rethrow=0 return_oop=0}                                                      │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::sessionImpl at 1 (line 430)                           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 13 (line 106)            
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 24 (line 108)                                         │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971d1c00::invokeStatic at 14                                │  0x0000fffefcb54a38:   ldr		x11, [x13, #0x20]   ;*getfield min {reexecute=0 rethrow=0 return_oop=0}                                                
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 53                                       │                                                            ; - jdk.internal.foreign.NativeMemorySegmentImpl::unsafeGetOffset at 1 (line 82)                  
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 1 (line 386)           
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 8 (line 381)           
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ; - jdk.internal.foreign.LayoutPath::checkAlign at 6 (line 290)                                   
           │  0x0000fffeb0b528cc:   ldr		x12, [x13, #0x20]   ;*getfield min {reexecute=0 rethrow=0 return_oop=0}                                                        │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231c8c00::invokeStatic at 15                        
           │                                                            ; - jdk.internal.foreign.NativeMemorySegmentImpl::unsafeGetOffset at 1 (line 82)                          │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231cd800::invoke at 26                               
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 1 (line 386)                   │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231cf400::guardWithCatch at 42                       
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 8 (line 381)                   │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 18                               
           │                                                            ; - jdk.internal.foreign.LayoutPath::checkAlign at 6 (line 290)                                           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971c8c00::invokeStatic at 15                                │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 13 (line 106)            
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971cd800::invoke at 26                                       │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971cf400::guardWithCatch at 42                               │  0x0000fffefcb54a3c:   ldr		w15, [x13, #0x18]   ;*getfield scope {reexecute=0 rethrow=0 return_oop=0}                                              
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 18                                       │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::sessionImpl at 1 (line 430)                   
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 24 (line 108)                                 
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
           │  0x0000fffeb0b528d0:   lsl		x16, x14, #3        ;*getfield scope {reexecute=0 rethrow=0 return_oop=0}                                                      │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::sessionImpl at 1 (line 430)                           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 13 (line 106)            
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 24 (line 108)                                         │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971d1c00::invokeStatic at 14                                │  0x0000fffefcb54a40:   and		x18, x11, #3        ;*land {reexecute=0 rethrow=0 return_oop=0}                                                        
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 53                                       │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 14 (line 386)          
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 8 (line 381)           
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │                                                            ; - jdk.internal.foreign.LayoutPath::checkAlign at 6 (line 290)                                   
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231c8c00::invokeStatic at 15                        
           │  0x0000fffeb0b528d4:   and		x14, x12, #3        ;*land {reexecute=0 rethrow=0 return_oop=0}                                                                │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231cd800::invoke at 26                               
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 14 (line 386)                  │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231cf400::guardWithCatch at 42                       
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 8 (line 381)                   │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 18                               
           │                                                            ; - jdk.internal.foreign.LayoutPath::checkAlign at 6 (line 290)                                           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971c8c00::invokeStatic at 15                                │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 13 (line 106)            
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971cd800::invoke at 26                                       │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971cf400::guardWithCatch at 42                       7.39%   │  0x0000fffefcb54a44:   ldr		x14, [x13, #0x10]   ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                                   
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 18                                       │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont         0.59%   │  0x0000fffefcb54a48:   lsl		x15, x15, #3        ;*getfield scope {reexecute=0 rethrow=0 return_oop=0}                                              
  10.46%   │  0x0000fffeb0b528d8:   ldr		x0, [x13, #0x10]                                                                                                               │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::sessionImpl at 1 (line 430)                   
           │  0x0000fffeb0b528dc:   cbnz		x14, #0xfffeb0b52a3c;*ifne {reexecute=0 rethrow=0 return_oop=0}                                                        │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 24 (line 108)                                 
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 17 (line 386)                  │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 8 (line 381)                   │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
           │                                                            ; - jdk.internal.foreign.LayoutPath::checkAlign at 6 (line 290)                                           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971c8c00::invokeStatic at 15                                │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 13 (line 106)            
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971cd800::invoke at 26                                       │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971cf400::guardWithCatch at 42                               │  0x0000fffefcb54a4c:   cbnz		x18, #0xfffefcb54c1c;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                           
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 18                                       │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │ ;; B24: #	out( B37 B25 ) <- in( B23 )  Freq: 91236                                                                                                    
           │ ;; B19: #	out( B27 B20 ) <- in( B18 )  Freq: 133447                                                                                                   5.99%   │  0x0000fffefcb54a50:   sub		x14, x14, #3        ;*ladd {reexecute=0 rethrow=0 return_oop=0}                                                        
  11.09%   │  0x0000fffeb0b528e0:   sub		x14, x0, #3         ;*ladd {reexecute=0 rethrow=0 return_oop=0}                                                                │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds at 14 (line 404)                  
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds at 14 (line 404)                          │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess at 26 (line 364)                  
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess at 26 (line 364)                          │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress at 15 (line 81)                         
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress at 15 (line 81)                                 │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 14 (line 107)                                 
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 14 (line 107)                                         │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971d1c00::invokeStatic at 14                                │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 53                                       │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 13 (line 106)            
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │  0x0000fffefcb54a54:   tbnz		x14, #0x3f, #0xfffefcb54b44                                                                                    
           │  0x0000fffeb0b528e4:   tbnz		x14, #0x3f, #0xfffeb0b5299c                                                                                            │                                                            ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}                                 
           │                                                            ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}                                         │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds at 16 (line 404)                  
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds at 16 (line 404)                          │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess at 26 (line 364)                  
           │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess at 26 (line 364)                          │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress at 15 (line 81)                         
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress at 15 (line 81)                                 │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 14 (line 107)                                 
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 14 (line 107)                                         │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971d1c00::invokeStatic at 14                                │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 53                                       │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 13 (line 106)            
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │ ;; B25: #	out( B38 B26 ) <- in( B24 )  Freq: 91235.9                                                                                                  
           │ ;; B20: #	out( B28 B21 ) <- in( B19 )  Freq: 133447                                                                                                   8.83%   │  0x0000fffefcb54a58:   cmp		x14, #0                                                                                                                
  10.83%   │  0x0000fffeb0b528e8:   cmp		x14, #0                                                                                                                        │  0x0000fffefcb54a5c:   b.ls		#0xfffefcb54b78                                                                                                
           │  0x0000fffeb0b528ec:   b.ls		#0xfffeb0b529d0                                                                                                        │ ;; B26: #	out( B63 B27 ) <- in( B25 )  Freq: 91235.8                                                                                                  
           │ ;; B21: #	out( B45 B22 ) <- in( B20 )  Freq: 133447                                                                                                   6.48%   │  0x0000fffefcb54a60:   ldr		w18, [x15, #0x14]   ; implicit exception: dispatches to 0x0000fffefcb5508c                                             
   9.86%   │  0x0000fffeb0b528f0:   ldr		w10, [x16, #0x14]   ; implicit exception: dispatches to 0x0000fffeb0b52d10                                                     │                                                            ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                               
           │ ;; B22: #	out( B31 B23 ) <- in( B21 )  Freq: 133447                                                                                                           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │  0x0000fffeb0b528f4:   lsl		x10, x10, #3        ;*getfield owner {reexecute=0 rethrow=0 return_oop=0}                                                      │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
           │                                                            ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw at 1 (line 192)                            │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 5 (line 1891)                        │ ;; B27: #	out( B43 B28 ) <- in( B26 )  Freq: 91235.7                                                                                                  
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                                │  0x0000fffefcb54a64:   lsl		x14, x18, #3        ;*getfield owner {reexecute=0 rethrow=0 return_oop=0}                                              
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                         │                                                            ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw at 1 (line 192)                    
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971d1c00::invokeStatic at 14                                │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 5 (line 1891)                
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 53                                       │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                        
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                 
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
   0.30%   │  0x0000fffeb0b528f8:   mov		x0, x12             ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}                                       │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - jdk.internal.misc.Unsafe::getIntUnaligned at 5 (line 3576)                                            │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 13 (line 106)            
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 15 (line 1893)                       │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                                │  0x0000fffefcb54a68:   cbnz		x14, #0xfffefcb54ca0;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                           
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                         │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971d1c00::invokeStatic at 14                                │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 53                                       │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │ ;; B28: #	out( B44 B29 ) <- in( B27 )  Freq: 91235.6                                                                                                  
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                        7.62%   │  0x0000fffefcb54a6c:   ldr		w14, [x15, #0xc]    ;*getfield state {reexecute=0 rethrow=0 return_oop=0}                                              
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw at 22 (line 195)                   
           │  0x0000fffeb0b528fc:   cbnz		x10, #0xfffeb0b52a7c;*ifnull {reexecute=0 rethrow=0 return_oop=0}                                                      │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 5 (line 1891)                
           │                                                            ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw at 4 (line 192)                            │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                        
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 5 (line 1891)                        │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                 
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                                │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                         │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971d1c00::invokeStatic at 14                                │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 53                                       │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 13 (line 106)            
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │  0x0000fffefcb54a70:   tbnz		w14, #0x1f, #0xfffefcb54cd8                                                                                    
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                               
           │ ;; B23: #	out( B32 B24 ) <- in( B22 )  Freq: 133447                                                                                                           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
  10.48%   │  0x0000fffeb0b52900:   ldr		w10, [x16, #0xc]    ;*getfield state {reexecute=0 rethrow=0 return_oop=0}                                                      │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
           │                                                            ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw at 22 (line 195)                           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 5 (line 1891)                        │ ;; B29: #	out( B42 B30 ) <- in( B28 )  Freq: 91235.6                                                                                                  
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                                │  0x0000fffefcb54a74:   ldr		w11, [x11]          ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}                               
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                         │                                                            ; - jdk.internal.misc.Unsafe::getIntUnaligned at 5 (line 3576)                                    
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971d1c00::invokeStatic at 14                                │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 15 (line 1893)               
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 53                                       │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                        
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                 
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
           │  0x0000fffeb0b52904:   tbnz		w10, #0x1f, #0xfffeb0b52ab4                                                                                            │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ;*ifge {reexecute=0 rethrow=0 return_oop=0}                                                            │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 13 (line 106)            
           │                                                            ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw at 25 (line 195)                           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 5 (line 1891)                        │ ;; membar_release                                                                                                                                         
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                                │  0x0000fffefcb54a78:   dmb		ish                 ;*synchronization entry                                                                            
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                         │                                                            ; - java.lang.invoke.VarHandle::getMethodHandle at -1 (line 2203)                                 
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971d1c00::invokeStatic at 14                                │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 59 (line 1001)                                
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 53                                       │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │  0x0000fffefcb54a7c:   ldr		w14, [x13, #0x18]   ;*getfield scope {reexecute=0 rethrow=0 return_oop=0}                                              
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::sessionImpl at 1 (line 430)                   
           │ ;; B24: #	out( B29 B25 ) <- in( B23 )  Freq: 133447                                                                                                           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 24 (line 108)                                 
  10.31%   │  0x0000fffeb0b52908:   ldr		w10, [x0]           ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}                                       │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
           │                                                            ; - jdk.internal.misc.Unsafe::getIntUnaligned at 5 (line 3576)                                            │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 15 (line 1893)                       │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                                │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
           │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                         │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000971d1c00::invokeStatic at 14                                │  0x0000fffefcb54a80:   ldr		x15, [x13, #0x20]   ;*getfield min {reexecute=0 rethrow=0 return_oop=0}                                                
           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000971d3800::invoke at 53                                       │                                                            ; - jdk.internal.foreign.NativeMemorySegmentImpl::unsafeGetOffset at 1 (line 82)                  
           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                        │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 1 (line 386)           
           │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::control at 8 (line 92)                                │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 8 (line 381)           
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ; - jdk.internal.foreign.LayoutPath::checkAlign at 6 (line 290)                                   
           │  0x0000fffeb0b5290c:   cmp		x14, #4                                                                                                                        │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231c8c00::invokeStatic at 15                        
   0.36%   │  0x0000fffeb0b52910:   b.ls		#0xfffeb0b52a04                                                                                                        │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231cd800::invoke at 26                               
           │ ;; B25: #	out( B16 B26 ) <- in( B24 )  Freq: 133447                                                                                                           │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231cf400::guardWithCatch at 42                       
           │  0x0000fffeb0b52914:   ldarb		w13, [x1]                                                                                                              │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 18                               
           │  0x0000fffeb0b52918:   ldr		w12, [x0, #4]                                                                                                                  │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
           │  0x0000fffeb0b5291c:   add		w12, w12, w10       ;*getfield isDone {reexecute=0 rethrow=0 return_oop=0}                                                     │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
           │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::cont                 │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
           │ ;; membar_acquire (elided)                                                                                                                                        │  0x0000fffefcb54a84:   lsl		x2, x14, #3         ;*getfield scope {reexecute=0 rethrow=0 return_oop=0}                                              
           │  0x0000fffeb0b52920:   ldr		x12, [x28, #0x498]                                                                                                             │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::sessionImpl at 1 (line 430)                   
           │  0x0000fffeb0b52924:   add		x19, x19, #1        ; ImmutableOopMap {r11=Oop r15=Oop r18_tls=Oop c_rarg1=Derived_oop_r18_tls resp=Oop }                      │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 24 (line 108)                                 
           │                                                            ;*ifeq {reexecute=1 rethrow=0 return_oop=0}                                                            │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
           │                                                            ; - (reexecute) org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_j                 │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
           │  0x0000fffeb0b52928:   ldr		wzr, [x12]          ;   {poll}                                                                                                 │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
  11.04%   │  0x0000fffeb0b5292c:   ldrb		w8, [x28, #0x4b0]                                                                                                      │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
   0.41%  ╭│  0x0000fffeb0b52930:   cbz		x8, #0xfffeb0b52948                                                                                                            │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
          ││ ;; 0xFFFEBF6BA090                                                                                                                                                 │  0x0000fffefcb54a88:   and		x14, x15, #3        ;*land {reexecute=0 rethrow=0 return_oop=0}                                                        
          ││  0x0000fffeb0b52934:   mov		x8, #0xa090         ;   {external_word}                                                                                        │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 14 (line 386)          
          ││  0x0000fffeb0b52938:   movk		x8, #0xbf6b, lsl #16                                                                                                   │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::isAlignedForElement at 8 (line 381)           
          ││  0x0000fffeb0b5293c:   movk		x8, #0xfffe, lsl #32                                                                                                   │                                                            ; - jdk.internal.foreign.LayoutPath::checkAlign at 6 (line 290)                                   
          ││  0x0000fffeb0b52940:   mov		x0, x28                                                                                                                        │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231c8c00::invokeStatic at 15                        
          ││  0x0000fffeb0b52944:   blr		x8                                                                                                                             │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231cd800::invoke at 26                               
  10.39%  ↘╰  0x0000fffeb0b52948:   cbz		w13, #0xfffeb0b528b0;*aload_1 {reexecute=0 rethrow=0 return_oop=0}                                                             │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231cf400::guardWithCatch at 42                       
                                                                        ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_control_jmhTest::contro               │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 18                               
             ;; B26: #	out( N1 ) <- in( B25 B14 )  Freq: 0.13522                                                                                                           │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
              0x0000fffeb0b5294c:   adr		x9, #0xfffeb0b52964                                                                                                            │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
             ;; 0xFFFEBFC842A0                                                                                                                                                 │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
              0x0000fffeb0b52950:   mov		x8, #0x42a0         ;   {runtime_call os::javaTimeNanos()}                                                             6.51%   │  0x0000fffefcb54a8c:   ldr		x18, [x13, #0x10]                                                                                                      
              0x0000fffeb0b52954:   movk		x8, #0xbfc8, lsl #16                                                                                                   │  0x0000fffefcb54a90:   cbnz		x14, #0xfffefcb54c5c;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                           
              0x0000fffeb0b52958:   movk		x8, #0xfffe, lsl #32                                                                                                   │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
              0x0000fffeb0b5295c:   stp		xzr, x9, [sp, #-0x10]!                                                                                                         │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
              0x0000fffeb0b52960:   blr		x8                                                                                                                             │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
              0x0000fffeb0b52964:   nop		                    ;   {other}                                                                                                │ ;; B30: #	out( B39 B31 ) <- in( B29 )  Freq: 91235.6                                                                                                  
....................................................................................................                                                                   8.03%   │  0x0000fffefcb54a94:   sub		x14, x18, #3        ;*ladd {reexecute=0 rethrow=0 return_oop=0}                                                        
  97.49%  <total for region 1>                                                                                                                                                 │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds at 14 (line 404)                  
                                                                                                                                                                               │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess at 26 (line 364)                  
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress at 15 (line 81)                         
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 14 (line 107)                                 
                                                                                                                                                                               │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
                                                                                                                                                                               │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │  0x0000fffefcb54a98:   tbnz		x14, #0x3f, #0xfffefcb54bac                                                                                    
                                                                                                                                                                               │                                                            ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}                                 
                                                                                                                                                                               │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds at 16 (line 404)                  
                                                                                                                                                                               │                                                            ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess at 26 (line 364)                  
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress at 15 (line 81)                         
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 14 (line 107)                                 
                                                                                                                                                                               │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
                                                                                                                                                                               │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │ ;; B31: #	out( B40 B32 ) <- in( B30 )  Freq: 91235.5                                                                                                  
                                                                                                                                                                       8.20%   │  0x0000fffefcb54a9c:   cmp		x14, #4                                                                                                                
                                                                                                                                                                       0.80%   │  0x0000fffefcb54aa0:   b.ls		#0xfffefcb54be4                                                                                                
                                                                                                                                                                               │ ;; B32: #	out( B64 B33 ) <- in( B31 )  Freq: 91235.4                                                                                                  
                                                                                                                                                                       6.32%   │  0x0000fffefcb54aa4:   ldr		w13, [x2, #0x14]    ; implicit exception: dispatches to 0x0000fffefcb550bc                                             
                                                                                                                                                                               │                                                            ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                               
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │ ;; B33: #	out( B45 B34 ) <- in( B32 )  Freq: 91235.3                                                                                                  
                                                                                                                                                                               │  0x0000fffefcb54aa8:   lsl		x13, x13, #3        ;*getfield owner {reexecute=0 rethrow=0 return_oop=0}                                              
                                                                                                                                                                               │                                                            ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw at 1 (line 192)                    
                                                                                                                                                                               │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 5 (line 1891)                
                                                                                                                                                                               │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                        
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                 
                                                                                                                                                                               │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
                                                                                                                                                                               │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │  0x0000fffefcb54aac:   cbnz		x13, #0xfffefcb54d10;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                           
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │ ;; B34: #	out( B46 B35 ) <- in( B33 )  Freq: 91235.2                                                                                                  
                                                                                                                                                                       8.19%   │  0x0000fffefcb54ab0:   ldr		w13, [x2, #0xc]     ;*getfield state {reexecute=0 rethrow=0 return_oop=0}                                              
                                                                                                                                                                               │                                                            ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw at 22 (line 195)                   
                                                                                                                                                                               │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 5 (line 1891)                
                                                                                                                                                                               │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                        
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                 
                                                                                                                                                                               │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
                                                                                                                                                                               │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │  0x0000fffefcb54ab4:   tbnz		w13, #0x1f, #0xfffefcb54d4c                                                                                    
                                                                                                                                                                               │                                                            ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                               
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │ ;; B35: #	out( B21 B36 ) <- in( B34 )  Freq: 91235.2                                                                                                  
                                                                                                                                                                               │  0x0000fffefcb54ab8:   ldarb		w17, [x0]           ;*getfield isDone {reexecute=0 rethrow=0 return_oop=0}                                     
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │  0x0000fffefcb54abc:   mov		x13, x15            ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                                   
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │  0x0000fffefcb54ac0:   ldr		w13, [x13, #4]      ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}                               
                                                                                                                                                                               │                                                            ; - jdk.internal.misc.Unsafe::getIntUnaligned at 5 (line 3576)                                    
                                                                                                                                                                               │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal at 15 (line 1893)               
                                                                                                                                                                               │                                                            ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned at 6 (line 1881)                        
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleSegmentAsInts::get at 48 (line 108)                                 
                                                                                                                                                                               │                                                            ; - java.lang.invoke.LambdaForm$DMH/0x00000000231d1c00::invokeStatic at 14                        
                                                                                                                                                                               │                                                            ; - java.lang.invoke.LambdaForm$MH/0x00000000231d3800::invoke at 53                               
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │  0x0000fffefcb54ac4:   add		w13, w13, w11       ;*getfield isDone {reexecute=0 rethrow=0 return_oop=0}                                             
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │ ;; membar_acquire (elided)                                                                                                                                
                                                                                                                                                                               │  0x0000fffefcb54ac8:   ldr		x11, [x28, #0x498]  ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                                   
                                                                                                                                                                               │                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
                                                                                                                                                                               │                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmh         
                                                                                                                                                                               │  0x0000fffefcb54acc:   add		x19, x19, #1        ; ImmutableOopMap {r10=Oop r12=Oop r16=Oop c_rarg0=Derived_oop_r16 resp=Oop }                      
                                                                                                                                                                               │                                                            ;*ifeq {reexecute=1 rethrow=0 return_oop=0}                                                    
                                                                                                                                                                               │                                                            ; - (reexecute) org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_meth         
                                                                                                                                                                               │  0x0000fffefcb54ad0:   ldr		wzr, [x11]          ;   {poll}                                                                                         
                                                                                                                                                                       6.89%   │  0x0000fffefcb54ad4:   ldrb		w8, [x28, #0x4b0]                                                                                              
                                                                                                                                                                              ╭│  0x0000fffefcb54ad8:   cbz		x8, #0xfffefcb54af0                                                                                                    
                                                                                                                                                                              ││ ;; 0xFFFF0CABA090                                                                                                                                         
                                                                                                                                                                              ││  0x0000fffefcb54adc:   mov		x8, #0xa090         ;   {external_word}                                                                                
                                                                                                                                                                              ││  0x0000fffefcb54ae0:   movk		x8, #0xcab, lsl #16                                                                                            
                                                                                                                                                                              ││  0x0000fffefcb54ae4:   movk		x8, #0xffff, lsl #32                                                                                           
                                                                                                                                                                              ││  0x0000fffefcb54ae8:   mov		x0, x28                                                                                                                
                                                                                                                                                                              ││  0x0000fffefcb54aec:   blr		x8                  ;*invokevirtual invokeBasic {reexecute=0 rethrow=0 return_oop=0}                                   
                                                                                                                                                                              ││                                                            ; - java.lang.invoke.VarHandleGuards::guard_LJ_I at 80 (line 1002)                                
                                                                                                                                                                              ││                                                            ; - org.openjdk.bench.vm.lang.ReproducerBenchmarks::gwt2_methodhandle at 30 (line 107)            
                                                                                                                                                                              ││                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_j           
                                                                                                                                                                       8.17%  ↘╰  0x0000fffefcb54af0:   cbz		w17, #0xfffefcb54a20;*aload_1 {reexecute=0 rethrow=0 return_oop=0}                                                     
                                                                                                                                                                                                                                            ; - org.openjdk.bench.vm.lang.jmh_generated.ReproducerBenchmarks_gwt2_methodhandle_jmhTe       
                                                                                                                                                                                 ;; B36: #	out( N1 ) <- in( B35 B19 )  Freq: 0.0924477                                                                                                 
                                                                                                                                                                                  0x0000fffefcb54af4:   adr		x9, #0xfffefcb54b0c                                                                                                    
                                                                                                                                                                                 ;; 0xFFFF0D0842A0                                                                                                                                         
                                                                                                                                                                                  0x0000fffefcb54af8:   mov		x8, #0x42a0         ;   {runtime_call os::javaTimeNanos()}                                                             
                                                                                                                                                                                  0x0000fffefcb54afc:   movk		x8, #0xd08, lsl #16                                                                                            
                                                                                                                                                                                  0x0000fffefcb54b00:   movk		x8, #0xffff, lsl #32                                                                                           
                                                                                                                                                                    ....................................................................................................                                                                   
                                                                                                                                                                      97.59%  <total for region 1>                                                                                                                                         
                                                                                                                                                                                                                                                                                                                                           


More information about the hotspot-compiler-dev mailing list