class com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1 implements com.oracle.truffle.api.instrumentation.ExecutionEventListener
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1
super_class: java.lang.Object
{
final com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow this$1;
descriptor: Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$1;
MethodParameters:
Name Flags
this$0 final
public void onEnter(com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.onEnter:(Lcom/oracle/truffle/api/instrumentation/EventContext;)V
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/UnwindReenterReturnTest$TestControlFlow$1;
0 2 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 2 2 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
context
frame
private void onEnter(com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.nodesEntered:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.actions:Ljava/util/Map;
getstatic com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$WHERE.ENTER:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$WHERE;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
aload 2
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.doAction:(Ljava/util/List;Ljava/lang/String;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
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/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$1;
0 4 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
1 4 2 code Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
public void onReturnValue(com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.onReturnValue:(Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/Object;)V
1: return
end local 3 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/UnwindReenterReturnTest$TestControlFlow$1;
0 2 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 2 2 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 2 3 result Ljava/lang/Object;
MethodParameters:
Name Flags
context
frame
result
private void onReturnValue(com.oracle.truffle.api.instrumentation.EventContext, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.nodesReturned:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.returnValuesExceptions:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.actions:Ljava/util/Map;
getstatic com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$WHERE.RETURN_VALUE:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$WHERE;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
aload 3
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.doAction:(Ljava/util/List;Ljava/lang/String;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$1;
0 5 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 5 2 result Ljava/lang/Object;
1 5 3 code Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
result
public void onReturnExceptional(com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.frame.VirtualFrame, java.lang.Throwable);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.onReturnExceptional:(Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/Throwable;)V
1: return
end local 3 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/UnwindReenterReturnTest$TestControlFlow$1;
0 2 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 2 2 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 2 3 exception Ljava/lang/Throwable;
MethodParameters:
Name Flags
context
frame
exception
private void onReturnExceptional(com.oracle.truffle.api.instrumentation.EventContext, java.lang.Throwable);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.nodesReturned:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.returnValuesExceptions:Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.actions:Ljava/util/Map;
getstatic com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$WHERE.RETURN_EXCEPTIONAL:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$WHERE;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
aload 3
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.doAction:(Ljava/util/List;Ljava/lang/String;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$1;
0 5 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 5 2 exception Ljava/lang/Throwable;
1 5 3 code Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
exception
public java.lang.Object onUnwind(com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.onUnwind:(Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$1;
0 1 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 1 2 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 1 3 info Ljava/lang/Object;
MethodParameters:
Name Flags
context
frame
info
private java.lang.Object onUnwind(com.oracle.truffle.api.instrumentation.EventContext, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.nodesUnwound:Ljava/util/List;
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.unwoundInfos:Ljava/util/List;
aload 2
invokestatic java.util.Objects.toString:(Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 0
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow;
getfield com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.actions:Ljava/util/Map;
getstatic com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$WHERE.UNWIND:Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$WHERE;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
aload 3
aload 1
invokestatic com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.doAction:(Ljava/util/List;Ljava/lang/String;Lcom/oracle/truffle/api/instrumentation/EventContext;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$1;
0 4 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 4 2 info Ljava/lang/Object;
1 4 3 code Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
info
private void doAction(java.util.List<com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$CodeAction>, java.lang.String, com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Ljava/util/List;Ljava/lang/String;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 3
invokestatic com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.doAction:(Ljava/util/List;Ljava/lang/String;Lcom/oracle/truffle/api/instrumentation/EventContext;)Ljava/lang/Object;
pop
1: return
end local 3 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/UnwindReenterReturnTest$TestControlFlow$1;
0 2 1 codeActions Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$CodeAction;>;
0 2 2 code Ljava/lang/String;
0 2 3 context Lcom/oracle/truffle/api/instrumentation/EventContext;
Signature: (Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/UnwindReenterReturnTest$TestControlFlow$CodeAction;>;Ljava/lang/String;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
MethodParameters:
Name Flags
codeActions
code
context
}
SourceFile: "UnwindReenterReturnTest.java"
EnclosingMethod: com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow.submitExecutionListener:()V
NestHost: com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public TestControlFlow = com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow of com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest
com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$1
CodeAction = com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$CodeAction of com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow
final WHERE = com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow$WHERE of com.oracle.truffle.api.instrumentation.test.UnwindReenterReturnTest$TestControlFlow