abstract class com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode extends com.oracle.truffle.api.nodes.Node
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode
super_class: com.oracle.truffle.api.nodes.Node
{
private static final int SEEN_EXCEPTION_ON_ENTER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int SEEN_EXCEPTION_ON_RETURN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int SEEN_EXCEPTION_ON_RETURN_EXCEPTIONAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int SEEN_EXCEPTION_ON_INPUT_VALUE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int SEEN_EXCEPTION_ON_UNWIND;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int SEEN_EXCEPTION_HAS_NEXT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int SEEN_EXCEPTION_INSTRUMENT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final int SEEN_EXCEPTION_OTHER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final int SEEN_UNWIND_ON_ENTER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 256
private static final int SEEN_UNWIND_ON_RETURN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 512
private static final int SEEN_UNWIND_ON_RETURN_EXCEPTIONAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private static final int SEEN_UNWIND_ON_INPUT_VALUE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2048
private static final int SEEN_UNWIND_HAS_NEXT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4096
private final com.oracle.truffle.api.instrumentation.EventBinding$Source<?> binding;
descriptor: Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/oracle/truffle/api/instrumentation/EventBinding$Source<*>;
private com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode next;
descriptor: Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode previous;
descriptor: Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private int seen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
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/instrumentation/ProbeNode;
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.instrumentation.ProbeNode$EventChainNode.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.truffle.api.instrumentation.EventBinding$Source<?>);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;)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.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 3 1 binding Lcom/oracle/truffle/api/instrumentation/EventBinding$Source<*>;
Signature: (Lcom/oracle/truffle/api/instrumentation/EventBinding$Source<*>;)V
MethodParameters:
Name Flags
binding
final com.oracle.truffle.api.instrumentation.ProbeNode findProbe();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/ProbeNode;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: goto 3
2: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
astore 1
3: StackMap locals:
StackMap stack:
aload 1
ifnull 4
aload 1
instanceof com.oracle.truffle.api.instrumentation.ProbeNode
ifeq 2
4: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.api.instrumentation.ProbeNode
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
1 5 1 parent Lcom/oracle/truffle/api/nodes/Node;
final void setNext(com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;)V
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode
putfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.next:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
1: aload 1
aload 0
putfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.previous:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 3 1 next Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
MethodParameters:
Name Flags
next
com.oracle.truffle.api.instrumentation.EventBinding$Source<?> getBinding();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
Signature: ()Lcom/oracle/truffle/api/instrumentation/EventBinding$Source<*>;
com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode getNext();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.next:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
public final com.oracle.truffle.api.nodes.NodeCost getCost();
descriptor: ()Lcom/oracle/truffle/api/nodes/NodeCost;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.api.nodes.NodeCost.NONE:Lcom/oracle/truffle/api/nodes/NodeCost;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
final void profileBranch(int);
descriptor: (I)V
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.seen:I
iload 1
iand
ifne 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
2: aload 0
dup
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.seen:I
iload 1
ior
putfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.seen:I
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 4 1 flag I
MethodParameters:
Name Flags
flag
static void onDispose(com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode, com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: goto 9
4: StackMap locals: com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode java.lang.RuntimeException
StackMap stack:
aload 3
aload 1
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.innerOnDispose:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;)V
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 5
start local 5 7: aload 3
aload 1
ldc "onDispose"
aload 4
aload 5
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.handleError:(Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/String;Ljava/lang/RuntimeException;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
astore 4
end local 5 8: StackMap locals:
StackMap stack:
aload 3
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.next:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
astore 3
9: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
10: aload 4
ifnull 12
11: aload 4
athrow
12: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 eventChain Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 13 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 13 2 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
2 13 3 chainNode Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
3 13 4 prevError Ljava/lang/RuntimeException;
7 8 5 t Ljava/lang/Throwable;
Exception table:
from to target type
4 5 6 Class java.lang.Throwable
MethodParameters:
Name Flags
eventChain
context
frame
private java.lang.RuntimeException handleError(com.oracle.truffle.api.instrumentation.EventContext, java.lang.String, java.lang.RuntimeException, java.lang.Throwable);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/String;Ljava/lang/RuntimeException;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding$Source.isLanguageBinding:()Z
ifeq 6
1: aload 3
ifnull 5
2: aload 0
bipush 32
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
3: aload 3
aload 4
invokestatic com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.addSuppressedException:(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
4: aload 3
areturn
5: StackMap locals:
StackMap stack:
aload 4
checkcast java.lang.RuntimeException
areturn
6: StackMap locals:
StackMap stack:
aload 4
instanceof com.oracle.truffle.api.instrumentation.InstrumentException
ifeq 15
7: aload 0
bipush 64
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
8: aload 4
checkcast com.oracle.truffle.api.instrumentation.InstrumentException
getfield com.oracle.truffle.api.instrumentation.InstrumentException.context:Lcom/oracle/truffle/api/instrumentation/EventContext;
aload 1
if_acmpne 15
9: aload 4
checkcast com.oracle.truffle.api.instrumentation.InstrumentException
getfield com.oracle.truffle.api.instrumentation.InstrumentException.delegate:Ljava/lang/RuntimeException;
astore 5
start local 5 10: aload 3
ifnull 14
11: aload 0
bipush 32
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
12: aload 3
aload 5
invokestatic com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.addSuppressedException:(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
13: aload 3
areturn
14: StackMap locals: java.lang.RuntimeException
StackMap stack:
aload 5
areturn
end local 5 15: StackMap locals:
StackMap stack:
aload 0
sipush 128
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
16: aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
aload 2
aload 4
invokestatic com.oracle.truffle.api.instrumentation.ProbeNode.exceptionEventForClientInstrument:(Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;Ljava/lang/String;Ljava/lang/Throwable;)V
17: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 18 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 18 2 eventName Ljava/lang/String;
0 18 3 previousError Ljava/lang/RuntimeException;
0 18 4 newError Ljava/lang/Throwable;
10 15 5 unwrapped Ljava/lang/RuntimeException;
MethodParameters:
Name Flags
context
eventName
previousError
newError
private static void addSuppressedException(java.lang.Throwable, java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;Ljava/lang/Throwable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 prev Ljava/lang/Throwable;
0 2 1 t Ljava/lang/Throwable;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
prev
t
protected abstract void innerOnDispose(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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
context
frame
static void onEnter(com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode, com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: goto 14
4: StackMap locals: com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode com.oracle.truffle.api.instrumentation.UnwindException java.lang.RuntimeException
StackMap stack:
aload 3
aload 1
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.innerOnEnter:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;)V
5: goto 13
StackMap locals:
StackMap stack: com.oracle.truffle.api.instrumentation.UnwindException
6: astore 6
start local 6 7: aload 3
sipush 256
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
8: aload 3
aload 4
aload 6
invokestatic com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.handleUnwind:(Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/UnwindException;Lcom/oracle/truffle/api/instrumentation/UnwindException;)Lcom/oracle/truffle/api/instrumentation/UnwindException;
astore 4
end local 6 9: goto 13
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 11: aload 3
iconst_1
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
12: aload 3
aload 1
ldc "onEnter"
aload 5
aload 6
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.handleError:(Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/String;Ljava/lang/RuntimeException;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
astore 5
end local 6 13: StackMap locals:
StackMap stack:
aload 3
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.next:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
astore 3
14: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
15: aload 5
ifnull 17
16: aload 5
athrow
17: StackMap locals:
StackMap stack:
aload 4
ifnull 19
18: aload 4
athrow
19: StackMap locals:
StackMap stack:
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 20 0 eventChain Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 20 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 20 2 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 20 3 current Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
2 20 4 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
3 20 5 prevError Ljava/lang/RuntimeException;
7 9 6 ex Lcom/oracle/truffle/api/instrumentation/UnwindException;
11 13 6 t Ljava/lang/Throwable;
Exception table:
from to target type
4 5 6 Class com.oracle.truffle.api.instrumentation.UnwindException
4 5 10 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
eventChain
context
frame
protected abstract void innerOnEnter(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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
context
frame
static void onInputValue(com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode, com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.frame.VirtualFrame, com.oracle.truffle.api.instrumentation.EventBinding<?>, com.oracle.truffle.api.instrumentation.EventContext, int, );
descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/instrumentation/EventBinding;Lcom/oracle/truffle/api/instrumentation/EventContext;ILjava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=11, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.getLast:()Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
astore 7
start local 7 1: aconst_null
astore 8
start local 8 2: aconst_null
astore 9
start local 9 3: goto 15
4: StackMap locals: com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode com.oracle.truffle.api.instrumentation.UnwindException java.lang.RuntimeException
StackMap stack:
aload 7
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
aload 3
if_acmpne 14
5: aload 7
aload 1
aload 2
aload 7
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
aload 4
iload 5
aload 6
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.innerOnInputValue:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/instrumentation/EventBinding;Lcom/oracle/truffle/api/instrumentation/EventContext;ILjava/lang/Object;)V
6: goto 14
StackMap locals:
StackMap stack: com.oracle.truffle.api.instrumentation.UnwindException
7: astore 10
start local 10 8: aload 7
sipush 2048
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
9: aload 7
aload 8
aload 10
invokestatic com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.handleUnwind:(Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/UnwindException;Lcom/oracle/truffle/api/instrumentation/UnwindException;)Lcom/oracle/truffle/api/instrumentation/UnwindException;
astore 8
end local 10 10: goto 14
11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
start local 10 12: aload 7
bipush 8
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
13: aload 7
aload 1
ldc "onInputValue"
aload 9
aload 10
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.handleError:(Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/String;Ljava/lang/RuntimeException;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
astore 9
end local 10 14: StackMap locals:
StackMap stack:
aload 7
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.previous:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
astore 7
15: StackMap locals:
StackMap stack:
aload 7
ifnonnull 4
16: aload 9
ifnull 18
17: aload 9
athrow
18: StackMap locals:
StackMap stack:
aload 8
ifnull 20
19: aload 8
athrow
20: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 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 21 0 eventChain Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 21 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 21 2 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 21 3 inputBinding Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
0 21 4 inputContext Lcom/oracle/truffle/api/instrumentation/EventContext;
0 21 5 inputIndex I
0 21 6 inputValue Ljava/lang/Object;
1 21 7 current Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
2 21 8 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
3 21 9 prevError Ljava/lang/RuntimeException;
8 10 10 ex Lcom/oracle/truffle/api/instrumentation/UnwindException;
12 14 10 t Ljava/lang/Throwable;
Exception table:
from to target type
4 6 7 Class com.oracle.truffle.api.instrumentation.UnwindException
4 6 11 Class java.lang.Throwable
Signature: (Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;Lcom/oracle/truffle/api/instrumentation/EventContext;ILjava/lang/Object;)V
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
eventChain
context
frame
inputBinding
inputContext
inputIndex
inputValue
private static com.oracle.truffle.api.instrumentation.UnwindException handleUnwind(com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode, com.oracle.truffle.api.instrumentation.UnwindException, com.oracle.truffle.api.instrumentation.UnwindException);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/UnwindException;Lcom/oracle/truffle/api/instrumentation/UnwindException;)Lcom/oracle/truffle/api/instrumentation/UnwindException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
invokevirtual com.oracle.truffle.api.instrumentation.UnwindException.thrownFromBinding:(Lcom/oracle/truffle/api/instrumentation/EventBinding;)V
1: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.mergeUnwind:(Lcom/oracle/truffle/api/instrumentation/UnwindException;Lcom/oracle/truffle/api/instrumentation/UnwindException;)Lcom/oracle/truffle/api/instrumentation/UnwindException;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 current Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 2 1 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
0 2 2 ex Lcom/oracle/truffle/api/instrumentation/UnwindException;
MethodParameters:
Name Flags
current
unwind
ex
private com.oracle.truffle.api.instrumentation.UnwindException mergeUnwind(com.oracle.truffle.api.instrumentation.UnwindException, com.oracle.truffle.api.instrumentation.UnwindException);
descriptor: (Lcom/oracle/truffle/api/instrumentation/UnwindException;Lcom/oracle/truffle/api/instrumentation/UnwindException;)Lcom/oracle/truffle/api/instrumentation/UnwindException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 4
aload 1
aload 2
if_acmpeq 4
1: aload 0
sipush 4096
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
2: aload 1
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.UnwindException.addNext:(Lcom/oracle/truffle/api/instrumentation/UnwindException;)V
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 5 1 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
0 5 2 other Lcom/oracle/truffle/api/instrumentation/UnwindException;
MethodParameters:
Name Flags
unwind
other
protected abstract void innerOnInputValue(com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.frame.VirtualFrame, com.oracle.truffle.api.instrumentation.EventBinding<?>, com.oracle.truffle.api.instrumentation.EventContext, int, );
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/instrumentation/EventBinding;Lcom/oracle/truffle/api/instrumentation/EventContext;ILjava/lang/Object;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;Lcom/oracle/truffle/api/instrumentation/EventContext;ILjava/lang/Object;)V
MethodParameters:
Name Flags
context
frame
targetBinding
inputContext
inputIndex
inputValue
private com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode getLast();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: goto 3
2: StackMap locals: com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode
StackMap stack:
aload 1
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.next:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
astore 1
3: StackMap locals:
StackMap stack:
aload 1
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.next:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
ifnonnull 2
4: aload 1
invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
1 6 1 current Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
static void onReturnValue(com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode, com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.getLast:()Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: goto 14
4: StackMap locals: com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode com.oracle.truffle.api.instrumentation.UnwindException java.lang.RuntimeException
StackMap stack:
aload 4
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.innerOnReturnValue:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)V
5: goto 13
StackMap locals:
StackMap stack: com.oracle.truffle.api.instrumentation.UnwindException
6: astore 7
start local 7 7: aload 4
sipush 512
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
8: aload 4
aload 5
aload 7
invokestatic com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.handleUnwind:(Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/UnwindException;Lcom/oracle/truffle/api/instrumentation/UnwindException;)Lcom/oracle/truffle/api/instrumentation/UnwindException;
astore 5
end local 7 9: goto 13
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
start local 7 11: aload 4
iconst_2
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
12: aload 4
aload 1
ldc "onInputValue"
aload 6
aload 7
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.handleError:(Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/String;Ljava/lang/RuntimeException;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
astore 6
end local 7 13: StackMap locals:
StackMap stack:
aload 4
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.previous:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
astore 4
14: StackMap locals:
StackMap stack:
aload 4
ifnonnull 4
15: aload 6
ifnull 17
16: aload 6
athrow
17: StackMap locals:
StackMap stack:
aload 5
ifnull 19
18: aload 5
athrow
19: StackMap locals:
StackMap stack:
return
end local 6 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 20 0 chain Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 20 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 20 2 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 20 3 result Ljava/lang/Object;
1 20 4 current Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
2 20 5 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
3 20 6 prevError Ljava/lang/RuntimeException;
7 9 7 ex Lcom/oracle/truffle/api/instrumentation/UnwindException;
11 13 7 t Ljava/lang/Throwable;
Exception table:
from to target type
4 5 6 Class com.oracle.truffle.api.instrumentation.UnwindException
4 5 10 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
chain
context
frame
result
protected abstract void innerOnReturnValue(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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
context
frame
result
static void onReturnExceptional(com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode, com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.frame.VirtualFrame, java.lang.Throwable);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Throwable;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.getLast:()Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: goto 14
4: StackMap locals: com.oracle.truffle.api.instrumentation.UnwindException com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode java.lang.RuntimeException
StackMap stack:
aload 5
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.innerOnReturnExceptional:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Throwable;)V
5: goto 13
StackMap locals:
StackMap stack: com.oracle.truffle.api.instrumentation.UnwindException
6: astore 7
start local 7 7: aload 5
sipush 1024
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
8: aload 5
aload 4
aload 7
invokestatic com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.handleUnwind:(Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/UnwindException;Lcom/oracle/truffle/api/instrumentation/UnwindException;)Lcom/oracle/truffle/api/instrumentation/UnwindException;
astore 4
end local 7 9: goto 13
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
start local 7 11: aload 5
iconst_4
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
12: aload 5
aload 1
ldc "onInputValue"
aload 6
aload 7
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.handleError:(Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/String;Ljava/lang/RuntimeException;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
astore 6
end local 7 13: StackMap locals:
StackMap stack:
aload 5
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.previous:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
astore 5
14: StackMap locals:
StackMap stack:
aload 5
ifnonnull 4
15: aload 6
ifnull 17
16: aload 6
athrow
17: StackMap locals:
StackMap stack:
aload 4
ifnull 19
18: aload 4
athrow
19: StackMap locals:
StackMap stack:
return
end local 6 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 20 0 chainNode Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 20 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 20 2 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 20 3 exception Ljava/lang/Throwable;
1 20 4 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
2 20 5 current Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
3 20 6 prevError Ljava/lang/RuntimeException;
7 9 7 ex Lcom/oracle/truffle/api/instrumentation/UnwindException;
11 13 7 t Ljava/lang/Throwable;
Exception table:
from to target type
4 5 6 Class com.oracle.truffle.api.instrumentation.UnwindException
4 5 10 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
chainNode
context
frame
exception
protected abstract void innerOnReturnExceptional(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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
context
frame
exception
private boolean containsBinding(com.oracle.truffle.api.instrumentation.UnwindException);
descriptor: (Lcom/oracle/truffle/api/instrumentation/UnwindException;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.UnwindException.getBinding:()Lcom/oracle/truffle/api/instrumentation/EventBinding;
aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.UnwindException.getNext:()Lcom/oracle/truffle/api/instrumentation/UnwindException;
astore 2
start local 2 3: aload 2
ifnull 6
4: aload 0
sipush 4096
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.containsBindingBoundary:(Lcom/oracle/truffle/api/instrumentation/UnwindException;)Z
ireturn
6: StackMap locals: com.oracle.truffle.api.instrumentation.UnwindException
StackMap stack:
iconst_0
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/ProbeNode$EventChainNode;
0 7 1 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
3 7 2 nextUnwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
MethodParameters:
Name Flags
unwind
private boolean containsBindingBoundary(com.oracle.truffle.api.instrumentation.UnwindException);
descriptor: (Lcom/oracle/truffle/api/instrumentation/UnwindException;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.containsBinding:(Lcom/oracle/truffle/api/instrumentation/UnwindException;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 1 1 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
unwind
private java.lang.Object getInfo(com.oracle.truffle.api.instrumentation.UnwindException);
descriptor: (Lcom/oracle/truffle/api/instrumentation/UnwindException;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.UnwindException.getBinding:()Lcom/oracle/truffle/api/instrumentation/EventBinding;
aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
if_acmpne 2
1: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.UnwindException.getInfo:()Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.UnwindException.getNext:()Lcom/oracle/truffle/api/instrumentation/UnwindException;
astore 2
start local 2 3: aload 2
ifnull 6
4: aload 0
sipush 4096
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.getInfoBoundary:(Lcom/oracle/truffle/api/instrumentation/UnwindException;)Ljava/lang/Object;
areturn
6: StackMap locals: com.oracle.truffle.api.instrumentation.UnwindException
StackMap stack:
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 7 1 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
3 7 2 nextUnwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
MethodParameters:
Name Flags
unwind
private java.lang.Object getInfoBoundary(com.oracle.truffle.api.instrumentation.UnwindException);
descriptor: (Lcom/oracle/truffle/api/instrumentation/UnwindException;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.getInfo:(Lcom/oracle/truffle/api/instrumentation/UnwindException;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 1 1 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
unwind
private void reset(com.oracle.truffle.api.instrumentation.UnwindException);
descriptor: (Lcom/oracle/truffle/api/instrumentation/UnwindException;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.UnwindException.getBinding:()Lcom/oracle/truffle/api/instrumentation/EventBinding;
aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
if_acmpne 3
1: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.UnwindException.resetThread:()V
2: goto 7
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.UnwindException.getNext:()Lcom/oracle/truffle/api/instrumentation/UnwindException;
astore 2
start local 2 4: aload 2
ifnull 7
5: aload 0
sipush 4096
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
6: aload 1
aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
invokevirtual com.oracle.truffle.api.instrumentation.UnwindException.resetBoundary:(Lcom/oracle/truffle/api/instrumentation/EventBinding;)V
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 8 1 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
4 7 2 nextUnwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
MethodParameters:
Name Flags
unwind
static java.lang.Object onUnwind(com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode, com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.frame.VirtualFrame, com.oracle.truffle.api.instrumentation.UnwindException);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/instrumentation/UnwindException;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: goto 21
4: StackMap locals: com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode java.lang.RuntimeException java.lang.Object
StackMap stack:
aconst_null
astore 7
start local 7 5: aload 4
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.containsBinding:(Lcom/oracle/truffle/api/instrumentation/UnwindException;)Z
ifeq 15
6: aload 4
aload 1
aload 2
aload 4
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.getInfo:(Lcom/oracle/truffle/api/instrumentation/UnwindException;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.innerOnUnwind:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/frame/VirtualFrame;Ljava/lang/Object;)Ljava/lang/Object;
astore 7
7: goto 11
StackMap locals: com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode com.oracle.truffle.api.instrumentation.EventContext com.oracle.truffle.api.frame.VirtualFrame com.oracle.truffle.api.instrumentation.UnwindException com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode java.lang.RuntimeException java.lang.Object java.lang.Object
StackMap stack: java.lang.Throwable
8: astore 8
start local 8 9: aload 4
bipush 16
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.profileBranch:(I)V
10: aload 4
aload 1
ldc "onUnwind"
aload 5
aload 8
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.handleError:(Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/String;Ljava/lang/RuntimeException;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
astore 5
end local 8 11: StackMap locals:
StackMap stack:
aload 7
ifnull 16
12: getstatic com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.$assertionsDisabled:Z
ifne 13
aload 7
aload 4
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
invokestatic com.oracle.truffle.api.instrumentation.ProbeNode.checkInteropType:(Ljava/lang/Object;Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 4
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.reset:(Lcom/oracle/truffle/api/instrumentation/UnwindException;)V
14: goto 16
15: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.instrumentation.ProbeNode.UNWIND_ACTION_IGNORED:Ljava/lang/Object;
astore 7
16: StackMap locals:
StackMap stack:
aload 4
aload 0
if_acmpne 19
17: aload 7
astore 6
18: goto 20
19: StackMap locals:
StackMap stack:
aload 6
aload 7
invokestatic com.oracle.truffle.api.instrumentation.ProbeNode.mergePostUnwindReturns:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 6
20: StackMap locals:
StackMap stack:
aload 4
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.next:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
astore 4
end local 7 21: StackMap locals:
StackMap stack:
aload 4
ifnonnull 4
22: aload 5
ifnull 24
23: aload 5
athrow
24: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 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 25 0 eventChain Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 25 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 25 2 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 25 3 unwind Lcom/oracle/truffle/api/instrumentation/UnwindException;
1 25 4 current Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
2 25 5 prevError Ljava/lang/RuntimeException;
3 25 6 ret Ljava/lang/Object;
5 21 7 nextRet Ljava/lang/Object;
9 11 8 t Ljava/lang/Throwable;
Exception table:
from to target type
6 7 8 Class java.lang.Throwable
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
eventChain
context
frame
unwind
protected abstract java.lang.Object innerOnUnwind(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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
context
frame
info
com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode find(com.oracle.truffle.api.instrumentation.EventBinding<?>);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventBinding;)Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding$Source;
aload 1
if_acmpne 3
1: getstatic com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.next:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
ifnull 2
aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.next:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.find:(Lcom/oracle/truffle/api/instrumentation/EventBinding;)Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
ifnull 2
new java.lang.AssertionError
dup
ldc "only one chain entry per binding allowed"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.next:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
ifnull 4
aload 0
getfield com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.next:Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode.find:(Lcom/oracle/truffle/api/instrumentation/EventBinding;)Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
goto 5
StackMap locals:
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode
5: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
0 6 1 b Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
Signature: (Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;)Lcom/oracle/truffle/api/instrumentation/ProbeNode$EventChainNode;
MethodParameters:
Name Flags
b
}
SourceFile: "ProbeNode.java"
NestHost: com.oracle.truffle.api.instrumentation.ProbeNode
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
final Source = com.oracle.truffle.api.instrumentation.EventBinding$Source of com.oracle.truffle.api.instrumentation.EventBinding
abstract EventChainNode = com.oracle.truffle.api.instrumentation.ProbeNode$EventChainNode of com.oracle.truffle.api.instrumentation.ProbeNode
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node