class com.oracle.graal.pointsto.ObjectScanner$2 implements com.oracle.graal.pointsto.util.CompletionExecutor$DebugContextRunnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.graal.pointsto.ObjectScanner$2
super_class: java.lang.Object
{
final com.oracle.graal.pointsto.ObjectScanner this$0;
descriptor: Lcom/oracle/graal/pointsto/ObjectScanner;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final com.oracle.graal.pointsto.util.CompletionExecutor val$exec;
descriptor: Lcom/oracle/graal/pointsto/util/CompletionExecutor;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.graal.pointsto.ObjectScanner, com.oracle.graal.pointsto.util.CompletionExecutor);
descriptor: (Lcom/oracle/graal/pointsto/ObjectScanner;Lcom/oracle/graal/pointsto/util/CompletionExecutor;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield com.oracle.graal.pointsto.ObjectScanner$2.this$0:Lcom/oracle/graal/pointsto/ObjectScanner;
aload 0
aload 2
putfield com.oracle.graal.pointsto.ObjectScanner$2.val$exec:Lcom/oracle/graal/pointsto/util/CompletionExecutor;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/ObjectScanner$2;
MethodParameters:
Name Flags
this$0 final
val$exec final
public void run(org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner$2.this$0:Lcom/oracle/graal/pointsto/ObjectScanner;
getfield com.oracle.graal.pointsto.ObjectScanner.workInProgressCount:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lconst_0
lcmp
ifle 11
1: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner$2.this$0:Lcom/oracle/graal/pointsto/ObjectScanner;
getfield com.oracle.graal.pointsto.ObjectScanner.worklist:Ljava/util/Deque;
invokeinterface java.util.Deque.size:()I
istore 2
start local 2 2: goto 9
3: StackMap locals: int
StackMap stack:
iconst_1
iload 2
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner$2.this$0:Lcom/oracle/graal/pointsto/ObjectScanner;
getfield com.oracle.graal.pointsto.ObjectScanner.worklist:Ljava/util/Deque;
invokeinterface java.util.Deque.size:()I
invokestatic java.lang.Integer.max:(II)I
iconst_2
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner$2.val$exec:Lcom/oracle/graal/pointsto/util/CompletionExecutor;
invokevirtual com.oracle.graal.pointsto.util.CompletionExecutor.getExecutorService:()Ljava/util/concurrent/ForkJoinPool;
invokevirtual java.util.concurrent.ForkJoinPool.getPoolSize:()I
imul
idiv
invokestatic java.lang.Integer.max:(II)I
istore 3
start local 3 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 5: goto 7
6: StackMap locals: int java.util.ArrayList
StackMap stack:
aload 4
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner$2.this$0:Lcom/oracle/graal/pointsto/ObjectScanner;
getfield com.oracle.graal.pointsto.ObjectScanner.worklist:Ljava/util/Deque;
invokeinterface java.util.Deque.remove:()Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.ObjectScanner$WorklistEntry
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner$2.this$0:Lcom/oracle/graal/pointsto/ObjectScanner;
getfield com.oracle.graal.pointsto.ObjectScanner.worklist:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifne 8
aload 4
invokevirtual java.util.ArrayList.size:()I
iload 3
if_icmplt 6
8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner$2.val$exec:Lcom/oracle/graal/pointsto/util/CompletionExecutor;
new com.oracle.graal.pointsto.ObjectScanner$2$1
dup
aload 0
aload 4
invokespecial com.oracle.graal.pointsto.ObjectScanner$2$1.<init>:(Lcom/oracle/graal/pointsto/ObjectScanner$2;Ljava/util/ArrayList;)V
invokevirtual com.oracle.graal.pointsto.util.CompletionExecutor.execute:(Lcom/oracle/graal/pointsto/util/CompletionExecutor$DebugContextRunnable;)V
end local 4 end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner$2.this$0:Lcom/oracle/graal/pointsto/ObjectScanner;
getfield com.oracle.graal.pointsto.ObjectScanner.worklist:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 3
10: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner$2.val$exec:Lcom/oracle/graal/pointsto/util/CompletionExecutor;
aload 0
invokevirtual com.oracle.graal.pointsto.util.CompletionExecutor.execute:(Lcom/oracle/graal/pointsto/util/CompletionExecutor$DebugContextRunnable;)V
end local 2 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/graal/pointsto/ObjectScanner$2;
0 12 1 ignored Lorg/graalvm/compiler/debug/DebugContext;
2 11 2 worklistLength I
4 9 3 bucketSize I
5 9 4 items Ljava/util/ArrayList<Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;>;
MethodParameters:
Name Flags
ignored
static com.oracle.graal.pointsto.ObjectScanner access$0(com.oracle.graal.pointsto.ObjectScanner$2);
descriptor: (Lcom/oracle/graal/pointsto/ObjectScanner$2;)Lcom/oracle/graal/pointsto/ObjectScanner;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner$2.this$0:Lcom/oracle/graal/pointsto/ObjectScanner;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ObjectScanner.java"
EnclosingMethod: com.oracle.graal.pointsto.ObjectScanner.finish:(Lcom/oracle/graal/pointsto/util/CompletionExecutor;)V
NestHost: com.oracle.graal.pointsto.ObjectScanner
InnerClasses:
com.oracle.graal.pointsto.ObjectScanner$2
com.oracle.graal.pointsto.ObjectScanner$2$1
WorklistEntry = com.oracle.graal.pointsto.ObjectScanner$WorklistEntry of com.oracle.graal.pointsto.ObjectScanner
public abstract DebugContextRunnable = com.oracle.graal.pointsto.util.CompletionExecutor$DebugContextRunnable of com.oracle.graal.pointsto.util.CompletionExecutor