public abstract class com.oracle.graal.pointsto.ObjectScanner
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.graal.pointsto.ObjectScanner
super_class: java.lang.Object
{
protected final com.oracle.graal.pointsto.BigBang bb;
descriptor: Lcom/oracle/graal/pointsto/BigBang;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final com.oracle.graal.pointsto.ObjectScanner$ReusableSet scannedObjects;
descriptor: Lcom/oracle/graal/pointsto/ObjectScanner$ReusableSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final java.util.Deque<com.oracle.graal.pointsto.ObjectScanner$WorklistEntry> worklist;
descriptor: Ljava/util/Deque;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/Deque<Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;>;
private final java.util.concurrent.atomic.AtomicLong workInProgressCount;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/graal/pointsto/ObjectScanner;
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.graal.pointsto.ObjectScanner.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.ObjectScanner$ReusableSet);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/ObjectScanner$ReusableSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
lconst_0
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield com.oracle.graal.pointsto.ObjectScanner.workInProgressCount:Ljava/util/concurrent/atomic/AtomicLong;
2: aload 0
aload 1
putfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
3: aload 0
new java.util.concurrent.ConcurrentLinkedDeque
dup
invokespecial java.util.concurrent.ConcurrentLinkedDeque.<init>:()V
putfield com.oracle.graal.pointsto.ObjectScanner.worklist:Ljava/util/Deque;
4: aload 0
aload 2
putfield com.oracle.graal.pointsto.ObjectScanner.scannedObjects:Lcom/oracle/graal/pointsto/ObjectScanner$ReusableSet;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 6 1 bigbang Lcom/oracle/graal/pointsto/BigBang;
0 6 2 scannedObjects Lcom/oracle/graal/pointsto/ObjectScanner$ReusableSet;
MethodParameters:
Name Flags
bigbang
scannedObjects
public void scanBootImageHeapRoots(com.oracle.graal.pointsto.util.CompletionExecutor);
descriptor: (Lcom/oracle/graal/pointsto/util/CompletionExecutor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanBootImageHeapRoots:(Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljava/util/Comparator;Ljava/util/Comparator;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 2 1 executor Lcom/oracle/graal/pointsto/util/CompletionExecutor;
MethodParameters:
Name Flags
executor
public void scanBootImageHeapRoots(java.util.Comparator<com.oracle.graal.pointsto.meta.AnalysisField>, java.util.Comparator<jdk.vm.ci.code.BytecodePosition>);
descriptor: (Ljava/util/Comparator;Ljava/util/Comparator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
aload 2
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanBootImageHeapRoots:(Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljava/util/Comparator;Ljava/util/Comparator;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 2 1 fieldComparator Ljava/util/Comparator<Lcom/oracle/graal/pointsto/meta/AnalysisField;>;
0 2 2 embeddedRootComparator Ljava/util/Comparator<Ljdk/vm/ci/code/BytecodePosition;>;
Signature: (Ljava/util/Comparator<Lcom/oracle/graal/pointsto/meta/AnalysisField;>;Ljava/util/Comparator<Ljdk/vm/ci/code/BytecodePosition;>;)V
MethodParameters:
Name Flags
fieldComparator
embeddedRootComparator
private void scanBootImageHeapRoots(com.oracle.graal.pointsto.util.CompletionExecutor, java.util.Comparator<com.oracle.graal.pointsto.meta.AnalysisField>, java.util.Comparator<jdk.vm.ci.code.BytecodePosition>);
descriptor: (Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljava/util/Comparator;Ljava/util/Comparator;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getFields:()Ljava/util/Collection;
astore 4
start local 4 1: aload 2
ifnull 5
2: new java.util.ArrayList
dup
aload 4
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 5
start local 5 3: aload 5
aload 2
invokevirtual java.util.ArrayList.sort:(Ljava/util/Comparator;)V
4: aload 5
astore 4
end local 5 5: StackMap locals: java.util.Collection
StackMap stack:
aload 4
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: com.oracle.graal.pointsto.ObjectScanner com.oracle.graal.pointsto.util.CompletionExecutor java.util.Comparator java.util.Comparator java.util.Collection top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.meta.AnalysisField
astore 5
start local 5 7: aload 5
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 9
aload 5
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 9
aload 5
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isInImageHeap:()Z
ifeq 9
8: aload 0
aload 1
aload 0
aload 5
invokedynamic run(Lcom/oracle/graal/pointsto/ObjectScanner;Lcom/oracle/graal/pointsto/meta/AnalysisField;)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/graal/pointsto/ObjectScanner.lambda$0(Lcom/oracle/graal/pointsto/meta/AnalysisField;)V (7)
()V
invokevirtual com.oracle.graal.pointsto.ObjectScanner.execute:(Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljava/lang/Runnable;)V
end local 5 9: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
10: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.getEmbeddedRoots:()Ljava/util/Map;
astore 5
start local 5 11: aload 3
ifnull 15
12: aload 5
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
aload 3
invokestatic java.util.Map$Entry.comparingByValue:(Ljava/util/Comparator;)Ljava/util/Comparator;
invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
13: aload 0
aload 1
invokedynamic accept(Lcom/oracle/graal/pointsto/ObjectScanner;Lcom/oracle/graal/pointsto/util/CompletionExecutor;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/graal/pointsto/ObjectScanner.lambda$1(Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljava/util/Map$Entry;)V (7)
(Ljava/util/Map$Entry;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
14: goto 16
15: StackMap locals: com.oracle.graal.pointsto.ObjectScanner com.oracle.graal.pointsto.util.CompletionExecutor java.util.Comparator java.util.Comparator java.util.Collection java.util.Map
StackMap stack:
aload 5
aload 0
aload 1
invokedynamic accept(Lcom/oracle/graal/pointsto/ObjectScanner;Lcom/oracle/graal/pointsto/util/CompletionExecutor;)Ljava/util/function/BiConsumer;
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:
(Ljava/lang/Object;Ljava/lang/Object;)V
com/oracle/graal/pointsto/ObjectScanner.lambda$3(Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/code/BytecodePosition;)V (7)
(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/code/BytecodePosition;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
16: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.graal.pointsto.ObjectScanner.finish:(Lcom/oracle/graal/pointsto/util/CompletionExecutor;)V
17: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 18 1 exec Lcom/oracle/graal/pointsto/util/CompletionExecutor;
0 18 2 fieldComparator Ljava/util/Comparator<Lcom/oracle/graal/pointsto/meta/AnalysisField;>;
0 18 3 embeddedRootComparator Ljava/util/Comparator<Ljdk/vm/ci/code/BytecodePosition;>;
1 18 4 fields Ljava/util/Collection<Lcom/oracle/graal/pointsto/meta/AnalysisField;>;
3 5 5 fieldsList Ljava/util/ArrayList<Lcom/oracle/graal/pointsto/meta/AnalysisField;>;
7 9 5 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
11 18 5 embeddedRoots Ljava/util/Map<Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/code/BytecodePosition;>;
Signature: (Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljava/util/Comparator<Lcom/oracle/graal/pointsto/meta/AnalysisField;>;Ljava/util/Comparator<Ljdk/vm/ci/code/BytecodePosition;>;)V
MethodParameters:
Name Flags
exec
fieldComparator
embeddedRootComparator
private void execute(com.oracle.graal.pointsto.util.CompletionExecutor, java.lang.Runnable);
descriptor: (Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljava/lang/Runnable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 4
1: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.workInProgressCount:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
pop2
2: aload 1
new com.oracle.graal.pointsto.ObjectScanner$1
dup
aload 0
aload 2
invokespecial com.oracle.graal.pointsto.ObjectScanner$1.<init>:(Lcom/oracle/graal/pointsto/ObjectScanner;Ljava/lang/Runnable;)V
invokevirtual com.oracle.graal.pointsto.util.CompletionExecutor.execute:(Lcom/oracle/graal/pointsto/util/CompletionExecutor$DebugContextRunnable;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.lang.Runnable.run:()V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 6 1 exec Lcom/oracle/graal/pointsto/util/CompletionExecutor;
0 6 2 runnable Ljava/lang/Runnable;
MethodParameters:
Name Flags
exec
runnable
private void scanEmbeddedRoot(jdk.vm.ci.meta.JavaConstant, jdk.vm.ci.code.BytecodePosition);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/code/BytecodePosition;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual jdk.vm.ci.code.BytecodePosition.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.graal.pointsto.meta.AnalysisMethod
astore 3
start local 3 1: aload 0
aload 1
new com.oracle.graal.pointsto.ObjectScanner$MethodScan
dup
aload 3
aload 2
invokespecial com.oracle.graal.pointsto.ObjectScanner$MethodScan.<init>:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljdk/vm/ci/code/BytecodePosition;)V
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanConstant:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;)V
2: goto 5
StackMap locals: com.oracle.graal.pointsto.ObjectScanner jdk.vm.ci.meta.JavaConstant jdk.vm.ci.code.BytecodePosition com.oracle.graal.pointsto.meta.AnalysisMethod
StackMap stack: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
3: astore 4
start local 4 4: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getUnsupportedFeatures:()Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;
aload 3
ldc "%H.%n(%p)"
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aload 3
aload 4
invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.getMessage:()Ljava/lang/String;
aconst_null
aload 4
invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatures.addMessage:(Ljava/lang/String;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 6 1 root Ljdk/vm/ci/meta/JavaConstant;
0 6 2 position Ljdk/vm/ci/code/BytecodePosition;
1 6 3 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
4 5 4 ex Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatureException;
Exception table:
from to target type
1 2 3 Class com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
MethodParameters:
Name Flags
root
position
public abstract void forRelocatedPointerFieldValue(jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.meta.AnalysisField, jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
receiver
field
fieldValue
public abstract void forNullFieldValue(jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.meta.AnalysisField);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisField;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
receiver
field
public abstract void forNonNullFieldValue(jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.meta.AnalysisField, jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
receiver
field
fieldValue
protected final void scanRootField(com.oracle.graal.pointsto.meta.AnalysisField);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanField:(Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 2 1 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
MethodParameters:
Name Flags
field
protected final void scanField(com.oracle.graal.pointsto.meta.AnalysisField, jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.ObjectScanner$WorklistEntry);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.oracle.graal.pointsto.ObjectScanner$FieldScan
dup
aload 1
invokespecial com.oracle.graal.pointsto.ObjectScanner$FieldScan.<init>:(Lcom/oracle/graal/pointsto/meta/AnalysisField;)V
astore 4
start local 4 1: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getConstantReflectionProvider:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
aload 1
aload 2
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.readFieldValue:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
astore 5
start local 5 2: aload 5
ifnonnull 11
3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 4: aload 0
aload 4
aload 3
aload 6
invokevirtual com.oracle.graal.pointsto.ObjectScanner.buildObjectBacktrace:(Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;Ljava/lang/StringBuilder;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
pop
5: new java.lang.StringBuilder
dup
ldc "Could not find field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
ldc "%H.%n"
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 2
ifnonnull 7
ldc ""
goto 8
StackMap locals: com.oracle.graal.pointsto.ObjectScanner com.oracle.graal.pointsto.meta.AnalysisField jdk.vm.ci.meta.JavaConstant com.oracle.graal.pointsto.ObjectScanner$WorklistEntry com.oracle.graal.pointsto.ObjectScanner$ScanReason jdk.vm.ci.meta.JavaConstant java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder
7: new java.lang.StringBuilder
dup
ldc " on "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 2
invokestatic com.oracle.graal.pointsto.ObjectScanner.constantType:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.toJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals: com.oracle.graal.pointsto.ObjectScanner com.oracle.graal.pointsto.meta.AnalysisField jdk.vm.ci.meta.JavaConstant com.oracle.graal.pointsto.ObjectScanner$WorklistEntry com.oracle.graal.pointsto.ObjectScanner$ScanReason jdk.vm.ci.meta.JavaConstant java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.graal.pointsto.util.AnalysisError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 6 11: StackMap locals:
StackMap stack:
aload 5
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 14
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getHostVM:()Lcom/oracle/graal/pointsto/api/HostVM;
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 5
invokestatic com.oracle.graal.pointsto.ObjectScanner.constantAsObject:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
invokeinterface com.oracle.graal.pointsto.api.HostVM.isRelocatedPointer:(Ljava/lang/Object;)Z
ifeq 14
12: aload 0
aload 2
aload 1
aload 5
invokevirtual com.oracle.graal.pointsto.ObjectScanner.forRelocatedPointerFieldValue:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)V
13: goto 23
StackMap locals:
StackMap stack:
14: aload 5
invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
ifeq 17
15: aload 0
aload 2
aload 1
invokevirtual com.oracle.graal.pointsto.ObjectScanner.forNullFieldValue:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisField;)V
16: goto 23
StackMap locals:
StackMap stack:
17: aload 5
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 23
18: aload 0
aload 5
aload 4
aload 3
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanConstant:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
19: aload 0
aload 2
aload 1
aload 5
invokevirtual com.oracle.graal.pointsto.ObjectScanner.forNonNullFieldValue:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)V
end local 5 20: goto 23
StackMap locals: com.oracle.graal.pointsto.ObjectScanner com.oracle.graal.pointsto.meta.AnalysisField jdk.vm.ci.meta.JavaConstant com.oracle.graal.pointsto.ObjectScanner$WorklistEntry com.oracle.graal.pointsto.ObjectScanner$ScanReason
StackMap stack: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
21: astore 5
start local 5 22: aload 0
aload 1
ldc "%H.%n"
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.format:(Ljava/lang/String;)Ljava/lang/String;
aload 5
invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.getMessage:()Ljava/lang/String;
aload 4
aload 3
invokevirtual com.oracle.graal.pointsto.ObjectScanner.unsupportedFeature:(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
end local 5 23: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 24 1 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
0 24 2 receiver Ljdk/vm/ci/meta/JavaConstant;
0 24 3 previous Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;
1 24 4 reason Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
2 20 5 fieldValue Ljdk/vm/ci/meta/JavaConstant;
4 11 6 backtrace Ljava/lang/StringBuilder;
22 23 5 ex Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatureException;
Exception table:
from to target type
1 20 21 Class com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
MethodParameters:
Name Flags
field
receiver
previous
public abstract void forNullArrayElement(jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.meta.AnalysisType, int);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;I)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
array
arrayType
elementIndex
public abstract void forNonNullArrayElement(jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.meta.AnalysisType, jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.meta.AnalysisType, int);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;I)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
array
arrayType
elementConstant
elementType
elementIndex
protected final void scanArray(jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.ObjectScanner$WorklistEntry);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 1
invokestatic com.oracle.graal.pointsto.ObjectScanner.constantAsObject:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
astore 3
start local 3 1: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 3
invokestatic com.oracle.graal.pointsto.ObjectScanner.analysisType:(Lcom/oracle/graal/pointsto/BigBang;Ljava/lang/Object;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 4
start local 4 2: getstatic com.oracle.graal.pointsto.ObjectScanner.$assertionsDisabled:Z
ifne 3
aload 3
instanceof java.lang.Object[]
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: java.lang.Object com.oracle.graal.pointsto.meta.AnalysisType
StackMap stack:
new com.oracle.graal.pointsto.ObjectScanner$ArrayScan
dup
aload 4
invokespecial com.oracle.graal.pointsto.ObjectScanner$ArrayScan.<init>:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
astore 5
start local 5 4: aload 3
checkcast java.lang.Object[]
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 20
7: StackMap locals: com.oracle.graal.pointsto.ObjectScanner$ScanReason java.lang.Object[] int
StackMap stack:
aload 6
iload 7
aaload
astore 8
start local 8 8: aload 8
ifnonnull 11
9: aload 0
aload 1
aload 4
iload 7
invokevirtual com.oracle.graal.pointsto.ObjectScanner.forNullArrayElement:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;I)V
10: goto 19
11: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getUniverse:()Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
aload 8
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 9
start local 9 12: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getSnippetReflectionProvider:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 9
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forObject:(Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
astore 10
start local 10 13: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 9
invokestatic com.oracle.graal.pointsto.ObjectScanner.analysisType:(Lcom/oracle/graal/pointsto/BigBang;Ljava/lang/Object;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 11
start local 11 14: aload 0
aload 10
aload 5
aload 2
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanConstant:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
15: aload 0
aload 1
aload 4
aload 10
aload 11
iload 7
invokevirtual com.oracle.graal.pointsto.ObjectScanner.forNonNullArrayElement:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;I)V
end local 11 end local 10 end local 9 16: goto 19
StackMap locals:
StackMap stack: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
17: astore 9
start local 9 18: aload 0
aload 4
iconst_1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.toJavaName:(Z)Ljava/lang/String;
aload 9
invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.getMessage:()Ljava/lang/String;
aload 5
aload 2
invokevirtual com.oracle.graal.pointsto.ObjectScanner.unsupportedFeature:(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
end local 9 end local 8 19: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
20: iload 7
aload 6
arraylength
if_icmplt 7
end local 7 21: 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 22 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 22 1 array Ljdk/vm/ci/meta/JavaConstant;
0 22 2 previous Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;
1 22 3 valueObj Ljava/lang/Object;
2 22 4 arrayType Lcom/oracle/graal/pointsto/meta/AnalysisType;
4 22 5 reason Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
5 22 6 arrayObject [Ljava/lang/Object;
6 21 7 idx I
8 19 8 e Ljava/lang/Object;
12 16 9 element Ljava/lang/Object;
13 16 10 elementConstant Ljdk/vm/ci/meta/JavaConstant;
14 16 11 elementType Lcom/oracle/graal/pointsto/meta/AnalysisType;
18 19 9 ex Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatureException;
Exception table:
from to target type
8 16 17 Class com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
MethodParameters:
Name Flags
array
previous
protected abstract void forScannedConstant(jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.ObjectScanner$ScanReason);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
scannedValue
reason
public final void scanConstant(jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.ObjectScanner$ScanReason);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanConstant:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 2 1 value Ljdk/vm/ci/meta/JavaConstant;
0 2 2 reason Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
MethodParameters:
Name Flags
value
reason
public final void scanConstant(jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.ObjectScanner$ScanReason, com.oracle.graal.pointsto.ObjectScanner$WorklistEntry);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 1
invokestatic com.oracle.graal.pointsto.ObjectScanner.constantAsObject:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
astore 4
start local 4 1: aload 4
ifnull 2
aload 4
instanceof org.graalvm.word.WordBase
ifeq 3
2: StackMap locals: java.lang.Object
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.scanningPolicy:()Lcom/oracle/graal/pointsto/HeapScanningPolicy;
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 1
invokevirtual com.oracle.graal.pointsto.HeapScanningPolicy.scanConstant:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.scannedObjects:Lcom/oracle/graal/pointsto/ObjectScanner$ReusableSet;
aload 4
invokevirtual com.oracle.graal.pointsto.ObjectScanner$ReusableSet.putAndAcquire:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 16
6: aload 0
aload 1
aload 2
invokevirtual com.oracle.graal.pointsto.ObjectScanner.forScannedConstant:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;)V
7: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 5
9: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.scannedObjects:Lcom/oracle/graal/pointsto/ObjectScanner$ReusableSet;
aload 4
invokevirtual com.oracle.graal.pointsto.ObjectScanner$ReusableSet.release:(Ljava/lang/Object;)V
10: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.workInProgressCount:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
pop2
11: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.worklist:Ljava/util/Deque;
new com.oracle.graal.pointsto.ObjectScanner$WorklistEntry
dup
aload 3
aload 1
aload 2
invokespecial com.oracle.graal.pointsto.ObjectScanner$WorklistEntry.<init>:(Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;)V
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
12: aload 5
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.scannedObjects:Lcom/oracle/graal/pointsto/ObjectScanner$ReusableSet;
aload 4
invokevirtual com.oracle.graal.pointsto.ObjectScanner$ReusableSet.release:(Ljava/lang/Object;)V
14: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.workInProgressCount:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
pop2
15: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.worklist:Ljava/util/Deque;
new com.oracle.graal.pointsto.ObjectScanner$WorklistEntry
dup
aload 3
aload 1
aload 2
invokespecial com.oracle.graal.pointsto.ObjectScanner$WorklistEntry.<init>:(Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;)V
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
16: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 17 1 value Ljdk/vm/ci/meta/JavaConstant;
0 17 2 reason Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
0 17 3 previous Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;
1 17 4 valueObj Ljava/lang/Object;
Exception table:
from to target type
6 8 8 any
MethodParameters:
Name Flags
value
reason
previous
private void unsupportedFeature(java.lang.String, java.lang.String, com.oracle.graal.pointsto.ObjectScanner$ScanReason, com.oracle.graal.pointsto.ObjectScanner$WorklistEntry);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 1: aload 0
aload 3
aload 4
aload 5
invokevirtual com.oracle.graal.pointsto.ObjectScanner.buildObjectBacktrace:(Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;Ljava/lang/StringBuilder;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 6
start local 6 2: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getUnsupportedFeatures:()Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatures;
aload 1
aload 6
aload 2
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatures.addMessage:(Ljava/lang/String;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljava/lang/String;Ljava/lang/String;)V
3: 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 4 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 4 1 key Ljava/lang/String;
0 4 2 message Ljava/lang/String;
0 4 3 reason Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
0 4 4 entry Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;
1 4 5 objectBacktrace Ljava/lang/StringBuilder;
2 4 6 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
MethodParameters:
Name Flags
key
message
reason
entry
private com.oracle.graal.pointsto.meta.AnalysisMethod buildObjectBacktrace(com.oracle.graal.pointsto.ObjectScanner$ScanReason, com.oracle.graal.pointsto.ObjectScanner$WorklistEntry, java.lang.StringBuilder);
descriptor: (Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;Ljava/lang/StringBuilder;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
astore 4
start local 4 1: aload 3
ldc "Object was reached by "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 3
bipush 9
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
aload 1
invokevirtual com.oracle.graal.pointsto.ObjectScanner.asString:(Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aconst_null
astore 5
start local 5 4: goto 10
5: StackMap locals: com.oracle.graal.pointsto.ObjectScanner$WorklistEntry com.oracle.graal.pointsto.ObjectScanner$ScanReason
StackMap stack:
aload 3
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 3
ldc "\t\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "constant "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 4
getfield com.oracle.graal.pointsto.ObjectScanner$WorklistEntry.constant:Ljdk/vm/ci/meta/JavaConstant;
invokevirtual com.oracle.graal.pointsto.ObjectScanner.asString:(Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " reached by "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: aload 3
bipush 9
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
aload 4
getfield com.oracle.graal.pointsto.ObjectScanner$WorklistEntry.reason:Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
invokevirtual com.oracle.graal.pointsto.ObjectScanner.asString:(Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 4
getfield com.oracle.graal.pointsto.ObjectScanner$WorklistEntry.reason:Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
astore 5
9: aload 4
getfield com.oracle.graal.pointsto.ObjectScanner$WorklistEntry.previous:Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;
astore 4
10: StackMap locals:
StackMap stack:
aload 4
ifnonnull 5
11: aload 5
instanceof com.oracle.graal.pointsto.ObjectScanner$MethodScan
ifeq 13
12: aload 5
checkcast com.oracle.graal.pointsto.ObjectScanner$MethodScan
getfield com.oracle.graal.pointsto.ObjectScanner$MethodScan.method:Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
areturn
13: StackMap locals:
StackMap stack:
aconst_null
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/graal/pointsto/ObjectScanner;
0 14 1 reason Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
0 14 2 entry Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;
0 14 3 objectBacktrace Ljava/lang/StringBuilder;
1 14 4 cur Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;
4 14 5 rootReason Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
MethodParameters:
Name Flags
reason
entry
objectBacktrace
java.lang.String asString(com.oracle.graal.pointsto.ObjectScanner$ScanReason);
descriptor: (Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.graal.pointsto.ObjectScanner$FieldScan
ifeq 5
1: aload 1
checkcast com.oracle.graal.pointsto.ObjectScanner$FieldScan
astore 2
start local 2 2: aload 2
getfield com.oracle.graal.pointsto.ObjectScanner$FieldScan.field:Lcom/oracle/graal/pointsto/meta/AnalysisField;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isStatic:()Z
ifeq 4
3: new java.lang.StringBuilder
dup
ldc "reading field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals: com.oracle.graal.pointsto.ObjectScanner$FieldScan
StackMap stack:
new java.lang.StringBuilder
dup
ldc "reading field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " of"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.graal.pointsto.ObjectScanner$MethodScan
ifeq 7
6: new java.lang.StringBuilder
dup
ldc "scanning method "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.graal.pointsto.ObjectScanner$ArrayScan
ifeq 9
8: ldc "indexing into array"
areturn
9: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 10 1 reason Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
2 5 2 fieldScan Lcom/oracle/graal/pointsto/ObjectScanner$FieldScan;
MethodParameters:
Name Flags
reason
private java.lang.String asString(jdk.vm.ci.meta.JavaConstant);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 1
invokestatic com.oracle.graal.pointsto.ObjectScanner.constantAsObject:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
astore 2
start local 2 1: new java.lang.StringBuilder
dup
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getTypeName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 64
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 2
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)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 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 2 1 constant Ljdk/vm/ci/meta/JavaConstant;
1 2 2 obj Ljava/lang/Object;
MethodParameters:
Name Flags
constant
private void doScan(com.oracle.graal.pointsto.ObjectScanner$WorklistEntry);
descriptor: (Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 1
getfield com.oracle.graal.pointsto.ObjectScanner$WorklistEntry.constant:Ljdk/vm/ci/meta/JavaConstant;
invokestatic com.oracle.graal.pointsto.ObjectScanner.constantAsObject:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
astore 2
start local 2 1: aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 2
invokestatic com.oracle.graal.pointsto.ObjectScanner.analysisType:(Lcom/oracle/graal/pointsto/BigBang;Ljava/lang/Object;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 3
start local 3 2: aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.registerAsReachable:()V
3: aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInstanceClass:()Z
ifeq 12
4: aload 3
iconst_1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getInstanceFields:(Z)[Lcom/oracle/graal/pointsto/meta/AnalysisField;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 10
StackMap locals: com.oracle.graal.pointsto.ObjectScanner com.oracle.graal.pointsto.ObjectScanner$WorklistEntry java.lang.Object com.oracle.graal.pointsto.meta.AnalysisType top int int com.oracle.graal.pointsto.meta.AnalysisField[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: aload 4
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 9
aload 4
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isInImageHeap:()Z
ifeq 9
7: getstatic com.oracle.graal.pointsto.ObjectScanner.$assertionsDisabled:Z
ifne 8
aload 4
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: com.oracle.graal.pointsto.ObjectScanner com.oracle.graal.pointsto.ObjectScanner$WorklistEntry java.lang.Object com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.meta.AnalysisField int int com.oracle.graal.pointsto.meta.AnalysisField[]
StackMap stack:
aload 0
aload 4
aload 1
getfield com.oracle.graal.pointsto.ObjectScanner$WorklistEntry.constant:Ljdk/vm/ci/meta/JavaConstant;
aload 1
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanField:(Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
end local 4 9: StackMap locals: com.oracle.graal.pointsto.ObjectScanner com.oracle.graal.pointsto.ObjectScanner$WorklistEntry java.lang.Object com.oracle.graal.pointsto.meta.AnalysisType top int int com.oracle.graal.pointsto.meta.AnalysisField[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 6
if_icmplt 5
11: goto 17
StackMap locals: com.oracle.graal.pointsto.ObjectScanner com.oracle.graal.pointsto.ObjectScanner$WorklistEntry java.lang.Object com.oracle.graal.pointsto.meta.AnalysisType
StackMap stack:
12: aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
ifeq 17
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getProviders:()Lcom/oracle/graal/pointsto/meta/HostedProviders;
invokevirtual com.oracle.graal.pointsto.meta.HostedProviders.getWordTypes:()Lorg/graalvm/compiler/word/WordTypes;
aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getComponentType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual org.graalvm.compiler.word.WordTypes.asKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 17
13: aload 0
aload 1
getfield com.oracle.graal.pointsto.ObjectScanner$WorklistEntry.constant:Ljdk/vm/ci/meta/JavaConstant;
aload 1
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanArray:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
end local 3 14: goto 17
StackMap locals: com.oracle.graal.pointsto.ObjectScanner com.oracle.graal.pointsto.ObjectScanner$WorklistEntry java.lang.Object
StackMap stack: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
15: astore 3
start local 3 16: aload 0
ldc ""
aload 3
invokevirtual com.oracle.graal.pointsto.constraints.UnsupportedFeatureException.getMessage:()Ljava/lang/String;
aload 1
getfield com.oracle.graal.pointsto.ObjectScanner$WorklistEntry.reason:Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
aload 1
getfield com.oracle.graal.pointsto.ObjectScanner$WorklistEntry.previous:Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;
invokevirtual com.oracle.graal.pointsto.ObjectScanner.unsupportedFeature:(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
end local 3 17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 18 1 entry Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;
1 18 2 valueObj Ljava/lang/Object;
2 14 3 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
6 9 4 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
16 17 3 ex Lcom/oracle/graal/pointsto/constraints/UnsupportedFeatureException;
Exception table:
from to target type
1 14 15 Class com.oracle.graal.pointsto.constraints.UnsupportedFeatureException
MethodParameters:
Name Flags
entry
protected void finish(com.oracle.graal.pointsto.util.CompletionExecutor);
descriptor: (Lcom/oracle/graal/pointsto/util/CompletionExecutor;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnull 9
1: aload 1
new com.oracle.graal.pointsto.ObjectScanner$2
dup
aload 0
aload 1
invokespecial com.oracle.graal.pointsto.ObjectScanner$2.<init>:(Lcom/oracle/graal/pointsto/ObjectScanner;Lcom/oracle/graal/pointsto/util/CompletionExecutor;)V
invokevirtual com.oracle.graal.pointsto.util.CompletionExecutor.execute:(Lcom/oracle/graal/pointsto/util/CompletionExecutor$DebugContextRunnable;)V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.worklist:Ljava/util/Deque;
invokeinterface java.util.Deque.size:()I
istore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: int int
StackMap stack:
aload 0
aload 0
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 com.oracle.graal.pointsto.ObjectScanner.doScan:(Lcom/oracle/graal/pointsto/ObjectScanner$WorklistEntry;)V
7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 2
if_icmplt 6
end local 3 end local 2 9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.ObjectScanner.worklist:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 3
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 11 1 exec Lcom/oracle/graal/pointsto/util/CompletionExecutor;
4 9 2 size I
5 9 3 i I
MethodParameters:
Name Flags
exec
protected static com.oracle.graal.pointsto.meta.AnalysisType analysisType(com.oracle.graal.pointsto.BigBang, java.lang.Object);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Ljava/lang/Object;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.graal.pointsto.BigBang.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bb Lcom/oracle/graal/pointsto/BigBang;
0 1 1 constant Ljava/lang/Object;
MethodParameters:
Name Flags
bb
constant
protected static com.oracle.graal.pointsto.meta.AnalysisType constantType(com.oracle.graal.pointsto.BigBang, jdk.vm.ci.meta.JavaConstant);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.graal.pointsto.BigBang.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
aload 0
aload 1
invokestatic com.oracle.graal.pointsto.ObjectScanner.constantAsObject:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMetaAccess.lookupJavaType:(Ljava/lang/Class;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bb Lcom/oracle/graal/pointsto/BigBang;
0 1 1 constant Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
bb
constant
protected static java.lang.Object constantAsObject(com.oracle.graal.pointsto.BigBang, jdk.vm.ci.meta.JavaConstant);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.graal.pointsto.BigBang.getSnippetReflectionProvider:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
ldc Ljava/lang/Object;
aload 1
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;Ljdk/vm/ci/meta/JavaConstant;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 bb Lcom/oracle/graal/pointsto/BigBang;
0 1 1 constant Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
bb
constant
private void lambda$0(com.oracle.graal.pointsto.meta.AnalysisField);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanRootField:(Lcom/oracle/graal/pointsto/meta/AnalysisField;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
private void lambda$1(com.oracle.graal.pointsto.util.CompletionExecutor, java.util.Map$Entry);
descriptor: (Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljava/util/Map$Entry;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
aload 0
aload 2
invokedynamic run(Lcom/oracle/graal/pointsto/ObjectScanner;Ljava/util/Map$Entry;)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/graal/pointsto/ObjectScanner.lambda$2(Ljava/util/Map$Entry;)V (7)
()V
invokevirtual com.oracle.graal.pointsto.ObjectScanner.execute:(Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljava/lang/Runnable;)V
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 1 2 entry Ljava/util/Map$Entry<Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/code/BytecodePosition;>;
private void lambda$3(com.oracle.graal.pointsto.util.CompletionExecutor, jdk.vm.ci.meta.JavaConstant, jdk.vm.ci.code.BytecodePosition);
descriptor: (Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/code/BytecodePosition;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
aload 0
aload 2
aload 3
invokedynamic run(Lcom/oracle/graal/pointsto/ObjectScanner;Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/code/BytecodePosition;)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/graal/pointsto/ObjectScanner.lambda$4(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/code/BytecodePosition;)V (7)
()V
invokevirtual com.oracle.graal.pointsto.ObjectScanner.execute:(Lcom/oracle/graal/pointsto/util/CompletionExecutor;Ljava/lang/Runnable;)V
return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
0 1 2 key Ljdk/vm/ci/meta/JavaConstant;
0 1 3 value Ljdk/vm/ci/code/BytecodePosition;
private void lambda$2(java.util.Map$Entry);
descriptor: (Ljava/util/Map$Entry;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.JavaConstant
aload 1
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast jdk.vm.ci.code.BytecodePosition
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanEmbeddedRoot:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/code/BytecodePosition;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
private void lambda$4(jdk.vm.ci.meta.JavaConstant, jdk.vm.ci.code.BytecodePosition);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/code/BytecodePosition;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: aload 0
aload 1
aload 2
invokevirtual com.oracle.graal.pointsto.ObjectScanner.scanEmbeddedRoot:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/code/BytecodePosition;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/ObjectScanner;
}
SourceFile: "ObjectScanner.java"
NestMembers:
com.oracle.graal.pointsto.ObjectScanner$1 com.oracle.graal.pointsto.ObjectScanner$2 com.oracle.graal.pointsto.ObjectScanner$2$1 com.oracle.graal.pointsto.ObjectScanner$ArrayScan com.oracle.graal.pointsto.ObjectScanner$FieldScan com.oracle.graal.pointsto.ObjectScanner$MethodScan com.oracle.graal.pointsto.ObjectScanner$OtherReason com.oracle.graal.pointsto.ObjectScanner$ReusableSet com.oracle.graal.pointsto.ObjectScanner$ScanReason com.oracle.graal.pointsto.ObjectScanner$WorklistEntry
InnerClasses:
com.oracle.graal.pointsto.ObjectScanner$1
com.oracle.graal.pointsto.ObjectScanner$2
ArrayScan = com.oracle.graal.pointsto.ObjectScanner$ArrayScan of com.oracle.graal.pointsto.ObjectScanner
protected FieldScan = com.oracle.graal.pointsto.ObjectScanner$FieldScan of com.oracle.graal.pointsto.ObjectScanner
protected MethodScan = com.oracle.graal.pointsto.ObjectScanner$MethodScan of com.oracle.graal.pointsto.ObjectScanner
OtherReason = com.oracle.graal.pointsto.ObjectScanner$OtherReason of com.oracle.graal.pointsto.ObjectScanner
public final ReusableSet = com.oracle.graal.pointsto.ObjectScanner$ReusableSet of com.oracle.graal.pointsto.ObjectScanner
public abstract ScanReason = com.oracle.graal.pointsto.ObjectScanner$ScanReason of com.oracle.graal.pointsto.ObjectScanner
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
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map