public class com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode extends com.oracle.truffle.api.instrumentation.ExecutionEventNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode
super_class: com.oracle.truffle.api.instrumentation.ExecutionEventNode
{
final com.oracle.truffle.api.instrumentation.EventContext c;
descriptor: Lcom/oracle/truffle/api/instrumentation/EventContext;
flags: (0x0010) ACC_FINAL
final com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest this$0;
descriptor: Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest, com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.this$0:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest;
aload 0
invokespecial com.oracle.truffle.api.instrumentation.ExecutionEventNode.<init>:()V
1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest com.oracle.truffle.api.instrumentation.EventContext int
StackMap stack:
aload 0
iload 3
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.getInputContext:(I)Lcom/oracle/truffle/api/instrumentation/EventContext;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.getInputCount:()I
if_icmplt 3
end local 3 6: aload 0
aload 2
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.c:Lcom/oracle/truffle/api/instrumentation/EventContext;
7: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$CollectEventsNode;
0 8 2 context Lcom/oracle/truffle/api/instrumentation/EventContext;
2 6 3 i I
MethodParameters:
Name Flags
this$0 final
context
protected void onInputValue(com.oracle.truffle.api.frame.VirtualFrame, com.oracle.truffle.api.instrumentation.EventContext, int, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/instrumentation/EventContext;ILjava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=12, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 3
aload 4
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.saveInputValue:(Lcom/oracle/truffle/api/frame/VirtualFrame;ILjava/lang/Object;)V
1: iload 3
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.getInputCount:()I
if_icmpge 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 2
aload 0
iload 3
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.getInputContext:(I)Lcom/oracle/truffle/api/instrumentation/EventContext;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.this$0:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest;
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest.events:Ljava/util/List;
new com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$Event
dup
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$EventKind.INPUT_VALUE:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$EventKind;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.c:Lcom/oracle/truffle/api/instrumentation/EventContext;
aload 1
aconst_null
aconst_null
iload 3
aload 4
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.createInputContexts:()[Lcom/oracle/truffle/api/instrumentation/EventContext;
aconst_null
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$Event.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$EventKind;Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;[Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: return
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/InstrumentationEventTest$CollectEventsNode;
0 7 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 7 2 inputContext Lcom/oracle/truffle/api/instrumentation/EventContext;
0 7 3 inputIndex I
0 7 4 inputValue Ljava/lang/Object;
MethodParameters:
Name Flags
frame
inputContext
inputIndex
inputValue
protected java.lang.Object onUnwind(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=12, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.this$0:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest;
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest.events:Ljava/util/List;
new com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$Event
dup
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$EventKind.UNWIND:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$EventKind;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.c:Lcom/oracle/truffle/api/instrumentation/EventContext;
aload 1
aconst_null
aconst_null
iconst_m1
aconst_null
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.createInputContexts:()[Lcom/oracle/truffle/api/instrumentation/EventContext;
aload 2
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$Event.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$EventKind;Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;[Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.api.instrumentation.ExecutionEventNode.onUnwind:(Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$CollectEventsNode;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 2 2 info Ljava/lang/Object;
MethodParameters:
Name Flags
frame
info
public void onEnter(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.this$0:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest;
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest.events:Ljava/util/List;
new com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$Event
dup
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$EventKind.ENTER:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$EventKind;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.c:Lcom/oracle/truffle/api/instrumentation/EventContext;
aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.materialize:()Lcom/oracle/truffle/api/frame/MaterializedFrame;
aconst_null
aconst_null
iconst_m1
aconst_null
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.createInputContexts:()[Lcom/oracle/truffle/api/instrumentation/EventContext;
aconst_null
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$Event.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$EventKind;Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;[Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$CollectEventsNode;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
protected void onReturnValue(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=12, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.this$0:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest;
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest.events:Ljava/util/List;
new com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$Event
dup
getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$EventKind.RETURN_VALUE:Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$EventKind;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.c:Lcom/oracle/truffle/api/instrumentation/EventContext;
aload 1
aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.getSavedInputValues:(Lcom/oracle/truffle/api/frame/VirtualFrame;)[Ljava/lang/Object;
aload 2
iconst_m1
aconst_null
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.createInputContexts:()[Lcom/oracle/truffle/api/instrumentation/EventContext;
aconst_null
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$Event.<init>:(Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$EventKind;Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;[Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$CollectEventsNode;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 2 2 result Ljava/lang/Object;
MethodParameters:
Name Flags
frame
result
private com.oracle.truffle.api.instrumentation.EventContext[] createInputContexts();
descriptor: ()[Lcom/oracle/truffle/api/instrumentation/EventContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.getInputCount:()I
anewarray com.oracle.truffle.api.instrumentation.EventContext
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 6
3: StackMap locals: com.oracle.truffle.api.instrumentation.EventContext[] int
StackMap stack:
aload 0
iload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.getInputContext:(I)Lcom/oracle/truffle/api/instrumentation/EventContext;
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
4: aload 1
iload 2
aload 0
iload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.getInputContext:(I)Lcom/oracle/truffle/api/instrumentation/EventContext;
aastore
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode.getInputCount:()I
if_icmplt 3
end local 2 7: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationEventTest$CollectEventsNode;
1 8 1 inputContexts [Lcom/oracle/truffle/api/instrumentation/EventContext;
2 7 2 i I
}
SourceFile: "InstrumentationEventTest.java"
NestHost: com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest
InnerClasses:
protected CollectEventsNode = com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$CollectEventsNode of com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest
protected Event = com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$Event of com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest
final EventKind = com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest$EventKind of com.oracle.truffle.api.instrumentation.test.InstrumentationEventTest