public class com.oracle.graal.pointsto.AnalysisObjectScanner extends com.oracle.graal.pointsto.ObjectScanner
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.graal.pointsto.AnalysisObjectScanner
super_class: com.oracle.graal.pointsto.ObjectScanner
{
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/AnalysisObjectScanner;
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.AnalysisObjectScanner.$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=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial com.oracle.graal.pointsto.ObjectScanner.<init>:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/ObjectScanner$ReusableSet;)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/AnalysisObjectScanner;
0 2 1 bigbang Lcom/oracle/graal/pointsto/BigBang;
0 2 2 scannedObjects Lcom/oracle/graal/pointsto/ObjectScanner$ReusableSet;
MethodParameters:
Name Flags
bigbang
scannedObjects
public 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: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isWritten:()Z
ifne 2
1: aload 2
aconst_null
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.registerAsWritten:(Lcom/oracle/graal/pointsto/flow/MethodTypeFlow;)V
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/pointsto/AnalysisObjectScanner;
0 3 1 receiver Ljdk/vm/ci/meta/JavaConstant;
0 3 2 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
0 3 3 fieldValue Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
receiver
field
fieldValue
public 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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 1
invokevirtual com.oracle.graal.pointsto.AnalysisObjectScanner.getFieldTypeFlow:(Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Lcom/oracle/graal/pointsto/flow/FieldTypeFlow;
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.graal.pointsto.flow.FieldTypeFlow.getState:()Lcom/oracle/graal/pointsto/typestate/TypeState;
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.canBeNull:()Z
ifne 3
2: aload 3
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokestatic com.oracle.graal.pointsto.typestate.TypeState.forNull:()Lcom/oracle/graal/pointsto/typestate/TypeState;
invokevirtual com.oracle.graal.pointsto.flow.FieldTypeFlow.addState:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/typestate/TypeState;)Z
pop
3: StackMap locals: com.oracle.graal.pointsto.flow.FieldTypeFlow
StackMap stack:
return
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/AnalysisObjectScanner;
0 4 1 receiver Ljdk/vm/ci/meta/JavaConstant;
0 4 2 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
1 4 3 fieldTypeFlow Lcom/oracle/graal/pointsto/flow/FieldTypeFlow;
MethodParameters:
Name Flags
receiver
field
public 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: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getSnippetReflectionProvider:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
ldc Ljava/lang/Object;
aload 3
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;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;
astore 4
start local 4 1: getstatic com.oracle.graal.pointsto.AnalysisObjectScanner.$assertionsDisabled:Z
ifne 2
aload 4
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isInstantiated:()Z
ifne 2
new java.lang.AssertionError
dup
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getAllInstantiatedTypeFlow:()Lcom/oracle/graal/pointsto/flow/TypeFlow;
invokevirtual com.oracle.graal.pointsto.flow.TypeFlow.getState:()Lcom/oracle/graal/pointsto/typestate/TypeState;
aload 4
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.containsType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
ifeq 8
3: aload 0
aload 2
aload 1
invokevirtual com.oracle.graal.pointsto.AnalysisObjectScanner.getFieldTypeFlow:(Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Lcom/oracle/graal/pointsto/flow/FieldTypeFlow;
astore 5
start local 5 4: aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.analysisPolicy:()Lcom/oracle/graal/pointsto/AnalysisPolicy;
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 3
aload 4
invokevirtual com.oracle.graal.pointsto.AnalysisPolicy.createConstantObject:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
astore 6
start local 6 5: aload 5
invokevirtual com.oracle.graal.pointsto.flow.FieldTypeFlow.getState:()Lcom/oracle/graal/pointsto/typestate/TypeState;
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.isUnknown:()Z
ifne 8
aload 5
invokevirtual com.oracle.graal.pointsto.flow.FieldTypeFlow.getState:()Lcom/oracle/graal/pointsto/typestate/TypeState;
aload 6
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.containsObject:(Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)Z
ifne 8
6: aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 6
invokestatic com.oracle.graal.pointsto.typestate.TypeState.forNonNullObject:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)Lcom/oracle/graal/pointsto/typestate/TypeState;
astore 7
start local 7 7: aload 5
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 7
invokevirtual com.oracle.graal.pointsto.flow.FieldTypeFlow.addState:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/typestate/TypeState;)Z
pop
end local 7 end local 6 end local 5 8: 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 9 0 this Lcom/oracle/graal/pointsto/AnalysisObjectScanner;
0 9 1 receiver Ljdk/vm/ci/meta/JavaConstant;
0 9 2 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
0 9 3 fieldValue Ljdk/vm/ci/meta/JavaConstant;
1 9 4 fieldType Lcom/oracle/graal/pointsto/meta/AnalysisType;
4 8 5 fieldTypeFlow Lcom/oracle/graal/pointsto/flow/FieldTypeFlow;
5 8 6 constantObject Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
7 8 7 constantTypeState Lcom/oracle/graal/pointsto/typestate/TypeState;
MethodParameters:
Name Flags
receiver
field
fieldValue
private com.oracle.graal.pointsto.flow.FieldTypeFlow getFieldTypeFlow(com.oracle.graal.pointsto.meta.AnalysisField, jdk.vm.ci.meta.JavaConstant);
descriptor: (Lcom/oracle/graal/pointsto/meta/AnalysisField;Ljdk/vm/ci/meta/JavaConstant;)Lcom/oracle/graal/pointsto/flow/FieldTypeFlow;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.isStatic:()Z
ifeq 2
1: aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisField.getStaticFieldFlow:()Lcom/oracle/graal/pointsto/flow/FieldTypeFlow;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getSnippetReflectionProvider:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
ldc Ljava/lang/Object;
aload 2
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.asObject:(Ljava/lang/Class;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;
astore 3
start local 3 3: aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.analysisPolicy:()Lcom/oracle/graal/pointsto/AnalysisPolicy;
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 2
aload 3
invokevirtual com.oracle.graal.pointsto.AnalysisPolicy.createConstantObject:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
astore 4
start local 4 4: aload 4
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 1
iconst_1
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.getInstanceFieldFlow:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/meta/AnalysisField;Z)Lcom/oracle/graal/pointsto/flow/FieldTypeFlow;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/graal/pointsto/AnalysisObjectScanner;
0 5 1 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
0 5 2 receiver Ljdk/vm/ci/meta/JavaConstant;
3 5 3 receiverType Lcom/oracle/graal/pointsto/meta/AnalysisType;
4 5 4 constantReceiverObj Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
MethodParameters:
Name Flags
field
receiver
public 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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual com.oracle.graal.pointsto.AnalysisObjectScanner.getArrayElementsFlow:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/graal/pointsto/flow/ArrayElementsTypeFlow;
astore 4
start local 4 1: aload 4
invokevirtual com.oracle.graal.pointsto.flow.ArrayElementsTypeFlow.getState:()Lcom/oracle/graal/pointsto/typestate/TypeState;
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.canBeNull:()Z
ifne 3
2: aload 4
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokestatic com.oracle.graal.pointsto.typestate.TypeState.forNull:()Lcom/oracle/graal/pointsto/typestate/TypeState;
invokevirtual com.oracle.graal.pointsto.flow.ArrayElementsTypeFlow.addState:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/typestate/TypeState;)Z
pop
3: StackMap locals: com.oracle.graal.pointsto.flow.ArrayElementsTypeFlow
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 4 0 this Lcom/oracle/graal/pointsto/AnalysisObjectScanner;
0 4 1 array Ljdk/vm/ci/meta/JavaConstant;
0 4 2 arrayType Lcom/oracle/graal/pointsto/meta/AnalysisType;
0 4 3 elementIndex I
1 4 4 arrayObjElementsFlow Lcom/oracle/graal/pointsto/flow/ArrayElementsTypeFlow;
MethodParameters:
Name Flags
array
arrayType
elementIndex
public 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: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getAllInstantiatedTypeFlow:()Lcom/oracle/graal/pointsto/flow/TypeFlow;
invokevirtual com.oracle.graal.pointsto.flow.TypeFlow.getState:()Lcom/oracle/graal/pointsto/typestate/TypeState;
aload 4
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.containsType:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
ifeq 6
1: aload 0
aload 1
aload 2
invokevirtual com.oracle.graal.pointsto.AnalysisObjectScanner.getArrayElementsFlow:(Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/graal/pointsto/flow/ArrayElementsTypeFlow;
astore 6
start local 6 2: aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.analysisPolicy:()Lcom/oracle/graal/pointsto/AnalysisPolicy;
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 3
aload 4
invokevirtual com.oracle.graal.pointsto.AnalysisPolicy.createConstantObject:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
astore 7
start local 7 3: aload 6
invokevirtual com.oracle.graal.pointsto.flow.ArrayElementsTypeFlow.getState:()Lcom/oracle/graal/pointsto/typestate/TypeState;
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.isUnknown:()Z
ifne 6
aload 6
invokevirtual com.oracle.graal.pointsto.flow.ArrayElementsTypeFlow.getState:()Lcom/oracle/graal/pointsto/typestate/TypeState;
aload 7
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.containsObject:(Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)Z
ifne 6
4: aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 7
invokestatic com.oracle.graal.pointsto.typestate.TypeState.forNonNullObject:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)Lcom/oracle/graal/pointsto/typestate/TypeState;
astore 8
start local 8 5: aload 6
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 8
invokevirtual com.oracle.graal.pointsto.flow.ArrayElementsTypeFlow.addState:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/typestate/TypeState;)Z
pop
end local 8 end local 7 end local 6 6: StackMap locals:
StackMap stack:
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 7 0 this Lcom/oracle/graal/pointsto/AnalysisObjectScanner;
0 7 1 array Ljdk/vm/ci/meta/JavaConstant;
0 7 2 arrayType Lcom/oracle/graal/pointsto/meta/AnalysisType;
0 7 3 elementConstant Ljdk/vm/ci/meta/JavaConstant;
0 7 4 elementType Lcom/oracle/graal/pointsto/meta/AnalysisType;
0 7 5 elementIndex I
2 6 6 arrayObjElementsFlow Lcom/oracle/graal/pointsto/flow/ArrayElementsTypeFlow;
3 6 7 constantObject Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
5 6 8 elementTypeState Lcom/oracle/graal/pointsto/typestate/TypeState;
MethodParameters:
Name Flags
array
arrayType
elementConstant
elementType
elementIndex
private com.oracle.graal.pointsto.flow.ArrayElementsTypeFlow getArrayElementsFlow(jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/graal/pointsto/flow/ArrayElementsTypeFlow;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.analysisPolicy:()Lcom/oracle/graal/pointsto/AnalysisPolicy;
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
aload 1
aload 2
invokevirtual com.oracle.graal.pointsto.AnalysisPolicy.createConstantObject:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
astore 3
start local 3 1: aload 3
aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
iconst_1
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.getArrayElementsFlow:(Lcom/oracle/graal/pointsto/BigBang;Z)Lcom/oracle/graal/pointsto/flow/ArrayElementsTypeFlow;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/pointsto/AnalysisObjectScanner;
0 2 1 array Ljdk/vm/ci/meta/JavaConstant;
0 2 2 arrayType Lcom/oracle/graal/pointsto/meta/AnalysisType;
1 2 3 arrayObjConstant Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
MethodParameters:
Name Flags
array
arrayType
protected 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: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
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;
astore 3
start local 3 1: aload 0
getfield com.oracle.graal.pointsto.AnalysisObjectScanner.bb:Lcom/oracle/graal/pointsto/BigBang;
invokevirtual com.oracle.graal.pointsto.BigBang.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
aload 3
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;
astore 4
start local 4 2: aload 4
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.registerAsInHeap:()V
3: return
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/AnalysisObjectScanner;
0 4 1 value Ljdk/vm/ci/meta/JavaConstant;
0 4 2 reason Lcom/oracle/graal/pointsto/ObjectScanner$ScanReason;
1 4 3 valueObj Ljava/lang/Object;
2 4 4 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
MethodParameters:
Name Flags
value
reason
}
SourceFile: "AnalysisObjectScanner.java"
InnerClasses:
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