class com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode extends com.oracle.truffle.api.nodes.Node implements com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestNode, com.oracle.truffle.api.instrumentation.InstrumentableNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode
super_class: com.oracle.truffle.api.nodes.Node
{
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 final boolean instrumentable;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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()
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()
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor);
descriptor: (Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;)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.Node.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.nodeDescriptor:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
2: aload 0
aload 1
invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.isInstrumentable:()Z
putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.instrumentable:Z
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$BaseNode;
0 4 1 nodeDescriptor Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
MethodParameters:
Name Flags
nodeDescriptor
void <init>(com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode);
descriptor: (Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$BaseNode;)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.Node.<init>:()V
1: getstatic com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.$assertionsDisabled:Z
ifne 2
aload 1
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.instrumentable:Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode
StackMap stack:
aload 0
aload 1
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.nodeDescriptor:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.cloneShallow:()Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.nodeDescriptor:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
3: aload 0
iconst_1
putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.instrumentable:Z
4: aload 0
aload 1
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.contextRef:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.contextRef:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$BaseNode;
0 6 1 node Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$BaseNode;
MethodParameters:
Name Flags
node
public boolean isInstrumentable();
descriptor: ()Z
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$BaseNode.instrumentable:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$BaseNode;
public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$CallTag;
if_acmpne 2
1: aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.nodeDescriptor:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
bipush 67
invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.hasTag:(C)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
if_acmpne 4
3: aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.nodeDescriptor:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
bipush 69
invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.hasTag:(C)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
if_acmpne 6
5: aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.nodeDescriptor:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
bipush 66
invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.hasTag:(C)Z
ireturn
6: StackMap locals:
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
if_acmpne 8
7: aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.nodeDescriptor:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
bipush 83
invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.hasTag:(C)Z
ireturn
8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$BaseNode;
0 9 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
MethodParameters:
Name Flags
tag
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$BaseNode.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$BaseNode;
public com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode createWrapper(com.oracle.truffle.api.instrumentation.ProbeNode);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode$WrapperNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tBaseNodeWrapper cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$BaseNode;
MethodParameters:
Name Flags
probe
public com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.assureChildrenResolved:(Z)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$BaseNode;
0 2 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
MethodParameters:
Name Flags
materializedTags
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$BaseNode.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$BaseNode.lookupContextReference:(Ljava/lang/Class;)Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.contextRef:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
3: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.assureChildrenResolved:(Z)V
4: aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.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 5: aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.children:[Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 12
StackMap locals: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object top int int com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestNode[]
StackMap stack:
6: aload 6
iload 4
aaload
astore 3
start local 3 7: aload 3
ifnull 11
8: 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 9: aload 7
ifnull 11
aload 7
aload 2
if_acmpeq 11
10: aload 7
astore 2
end local 7 end local 3 11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 5
if_icmplt 6
13: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$BaseNode;
0 14 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
5 14 2 returnValue Ljava/lang/Object;
7 11 3 child Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
9 11 7 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
frame
private void assureChildrenResolved(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.children:[Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
ifnonnull 4
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.nodeDescriptor:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
iload 1
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$BaseNode.children:[Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
3: aload 0
invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.adoptChildren:()V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$BaseNode;
0 5 1 recursively Z
MethodParameters:
Name Flags
recursively
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "BaseNode with "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode.nodeDescriptor:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$BaseNode;
}
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
BaseNode = com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$BaseNode of com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage
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
public abstract WrapperNode = com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode of com.oracle.truffle.api.instrumentation.InstrumentableNode
public final CallTag = com.oracle.truffle.api.instrumentation.StandardTags$CallTag of com.oracle.truffle.api.instrumentation.StandardTags
public final ExpressionTag = com.oracle.truffle.api.instrumentation.StandardTags$ExpressionTag of com.oracle.truffle.api.instrumentation.StandardTags
public final RootTag = com.oracle.truffle.api.instrumentation.StandardTags$RootTag of com.oracle.truffle.api.instrumentation.StandardTags
public final StatementTag = com.oracle.truffle.api.instrumentation.StandardTags$StatementTag of com.oracle.truffle.api.instrumentation.StandardTags
public abstract Children = com.oracle.truffle.api.nodes.Node$Children of com.oracle.truffle.api.nodes.Node
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.instrumentation.GenerateWrapper()