public class org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram extends com.oracle.truffle.api.nodes.RootNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram
super_class: com.oracle.truffle.api.nodes.RootNode
{
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst[] inst;
descriptor: [Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$Inst;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)
protected final com.oracle.truffle.api.frame.FrameSlot returnSlot;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
public void <init>(java.lang.String, org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst[], com.oracle.truffle.api.frame.FrameSlot, com.oracle.truffle.api.frame.FrameDescriptor);
descriptor: (Ljava/lang/String;[Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$Inst;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aconst_null
aload 4
invokespecial com.oracle.truffle.api.nodes.RootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
1: aload 0
aload 1
putfield org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram.name:Ljava/lang/String;
2: aload 0
aload 2
putfield org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram.inst:[Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$Inst;
3: aload 0
aload 3
putfield org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram.returnSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$InstArrayProgram;
0 5 1 name Ljava/lang/String;
0 5 2 inst [Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$Inst;
0 5 3 returnSlot Lcom/oracle/truffle/api/frame/FrameSlot;
0 5 4 fd Lcom/oracle/truffle/api/frame/FrameDescriptor;
MethodParameters:
Name Flags
name
inst
returnSlot
fd
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$InstArrayProgram;
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=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 7
2: StackMap locals: int
StackMap stack:
iload 2
invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(I)V
3: aload 0
getfield org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram.inst:[Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$Inst;
iload 2
aaload
aload 1
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
ifeq 6
4: aload 0
getfield org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram.inst:[Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$Inst;
iload 2
aaload
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst.getTrueSucc:()I
istore 2
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram.inst:[Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$Inst;
iload 2
aaload
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst.getFalseSucc:()I
istore 2
7: StackMap locals:
StackMap stack:
iload 2
iconst_m1
if_icmpne 2
8: aload 1
aload 0
getfield org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram.returnSlot:Lcom/oracle/truffle/api/frame/FrameSlot;
invokestatic com.oracle.truffle.api.frame.FrameUtil.getIntSafe:(Lcom/oracle/truffle/api/frame/Frame;Lcom/oracle/truffle/api/frame/FrameSlot;)I
invokestatic org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.nonExplodedLoop:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$InstArrayProgram;
0 9 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 9 2 ip I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop(kind = com.oracle.truffle.api.nodes.ExplodeLoop$LoopExplosionKind.MERGE_EXPLODE:Lcom/oracle/truffle/api/nodes/ExplodeLoop$LoopExplosionKind;)
MethodParameters:
Name Flags
frame
}
SourceFile: "BytecodeInterpreterPartialEvaluationTest.java"
NestHost: org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public final LoopExplosionKind = com.oracle.truffle.api.nodes.ExplodeLoop$LoopExplosionKind of com.oracle.truffle.api.nodes.ExplodeLoop
public abstract Inst = org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst of org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest
public InstArrayProgram = org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram of org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest