public final class org.graalvm.compiler.truffle.runtime.OptimizedLoopNode extends com.oracle.truffle.api.nodes.LoopNode
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.truffle.runtime.OptimizedLoopNode
super_class: com.oracle.truffle.api.nodes.LoopNode
{
private com.oracle.truffle.api.nodes.RepeatingNode repeatingNode;
descriptor: Lcom/oracle/truffle/api/nodes/RepeatingNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
void <init>(com.oracle.truffle.api.nodes.RepeatingNode);
descriptor: (Lcom/oracle/truffle/api/nodes/RepeatingNode;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.oracle.truffle.api.nodes.LoopNode.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.truffle.runtime.OptimizedLoopNode.repeatingNode:Lcom/oracle/truffle/api/nodes/RepeatingNode;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/truffle/runtime/OptimizedLoopNode;
0 3 1 repeatingNode Lcom/oracle/truffle/api/nodes/RepeatingNode;
MethodParameters:
Name Flags
repeatingNode
public com.oracle.truffle.api.nodes.RepeatingNode getRepeatingNode();
descriptor: ()Lcom/oracle/truffle/api/nodes/RepeatingNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.truffle.runtime.OptimizedLoopNode.repeatingNode:Lcom/oracle/truffle/api/nodes/RepeatingNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/runtime/OptimizedLoopNode;
public void executeLoop(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedLoopNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/truffle/runtime/OptimizedLoopNode;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: goto 4
start local 2 2: StackMap locals: java.lang.Object int
StackMap stack:
invokestatic com.oracle.truffle.api.CompilerDirectives.inInterpreter:()Z
ifne 3
invokestatic org.graalvm.compiler.truffle.runtime.GraalCompilerDirectives.inFirstTier:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
iinc 3 1
end local 2 4: StackMap locals: org.graalvm.compiler.truffle.runtime.OptimizedLoopNode com.oracle.truffle.api.frame.VirtualFrame top int
StackMap stack:
aload 0
getfield org.graalvm.compiler.truffle.runtime.OptimizedLoopNode.repeatingNode:Lcom/oracle/truffle/api/nodes/RepeatingNode;
aload 0
getfield org.graalvm.compiler.truffle.runtime.OptimizedLoopNode.repeatingNode:Lcom/oracle/truffle/api/nodes/RepeatingNode;
aload 1
invokeinterface com.oracle.truffle.api.nodes.RepeatingNode.executeRepeatingWithValue:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
dup
astore 2
start local 2 5: invokeinterface com.oracle.truffle.api.nodes.RepeatingNode.shouldContinue:(Ljava/lang/Object;)Z
ifne 2
6: aload 2
astore 5
7: aload 0
iload 3
invokestatic org.graalvm.compiler.truffle.runtime.OptimizedLoopNode.reportLoopCount:(Lcom/oracle/truffle/api/nodes/Node;I)V
8: aload 5
areturn
end local 2 9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
10: aload 0
iload 3
invokestatic org.graalvm.compiler.truffle.runtime.OptimizedLoopNode.reportLoopCount:(Lcom/oracle/truffle/api/nodes/Node;I)V
11: aload 4
athrow
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/truffle/runtime/OptimizedLoopNode;
0 12 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
2 4 2 status Ljava/lang/Object;
5 9 2 status Ljava/lang/Object;
1 12 3 loopCount I
Exception table:
from to target type
1 7 9 any
MethodParameters:
Name Flags
frame
static com.oracle.truffle.api.nodes.LoopNode create(com.oracle.truffle.api.nodes.RepeatingNode);
descriptor: (Lcom/oracle/truffle/api/nodes/RepeatingNode;)Lcom/oracle/truffle/api/nodes/LoopNode;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.graalvm.compiler.truffle.runtime.OptimizedLoopNode
dup
aload 0
invokespecial org.graalvm.compiler.truffle.runtime.OptimizedLoopNode.<init>:(Lcom/oracle/truffle/api/nodes/RepeatingNode;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 repeatingNode Lcom/oracle/truffle/api/nodes/RepeatingNode;
MethodParameters:
Name Flags
repeatingNode
}
SourceFile: "OptimizedLoopNode.java"
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node