final class org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode extends org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode
  super_class: org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode
{
  private final com.oracle.truffle.api.frame.FrameSlot[] readFrameSlots;
    descriptor: [Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)

  private final com.oracle.truffle.api.frame.FrameSlot[] writtenFrameSlots;
    descriptor: [Lcom/oracle/truffle/api/frame/FrameSlot;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)

  private org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$VirtualizingOSRRootNode previousRoot;
    descriptor: Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$VirtualizingOSRRootNode;
    flags: (0x0002) ACC_PRIVATE

  private void <init>(com.oracle.truffle.api.nodes.RepeatingNode, int, boolean, com.oracle.truffle.api.frame.FrameSlot[], com.oracle.truffle.api.frame.FrameSlot[]);
    descriptor: (Lcom/oracle/truffle/api/nodes/RepeatingNode;IZ[Lcom/oracle/truffle/api/frame/FrameSlot;[Lcom/oracle/truffle/api/frame/FrameSlot;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode this
        start local 1 // com.oracle.truffle.api.nodes.RepeatingNode repeatableNode
        start local 2 // int osrThreshold
        start local 3 // boolean firstTierBackedgeCounts
        start local 4 // com.oracle.truffle.api.frame.FrameSlot[] readFrameSlots
        start local 5 // com.oracle.truffle.api.frame.FrameSlot[] writtenFrameSlots
         0: .line 420
            aload 0 /* this */
            aload 1 /* repeatableNode */
            iload 2 /* osrThreshold */
            iload 3 /* firstTierBackedgeCounts */
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode.<init>:(Lcom/oracle/truffle/api/nodes/RepeatingNode;IZ)V
         1: .line 421
            aload 0 /* this */
            aload 4 /* readFrameSlots */
            putfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.readFrameSlots:[Lcom/oracle/truffle/api/frame/FrameSlot;
         2: .line 422
            aload 0 /* this */
            aload 5 /* writtenFrameSlots */
            putfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.writtenFrameSlots:[Lcom/oracle/truffle/api/frame/FrameSlot;
         3: .line 423
            return
        end local 5 // com.oracle.truffle.api.frame.FrameSlot[] writtenFrameSlots
        end local 4 // com.oracle.truffle.api.frame.FrameSlot[] readFrameSlots
        end local 3 // boolean firstTierBackedgeCounts
        end local 2 // int osrThreshold
        end local 1 // com.oracle.truffle.api.nodes.RepeatingNode repeatableNode
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    4     0                     this  Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode;
            0    4     1           repeatableNode  Lcom/oracle/truffle/api/nodes/RepeatingNode;
            0    4     2             osrThreshold  I
            0    4     3  firstTierBackedgeCounts  Z
            0    4     4           readFrameSlots  [Lcom/oracle/truffle/api/frame/FrameSlot;
            0    4     5        writtenFrameSlots  [Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
                         Name  Flags
      repeatableNode           
      osrThreshold             
      firstTierBackedgeCounts  
      readFrameSlots           
      writtenFrameSlots        

  protected org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OSRRootNode createRootNode(com.oracle.truffle.api.frame.FrameDescriptor, java.lang.Class<? extends com.oracle.truffle.api.frame.VirtualFrame>);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/Class;)Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$OSRRootNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode this
        start local 1 // com.oracle.truffle.api.frame.FrameDescriptor rootFrameDescriptor
        start local 2 // java.lang.Class clazz
         0: .line 427
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.readFrameSlots:[Lcom/oracle/truffle/api/frame/FrameSlot;
            ifnull 1
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.writtenFrameSlots:[Lcom/oracle/truffle/api/frame/FrameSlot;
            ifnonnull 2
         1: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rootFrameDescriptor */
            aload 2 /* clazz */
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode.createRootNode:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/Class;)Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$OSRRootNode;
            areturn
         2: .line 430
      StackMap locals:
      StackMap stack:
            aload 1 /* rootFrameDescriptor */
            ifnonnull 3
            new com.oracle.truffle.api.frame.FrameDescriptor
            dup
            invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 1 /* rootFrameDescriptor */
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.frame.FrameDescriptor
         4: astore 3 /* frameDescriptor */
        start local 3 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
         5: .line 431
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.previousRoot:Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$VirtualizingOSRRootNode;
            ifnonnull 8
         6: .line 432
            aload 0 /* this */
            new org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$VirtualizingOSRRootNode
            dup
            aload 0 /* this */
            aload 3 /* frameDescriptor */
            aload 2 /* clazz */
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.readFrameSlots:[Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.writtenFrameSlots:[Lcom/oracle/truffle/api/frame/FrameSlot;
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$VirtualizingOSRRootNode.<init>:(Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/Class;[Lcom/oracle/truffle/api/frame/FrameSlot;[Lcom/oracle/truffle/api/frame/FrameSlot;)V
            putfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.previousRoot:Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$VirtualizingOSRRootNode;
         7: .line 433
            goto 9
         8: .line 436
      StackMap locals: com.oracle.truffle.api.frame.FrameDescriptor
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$VirtualizingOSRRootNode
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.previousRoot:Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$VirtualizingOSRRootNode;
            aload 0 /* this */
            aload 3 /* frameDescriptor */
            aload 2 /* clazz */
            invokespecial org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$VirtualizingOSRRootNode.<init>:(Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$VirtualizingOSRRootNode;Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/Class;)V
            putfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.previousRoot:Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$VirtualizingOSRRootNode;
         9: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.previousRoot:Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$VirtualizingOSRRootNode;
            areturn
        end local 3 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 2 // java.lang.Class clazz
        end local 1 // com.oracle.truffle.api.frame.FrameDescriptor rootFrameDescriptor
        end local 0 // org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode;
            0   10     1  rootFrameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
            0   10     2                clazz  Ljava/lang/Class<+Lcom/oracle/truffle/api/frame/VirtualFrame;>;
            5   10     3      frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
    Signature: (Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/Class<+Lcom/oracle/truffle/api/frame/VirtualFrame;>;)Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$OSRRootNode;
    MethodParameters:
                     Name  Flags
      rootFrameDescriptor  
      clazz                
}
SourceFile: "OptimizedOSRLoopNode.java"
NestHost: org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode
InnerClasses:
  public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
  public OSRRootNode = org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OSRRootNode of org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode
  private final OptimizedVirtualizingOSRLoopNode = org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode of org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode
  private final VirtualizingOSRRootNode = org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$VirtualizingOSRRootNode of org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode