public class com.oracle.truffle.api.debug.Breakpoint
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.debug.Breakpoint
super_class: java.lang.Object
{
private static final com.oracle.truffle.api.debug.Breakpoint BUILDER_INSTANCE;
descriptor: Lcom/oracle/truffle/api/debug/Breakpoint;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.function.BinaryOperator<com.oracle.truffle.api.source.Source> RESOLVED_LOCATION_ACCUMULATOR;
descriptor: Ljava/util/function/BinaryOperator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/BinaryOperator<Lcom/oracle/truffle/api/source/Source;>;
private static final com.oracle.truffle.api.source.Source NO_SOURCE;
descriptor: Lcom/oracle/truffle/api/source/Source;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final com.oracle.truffle.api.debug.SuspendAnchor suspendAnchor;
descriptor: Lcom/oracle/truffle/api/debug/SuspendAnchor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.debug.BreakpointLocation locationKey;
descriptor: Lcom/oracle/truffle/api/debug/BreakpointLocation;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean oneShot;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.debug.BreakpointExceptionFilter exceptionFilter;
descriptor: Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ref.Reference<java.lang.Object> rootInstanceRef;
descriptor: Ljava/lang/ref/Reference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ref/Reference<Ljava/lang/Object;>;
private final com.oracle.truffle.api.debug.Breakpoint$ResolveListener resolveListener;
descriptor: Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile com.oracle.truffle.api.debug.Debugger debugger;
descriptor: Lcom/oracle/truffle/api/debug/Debugger;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.List<com.oracle.truffle.api.debug.DebuggerSession> sessions;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/api/debug/DebuggerSession;>;
private volatile com.oracle.truffle.api.Assumption sessionsUnchanged;
descriptor: Lcom/oracle/truffle/api/Assumption;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean enabled;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean resolved;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int ignoreCount;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean disposed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.lang.String condition;
descriptor: Ljava/lang/String;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean global;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile com.oracle.truffle.api.debug.Breakpoint$GlobalBreakpoint roWrapper;
descriptor: Lcom/oracle/truffle/api/debug/Breakpoint$GlobalBreakpoint;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.concurrent.atomic.AtomicLong hitCount;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile com.oracle.truffle.api.Assumption conditionUnchanged;
descriptor: Lcom/oracle/truffle/api/Assumption;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile com.oracle.truffle.api.Assumption conditionExistsUnchanged;
descriptor: Lcom/oracle/truffle/api/Assumption;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile com.oracle.truffle.api.instrumentation.EventBinding<? extends com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory> breakpointBinding;
descriptor: Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Lcom/oracle/truffle/api/instrumentation/EventBinding<+Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;>;
private final java.util.concurrent.atomic.AtomicBoolean breakpointBindingAttaching;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean breakpointBindingReady;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.util.function.Predicate<com.oracle.truffle.api.source.Source> sourcePredicate;
descriptor: Ljava/util/function/Predicate;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/function/Predicate<Lcom/oracle/truffle/api/source/Source;>;
private final java.util.concurrent.atomic.AtomicReference<com.oracle.truffle.api.instrumentation.EventBinding<?>> sourceBinding;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;>;
private java.util.concurrent.atomic.AtomicReference<com.oracle.truffle.api.source.Source> resolvedSourceInAttach;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lcom/oracle/truffle/api/source/Source;>;
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=3, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/api/debug/Breakpoint;
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.debug.Breakpoint.$assertionsDisabled:Z
3: new com.oracle.truffle.api.debug.Breakpoint
dup
invokespecial com.oracle.truffle.api.debug.Breakpoint.<init>:()V
putstatic com.oracle.truffle.api.debug.Breakpoint.BUILDER_INSTANCE:Lcom/oracle/truffle/api/debug/Breakpoint;
4: new com.oracle.truffle.api.debug.Breakpoint$ResolvedLocationOperator
dup
invokespecial com.oracle.truffle.api.debug.Breakpoint$ResolvedLocationOperator.<init>:()V
putstatic com.oracle.truffle.api.debug.Breakpoint.RESOLVED_LOCATION_ACCUMULATOR:Ljava/util/function/BinaryOperator;
5: ldc "N/A"
ldc ""
ldc ""
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
putstatic com.oracle.truffle.api.debug.Breakpoint.NO_SOURCE:Lcom/oracle/truffle/api/source/Source;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.truffle.api.debug.BreakpointLocation, com.oracle.truffle.api.debug.SuspendAnchor);
descriptor: (Lcom/oracle/truffle/api/debug/BreakpointLocation;Lcom/oracle/truffle/api/debug/SuspendAnchor;)V
flags: (0x0000)
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
aconst_null
aconst_null
aconst_null
invokespecial com.oracle.truffle.api.debug.Breakpoint.<init>:(Lcom/oracle/truffle/api/debug/BreakpointLocation;Lcom/oracle/truffle/api/debug/SuspendAnchor;ZLcom/oracle/truffle/api/debug/BreakpointExceptionFilter;Ljava/lang/Object;Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;)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/debug/Breakpoint;
0 2 1 key Lcom/oracle/truffle/api/debug/BreakpointLocation;
0 2 2 suspendAnchor Lcom/oracle/truffle/api/debug/SuspendAnchor;
MethodParameters:
Name Flags
key
suspendAnchor
private void <init>(com.oracle.truffle.api.debug.BreakpointLocation, com.oracle.truffle.api.debug.SuspendAnchor, boolean, com.oracle.truffle.api.debug.BreakpointExceptionFilter, java.lang.Object, com.oracle.truffle.api.debug.Breakpoint$ResolveListener);
descriptor: (Lcom/oracle/truffle/api/debug/BreakpointLocation;Lcom/oracle/truffle/api/debug/SuspendAnchor;ZLcom/oracle/truffle/api/debug/BreakpointExceptionFilter;Ljava/lang/Object;Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, 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
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
2: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield com.oracle.truffle.api.debug.Breakpoint.hitCount:Ljava/util/concurrent/atomic/AtomicLong;
3: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield com.oracle.truffle.api.debug.Breakpoint.breakpointBindingAttaching:Ljava/util/concurrent/atomic/AtomicBoolean;
4: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.oracle.truffle.api.debug.Breakpoint.sourceBinding:Ljava/util/concurrent/atomic/AtomicReference;
5: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.oracle.truffle.api.debug.Breakpoint.resolvedSourceInAttach:Ljava/util/concurrent/atomic/AtomicReference;
6: aload 0
aload 1
putfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
7: aload 0
aload 2
putfield com.oracle.truffle.api.debug.Breakpoint.suspendAnchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
8: aload 0
iload 3
putfield com.oracle.truffle.api.debug.Breakpoint.oneShot:Z
9: aload 0
aload 4
putfield com.oracle.truffle.api.debug.Breakpoint.exceptionFilter:Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
10: aload 0
aload 5
ifnull 11
new java.lang.ref.WeakReference
dup
aload 5
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
goto 12
StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.debug.BreakpointLocation com.oracle.truffle.api.debug.SuspendAnchor int com.oracle.truffle.api.debug.BreakpointExceptionFilter java.lang.Object com.oracle.truffle.api.debug.Breakpoint$ResolveListener
StackMap stack: com.oracle.truffle.api.debug.Breakpoint
11: aconst_null
StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.debug.BreakpointLocation com.oracle.truffle.api.debug.SuspendAnchor int com.oracle.truffle.api.debug.BreakpointExceptionFilter java.lang.Object com.oracle.truffle.api.debug.Breakpoint$ResolveListener
StackMap stack: com.oracle.truffle.api.debug.Breakpoint java.lang.ref.WeakReference
12: putfield com.oracle.truffle.api.debug.Breakpoint.rootInstanceRef:Ljava/lang/ref/Reference;
13: aload 0
aload 6
putfield com.oracle.truffle.api.debug.Breakpoint.resolveListener:Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;
14: aload 0
iconst_1
putfield com.oracle.truffle.api.debug.Breakpoint.enabled:Z
15: 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 16 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 16 1 key Lcom/oracle/truffle/api/debug/BreakpointLocation;
0 16 2 suspendAnchor Lcom/oracle/truffle/api/debug/SuspendAnchor;
0 16 3 oneShot Z
0 16 4 exceptionFilter Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
0 16 5 rootInstance Ljava/lang/Object;
0 16 6 resolveListener Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;
MethodParameters:
Name Flags
key
suspendAnchor
oneShot
exceptionFilter
rootInstance
resolveListener
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
2: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield com.oracle.truffle.api.debug.Breakpoint.hitCount:Ljava/util/concurrent/atomic/AtomicLong;
3: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield com.oracle.truffle.api.debug.Breakpoint.breakpointBindingAttaching:Ljava/util/concurrent/atomic/AtomicBoolean;
4: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.oracle.truffle.api.debug.Breakpoint.sourceBinding:Ljava/util/concurrent/atomic/AtomicReference;
5: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.oracle.truffle.api.debug.Breakpoint.resolvedSourceInAttach:Ljava/util/concurrent/atomic/AtomicReference;
6: aload 0
aconst_null
putfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
7: aload 0
getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
putfield com.oracle.truffle.api.debug.Breakpoint.suspendAnchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
8: aload 0
iconst_0
putfield com.oracle.truffle.api.debug.Breakpoint.oneShot:Z
9: aload 0
aconst_null
putfield com.oracle.truffle.api.debug.Breakpoint.exceptionFilter:Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
10: aload 0
aconst_null
putfield com.oracle.truffle.api.debug.Breakpoint.rootInstanceRef:Ljava/lang/ref/Reference;
11: aload 0
aconst_null
putfield com.oracle.truffle.api.debug.Breakpoint.resolveListener:Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public com.oracle.truffle.api.debug.Breakpoint$Kind getKind();
descriptor: ()Lcom/oracle/truffle/api/debug/Breakpoint$Kind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
ifnonnull 2
1: getstatic com.oracle.truffle.api.debug.Breakpoint$Kind.HALT_INSTRUCTION:Lcom/oracle/truffle/api/debug/Breakpoint$Kind;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.exceptionFilter:Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
ifnonnull 4
3: getstatic com.oracle.truffle.api.debug.Breakpoint$Kind.SOURCE_LOCATION:Lcom/oracle/truffle/api/debug/Breakpoint$Kind;
areturn
4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.debug.Breakpoint$Kind.EXCEPTION:Lcom/oracle/truffle/api/debug/Breakpoint$Kind;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public boolean isDisposed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.disposed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public boolean isEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.enabled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public synchronized void setEnabled(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.disposed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.enabled:Z
iload 1
if_icmpeq 9
3: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 8
4: iload 1
ifeq 7
5: aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.install:()V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.uninstall:()V
8: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.oracle.truffle.api.debug.Breakpoint.enabled:Z
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 10 1 enabled Z
MethodParameters:
Name Flags
enabled
public boolean isResolved();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.resolved:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public synchronized void setCondition(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.condition:Ljava/lang/String;
ifnonnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: aload 1
ifnonnull 3
iconst_1
goto 4
StackMap locals:
StackMap stack: int
3: iconst_0
StackMap locals: com.oracle.truffle.api.debug.Breakpoint java.lang.String
StackMap stack: int int
4: ixor
istore 2
start local 2 5: aload 0
aload 1
putfield com.oracle.truffle.api.debug.Breakpoint.condition:Ljava/lang/String;
6: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.conditionUnchanged:Lcom/oracle/truffle/api/Assumption;
astore 3
start local 3 7: aload 3
ifnull 10
8: aload 0
aconst_null
putfield com.oracle.truffle.api.debug.Breakpoint.conditionUnchanged:Lcom/oracle/truffle/api/Assumption;
9: aload 3
invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
10: StackMap locals: int com.oracle.truffle.api.Assumption
StackMap stack:
iload 2
ifeq 15
11: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.conditionExistsUnchanged:Lcom/oracle/truffle/api/Assumption;
astore 3
12: aload 3
ifnull 15
13: aload 0
aconst_null
putfield com.oracle.truffle.api.debug.Breakpoint.conditionExistsUnchanged:Lcom/oracle/truffle/api/Assumption;
14: aload 3
invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 16 1 expression Ljava/lang/String;
5 16 2 existsChanged Z
7 16 3 assumption Lcom/oracle/truffle/api/Assumption;
MethodParameters:
Name Flags
expression
public java.lang.String getCondition();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.condition:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.debug.SuppressFBWarnings(value = {"UG"})
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.oracle.truffle.api.debug.SuppressFBWarnings(value = {"UG"})
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aload 0
dup
astore 3
monitorenter
3: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.disposed:Z
ifne 12
4: aload 0
iconst_0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.setEnabled:(Z)V
5: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sourceBinding:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.EventBinding
astore 4
start local 4 6: aload 4
ifnull 8
7: aload 4
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
8: StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.debug.DebuggerSession[] com.oracle.truffle.api.debug.Debugger com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray com.oracle.truffle.api.debug.DebuggerSession
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.DebuggerSession[]
astore 1
9: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.debugger:Lcom/oracle/truffle/api/debug/Debugger;
astore 2
10: aload 0
aconst_null
putfield com.oracle.truffle.api.debug.Breakpoint.debugger:Lcom/oracle/truffle/api/debug/Debugger;
11: aload 0
iconst_1
putfield com.oracle.truffle.api.debug.Breakpoint.disposed:Z
end local 4 12: StackMap locals:
StackMap stack:
aload 3
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 3
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
aload 1
ifnull 22
17: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 21
StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.debug.DebuggerSession[] com.oracle.truffle.api.debug.Debugger top int int com.oracle.truffle.api.debug.DebuggerSession[]
StackMap stack:
18: aload 6
iload 4
aaload
astore 3
start local 3 19: aload 3
aload 0
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.disposeBreakpoint:(Lcom/oracle/truffle/api/debug/Breakpoint;)V
end local 3 20: iinc 4 1
StackMap locals:
StackMap stack:
21: iload 4
iload 5
if_icmplt 18
22: StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.debug.DebuggerSession[] com.oracle.truffle.api.debug.Debugger
StackMap stack:
aload 2
ifnull 24
23: aload 2
aload 0
invokevirtual com.oracle.truffle.api.debug.Debugger.disposeBreakpoint:(Lcom/oracle/truffle/api/debug/Breakpoint;)V
24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
1 25 1 breakpointSessions [Lcom/oracle/truffle/api/debug/DebuggerSession;
2 25 2 breakpointDebugger Lcom/oracle/truffle/api/debug/Debugger;
6 12 4 binding Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
19 20 3 session Lcom/oracle/truffle/api/debug/DebuggerSession;
Exception table:
from to target type
3 13 14 any
14 15 14 any
public boolean isOneShot();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.oneShot:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public int getIgnoreCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.ignoreCount:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public void setIgnoreCount(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.oracle.truffle.api.debug.Breakpoint.ignoreCount:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 2 1 ignoreCount I
MethodParameters:
Name Flags
ignoreCount
public int getHitCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.hitCount:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public java.lang.String getLocationDescription();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public com.oracle.truffle.api.debug.SuspendAnchor getSuspendAnchor();
descriptor: ()Lcom/oracle/truffle/api/debug/SuspendAnchor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.suspendAnchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public boolean isModifiable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "@"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
private synchronized com.oracle.truffle.api.Assumption getConditionUnchanged();
descriptor: ()Lcom/oracle/truffle/api/Assumption;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.conditionUnchanged:Lcom/oracle/truffle/api/Assumption;
ifnonnull 2
1: aload 0
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
ldc "Breakpoint condition unchanged."
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.truffle.api.debug.Breakpoint.conditionUnchanged:Lcom/oracle/truffle/api/Assumption;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.conditionUnchanged:Lcom/oracle/truffle/api/Assumption;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
private synchronized com.oracle.truffle.api.Assumption getConditionExistsUnchanged();
descriptor: ()Lcom/oracle/truffle/api/Assumption;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.conditionExistsUnchanged:Lcom/oracle/truffle/api/Assumption;
ifnonnull 2
1: aload 0
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
ldc "Breakpoint condition existence unchanged."
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.truffle.api.debug.Breakpoint.conditionExistsUnchanged:Lcom/oracle/truffle/api/Assumption;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.conditionExistsUnchanged:Lcom/oracle/truffle/api/Assumption;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
synchronized void installGlobal(com.oracle.truffle.api.debug.Debugger);
descriptor: (Lcom/oracle/truffle/api/debug/Debugger;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.disposed:Z
ifeq 2
1: new java.lang.IllegalArgumentException
dup
ldc "Cannot install breakpoint, it is disposed already."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.debugger:Lcom/oracle/truffle/api/debug/Debugger;
ifnull 4
3: new java.lang.IllegalStateException
dup
ldc "Breakpoint is already installed in a Debugger instance."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.api.debug.Breakpoint.install:(Lcom/oracle/truffle/api/debug/Debugger;)V
5: aload 0
iconst_1
putfield com.oracle.truffle.api.debug.Breakpoint.global:Z
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 7 1 d Lcom/oracle/truffle/api/debug/Debugger;
MethodParameters:
Name Flags
d
private void install(com.oracle.truffle.api.debug.Debugger);
descriptor: (Lcom/oracle/truffle/api/debug/Debugger;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.api.debug.Breakpoint.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.debugger:Lcom/oracle/truffle/api/debug/Debugger;
ifnull 3
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.debugger:Lcom/oracle/truffle/api/debug/Debugger;
aload 1
if_acmpeq 3
2: new java.lang.IllegalStateException
dup
ldc "Breakpoint is already installed in a different Debugger instance."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.oracle.truffle.api.debug.Breakpoint.debugger:Lcom/oracle/truffle/api/debug/Debugger;
4: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.exceptionFilter:Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
ifnull 6
5: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.exceptionFilter:Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
aload 1
invokevirtual com.oracle.truffle.api.debug.BreakpointExceptionFilter.setDebugger:(Lcom/oracle/truffle/api/debug/Debugger;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 7 1 d Lcom/oracle/truffle/api/debug/Debugger;
MethodParameters:
Name Flags
d
boolean install(com.oracle.truffle.api.debug.DebuggerSession, boolean);
descriptor: (Lcom/oracle/truffle/api/debug/DebuggerSession;Z)Z
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 3
monitorenter
1: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.disposed:Z
ifeq 6
2: iload 2
ifeq 4
3: new java.lang.IllegalArgumentException
dup
ldc "Cannot install breakpoint, it is disposed already."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: com.oracle.truffle.api.debug.Breakpoint
StackMap stack:
aload 3
monitorexit
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
aload 1
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 11
7: iload 2
ifeq 9
8: new java.lang.IllegalStateException
dup
ldc "Breakpoint is already installed in the session."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 3
monitorexit
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.sessionsAssumptionInvalidate:()V
13: aload 0
aload 1
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.getDebugger:()Lcom/oracle/truffle/api/debug/Debugger;
invokevirtual com.oracle.truffle.api.debug.Breakpoint.install:(Lcom/oracle/truffle/api/debug/Debugger;)V
14: aload 3
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 3
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.enabled:Z
ifeq 20
19: aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.install:()V
20: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 21 1 d Lcom/oracle/truffle/api/debug/DebuggerSession;
0 21 2 failOnError Z
Exception table:
from to target type
1 5 16 any
6 10 16 any
11 15 16 any
16 17 16 any
MethodParameters:
Name Flags
d
failOnError
private void install();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sourceBinding:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.EventBinding
astore 2
start local 2 1: aload 2
ifnonnull 20
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
invokevirtual com.oracle.truffle.api.debug.BreakpointLocation.createSourceFilter:()Lcom/oracle/truffle/api/instrumentation/SourceFilter;
dup
astore 1
start local 1 2: ifnull 20
3: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.resolvedSourceInAttach:Ljava/util/concurrent/atomic/AtomicReference;
getstatic com.oracle.truffle.api.debug.Breakpoint.NO_SOURCE:Lcom/oracle/truffle/api/source/Source;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
4: aload 0
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
invokevirtual com.oracle.truffle.api.debug.BreakpointLocation.createSourcePredicate:()Ljava/util/function/Predicate;
putfield com.oracle.truffle.api.debug.Breakpoint.sourcePredicate:Ljava/util/function/Predicate;
5: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sourceBinding:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.debugger:Lcom/oracle/truffle/api/debug/Debugger;
invokevirtual com.oracle.truffle.api.debug.Debugger.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
aload 1
new com.oracle.truffle.api.debug.Breakpoint$1
dup
aload 0
invokespecial com.oracle.truffle.api.debug.Breakpoint$1.<init>:(Lcom/oracle/truffle/api/debug/Breakpoint;)V
6: iconst_1
7: invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecuteSourceListener:(Lcom/oracle/truffle/api/instrumentation/SourceFilter;Lcom/oracle/truffle/api/instrumentation/ExecuteSourceListener;Z)Lcom/oracle/truffle/api/instrumentation/EventBinding;
dup
astore 2
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
8: ifne 16
9: aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
10: goto 16
StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.SourceFilter com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack: java.lang.Throwable
11: astore 3
12: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.resolvedSourceInAttach:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.source.Source
astore 4
start local 4 13: aload 4
getstatic com.oracle.truffle.api.debug.Breakpoint.NO_SOURCE:Lcom/oracle/truffle/api/source/Source;
if_acmpeq 15
14: aload 0
aload 4
invokevirtual com.oracle.truffle.api.debug.Breakpoint.resolveBreakpointAssignBinding:(Lcom/oracle/truffle/api/source/Source;)V
end local 4 15: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.resolvedSourceInAttach:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.source.Source
astore 4
start local 4 17: aload 4
getstatic com.oracle.truffle.api.debug.Breakpoint.NO_SOURCE:Lcom/oracle/truffle/api/source/Source;
if_acmpeq 22
18: aload 0
aload 4
invokevirtual com.oracle.truffle.api.debug.Breakpoint.resolveBreakpointAssignBinding:(Lcom/oracle/truffle/api/source/Source;)V
end local 4 19: goto 22
end local 1 StackMap locals: com.oracle.truffle.api.debug.Breakpoint top com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack:
20: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.breakpointBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
ifnonnull 22
aload 2
ifnull 21
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.isDisposed:()Z
ifeq 22
21: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
aconst_null
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.suspendAnchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
invokevirtual com.oracle.truffle.api.debug.BreakpointLocation.createLocationFilter:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/debug/SuspendAnchor;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.api.debug.Breakpoint.assignBinding:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
22: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
2 20 1 filter Lcom/oracle/truffle/api/instrumentation/SourceFilter;
1 23 2 binding Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
13 15 4 source Lcom/oracle/truffle/api/source/Source;
17 19 4 source Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
4 11 11 any
boolean isResolvable();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
invokevirtual com.oracle.truffle.api.debug.BreakpointLocation.canAdjustLocation:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
void doResolve(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.resolved:Z
ifne 3
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sourcePredicate:Ljava/util/function/Predicate;
ifnull 3
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sourcePredicate:Ljava/util/function/Predicate;
aload 1
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ifeq 3
1: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.resolvedSourceInAttach:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
getstatic com.oracle.truffle.api.debug.Breakpoint.RESOLVED_LOCATION_ACCUMULATOR:Ljava/util/function/BinaryOperator;
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndAccumulate:(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
ifnonnull 3
2: aload 0
aload 1
invokevirtual com.oracle.truffle.api.debug.Breakpoint.resolveBreakpointAssignBinding:(Lcom/oracle/truffle/api/source/Source;)V
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/debug/Breakpoint;
0 4 1 source Lcom/oracle/truffle/api/source/Source;
MethodParameters:
Name Flags
source
private void resolveBreakpointAssignBinding(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
aload 1
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.debugger:Lcom/oracle/truffle/api/debug/Debugger;
invokevirtual com.oracle.truffle.api.debug.Debugger.getEnv:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.suspendAnchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
invokevirtual com.oracle.truffle.api.debug.BreakpointLocation.adjustLocation:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;Lcom/oracle/truffle/api/debug/SuspendAnchor;)Lcom/oracle/truffle/api/source/SourceSection;
astore 2
start local 2 1: aload 2
ifnonnull 2
aload 1
invokevirtual com.oracle.truffle.api.source.Source.hasCharacters:()Z
ifne 7
2: StackMap locals: com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sourceBinding:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.EventBinding
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
5: StackMap locals: com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.truffle.api.debug.Breakpoint.resolveBreakpoint:(Lcom/oracle/truffle/api/source/SourceSection;)V
6: aload 0
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.locationKey:Lcom/oracle/truffle/api/debug/BreakpointLocation;
aload 1
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.suspendAnchor:Lcom/oracle/truffle/api/debug/SuspendAnchor;
invokevirtual com.oracle.truffle.api.debug.BreakpointLocation.createLocationFilter:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/debug/SuspendAnchor;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokevirtual com.oracle.truffle.api.debug.Breakpoint.assignBinding:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 8 1 source Lcom/oracle/truffle/api/source/Source;
1 8 2 location Lcom/oracle/truffle/api/source/SourceSection;
3 7 3 eb Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
MethodParameters:
Name Flags
source
private void assignBinding(com.oracle.truffle.api.instrumentation.SourceSectionFilter);
descriptor: (Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.breakpointBindingAttaching:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
istore 2
start local 2 1: iload 2
ifne 35
2: aconst_null
astore 3
start local 3 3: aload 0
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.debugger:Lcom/oracle/truffle/api/debug/Debugger;
invokevirtual com.oracle.truffle.api.debug.Debugger.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
aload 1
new com.oracle.truffle.api.debug.Breakpoint$BreakpointNodeFactory
dup
aload 0
invokespecial com.oracle.truffle.api.debug.Breakpoint$BreakpointNodeFactory.<init>:(Lcom/oracle/truffle/api/debug/Breakpoint;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
dup
astore 3
putfield com.oracle.truffle.api.debug.Breakpoint.breakpointBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
4: goto 21
StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.SourceSectionFilter int com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack: java.lang.Throwable
5: astore 4
6: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.breakpointBindingAttaching:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
7: aload 0
dup
astore 5
monitorenter
8: aload 3
ifnull 14
9: aload 0
iconst_1
putfield com.oracle.truffle.api.debug.Breakpoint.resolved:Z
10: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 13
StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.SourceSectionFilter int com.oracle.truffle.api.instrumentation.EventBinding java.lang.Throwable com.oracle.truffle.api.debug.Breakpoint top java.util.Iterator
StackMap stack:
11: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.DebuggerSession
astore 6
start local 6 12: aload 6
getfield com.oracle.truffle.api.debug.DebuggerSession.allBindings:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 13: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.SourceSectionFilter int com.oracle.truffle.api.instrumentation.EventBinding java.lang.Throwable com.oracle.truffle.api.debug.Breakpoint
StackMap stack:
aload 0
iconst_1
putfield com.oracle.truffle.api.debug.Breakpoint.breakpointBindingReady:Z
15: aload 0
invokevirtual java.lang.Object.notifyAll:()V
16: aload 5
monitorexit
17: goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
18: aload 5
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
aload 4
athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.breakpointBindingAttaching:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
22: aload 0
dup
astore 5
monitorenter
23: aload 3
ifnull 29
24: aload 0
iconst_1
putfield com.oracle.truffle.api.debug.Breakpoint.resolved:Z
25: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 28
StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.SourceSectionFilter int com.oracle.truffle.api.instrumentation.EventBinding top com.oracle.truffle.api.debug.Breakpoint top java.util.Iterator
StackMap stack:
26: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.DebuggerSession
astore 6
start local 6 27: aload 6
getfield com.oracle.truffle.api.debug.DebuggerSession.allBindings:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 28: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
29: StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.SourceSectionFilter int com.oracle.truffle.api.instrumentation.EventBinding top com.oracle.truffle.api.debug.Breakpoint
StackMap stack:
aload 0
iconst_1
putfield com.oracle.truffle.api.debug.Breakpoint.breakpointBindingReady:Z
30: aload 0
invokevirtual java.lang.Object.notifyAll:()V
31: aload 5
monitorexit
32: goto 35
StackMap locals:
StackMap stack: java.lang.Throwable
33: aload 5
monitorexit
34: athrow
end local 3 35: StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.SourceSectionFilter int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 36 1 locationFilter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
1 36 2 attaching Z
3 35 3 newBinding Lcom/oracle/truffle/api/instrumentation/EventBinding<+Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;>;
12 13 6 s Lcom/oracle/truffle/api/debug/DebuggerSession;
27 28 6 s Lcom/oracle/truffle/api/debug/DebuggerSession;
Exception table:
from to target type
3 5 5 any
8 17 18 any
18 19 18 any
23 32 33 any
33 34 33 any
MethodParameters:
Name Flags
locationFilter
boolean isGlobal();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.global:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
synchronized void sessionClosed(com.oracle.truffle.api.debug.DebuggerSession);
descriptor: (Lcom/oracle/truffle/api/debug/DebuggerSession;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
1: aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.sessionsAssumptionInvalidate:()V
2: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 4
3: aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.uninstall:()V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 5 1 d Lcom/oracle/truffle/api/debug/DebuggerSession;
MethodParameters:
Name Flags
d
com.oracle.truffle.api.Assumption getSessionsUnchanged();
descriptor: ()Lcom/oracle/truffle/api/Assumption;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.api.debug.Breakpoint.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessionsUnchanged:Lcom/oracle/truffle/api/Assumption;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: aload 0
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:()Lcom/oracle/truffle/api/Assumption;
dup
astore 1
putfield com.oracle.truffle.api.debug.Breakpoint.sessionsUnchanged:Lcom/oracle/truffle/api/Assumption;
4: StackMap locals: com.oracle.truffle.api.Assumption
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
2 5 1 sessionsLocal Lcom/oracle/truffle/api/Assumption;
private void sessionsAssumptionInvalidate();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.api.debug.Breakpoint.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessionsUnchanged:Lcom/oracle/truffle/api/Assumption;
astore 1
start local 1 2: aload 1
ifnull 5
3: aload 0
aconst_null
putfield com.oracle.truffle.api.debug.Breakpoint.sessionsUnchanged:Lcom/oracle/truffle/api/Assumption;
4: aload 1
invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
5: StackMap locals: com.oracle.truffle.api.Assumption
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
2 6 1 assumption Lcom/oracle/truffle/api/Assumption;
private void resolveBreakpoint(com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
dup
astore 3
monitorenter
2: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.disposed:Z
ifeq 5
3: aload 3
monitorexit
4: return
5: StackMap locals: int com.oracle.truffle.api.debug.Breakpoint
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.isResolved:()Z
ifne 12
6: iconst_1
istore 2
7: aload 0
iconst_1
putfield com.oracle.truffle.api.debug.Breakpoint.resolved:Z
8: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.source.SourceSection int com.oracle.truffle.api.debug.Breakpoint top java.util.Iterator
StackMap stack:
9: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.DebuggerSession
astore 4
start local 4 10: aload 4
aload 0
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.breakpointResolved:(Lcom/oracle/truffle/api/debug/Breakpoint;)V
end local 4 11: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
12: StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.source.SourceSection int com.oracle.truffle.api.debug.Breakpoint
StackMap stack:
aload 3
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 3
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
iload 2
ifeq 18
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.resolveListener:Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;
ifnull 18
17: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.resolveListener:Lcom/oracle/truffle/api/debug/Breakpoint$ResolveListener;
aload 0
aload 1
invokeinterface com.oracle.truffle.api.debug.Breakpoint$ResolveListener.breakpointResolved:(Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/source/SourceSection;)V
18: StackMap locals:
StackMap stack:
return
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;
0 19 1 resolvedLocation Lcom/oracle/truffle/api/source/SourceSection;
1 19 2 notifyResolved Z
10 11 4 s Lcom/oracle/truffle/api/debug/DebuggerSession;
Exception table:
from to target type
2 4 14 any
5 13 14 any
14 15 14 any
MethodParameters:
Name Flags
resolvedLocation
private void uninstall();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: getstatic com.oracle.truffle.api.debug.Breakpoint.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.breakpointBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
astore 1
start local 1 2: aload 0
aconst_null
putfield com.oracle.truffle.api.debug.Breakpoint.breakpointBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
3: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.sessions:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.EventBinding top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.DebuggerSession
astore 2
start local 2 5: aload 2
getfield com.oracle.truffle.api.debug.DebuggerSession.allBindings:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 0
iconst_0
putfield com.oracle.truffle.api.debug.Breakpoint.breakpointBindingReady:Z
8: aload 1
ifnull 10
9: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
10: StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.EventBinding
StackMap stack:
aload 0
iconst_0
putfield com.oracle.truffle.api.debug.Breakpoint.resolved:Z
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
2 12 1 binding Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
5 6 2 s Lcom/oracle/truffle/api/debug/DebuggerSession;
boolean notifyIndirectHit(com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.debug.DebuggerNode, com.oracle.truffle.api.debug.DebuggerNode, com.oracle.truffle.api.frame.MaterializedFrame, com.oracle.truffle.api.debug.DebugException);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/debug/DebuggerNode;Lcom/oracle/truffle/api/debug/DebuggerNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;Lcom/oracle/truffle/api/debug/DebugException;)Z
flags: (0x0000)
Code:
stack=4, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.isEnabled:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.debug.Breakpoint.$assertionsDisabled:Z
ifne 3
aload 3
invokevirtual com.oracle.truffle.api.debug.DebuggerNode.getBreakpoint:()Lcom/oracle/truffle/api/debug/Breakpoint;
aload 0
if_acmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 2
aload 3
if_acmpeq 25
4: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.rootInstanceRef:Ljava/lang/ref/Reference;
ifnull 14
5: aload 0
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 6: aload 6
ifnull 14
7: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
astore 7
start local 7 8: aload 7
invokestatic com.oracle.truffle.api.interop.NodeLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/NodeLibrary;
astore 8
start local 8 9: aload 8
aload 7
aload 4
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.hasRootInstance:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Z
ifeq 14
10: aload 6
aload 8
aload 7
aload 4
invokevirtual com.oracle.truffle.api.interop.NodeLibrary.getRootInstance:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/Frame;)Ljava/lang/Object;
if_acmpeq 14
11: iconst_0
ireturn
12: StackMap locals: com.oracle.truffle.api.debug.Breakpoint com.oracle.truffle.api.instrumentation.EventContext com.oracle.truffle.api.debug.DebuggerNode com.oracle.truffle.api.debug.DebuggerNode com.oracle.truffle.api.frame.MaterializedFrame com.oracle.truffle.api.debug.DebugException java.lang.Object com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.interop.NodeLibrary
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
astore 9
start local 9 13: aload 9
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 9 end local 8 end local 7 end local 6 14: StackMap locals:
StackMap stack:
aload 3
checkcast com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode
astore 6
start local 6 15: aload 6
aload 4
invokevirtual com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode.testCondition:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
ifne 17
16: iconst_0
ireturn
17: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.exceptionFilter:Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
ifnull 23
aload 5
ifnull 23
18: aload 5
invokevirtual com.oracle.truffle.api.debug.DebugException.getRawException:()Ljava/lang/Throwable;
astore 7
start local 7 19: getstatic com.oracle.truffle.api.debug.Breakpoint.$assertionsDisabled:Z
ifne 20
aload 7
ifnonnull 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.exceptionFilter:Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter;
aload 3
aload 7
invokevirtual com.oracle.truffle.api.debug.BreakpointExceptionFilter.matchException:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Throwable;)Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter$Match;
astore 8
start local 8 21: aload 8
getfield com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match.isMatched:Z
ifne 23
22: iconst_0
ireturn
end local 8 end local 7 23: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.hitCount:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.ignoreCount:I
i2l
lcmp
ifgt 25
24: iconst_0
ireturn
end local 6 25: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.isOneShot:()Z
ifeq 27
26: aload 0
iconst_0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.setEnabled:(Z)V
27: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 28 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 28 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 28 2 source Lcom/oracle/truffle/api/debug/DebuggerNode;
0 28 3 node Lcom/oracle/truffle/api/debug/DebuggerNode;
0 28 4 frame Lcom/oracle/truffle/api/frame/MaterializedFrame;
0 28 5 exception Lcom/oracle/truffle/api/debug/DebugException;
6 14 6 rootInstance Ljava/lang/Object;
8 14 7 contextNode Lcom/oracle/truffle/api/nodes/Node;
9 14 8 contextNodeLibrary Lcom/oracle/truffle/api/interop/NodeLibrary;
13 14 9 e Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
15 25 6 breakpointNode Lcom/oracle/truffle/api/debug/Breakpoint$AbstractBreakpointNode;
19 23 7 throwable Ljava/lang/Throwable;
21 23 8 matched Lcom/oracle/truffle/api/debug/BreakpointExceptionFilter$Match;
Exception table:
from to target type
10 11 12 Class com.oracle.truffle.api.interop.UnsupportedMessageException
Exceptions:
throws com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure
MethodParameters:
Name Flags
context
source
node
frame
exception
private java.lang.Object doBreak(com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.debug.DebuggerNode, com.oracle.truffle.api.debug.Breakpoint$SessionList, boolean, com.oracle.truffle.api.frame.MaterializedFrame, boolean, java.lang.Object, java.lang.Throwable, com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure);
descriptor: (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;
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=10, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
aload 1
aload 2
aload 3
iload 4
aload 5
iload 6
aload 7
aload 8
aload 2
iconst_0
aconst_null
aload 9
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/nodes/Node;ZLcom/oracle/truffle/api/debug/DebugException$CatchLocation;Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;)Ljava/lang/Object;
areturn
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 1 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 1 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 1 2 source Lcom/oracle/truffle/api/debug/DebuggerNode;
0 1 3 breakInSessions Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
0 1 4 activeOnNoninternalCalls Z
0 1 5 frame Lcom/oracle/truffle/api/frame/MaterializedFrame;
0 1 6 onEnter Z
0 1 7 result Ljava/lang/Object;
0 1 8 exception Ljava/lang/Throwable;
0 1 9 failure Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
source
breakInSessions
activeOnNoninternalCalls
frame
onEnter
result
exception
failure
private java.lang.Object doBreak(com.oracle.truffle.api.instrumentation.EventContext, com.oracle.truffle.api.debug.DebuggerNode, com.oracle.truffle.api.debug.Breakpoint$SessionList, boolean, com.oracle.truffle.api.frame.MaterializedFrame, boolean, java.lang.Object, java.lang.Throwable, com.oracle.truffle.api.nodes.Node, boolean, com.oracle.truffle.api.debug.DebugException$CatchLocation, com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure);
descriptor: (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/nodes/Node;ZLcom/oracle/truffle/api/debug/DebugException$CatchLocation;Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=20, args_size=13
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 0: aload 0
invokevirtual com.oracle.truffle.api.debug.Breakpoint.isEnabled:()Z
ifne 2
1: aload 7
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.hitCount:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.ignoreCount:I
i2l
lcmp
ifgt 4
3: aload 7
areturn
4: StackMap locals:
StackMap stack:
iload 6
ifeq 5
getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
goto 6
StackMap locals:
StackMap stack:
5: getstatic com.oracle.truffle.api.debug.SuspendAnchor.AFTER:Lcom/oracle/truffle/api/debug/SuspendAnchor;
StackMap locals:
StackMap stack: com.oracle.truffle.api.debug.SuspendAnchor
6: astore 13
start local 13 7: aload 7
astore 14
start local 14 8: aload 3
astore 15
start local 15 9: goto 39
10: StackMap locals: com.oracle.truffle.api.debug.SuspendAnchor java.lang.Object com.oracle.truffle.api.debug.Breakpoint$SessionList
StackMap stack:
aload 15
getfield com.oracle.truffle.api.debug.Breakpoint$SessionList.session:Lcom/oracle/truffle/api/debug/DebuggerSession;
astore 16
start local 16 11: aload 16
aload 0
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 38
12: iconst_1
istore 17
start local 17 13: aconst_null
astore 18
start local 18 14: iload 4
ifeq 19
aload 16
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.isIncludeInternal:()Z
ifne 19
15: aload 16
iconst_1
invokestatic com.oracle.truffle.api.debug.DebuggerSession.findCurrentCaller:(Lcom/oracle/truffle/api/debug/DebuggerSession;Z)Lcom/oracle/truffle/api/debug/DebuggerSession$Caller;
astore 18
16: aload 18
ifnull 17
aload 18
getfield com.oracle.truffle.api.debug.DebuggerSession$Caller.node: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
ifne 17
iconst_1
goto 18
StackMap locals: com.oracle.truffle.api.debug.DebuggerSession int com.oracle.truffle.api.debug.DebuggerSession$Caller
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 17
19: StackMap locals:
StackMap stack:
iload 17
ifeq 38
20: aload 0
dup
astore 19
monitorenter
21: goto 25
22: StackMap locals: com.oracle.truffle.api.debug.Breakpoint
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
23: goto 25
StackMap locals:
StackMap stack: java.lang.InterruptedException
24: pop
25: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.breakpointBindingReady:Z
ifeq 22
26: aload 19
monitorexit
27: goto 30
StackMap locals:
StackMap stack: java.lang.Throwable
28: aload 19
monitorexit
29: athrow
30: StackMap locals:
StackMap stack:
aload 8
ifnull 33
31: new com.oracle.truffle.api.debug.DebugException
dup
aload 16
aload 8
aconst_null
aload 9
iload 10
aload 11
invokespecial com.oracle.truffle.api.debug.DebugException.<init>:(Lcom/oracle/truffle/api/debug/DebuggerSession;Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/LanguageInfo;Lcom/oracle/truffle/api/nodes/Node;ZLcom/oracle/truffle/api/debug/DebugException$CatchLocation;)V
astore 19
start local 19 32: goto 34
end local 19 33: StackMap locals:
StackMap stack:
aconst_null
astore 19
start local 19 34: StackMap locals: com.oracle.truffle.api.debug.DebugException
StackMap stack:
aload 18
ifnull 37
35: aload 16
aload 1
aload 18
aconst_null
aload 2
aload 13
aload 14
aload 19
aload 12
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.notifyAtCaller:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/debug/DebuggerSession$Caller;Lcom/oracle/truffle/api/debug/SteppingStrategy;Lcom/oracle/truffle/api/debug/DebuggerNode;Lcom/oracle/truffle/api/debug/SuspendAnchor;Ljava/lang/Object;Lcom/oracle/truffle/api/debug/DebugException;Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;)Ljava/lang/Object;
astore 14
36: goto 38
37: StackMap locals:
StackMap stack:
aload 16
aload 1
aload 2
aload 5
aload 13
aconst_null
aload 14
aload 19
aload 12
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.notifyCallback:(Lcom/oracle/truffle/api/instrumentation/EventContext;Lcom/oracle/truffle/api/debug/DebuggerNode;Lcom/oracle/truffle/api/frame/MaterializedFrame;Lcom/oracle/truffle/api/debug/SuspendAnchor;Lcom/oracle/truffle/api/debug/DebuggerNode$InputValuesProvider;Ljava/lang/Object;Lcom/oracle/truffle/api/debug/DebugException;Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;)Ljava/lang/Object;
astore 14
end local 19 end local 18 end local 17 38: StackMap locals:
StackMap stack:
aload 15
getfield com.oracle.truffle.api.debug.Breakpoint$SessionList.next:Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
astore 15
end local 16 39: StackMap locals:
StackMap stack:
aload 15
ifnonnull 10
40: aload 14
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 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 41 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
0 41 1 context Lcom/oracle/truffle/api/instrumentation/EventContext;
0 41 2 source Lcom/oracle/truffle/api/debug/DebuggerNode;
0 41 3 breakInSessions Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
0 41 4 activeOnNoninternalCalls Z
0 41 5 frame Lcom/oracle/truffle/api/frame/MaterializedFrame;
0 41 6 onEnter Z
0 41 7 result Ljava/lang/Object;
0 41 8 exception Ljava/lang/Throwable;
0 41 9 throwLocation Lcom/oracle/truffle/api/nodes/Node;
0 41 10 isCatchNodeComputed Z
0 41 11 catchLocation Lcom/oracle/truffle/api/debug/DebugException$CatchLocation;
0 41 12 failure Lcom/oracle/truffle/api/debug/Breakpoint$BreakpointConditionFailure;
7 41 13 anchor Lcom/oracle/truffle/api/debug/SuspendAnchor;
8 41 14 newResult Ljava/lang/Object;
9 41 15 current Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
11 39 16 session Lcom/oracle/truffle/api/debug/DebuggerSession;
13 38 17 internalCompliant Z
14 38 18 caller Lcom/oracle/truffle/api/debug/DebuggerSession$Caller;
32 33 19 de Lcom/oracle/truffle/api/debug/DebugException;
34 38 19 de Lcom/oracle/truffle/api/debug/DebugException;
Exception table:
from to target type
22 23 24 Class java.lang.InterruptedException
21 27 28 any
28 29 28 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
source
breakInSessions
activeOnNoninternalCalls
frame
onEnter
result
exception
throwLocation
isCatchNodeComputed
catchLocation
failure
com.oracle.truffle.api.debug.Breakpoint getROWrapper();
descriptor: ()Lcom/oracle/truffle/api/debug/Breakpoint;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: getstatic com.oracle.truffle.api.debug.Breakpoint.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.global:Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.roWrapper:Lcom/oracle/truffle/api/debug/Breakpoint$GlobalBreakpoint;
astore 1
start local 1 2: aload 1
ifnonnull 11
3: aload 0
dup
astore 2
monitorenter
4: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.roWrapper:Lcom/oracle/truffle/api/debug/Breakpoint$GlobalBreakpoint;
astore 1
5: aload 1
ifnonnull 7
6: aload 0
new com.oracle.truffle.api.debug.Breakpoint$GlobalBreakpoint
dup
aload 0
invokespecial com.oracle.truffle.api.debug.Breakpoint$GlobalBreakpoint.<init>:(Lcom/oracle/truffle/api/debug/Breakpoint;)V
dup
astore 1
putfield com.oracle.truffle.api.debug.Breakpoint.roWrapper:Lcom/oracle/truffle/api/debug/Breakpoint$GlobalBreakpoint;
7: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$GlobalBreakpoint com.oracle.truffle.api.debug.Breakpoint
StackMap stack:
aload 2
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
2 12 1 wrapper Lcom/oracle/truffle/api/debug/Breakpoint$GlobalBreakpoint;
Exception table:
from to target type
4 8 9 any
9 10 9 any
java.lang.Object getRootInstance();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.rootInstanceRef:Ljava/lang/ref/Reference;
ifnull 1
aload 0
getfield com.oracle.truffle.api.debug.Breakpoint.rootInstanceRef:Ljava/lang/ref/Reference;
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/debug/Breakpoint;
public static com.oracle.truffle.api.debug.Breakpoint$Builder newBuilder(java.net.URI);
descriptor: (Ljava/net/URI;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.api.debug.Breakpoint$Builder
dup
getstatic com.oracle.truffle.api.debug.Breakpoint.BUILDER_INSTANCE:Lcom/oracle/truffle/api/debug/Breakpoint;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
invokespecial com.oracle.truffle.api.debug.Breakpoint$Builder.<init>:(Lcom/oracle/truffle/api/debug/Breakpoint;Ljava/lang/Object;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sourceUri Ljava/net/URI;
MethodParameters:
Name Flags
sourceUri
public static com.oracle.truffle.api.debug.Breakpoint$Builder newBuilder(com.oracle.truffle.api.source.Source);
descriptor: (Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.api.debug.Breakpoint$Builder
dup
getstatic com.oracle.truffle.api.debug.Breakpoint.BUILDER_INSTANCE:Lcom/oracle/truffle/api/debug/Breakpoint;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
invokespecial com.oracle.truffle.api.debug.Breakpoint$Builder.<init>:(Lcom/oracle/truffle/api/debug/Breakpoint;Ljava/lang/Object;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 source Lcom/oracle/truffle/api/source/Source;
MethodParameters:
Name Flags
source
public static com.oracle.truffle.api.debug.Breakpoint$Builder newBuilder(com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.api.debug.Breakpoint$Builder
dup
getstatic com.oracle.truffle.api.debug.Breakpoint.BUILDER_INSTANCE:Lcom/oracle/truffle/api/debug/Breakpoint;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
invokespecial com.oracle.truffle.api.debug.Breakpoint$Builder.<init>:(Lcom/oracle/truffle/api/debug/Breakpoint;Lcom/oracle/truffle/api/source/SourceSection;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
MethodParameters:
Name Flags
sourceSection
public static com.oracle.truffle.api.debug.Breakpoint$ExceptionBuilder newExceptionBuilder(boolean, boolean);
descriptor: (ZZ)Lcom/oracle/truffle/api/debug/Breakpoint$ExceptionBuilder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 0
ifne 2
iload 1
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "At least one of 'caught' or 'uncaught' needs to be true."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.debug.Breakpoint$ExceptionBuilder
dup
getstatic com.oracle.truffle.api.debug.Breakpoint.BUILDER_INSTANCE:Lcom/oracle/truffle/api/debug/Breakpoint;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
iload 0
iload 1
invokespecial com.oracle.truffle.api.debug.Breakpoint$ExceptionBuilder.<init>:(Lcom/oracle/truffle/api/debug/Breakpoint;ZZ)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 caught Z
0 3 1 uncaught Z
MethodParameters:
Name Flags
caught
uncaught
private static com.oracle.truffle.api.debug.Breakpoint$SessionList removeDuplicateSession(com.oracle.truffle.api.debug.Breakpoint$SessionList, com.oracle.truffle.api.debug.DebuggerSession);
descriptor: (Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;Lcom/oracle/truffle/api/debug/DebuggerSession;)Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 7
3: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$SessionList int
StackMap stack:
aload 1
aload 2
getfield com.oracle.truffle.api.debug.Breakpoint$SessionList.session:Lcom/oracle/truffle/api/debug/DebuggerSession;
if_acmpne 6
4: iconst_1
istore 3
5: goto 8
6: StackMap locals:
StackMap stack:
aload 2
getfield com.oracle.truffle.api.debug.Breakpoint$SessionList.next:Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
astore 2
7: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
8: StackMap locals:
StackMap stack:
iload 3
ifeq 17
9: aconst_null
astore 4
start local 4 10: aload 0
astore 2
11: goto 15
12: StackMap locals: com.oracle.truffle.api.debug.Breakpoint$SessionList
StackMap stack:
aload 1
aload 2
getfield com.oracle.truffle.api.debug.Breakpoint$SessionList.session:Lcom/oracle/truffle/api/debug/DebuggerSession;
if_acmpeq 14
13: new com.oracle.truffle.api.debug.Breakpoint$SessionList
dup
aload 2
aload 4
invokespecial com.oracle.truffle.api.debug.Breakpoint$SessionList.<init>:(Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;)V
astore 4
14: StackMap locals:
StackMap stack:
aload 2
getfield com.oracle.truffle.api.debug.Breakpoint$SessionList.next:Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
astore 2
15: StackMap locals:
StackMap stack:
aload 2
ifnonnull 12
16: aload 4
areturn
end local 4 17: StackMap locals:
StackMap stack:
aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 sessions Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
0 18 1 session Lcom/oracle/truffle/api/debug/DebuggerSession;
1 18 2 current Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
2 18 3 foundSession Z
10 17 4 newSessions Lcom/oracle/truffle/api/debug/Breakpoint$SessionList;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
sessions
session
}
SourceFile: "Breakpoint.java"
NestMembers:
com.oracle.truffle.api.debug.Breakpoint$1 com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNode com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException com.oracle.truffle.api.debug.Breakpoint$BreakpointBeforeNode com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure com.oracle.truffle.api.debug.Breakpoint$BreakpointNodeFactory com.oracle.truffle.api.debug.Breakpoint$Builder com.oracle.truffle.api.debug.Breakpoint$ConditionalBreakNode com.oracle.truffle.api.debug.Breakpoint$ExceptionBuilder com.oracle.truffle.api.debug.Breakpoint$GlobalBreakpoint com.oracle.truffle.api.debug.Breakpoint$Kind com.oracle.truffle.api.debug.Breakpoint$ResolveListener com.oracle.truffle.api.debug.Breakpoint$ResolvedLocationOperator com.oracle.truffle.api.debug.Breakpoint$SessionList
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
com.oracle.truffle.api.debug.Breakpoint$1
private abstract AbstractBreakpointNode = com.oracle.truffle.api.debug.Breakpoint$AbstractBreakpointNode of com.oracle.truffle.api.debug.Breakpoint
private BreakpointAfterNode = com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNode of com.oracle.truffle.api.debug.Breakpoint
private BreakpointAfterNodeException = com.oracle.truffle.api.debug.Breakpoint$BreakpointAfterNodeException of com.oracle.truffle.api.debug.Breakpoint
private BreakpointBeforeNode = com.oracle.truffle.api.debug.Breakpoint$BreakpointBeforeNode of com.oracle.truffle.api.debug.Breakpoint
final BreakpointConditionFailure = com.oracle.truffle.api.debug.Breakpoint$BreakpointConditionFailure of com.oracle.truffle.api.debug.Breakpoint
private BreakpointNodeFactory = com.oracle.truffle.api.debug.Breakpoint$BreakpointNodeFactory of com.oracle.truffle.api.debug.Breakpoint
public final Builder = com.oracle.truffle.api.debug.Breakpoint$Builder 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 ExceptionBuilder = com.oracle.truffle.api.debug.Breakpoint$ExceptionBuilder of com.oracle.truffle.api.debug.Breakpoint
final GlobalBreakpoint = com.oracle.truffle.api.debug.Breakpoint$GlobalBreakpoint of com.oracle.truffle.api.debug.Breakpoint
public final Kind = com.oracle.truffle.api.debug.Breakpoint$Kind of com.oracle.truffle.api.debug.Breakpoint
public abstract ResolveListener = com.oracle.truffle.api.debug.Breakpoint$ResolveListener of com.oracle.truffle.api.debug.Breakpoint
private ResolvedLocationOperator = com.oracle.truffle.api.debug.Breakpoint$ResolvedLocationOperator of com.oracle.truffle.api.debug.Breakpoint
final SessionList = com.oracle.truffle.api.debug.Breakpoint$SessionList of com.oracle.truffle.api.debug.Breakpoint
final Match = com.oracle.truffle.api.debug.BreakpointExceptionFilter$Match of com.oracle.truffle.api.debug.BreakpointExceptionFilter
public final CatchLocation = com.oracle.truffle.api.debug.DebugException$CatchLocation of com.oracle.truffle.api.debug.DebugException
abstract InputValuesProvider = com.oracle.truffle.api.debug.DebuggerNode$InputValuesProvider of com.oracle.truffle.api.debug.DebuggerNode
final Caller = com.oracle.truffle.api.debug.DebuggerSession$Caller of com.oracle.truffle.api.debug.DebuggerSession
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source