class com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl implements com.oracle.truffle.api.debug.SuspendedCallback
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl
super_class: java.lang.Object
{
private final java.util.concurrent.ScheduledExecutorService scheduler;
descriptor: Ljava/util/concurrent/ScheduledExecutorService;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<java.util.concurrent.ScheduledFuture<?>> future;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljava/util/concurrent/ScheduledFuture<*>;>;
private java.lang.Thread locked;
descriptor: Ljava/lang/Thread;
flags: (0x0002) ACC_PRIVATE
final com.oracle.truffle.tools.chromeinspector.InspectorDebugger this$0;
descriptor: Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.oracle.truffle.tools.chromeinspector.InspectorDebugger);
descriptor: (Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
new com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SchedulerThreadFactory
dup
invokespecial com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SchedulerThreadFactory.<init>:()V
invokestatic java.util.concurrent.Executors.newScheduledThreadPool:(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
2: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.future:Ljava/util/concurrent/atomic/AtomicReference;
3: aload 0
aconst_null
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.locked:Ljava/lang/Thread;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;
MethodParameters:
Name Flags
this$0 final
public void onSuspend(com.oracle.truffle.api.debug.SuspendedEvent);
descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.waitForRunPermission:()V
1: goto 3
StackMap locals:
StackMap stack: java.lang.InterruptedException
2: pop
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
astore 2
start local 2 4: aload 0
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.lock:()V
5: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.onSuspendPhaser:Ljava/util/concurrent/Phaser;
invokevirtual java.util.concurrent.Phaser.register:()I
pop
6: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.domainLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
astore 4
start local 4 7: aload 4
invokeinterface java.util.concurrent.locks.Lock.lock:()V
8: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.debuggerSession:Lcom/oracle/truffle/api/debug/DebuggerSession;
ifnonnull 18
9: aload 4
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
10: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.onSuspendPhaser:Ljava/util/concurrent/Phaser;
invokevirtual java.util.concurrent.Phaser.arrive:()I
pop
11: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.delayUnlock:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
ifeq 16
12: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.future:Ljava/util/concurrent/atomic/AtomicReference;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
aload 0
invokedynamic run(Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl.lambda$0()V (7)
()V
13: lconst_1
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
14: invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
15: goto 17
16: StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection top java.util.concurrent.locks.Lock
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.unlock:()V
17: StackMap locals:
StackMap stack:
return
18: StackMap locals:
StackMap stack:
aload 1
getstatic com.oracle.truffle.api.debug.SourceElement.ROOT:Lcom/oracle/truffle/api/debug/SourceElement;
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.hasSourceElement:(Lcom/oracle/truffle/api/debug/SourceElement;)Z
ifeq 29
aload 1
getstatic com.oracle.truffle.api.debug.SourceElement.STATEMENT:Lcom/oracle/truffle/api/debug/SourceElement;
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.hasSourceElement:(Lcom/oracle/truffle/api/debug/SourceElement;)Z
ifne 29
aload 1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSuspendAnchor:()Lcom/oracle/truffle/api/debug/SuspendAnchor;
getstatic com.oracle.truffle.api.debug.SuspendAnchor.BEFORE:Lcom/oracle/truffle/api/debug/SuspendAnchor;
if_acmpne 29
aload 1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getBreakpoints:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 29
19: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.debuggerSession:Lcom/oracle/truffle/api/debug/DebuggerSession;
invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
20: aload 4
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
21: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.onSuspendPhaser:Ljava/util/concurrent/Phaser;
invokevirtual java.util.concurrent.Phaser.arrive:()I
pop
22: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.delayUnlock:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
ifeq 27
23: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.future:Ljava/util/concurrent/atomic/AtomicReference;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
aload 0
invokedynamic run(Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl.lambda$0()V (7)
()V
24: lconst_1
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
25: invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
26: goto 28
27: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.unlock:()V
28: StackMap locals:
StackMap stack:
return
29: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendLock:Ljava/lang/Object;
dup
astore 5
monitorenter
30: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
iconst_0
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.running:Z
31: aload 5
monitorexit
32: goto 35
StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection top java.util.concurrent.locks.Lock java.lang.Object
StackMap stack: java.lang.Throwable
33: aload 5
monitorexit
34: athrow
35: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.runningUnwind:Z
ifne 39
36: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.scriptsHandler:Lcom/oracle/truffle/tools/chromeinspector/ScriptsHandler;
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.tools.chromeinspector.ScriptsHandler.assureLoaded:(Lcom/oracle/truffle/api/source/Source;)I
pop
37: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getLanguage:()Ljava/lang/String;
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.setLastLanguage:(Ljava/lang/String;Ljava/lang/String;)V
38: goto 40
39: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
iconst_0
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.runningUnwind:Z
40: StackMap locals:
StackMap stack:
new com.oracle.truffle.tools.utils.json.JSONObject
dup
invokespecial com.oracle.truffle.tools.utils.json.JSONObject.<init>:()V
astore 5
start local 5 41: aload 1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getReturnValue:()Lcom/oracle/truffle/api/debug/DebugValue;
astore 6
start local 6 42: aload 1
getstatic com.oracle.truffle.api.debug.SourceElement.ROOT:Lcom/oracle/truffle/api/debug/SourceElement;
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.hasSourceElement:(Lcom/oracle/truffle/api/debug/SourceElement;)Z
ifne 44
43: aconst_null
astore 6
44: StackMap locals: com.oracle.truffle.tools.utils.json.JSONObject com.oracle.truffle.api.debug.DebugValue
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
aload 1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getStackFrames:()Ljava/lang/Iterable;
aload 1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getSuspendAnchor:()Lcom/oracle/truffle/api/debug/SuspendAnchor;
aload 6
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger.createCallFrames:(Ljava/lang/Iterable;Lcom/oracle/truffle/api/debug/SuspendAnchor;Lcom/oracle/truffle/api/debug/DebugValue;)[Lcom/oracle/truffle/tools/chromeinspector/types/CallFrame;
astore 7
start local 7 45: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
new com.oracle.truffle.tools.chromeinspector.DebuggerSuspendedInfo
dup
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
aload 1
aload 7
invokespecial com.oracle.truffle.tools.chromeinspector.DebuggerSuspendedInfo.<init>:(Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;Lcom/oracle/truffle/api/debug/SuspendedEvent;[Lcom/oracle/truffle/tools/chromeinspector/types/CallFrame;)V
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendedInfo:Lcom/oracle/truffle/tools/chromeinspector/DebuggerSuspendedInfo;
46: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendedInfo:Lcom/oracle/truffle/tools/chromeinspector/DebuggerSuspendedInfo;
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.setSuspendedInfo:(Lcom/oracle/truffle/tools/chromeinspector/DebuggerSuspendedInfo;)V
47: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.commandLazyResponse:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$CommandLazyResponse;
ifnull 51
48: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.commandLazyResponse:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$CommandLazyResponse;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendedInfo:Lcom/oracle/truffle/tools/chromeinspector/DebuggerSuspendedInfo;
invokeinterface com.oracle.truffle.tools.chromeinspector.InspectorDebugger$CommandLazyResponse.getResponse:(Lcom/oracle/truffle/tools/chromeinspector/DebuggerSuspendedInfo;)Lcom/oracle/truffle/tools/chromeinspector/events/Event;
astore 3
start local 3 49: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
aconst_null
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.commandLazyResponse:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$CommandLazyResponse;
50: goto 74
end local 3 51: StackMap locals: com.oracle.truffle.tools.chromeinspector.types.CallFrame[]
StackMap stack:
aload 5
ldc "callFrames"
aload 7
invokestatic com.oracle.truffle.tools.chromeinspector.InspectorDebugger.getFramesParam:([Lcom/oracle/truffle/tools/chromeinspector/types/CallFrame;)Lcom/oracle/truffle/tools/utils/json/JSONArray;
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
52: aload 5
ldc "asyncStackTrace"
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
aload 1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getAsynchronousStacks:()Ljava/util/List;
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger.findAsyncStackTrace:(Ljava/util/List;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.putOpt:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
53: aload 1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getBreakpoints:()Ljava/util/List;
astore 8
start local 8 54: new com.oracle.truffle.tools.utils.json.JSONArray
dup
invokespecial com.oracle.truffle.tools.utils.json.JSONArray.<init>:()V
astore 9
start local 9 55: new java.util.HashSet
dup
iconst_1
invokespecial java.util.HashSet.<init>:(I)V
astore 10
start local 10 56: aload 8
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 62
StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection top java.util.concurrent.locks.Lock com.oracle.truffle.tools.utils.json.JSONObject com.oracle.truffle.api.debug.DebugValue com.oracle.truffle.tools.chromeinspector.types.CallFrame[] java.util.List com.oracle.truffle.tools.utils.json.JSONArray java.util.Set top java.util.Iterator
StackMap stack:
57: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.Breakpoint
astore 11
start local 11 58: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.breakpointsHandler:Lcom/oracle/truffle/tools/chromeinspector/BreakpointsHandler;
aload 11
invokevirtual com.oracle.truffle.tools.chromeinspector.BreakpointsHandler.getId:(Lcom/oracle/truffle/api/debug/Breakpoint;)Ljava/lang/String;
astore 13
start local 13 59: aload 13
ifnull 61
60: aload 9
aload 13
invokevirtual com.oracle.truffle.tools.utils.json.JSONArray.put:(Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONArray;
pop
61: StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection top java.util.concurrent.locks.Lock com.oracle.truffle.tools.utils.json.JSONObject com.oracle.truffle.api.debug.DebugValue com.oracle.truffle.tools.chromeinspector.types.CallFrame[] java.util.List com.oracle.truffle.tools.utils.json.JSONArray java.util.Set com.oracle.truffle.api.debug.Breakpoint java.util.Iterator java.lang.String
StackMap stack:
aload 10
aload 11
invokevirtual com.oracle.truffle.api.debug.Breakpoint.getKind:()Lcom/oracle/truffle/api/debug/Breakpoint$Kind;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 13 end local 11 62: StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection top java.util.concurrent.locks.Lock com.oracle.truffle.tools.utils.json.JSONObject com.oracle.truffle.api.debug.DebugValue com.oracle.truffle.tools.chromeinspector.types.CallFrame[] java.util.List com.oracle.truffle.tools.utils.json.JSONArray java.util.Set top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 57
63: aload 5
ldc "reason"
aload 0
aload 10
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.getHaltReason:(Ljava/util/Set;)Ljava/lang/String;
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
64: aload 0
aload 1
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.getHaltData:(Lcom/oracle/truffle/api/debug/SuspendedEvent;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
astore 11
start local 11 65: aload 11
ifnull 67
66: aload 5
ldc "data"
aload 11
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
67: StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection top java.util.concurrent.locks.Lock com.oracle.truffle.tools.utils.json.JSONObject com.oracle.truffle.api.debug.DebugValue com.oracle.truffle.tools.chromeinspector.types.CallFrame[] java.util.List com.oracle.truffle.tools.utils.json.JSONArray java.util.Set com.oracle.truffle.tools.utils.json.JSONObject
StackMap stack:
aload 5
ldc "hitBreakpoints"
aload 9
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
68: new com.oracle.truffle.tools.chromeinspector.commands.Params
dup
aload 5
invokespecial com.oracle.truffle.tools.chromeinspector.commands.Params.<init>:(Lcom/oracle/truffle/tools/utils/json/JSONObject;)V
astore 12
start local 12 69: new com.oracle.truffle.tools.chromeinspector.events.Event
dup
ldc "Debugger.paused"
aload 12
invokespecial com.oracle.truffle.tools.chromeinspector.events.Event.<init>:(Ljava/lang/String;Lcom/oracle/truffle/tools/chromeinspector/commands/Params;)V
astore 3
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 start local 3 70: goto 74
end local 3 StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection top java.util.concurrent.locks.Lock
StackMap stack: java.lang.Throwable
71: astore 14
72: aload 4
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
73: aload 14
athrow
start local 3 74: StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection com.oracle.truffle.tools.chromeinspector.events.Event java.util.concurrent.locks.Lock
StackMap stack:
aload 4
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
75: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
invokestatic com.oracle.truffle.tools.chromeinspector.InspectorDebugger.access$0:(Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;)Lcom/oracle/truffle/tools/chromeinspector/events/EventHandler;
aload 3
invokeinterface com.oracle.truffle.tools.chromeinspector.events.EventHandler.event:(Lcom/oracle/truffle/tools/chromeinspector/events/Event;)V
76: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 77: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendLock:Ljava/lang/Object;
dup
astore 6
monitorenter
78: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.running:Z
ifne 85
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendThreadExecutables:Ljava/util/concurrent/BlockingQueue;
invokeinterface java.util.concurrent.BlockingQueue.isEmpty:()Z
ifeq 85
79: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.isSynchronous:()Z
ifeq 82
80: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
iconst_1
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.running:Z
81: goto 85
82: StackMap locals: java.util.List java.lang.Object
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendLock:Ljava/lang/Object;
invokevirtual java.lang.Object.wait:()V
83: goto 85
StackMap locals:
StackMap stack: java.lang.InterruptedException
84: pop
85: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendThreadExecutables:Ljava/util/concurrent/BlockingQueue;
invokeinterface java.util.concurrent.BlockingQueue.isEmpty:()Z
ifne 91
86: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 5
87: goto 89
start local 7 88: StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext$CancellableRunnable
StackMap stack:
aload 5
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 89: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendThreadExecutables:Ljava/util/concurrent/BlockingQueue;
invokeinterface java.util.concurrent.BlockingQueue.poll:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext$CancellableRunnable
dup
astore 7
start local 7 90: ifnonnull 88
end local 7 91: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.running:Z
ifeq 96
92: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
aconst_null
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.suspendedInfo:Lcom/oracle/truffle/tools/chromeinspector/DebuggerSuspendedInfo;
93: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
aconst_null
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.setSuspendedInfo:(Lcom/oracle/truffle/tools/chromeinspector/DebuggerSuspendedInfo;)V
94: aload 6
monitorexit
95: goto 107
96: StackMap locals:
StackMap stack:
aload 6
monitorexit
97: goto 100
StackMap locals:
StackMap stack: java.lang.Throwable
98: aload 6
monitorexit
99: athrow
100: StackMap locals:
StackMap stack:
aload 5
ifnull 76
101: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 104
StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection com.oracle.truffle.tools.chromeinspector.events.Event java.util.concurrent.locks.Lock java.util.List top java.util.Iterator
StackMap stack:
102: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext$CancellableRunnable
astore 6
start local 6 103: aload 6
invokeinterface com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext$CancellableRunnable.run:()V
end local 6 104: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 102
105: aconst_null
astore 5
end local 5 106: goto 76
start local 5 107: StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection com.oracle.truffle.tools.chromeinspector.events.Event java.util.concurrent.locks.Lock java.util.List
StackMap stack:
aload 5
ifnull 112
108: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 111
StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection com.oracle.truffle.tools.chromeinspector.events.Event java.util.concurrent.locks.Lock java.util.List top java.util.Iterator
StackMap stack:
109: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext$CancellableRunnable
astore 6
start local 6 110: aload 6
invokeinterface com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext$CancellableRunnable.cancel:()V
end local 6 111: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 109
112: StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection com.oracle.truffle.tools.chromeinspector.events.Event java.util.concurrent.locks.Lock java.util.List
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.silentResume:Z
ifne 116
113: new com.oracle.truffle.tools.chromeinspector.events.Event
dup
ldc "Debugger.resumed"
aconst_null
invokespecial com.oracle.truffle.tools.chromeinspector.events.Event.<init>:(Ljava/lang/String;Lcom/oracle/truffle/tools/chromeinspector/commands/Params;)V
astore 6
start local 6 114: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
invokestatic com.oracle.truffle.tools.chromeinspector.InspectorDebugger.access$0:(Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;)Lcom/oracle/truffle/tools/chromeinspector/events/EventHandler;
aload 6
invokeinterface com.oracle.truffle.tools.chromeinspector.events.EventHandler.event:(Lcom/oracle/truffle/tools/chromeinspector/events/Event;)V
end local 6 115: goto 127
116: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
iconst_0
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.silentResume:Z
end local 5 end local 4 end local 3 117: goto 127
StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection
StackMap stack: java.lang.Throwable
118: astore 15
119: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.onSuspendPhaser:Ljava/util/concurrent/Phaser;
invokevirtual java.util.concurrent.Phaser.arrive:()I
pop
120: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.delayUnlock:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
ifeq 125
121: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.future:Ljava/util/concurrent/atomic/AtomicReference;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
aload 0
invokedynamic run(Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl.lambda$0()V (7)
()V
122: lconst_1
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
123: invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
124: goto 126
125: StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection top top top top top top top top top top top top java.lang.Throwable
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.unlock:()V
126: StackMap locals:
StackMap stack:
aload 15
athrow
127: StackMap locals: com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl com.oracle.truffle.api.debug.SuspendedEvent com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.onSuspendPhaser:Ljava/util/concurrent/Phaser;
invokevirtual java.util.concurrent.Phaser.arrive:()I
pop
128: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.delayUnlock:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
ifeq 133
129: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.future:Ljava/util/concurrent/atomic/AtomicReference;
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
aload 0
invokedynamic run(Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl.lambda$0()V (7)
()V
130: lconst_1
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
131: invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
132: goto 134
133: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.unlock:()V
134: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 135 0 this Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;
0 135 1 se Lcom/oracle/truffle/api/debug/SuspendedEvent;
4 135 2 ss Lcom/oracle/truffle/api/source/SourceSection;
49 51 3 paused Lcom/oracle/truffle/tools/chromeinspector/events/Event;
70 71 3 paused Lcom/oracle/truffle/tools/chromeinspector/events/Event;
74 117 3 paused Lcom/oracle/truffle/tools/chromeinspector/events/Event;
7 117 4 lock Ljava/util/concurrent/locks/Lock;
41 70 5 jsonParams Lcom/oracle/truffle/tools/utils/json/JSONObject;
42 70 6 returnValue Lcom/oracle/truffle/api/debug/DebugValue;
45 70 7 callFrames [Lcom/oracle/truffle/tools/chromeinspector/types/CallFrame;
54 70 8 breakpoints Ljava/util/List<Lcom/oracle/truffle/api/debug/Breakpoint;>;
55 70 9 bpArr Lcom/oracle/truffle/tools/utils/json/JSONArray;
56 70 10 kinds Ljava/util/Set<Lcom/oracle/truffle/api/debug/Breakpoint$Kind;>;
58 62 11 bp Lcom/oracle/truffle/api/debug/Breakpoint;
59 62 13 id Ljava/lang/String;
65 70 11 data Lcom/oracle/truffle/tools/utils/json/JSONObject;
69 70 12 params Lcom/oracle/truffle/tools/chromeinspector/commands/Params;
77 106 5 executables Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext$CancellableRunnable;>;
107 117 5 executables Ljava/util/List<Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext$CancellableRunnable;>;
88 89 7 r Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext$CancellableRunnable;
90 91 7 r Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext$CancellableRunnable;
103 104 6 r Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext$CancellableRunnable;
110 111 6 r Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext$CancellableRunnable;
114 115 6 resumed Lcom/oracle/truffle/tools/chromeinspector/events/Event;
Exception table:
from to target type
0 1 2 Class java.lang.InterruptedException
30 32 33 any
33 34 33 any
8 9 71 any
18 20 71 any
29 71 71 any
82 83 84 Class java.lang.InterruptedException
78 95 98 any
96 97 98 any
98 99 98 any
6 10 118 any
18 21 118 any
29 118 118 any
MethodParameters:
Name Flags
se
private synchronized void lock();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.locked:Ljava/lang/Thread;
aload 1
if_acmpeq 9
2: goto 6
3: StackMap locals: java.lang.Thread
StackMap stack:
aload 0
invokevirtual java.lang.Object.wait:()V
4: goto 6
StackMap locals:
StackMap stack: java.lang.InterruptedException
5: pop
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.locked:Ljava/lang/Thread;
ifnonnull 3
7: aload 0
aload 1
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.locked:Ljava/lang/Thread;
8: goto 12
9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.future:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.ScheduledFuture
astore 2
start local 2 10: aload 2
ifnull 12
11: aload 2
iconst_1
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
pop
end local 2 12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;
1 13 1 current Ljava/lang/Thread;
10 12 2 sf Ljava/util/concurrent/ScheduledFuture<*>;
Exception table:
from to target type
3 4 5 Class java.lang.InterruptedException
private synchronized void unlock();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.locked:Ljava/lang/Thread;
1: aload 0
invokevirtual java.lang.Object.notify:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;
private java.lang.String getHaltReason(java.util.Set<com.oracle.truffle.api.debug.Breakpoint$Kind>);
descriptor: (Ljava/util/Set;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Set.size:()I
iconst_1
if_icmple 2
1: ldc "ambiguous"
areturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic com.oracle.truffle.api.debug.Breakpoint$Kind.HALT_INSTRUCTION:Lcom/oracle/truffle/api/debug/Breakpoint$Kind;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 4
3: ldc "debugCommand"
areturn
4: StackMap locals:
StackMap stack:
aload 1
getstatic com.oracle.truffle.api.debug.Breakpoint$Kind.EXCEPTION:Lcom/oracle/truffle/api/debug/Breakpoint$Kind;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 6
5: ldc "exception"
areturn
6: StackMap locals:
StackMap stack:
ldc "other"
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;
0 7 1 kinds Ljava/util/Set<Lcom/oracle/truffle/api/debug/Breakpoint$Kind;>;
Signature: (Ljava/util/Set<Lcom/oracle/truffle/api/debug/Breakpoint$Kind;>;)Ljava/lang/String;
MethodParameters:
Name Flags
kinds
private com.oracle.truffle.tools.utils.json.JSONObject getHaltData(com.oracle.truffle.api.debug.SuspendedEvent);
descriptor: (Lcom/oracle/truffle/api/debug/SuspendedEvent;)Lcom/oracle/truffle/tools/utils/json/JSONObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.debug.SuspendedEvent.getException:()Lcom/oracle/truffle/api/debug/DebugException;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: com.oracle.truffle.api.debug.DebugException
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.debug.DebugException.getCatchLocation:()Lcom/oracle/truffle/api/debug/DebugException$CatchLocation;
ifnonnull 4
iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: aload 2
invokevirtual com.oracle.truffle.api.debug.DebugException.getExceptionObject:()Lcom/oracle/truffle/api/debug/DebugValue;
astore 4
start local 4 7: aload 4
ifnull 11
8: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.this$0:Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger;
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger.context:Lcom/oracle/truffle/tools/chromeinspector/InspectorExecutionContext;
aload 4
iconst_0
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext.createAndRegister:(Lcom/oracle/truffle/api/debug/DebugValue;Z)Lcom/oracle/truffle/tools/chromeinspector/types/RemoteObject;
astore 6
start local 6 9: aload 6
invokevirtual com.oracle.truffle.tools.chromeinspector.types.RemoteObject.toJSON:()Lcom/oracle/truffle/tools/utils/json/JSONObject;
astore 5
end local 6 start local 5 10: goto 12
end local 5 11: StackMap locals: int com.oracle.truffle.api.debug.DebugValue
StackMap stack:
new com.oracle.truffle.tools.utils.json.JSONObject
dup
invokespecial com.oracle.truffle.tools.utils.json.JSONObject.<init>:()V
astore 5
start local 5 12: StackMap locals: com.oracle.truffle.tools.utils.json.JSONObject
StackMap stack:
aload 5
ldc "uncaught"
iload 3
invokevirtual com.oracle.truffle.tools.utils.json.JSONObject.put:(Ljava/lang/String;Z)Lcom/oracle/truffle/tools/utils/json/JSONObject;
pop
13: aload 5
areturn
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 14 0 this Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;
0 14 1 se Lcom/oracle/truffle/api/debug/SuspendedEvent;
1 14 2 exception Lcom/oracle/truffle/api/debug/DebugException;
6 14 3 uncaught Z
7 14 4 exceptionObject Lcom/oracle/truffle/api/debug/DebugValue;
10 11 5 data Lcom/oracle/truffle/tools/utils/json/JSONObject;
12 14 5 data Lcom/oracle/truffle/tools/utils/json/JSONObject;
9 10 6 remoteObject Lcom/oracle/truffle/tools/chromeinspector/types/RemoteObject;
MethodParameters:
Name Flags
se
private void dispose();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.unlock:()V
1: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.future:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.ScheduledFuture
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
iconst_1
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
pop
4: StackMap locals: java.util.concurrent.ScheduledFuture
StackMap stack:
aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
invokeinterface java.util.concurrent.ScheduledExecutorService.shutdown:()V
5: aload 0
getfield com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
ldc 30
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.ScheduledExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
pop
6: goto 8
StackMap locals:
StackMap stack: java.lang.InterruptedException
7: pop
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;
2 9 1 sf Ljava/util/concurrent/ScheduledFuture<*>;
Exception table:
from to target type
5 6 7 Class java.lang.InterruptedException
private void lambda$0();
descriptor: ()V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl.unlock:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/tools/chromeinspector/InspectorDebugger$SuspendedCallbackImpl;
}
SourceFile: "InspectorDebugger.java"
NestHost: com.oracle.truffle.tools.chromeinspector.InspectorDebugger
InnerClasses:
public final Kind = com.oracle.truffle.api.debug.Breakpoint$Kind of com.oracle.truffle.api.debug.Breakpoint
public final CatchLocation = com.oracle.truffle.api.debug.DebugException$CatchLocation of com.oracle.truffle.api.debug.DebugException
private abstract CommandLazyResponse = com.oracle.truffle.tools.chromeinspector.InspectorDebugger$CommandLazyResponse of com.oracle.truffle.tools.chromeinspector.InspectorDebugger
private SchedulerThreadFactory = com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SchedulerThreadFactory of com.oracle.truffle.tools.chromeinspector.InspectorDebugger
private SuspendedCallbackImpl = com.oracle.truffle.tools.chromeinspector.InspectorDebugger$SuspendedCallbackImpl of com.oracle.truffle.tools.chromeinspector.InspectorDebugger
abstract CancellableRunnable = com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext$CancellableRunnable of com.oracle.truffle.tools.chromeinspector.InspectorExecutionContext
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles