class com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode extends com.oracle.truffle.api.nodes.Node implements com.oracle.truffle.api.instrumentation.InstrumentableNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode
super_class: com.oracle.truffle.api.nodes.Node
{
private final com.oracle.truffle.api.test.polyglot.ProxyLanguage language;
descriptor: Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.source.SourceSection sourceSection;
descriptor: Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int sCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int eCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode[] children;
descriptor: [Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Children()
void <init>(com.oracle.truffle.api.test.polyglot.ProxyLanguage, com.oracle.truffle.api.source.Source, int, int, com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode[]);
descriptor: (Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;Lcom/oracle/truffle/api/source/Source;II[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.language:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
2: aload 0
iload 3
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.sCount:I
3: aload 0
iload 4
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.eCount:I
4: aload 0
aload 2
iconst_1
invokevirtual com.oracle.truffle.api.source.Source.createSection:(I)Lcom/oracle/truffle/api/source/SourceSection;
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
5: aload 0
aload 5
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.children:[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
6: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
0 7 1 language Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
0 7 2 source Lcom/oracle/truffle/api/source/Source;
0 7 3 sCount I
0 7 4 eCount I
0 7 5 children [Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
MethodParameters:
Name Flags
language
source
sCount
eCount
children
void <init>(com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.children:[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
invokespecial com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.<init>:(Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
0 2 1 copy Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
MethodParameters:
Name Flags
copy
void <init>(com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode, com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode[]);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: aload 0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.language:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.language:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
2: aload 0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.sCount:I
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.sCount:I
3: aload 0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.eCount:I
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.eCount:I
4: aload 0
aload 1
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
5: aload 0
aload 2
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.children:[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
0 7 1 copy Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
0 7 2 children [Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
MethodParameters:
Name Flags
copy
children
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/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
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\tCustomMaterializeNodeWrapper 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/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
MethodParameters:
Name Flags
probe
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$StatementTag;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
0 1 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.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
public int execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.children:[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode com.oracle.truffle.api.frame.VirtualFrame int top int int com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: iload 2
aload 3
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)I
iadd
istore 2
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: iload 2
iconst_1
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
0 7 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 7 2 sum I
3 4 3 node Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
frame
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=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.sCount:I
istore 2
start local 2 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.eCount:I
istore 3
start local 3 2: aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 4
3: iinc 2 -1
4: StackMap locals: int int
StackMap stack:
aload 1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 6
5: iinc 3 -1
6: StackMap locals:
StackMap stack:
iload 2
iflt 7
iload 3
ifge 8
7: StackMap locals:
StackMap stack:
aload 0
areturn
8: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.language:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
iconst_0
iload 2
invokestatic java.lang.Math.max:(II)I
iconst_0
iload 3
invokestatic java.lang.Math.max:(II)I
aload 0
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.children:[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
invokespecial com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;Lcom/oracle/truffle/api/source/Source;II[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
0 9 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
1 9 2 newSCount I
2 9 3 newECount I
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/api/instrumentation/InstrumentableNode;
MethodParameters:
Name Flags
materializedTags
}
SourceFile: "MaterializationAssertionsViolationTest.java"
NestHost: com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest
InnerClasses:
public abstract WrapperNode = com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode of com.oracle.truffle.api.instrumentation.InstrumentableNode
public final ExpressionTag = com.oracle.truffle.api.instrumentation.StandardTags$ExpressionTag of com.oracle.truffle.api.instrumentation.StandardTags
public final StatementTag = com.oracle.truffle.api.instrumentation.StandardTags$StatementTag of com.oracle.truffle.api.instrumentation.StandardTags
CustomMaterializeNode = com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode of com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest
public abstract Children = com.oracle.truffle.api.nodes.Node$Children of com.oracle.truffle.api.nodes.Node
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.instrumentation.GenerateWrapper()