abstract class com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode extends com.oracle.truffle.api.debug.DebuggerNode
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode
super_class: com.oracle.truffle.api.debug.DebuggerNode
{
private final com.oracle.truffle.api.debug.Breakpoint breakpoint;
descriptor: Lcom/oracle/truffle/api/debug/Breakpoint;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final com.oracle.truffle.api.profiles.BranchProfile breakBranch;
descriptor: Lcom/oracle/truffle/api/profiles/BranchProfile;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private com.oracle.truffle.api.interop.NodeLibrary contextNodeLibrary;
descriptor: Lcom/oracle/truffle/api/interop/NodeLibrary;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.api.debug.Breakpoint$ConditionalBreakNode breakCondition;
descriptor: Lcom/oracle/truffle/api/debug/Breakpoint$ConditionalBreakNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.api.Assumption conditionExistsUnchanged;
descriptor: Lcom/oracle/truffle/api/Assumption;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
protected boolean activeOnNoninternalCalls;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.api.debug.Breakpoint$SessionList sessionList;
descriptor: Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private com.oracle.truffle.api.Assumption sessionsUnchanged;
descriptor: Lcom/oracle/truffle/api/Assumption;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
void <init>(com.oracle.truffle.api.debug.Breakpoint, com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/instrumentation/EventContext;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial com.oracle.truffle.api.debug.DebuggerNode.<init>:(Lcom/oracle/truffle/api/instrumentation/EventContext;)V
1: aload 0
invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
putfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
2: aload 0
aload 1
putfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
3: aload 1
getfield com.oracle.truffle.api.debug.Breakpoint.rootInstanceRef:Ljava/lang/ref/Reference;
ifnull 5
4: aload 0
invokestatic com.oracle.truffle.api.interop.NodeLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
invokevirtual com.oracle.truffle.api.library.LibraryFactory.create:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.NodeLibrary
putfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.contextNodeLibrary:Lcom/oracle/truffle/api/interop/NodeLibrary;
5: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.EventContext
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.api.debug.Breakpoint.getConditionExistsUnchanged:()Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.conditionExistsUnchanged:Lcom/oracle/truffle/api/Assumption;
6: aload 1
getfield com.oracle.truffle.api.debug.Breakpoint.condition:Ljava/lang/String;
ifnull 8
7: aload 0
new com.oracle.truffle.api.debug.Breakpoint$ConditionalBreakNode
dup
aload 2
aload 1
invokespecial com.oracle.truffle.api.debug.Breakpoint$ConditionalBreakNode.<init>:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/debug/Breakpoint;)V
putfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakCondition:Lcom/oracle/truffle/api/debug/Breakpoint$ConditionalBreakNode;
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/debug/Breakpoint$AbstractBreakpointNode;
0 9 1 breakpoint Lcom/oracle/truffle/api/debug/Breakpoint;
0 9 2 context Lcom/oracle/truffle/api/instrumentation/EventContext;
MethodParameters:
Name Flags
breakpoint
context
private com.oracle.truffle.api.debug.Breakpoint$SessionList initializeSessions();
descriptor: ()Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
dup
astore 1
monitorenter
2: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.context:Lcom/oracle/truffle/api/instrumentation/EventContext;
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.api.nodes.RootNode.isInternal:()Z
istore 2
start local 2 3: iload 2
ifeq 6
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
getfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
ifnull 4
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
getfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
invokevirtual com.oracle.truffle.api.debug.BreakpointLocation.containsRoot:()Z
ifeq 6
StackMap locals: com.oracle.truffle.api.debug.Breakpoint int
StackMap stack:
4: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.context:Lcom/oracle/truffle/api/instrumentation/EventContext;
getstatic com.oracle.truffle.api.debug.SourceElement.ROOT:Lcom/oracle/truffle/api/debug/SourceElement;
invokevirtual com.oracle.truffle.api.debug.SourceElement.getTag:()Ljava/lang/Class;
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.hasTag:(Ljava/lang/Class;)Z
ifeq 6
5: aload 0
iconst_1
putfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.activeOnNoninternalCalls:Z
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.context:Lcom/oracle/truffle/api/instrumentation/EventContext;
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 3
start local 3 7: aload 3
ifnull 10
8: aload 3
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 9: goto 11
end local 4 10: StackMap locals: com.oracle.truffle.api.source.SourceSection
StackMap stack:
aconst_null
astore 4
start local 4 11: StackMap locals: com.oracle.truffle.api.source.Source
StackMap stack:
aconst_null
astore 5
start local 5 12: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
astore 6
start local 6 13: iload 2
ifeq 14
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.activeOnNoninternalCalls:Z
ifne 14
iconst_1
goto 15
StackMap locals: com.oracle.truffle.api.debug.Breakpoint$SessionList java.util.List
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 7
start local 7 16: aload 6
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 8
start local 8 17: goto 25
18: StackMap locals: int int
StackMap stack:
aload 6
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.DebuggerSession
astore 9
start local 9 19: iload 7
ifeq 21
aload 9
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.isIncludeInternal:()Z
ifne 21
20: goto 24
21: StackMap locals: com.oracle.truffle.api.debug.DebuggerSession
StackMap stack:
aload 4
ifnull 23
aload 9
aload 4
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.isSourceFilteredOut:(Lcom/oracle/truffle/api/source/Source;)Z
ifeq 23
22: goto 24
23: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.debug.Breakpoint$SessionList
dup
aload 9
aload 5
invokespecial com.oracle.truffle.api.debug.Breakpoint$SessionList.<init>:(Lcom/oracle/truffle/api/debug/DebuggerSession;Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;)V
astore 5
end local 9 24: StackMap locals:
StackMap stack:
iinc 8 -1
StackMap locals:
StackMap stack:
25: iload 8
ifge 18
end local 8 26: aload 0
aload 5
putfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.sessionList:Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
27: aload 0
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
invokevirtual com.oracle.truffle.api.debug.Breakpoint.getSessionsUnchanged:()Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.sessionsUnchanged:Lcom/oracle/truffle/api/Assumption;
28: aload 5
aload 1
monitorexit
29: areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 30: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode com.oracle.truffle.api.debug.Breakpoint
StackMap stack: java.lang.Throwable
aload 1
monitorexit
31: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/oracle/truffle/api/debug/Breakpoint$AbstractBreakpointNode;
3 30 2 inInternalCode Z
7 30 3 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
9 10 4 inSource Lcom/oracle/truffle/api/source/Source;
11 30 4 inSource Lcom/oracle/truffle/api/source/Source;
12 30 5 listEntry Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
13 30 6 allSesssions Ljava/util/List<Lcom/oracle/truffle/api/debug/DebuggerSession;>;
16 30 7 inactiveInInternal Z
17 26 8 i I
19 24 9 session Lcom/oracle/truffle/api/debug/DebuggerSession;
Exception table:
from to target type
2 29 30 any
30 31 30 any
boolean isStepNode();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint$AbstractBreakpointNode;
com.oracle.truffle.api.debug.Breakpoint getBreakpoint();
descriptor: ()Lcom/oracle/truffle/api/debug/Breakpoint;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint$AbstractBreakpointNode;
protected final java.lang.Object onNode(com.oracle.truffle.api.frame.VirtualFrame, boolean, java.lang.Object, java.lang.Throwable);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;ZLjava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=10, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.computeUniqueActiveSessions:()Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
astore 5
start local 5 1: aload 5
ifnonnull 3
2: aload 3
areturn
3: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$SessionList
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
getfield com.oracle.truffle.api.debug.Breakpoint.rootInstanceRef:Ljava/lang/ref/Reference;
ifnull 7
4: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
getfield com.oracle.truffle.api.debug.Breakpoint.rootInstanceRef:Ljava/lang/ref/Reference;
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
astore 6
start local 6 5: aload 6
ifnull 7
aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.testRootInstance:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
ifne 7
6: aload 3
areturn
end local 6 7: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 8: aload 0
aload 1
invokevirtual com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.testCondition:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
ifne 13
9: aload 3
10: areturn
11: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode com.oracle.truffle.api.frame.VirtualFrame int java.lang.Object java.lang.Throwable com.oracle.truffle.api.debug.Breakpoint$SessionList com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure
StackMap stack: com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure
astore 7
start local 7 12: aload 7
astore 6
end local 7 13: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
14: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.context:Lcom/oracle/truffle/api/instrumentation/EventContext;
aload 0
aload 5
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.activeOnNoninternalCalls:Z
aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.materialize:()Lcom/oracle/truffle/api/frame/MaterializedFrame;
iload 2
aload 3
aload 4
aload 6
invokevirtual com.oracle.truffle.api.debug.Breakpoint.doBreak:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/debug/DebuggerNode;Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;ZLcom/oracle/truffle/api/frame/MaterializedFrame;ZLjava/lang/Object;Ljava/lang/Throwable;Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;)Ljava/lang/Object;
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 15 0 this Lcom/oracle/truffle/api/debug/Breakpoint$AbstractBreakpointNode;
0 15 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 15 2 onEnter Z
0 15 3 result Ljava/lang/Object;
0 15 4 exception Ljava/lang/Throwable;
1 15 5 sessions Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
5 7 6 rootInstance Ljava/lang/Object;
8 15 6 conditionError Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;
12 13 7 e Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;
Exception table:
from to target type
8 10 11 Class com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure
MethodParameters:
Name Flags
frame
onEnter
result
exception
private boolean testRootInstance(java.lang.Object, com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.contextNodeLibrary:Lcom/oracle/truffle/api/interop/NodeLibrary;
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.context:Lcom/oracle/truffle/api/instrumentation/EventContext;
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
aload 2
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.hasRootInstance:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Z
ifeq 5
1: aload 1
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.contextNodeLibrary:Lcom/oracle/truffle/api/interop/NodeLibrary;
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.context:Lcom/oracle/truffle/api/instrumentation/EventContext;
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
aload 2
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.getRootInstance:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Object;
if_acmpeq 5
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
astore 3
start local 3 4: aload 3
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 5: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/debug/Breakpoint$AbstractBreakpointNode;
0 6 1 rootInstance Ljava/lang/Object;
0 6 2 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
4 5 3 e Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
Exception table:
from to target type
1 2 3 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
rootInstance
frame
protected final com.oracle.truffle.api.debug.Breakpoint$SessionList computeUniqueActiveSessions();
descriptor: ()Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.getSessions:()Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 1
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 16
5: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode com.oracle.truffle.api.debug.Breakpoint$SessionList int com.oracle.truffle.api.debug.Breakpoint$SessionList int
StackMap stack:
aload 3
getfield com.oracle.truffle.api.debug.Breakpoint$SessionList.session:Lcom/oracle/truffle/api/debug/DebuggerSession;
astore 5
start local 5 6: aload 0
aload 5
invokevirtual com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.consumeIsDuplicate:(Lcom/oracle/truffle/api/debug/DebuggerSession;)Z
ifeq 13
7: iload 4
ifne 10
8: aload 1
getfield com.oracle.truffle.api.debug.Breakpoint$SessionList.next:Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
ifnonnull 10
9: aconst_null
areturn
10: StackMap locals: com.oracle.truffle.api.debug.DebuggerSession
StackMap stack:
iconst_1
istore 4
11: aload 1
aload 5
invokestatic com.oracle.truffle.api.debug.Breakpoint.removeDuplicateSession:(Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;Lcom/oracle/truffle/api/debug/DebuggerSession;)Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
astore 1
12: goto 15
StackMap locals:
StackMap stack:
13: aload 5
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
invokevirtual com.oracle.truffle.api.debug.Breakpoint.getKind:()Lcom/oracle/truffle/api/debug/Breakpoint$Kind;
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.isBreakpointsActive:(Lcom/oracle/truffle/api/debug/Breakpoint$Kind;)Z
ifeq 15
14: iconst_1
istore 2
15: StackMap locals:
StackMap stack:
aload 3
getfield com.oracle.truffle.api.debug.Breakpoint$SessionList.next:Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
astore 3
end local 5 16: StackMap locals:
StackMap stack:
aload 3
ifnonnull 5
17: iload 2
ifne 19
18: aconst_null
areturn
19: StackMap locals:
StackMap stack:
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/api/debug/Breakpoint$AbstractBreakpointNode;
1 20 1 sessions Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
2 20 2 active Z
3 20 3 current Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
4 20 4 duplicate Z
6 16 5 session Lcom/oracle/truffle/api/debug/DebuggerSession;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
final com.oracle.truffle.api.debug.Breakpoint$SessionList getSessions();
descriptor: ()Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.sessionList:Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.sessionsUnchanged:Lcom/oracle/truffle/api/Assumption;
astore 2
start local 2 2: aload 2
ifnull 4
aload 2
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifeq 4
3: aload 1
ifnull 6
aload 1
invokevirtual com.oracle.truffle.api.debug.Breakpoint$SessionList.isValid:()Z
ifne 6
4: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$SessionList com.oracle.truffle.api.Assumption
StackMap stack:
invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
5: aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.initializeSessions:()Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
astore 1
6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/debug/Breakpoint$AbstractBreakpointNode;
1 7 1 sessions Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
2 7 2 localSessionsUnchanged Lcom/oracle/truffle/api/Assumption;
boolean testCondition(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
flags: (0x0000)
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakCondition:Lcom/oracle/truffle/api/debug/Breakpoint$ConditionalBreakNode;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.conditionExistsUnchanged:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifne 9
2: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
3: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
getfield com.oracle.truffle.api.debug.Breakpoint.condition:Ljava/lang/String;
ifnull 7
4: aload 0
aload 0
new com.oracle.truffle.api.debug.Breakpoint$ConditionalBreakNode
dup
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.context:Lcom/oracle/truffle/api/instrumentation/EventContext;
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
invokespecial com.oracle.truffle.api.debug.Breakpoint$ConditionalBreakNode.<init>:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/debug/Breakpoint;)V
invokevirtual com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.api.debug.Breakpoint$ConditionalBreakNode
dup
astore 2
putfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakCondition:Lcom/oracle/truffle/api/debug/Breakpoint$ConditionalBreakNode;
5: aload 0
aload 2
invokevirtual com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.notifyInserted:(Lcom/oracle/truffle/api/nodes/Node;)V
6: goto 8
7: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$ConditionalBreakNode
StackMap stack:
aload 0
aconst_null
dup
astore 2
putfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakCondition:Lcom/oracle/truffle/api/debug/Breakpoint$ConditionalBreakNode;
8: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
invokevirtual com.oracle.truffle.api.debug.Breakpoint.getConditionExistsUnchanged:()Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.conditionExistsUnchanged:Lcom/oracle/truffle/api/Assumption;
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.getSessions:()Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
astore 3
start local 3 10: aload 3
ifnonnull 12
11: iconst_0
ireturn
12: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$SessionList
StackMap stack:
aload 2
ifnull 18
13: aload 2
aload 1
aload 3
invokevirtual com.oracle.truffle.api.debug.Breakpoint$ConditionalBreakNode.executeBreakCondition:(Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;)Z
14: ireturn
15: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 16: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
17: new com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure
dup
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.breakpoint:Lcom/oracle/truffle/api/debug/Breakpoint;
aload 4
invokespecial com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure.<init>:(Lcom/oracle/truffle/api/debug/Breakpoint;Ljava/lang/Throwable;)V
athrow
end local 4 18: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/api/debug/Breakpoint$AbstractBreakpointNode;
0 19 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 19 2 conditionNode Lcom/oracle/truffle/api/debug/Breakpoint$ConditionalBreakNode;
10 19 3 localSessions Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
16 18 4 e Ljava/lang/Throwable;
Exception table:
from to target type
13 14 15 Class java.lang.Throwable
Exceptions:
throws com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure
MethodParameters:
Name Flags
frame
}
SourceFile: "Breakpoint.java"
NestHost: com.oracle.truffle.api.debug.Breakpoint
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
private abstract AbstractBreakpointNode = com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode of com.oracle.truffle.api.debug.Breakpoint
final BreakpointConditionFailure = com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure of com.oracle.truffle.api.debug.Breakpoint
private ConditionalBreakNode = com.oracle.truffle.api.debug.Breakpoint$ConditionalBreakNode of com.oracle.truffle.api.debug.Breakpoint
public final Kind = com.oracle.truffle.api.debug.Breakpoint$Kind of com.oracle.truffle.api.debug.Breakpoint
final SessionList = com.oracle.truffle.api.debug.Breakpoint$SessionList of com.oracle.truffle.api.debug.Breakpoint
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node