class com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy extends com.oracle.graal.pointsto.HeapScanningPolicy
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy
super_class: com.oracle.graal.pointsto.HeapScanningPolicy
{
final java.util.Map<com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData> skipTypes;
descriptor: Ljava/util/Map;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy$SkipData;>;
void <init>(com.oracle.graal.pointsto.meta.AnalysisType[]);
descriptor: ([Lcom/oracle/graal/pointsto/meta/AnalysisType;)V
flags: (0x0080) ACC_VARARGS
Code:
stack=4, locals=6, args_size=2
start local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
start local 1 // com.oracle.graal.pointsto.meta.AnalysisType[] types
0: .line 98
aload 0 /* this */
invokespecial com.oracle.graal.pointsto.HeapScanningPolicy.<init>:()V
1: .line 99
aload 0 /* this */
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy.skipTypes:Ljava/util/Map;
2: .line 100
aload 1 /* types */
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 6
StackMap locals: com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy com.oracle.graal.pointsto.meta.AnalysisType[] top int int com.oracle.graal.pointsto.meta.AnalysisType[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2 /* type */
start local 2 // com.oracle.graal.pointsto.meta.AnalysisType type
4: .line 101
aload 0 /* this */
getfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy.skipTypes:Ljava/util/Map;
aload 2 /* type */
new com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData
dup
invokespecial com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData.<init>:()V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 // com.oracle.graal.pointsto.meta.AnalysisType type
5: .line 100
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 4
if_icmplt 3
7: .line 103
return
end local 1 // com.oracle.graal.pointsto.meta.AnalysisType[] types
end local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy;
0 8 1 types [Lcom/oracle/graal/pointsto/meta/AnalysisType;
4 5 2 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
MethodParameters:
Name Flags
types
public boolean trackConstant(com.oracle.graal.pointsto.BigBang, jdk.vm.ci.meta.JavaConstant);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
start local 1 // com.oracle.graal.pointsto.BigBang bb
start local 2 // jdk.vm.ci.meta.JavaConstant constant
0: .line 107
aload 1 /* bb */
invokevirtual com.oracle.graal.pointsto.BigBang.getMetaAccess:()Lcom/oracle/graal/pointsto/meta/AnalysisMetaAccess;
aload 2 /* constant */
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 /* type */
start local 3 // com.oracle.graal.pointsto.meta.AnalysisType type
1: .line 108
aload 0 /* this */
getfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy.skipTypes:Ljava/util/Map;
aload 3 /* type */
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData
astore 4 /* data */
start local 4 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData data
2: .line 109
aload 4 /* data */
ifnull 7
3: .line 110
aload 4 /* data */
getfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData.seenForTracking:Z
ifeq 5
4: .line 111
iconst_0
ireturn
5: .line 113
StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData
StackMap stack:
aload 4 /* data */
iconst_1
putfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData.seenForTracking:Z
6: .line 114
iconst_1
ireturn
7: .line 116
StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData data
end local 3 // com.oracle.graal.pointsto.meta.AnalysisType type
end local 2 // jdk.vm.ci.meta.JavaConstant constant
end local 1 // com.oracle.graal.pointsto.BigBang bb
end local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy;
0 8 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 8 2 constant Ljdk/vm/ci/meta/JavaConstant;
1 8 3 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
2 8 4 data Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy$SkipData;
MethodParameters:
Name Flags
bb
constant
public boolean scanConstant(com.oracle.graal.pointsto.BigBang, jdk.vm.ci.meta.JavaConstant);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
start local 1 // com.oracle.graal.pointsto.BigBang bb
start local 2 // jdk.vm.ci.meta.JavaConstant constant
0: .line 121
aload 1 /* bb */
aload 2 /* constant */
invokestatic com.oracle.graal.pointsto.ObjectScanner.constantType:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 3 /* type */
start local 3 // com.oracle.graal.pointsto.meta.AnalysisType type
1: .line 122
aload 0 /* this */
getfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy.skipTypes:Ljava/util/Map;
aload 3 /* type */
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData
astore 4 /* data */
start local 4 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData data
2: .line 123
aload 4 /* data */
ifnull 7
3: .line 124
aload 4 /* data */
getfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData.seenForScanning:Z
ifeq 5
4: .line 125
iconst_0
ireturn
5: .line 127
StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData
StackMap stack:
aload 4 /* data */
iconst_1
putfield com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData.seenForScanning:Z
6: .line 128
iconst_1
ireturn
7: .line 130
StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData data
end local 3 // com.oracle.graal.pointsto.meta.AnalysisType type
end local 2 // jdk.vm.ci.meta.JavaConstant constant
end local 1 // com.oracle.graal.pointsto.BigBang bb
end local 0 // com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy;
0 8 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 8 2 constant Ljdk/vm/ci/meta/JavaConstant;
1 8 3 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
2 8 4 data Lcom/oracle/graal/pointsto/HeapScanningPolicy$SkipTypesPolicy$SkipData;
MethodParameters:
Name Flags
bb
constant
}
SourceFile: "HeapScanningPolicy.java"
NestHost: com.oracle.graal.pointsto.HeapScanningPolicy
InnerClasses:
SkipTypesPolicy = com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy of com.oracle.graal.pointsto.HeapScanningPolicy
SkipData = com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy$SkipData of com.oracle.graal.pointsto.HeapScanningPolicy$SkipTypesPolicy