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 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
iload 2
iload 3
invokespecial org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode.<init>:(Lcom/oracle/truffle/api/nodes/RepeatingNode;IZ)V
1: aload 0
aload 4
putfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.readFrameSlots:[Lcom/oracle/truffle/api/frame/FrameSlot;
2: aload 0
aload 5
putfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.writtenFrameSlots:[Lcom/oracle/truffle/api/frame/FrameSlot;
3: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.readFrameSlots:[Lcom/oracle/truffle/api/frame/FrameSlot;
ifnull 1
aload 0
getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.writtenFrameSlots:[Lcom/oracle/truffle/api/frame/FrameSlot;
ifnonnull 2
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
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: StackMap locals:
StackMap stack:
aload 1
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
StackMap locals:
StackMap stack: com.oracle.truffle.api.frame.FrameDescriptor
4: astore 3
start local 3 5: aload 0
getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.previousRoot:Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$VirtualizingOSRRootNode;
ifnonnull 8
6: aload 0
new org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$VirtualizingOSRRootNode
dup
aload 0
aload 3
aload 2
aload 0
getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.readFrameSlots:[Lcom/oracle/truffle/api/frame/FrameSlot;
aload 0
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: goto 9
8: StackMap locals: com.oracle.truffle.api.frame.FrameDescriptor
StackMap stack:
aload 0
new org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$VirtualizingOSRRootNode
dup
aload 0
getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.previousRoot:Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$VirtualizingOSRRootNode;
aload 0
aload 3
aload 2
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: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.truffle.runtime.OptimizedOSRLoopNode$OptimizedVirtualizingOSRLoopNode.previousRoot:Lorg/graalvm/compiler/truffle/runtime/OptimizedOSRLoopNode$VirtualizingOSRRootNode;
areturn
end local 3 end local 2 end local 1 end local 0 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