class com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode extends com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode
super_class: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode
{
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.api.frame.FrameSlot slot;
descriptor: Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private int index;
descriptor: I
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
void <init>(java.lang.String, com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode[]);
descriptor: (Ljava/lang/String;[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode.<init>:([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
1: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.name:Ljava/lang/String;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$ArgumentNode;
0 3 1 name Ljava/lang/String;
0 3 2 children [Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
MethodParameters:
Name Flags
name
children
void setIndex(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.index:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$ArgumentNode;
0 2 1 index I
MethodParameters:
Name Flags
index
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=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.slot:Lcom/oracle/truffle/api/frame/FrameSlot;
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.name:Ljava/lang/String;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findOrAddFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.slot:Lcom/oracle/truffle/api/frame/FrameSlot;
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
astore 2
start local 2 4: aload 2
arraylength
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.index:I
if_icmpgt 7
5: getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$Null.INSTANCE:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$Null;
astore 3
start local 3 6: goto 11
end local 3 7: StackMap locals: java.lang.Object[]
StackMap stack:
aload 2
iconst_0
aaload
instanceof com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ThisArg
ifeq 10
8: aload 2
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.index:I
iconst_1
iadd
aaload
astore 3
start local 3 9: goto 11
end local 3 10: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.index:I
aaload
astore 3
start local 3 11: StackMap locals: java.lang.Object
StackMap stack:
aload 1
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.slot:Lcom/oracle/truffle/api/frame/FrameSlot;
aload 3
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.setObject:(Lcom/oracle/truffle/api/frame/FrameSlot;Ljava/lang/Object;)V
12: aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
pop
13: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$ArgumentNode;
0 14 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
4 14 2 args [Ljava/lang/Object;
6 7 3 value Ljava/lang/Object;
9 10 3 value Ljava/lang/Object;
11 14 3 value Ljava/lang/Object;
MethodParameters:
Name Flags
frame
protected com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.name:Ljava/lang/String;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.children:[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
aload 1
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.cloneUninitialized:([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;Ljava/util/Set;)[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode.<init>:(Ljava/lang/String;[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$ArgumentNode;
0 1 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/test/InstrumentationTestLanguage$BaseNode;
MethodParameters:
Name Flags
materializedTags
}
SourceFile: "InstrumentationTestLanguage.java"
NestHost: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
private ArgumentNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ArgumentNode of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
public abstract BaseNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
public abstract InstrumentedNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$InstrumentedNode of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
public final Null = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$Null of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
private final ThisArg = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$ThisArg of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage