final class com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode extends com.oracle.truffle.api.nodes.RootNode implements com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestNode
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode
super_class: com.oracle.truffle.api.nodes.RootNode
{
private final com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor nodeDescriptor;
descriptor: Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.api.debug.test.Context> contextRef;
descriptor: Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/api/debug/test/Context;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestNode[] children;
descriptor: [Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Children()
void <init>(com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage, com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor);
descriptor: (Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial com.oracle.truffle.api.nodes.RootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;)V
1: aload 0
aload 2
putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode.nodeDescriptor:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
2: aload 0
aload 2
iconst_0
invokestatic com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage.resolveChildren:(Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;Z)[Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode.children:[Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestRootNode;
0 4 1 lang Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;
0 4 2 nodeDescriptor Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
MethodParameters:
Name Flags
lang
nodeDescriptor
public boolean isInstrumentable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestRootNode;
public com.oracle.truffle.api.source.SourceSection getSourceSection();
descriptor: ()Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode.nodeDescriptor:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestRootNode;
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=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode.contextRef:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
aload 0
ldc Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;
invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode.lookupContextReference:(Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode.contextRef:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode.contextRef:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextReference.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.test.Context
getfield com.oracle.truffle.api.debug.test.Context.nul:Ljava/lang/Object;
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode.children:[Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 11
StackMap locals: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object top int int com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestNode[]
StackMap stack:
5: aload 6
iload 4
aaload
astore 3
start local 3 6: aload 3
ifnull 10
7: aload 3
aload 1
invokeinterface com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
astore 7
start local 7 8: aload 7
ifnull 10
aload 7
aload 2
if_acmpeq 10
9: aload 7
astore 2
end local 7 end local 3 10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 5
if_icmplt 5
12: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestRootNode;
0 13 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
4 13 2 returnValue Ljava/lang/Object;
6 10 3 child Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
8 10 7 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
frame
}
SourceFile: "InstrumentablePositionsTestLanguage.java"
NestHost: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract ContextReference = com.oracle.truffle.api.TruffleLanguage$ContextReference of com.oracle.truffle.api.TruffleLanguage
private final NodeDescriptor = com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor of com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage
private abstract TestNode = com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestNode of com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage
private final TestRootNode = com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestRootNode of com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage
public abstract Children = com.oracle.truffle.api.nodes.Node$Children of com.oracle.truffle.api.nodes.Node