public class com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy extends com.oracle.graal.pointsto.AnalysisPolicy
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy
super_class: com.oracle.graal.pointsto.AnalysisPolicy
{
private com.oracle.graal.pointsto.flow.context.bytecode.BytecodeAnalysisContextPolicy contextPolicy;
descriptor: Lcom/oracle/graal/pointsto/flow/context/bytecode/BytecodeAnalysisContextPolicy;
flags: (0x0002) ACC_PRIVATE
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/BytecodeSensitiveAnalysisPolicy;
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.BytecodeSensitiveAnalysisPolicy.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.oracle.graal.pointsto.AnalysisPolicy.<init>:(Lorg/graalvm/compiler/options/OptionValues;)V
1: aload 0
new com.oracle.graal.pointsto.flow.context.bytecode.BytecodeAnalysisContextPolicy
dup
invokespecial com.oracle.graal.pointsto.flow.context.bytecode.BytecodeAnalysisContextPolicy.<init>:()V
putfield com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.contextPolicy:Lcom/oracle/graal/pointsto/flow/context/bytecode/BytecodeAnalysisContextPolicy;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/pointsto/BytecodeSensitiveAnalysisPolicy;
0 3 1 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
options
public com.oracle.graal.pointsto.flow.context.bytecode.BytecodeAnalysisContextPolicy contextPolicy();
descriptor: ()Lcom/oracle/graal/pointsto/flow/context/bytecode/BytecodeAnalysisContextPolicy;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.contextPolicy:Lcom/oracle/graal/pointsto/flow/context/bytecode/BytecodeAnalysisContextPolicy;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/BytecodeSensitiveAnalysisPolicy;
public boolean needsConstantCache();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/BytecodeSensitiveAnalysisPolicy;
public boolean isSummaryObject(com.oracle.graal.pointsto.flow.context.object.AnalysisObject);
descriptor: (Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.isContextInsensitiveObject:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/BytecodeSensitiveAnalysisPolicy;
0 1 1 object Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
MethodParameters:
Name Flags
object
public boolean isMergingEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/BytecodeSensitiveAnalysisPolicy;
public void noteMerge(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.typestate.TypeState);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/typestate/TypeState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.noteMerge:(Lcom/oracle/graal/pointsto/BigBang;)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/BytecodeSensitiveAnalysisPolicy;
0 2 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 2 2 t Lcom/oracle/graal/pointsto/typestate/TypeState;
MethodParameters:
Name Flags
bb
t
public void noteMerge(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.flow.context.object.AnalysisObject[]);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;[Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 4
StackMap locals: com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy com.oracle.graal.pointsto.BigBang com.oracle.graal.pointsto.flow.context.object.AnalysisObject[] top int int com.oracle.graal.pointsto.flow.context.object.AnalysisObject[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 3
aload 1
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.noteMerge:(Lcom/oracle/graal/pointsto/BigBang;)V
end local 3 3: iinc 4 1
StackMap locals:
StackMap stack:
4: iload 4
iload 5
if_icmplt 1
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/BytecodeSensitiveAnalysisPolicy;
0 6 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 6 2 a [Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
2 3 3 o Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
MethodParameters:
Name Flags
bb
a
public void noteMerge(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.flow.context.object.AnalysisObject);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.noteMerge:(Lcom/oracle/graal/pointsto/BigBang;)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/BytecodeSensitiveAnalysisPolicy;
0 2 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 2 2 o Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
MethodParameters:
Name Flags
bb
o
public boolean isContextSensitiveAllocation(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.graal.pointsto.flow.context.AnalysisContext);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/flow/context/AnalysisContext;)Z
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 1
aload 2
invokevirtual com.oracle.graal.pointsto.BigBang.trackConcreteAnalysisObjects:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/BytecodeSensitiveAnalysisPolicy;
0 1 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 1 2 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
0 1 3 allocationContext Lcom/oracle/graal/pointsto/flow/context/AnalysisContext;
MethodParameters:
Name Flags
bb
type
allocationContext
public com.oracle.graal.pointsto.flow.context.object.AnalysisObject createHeapObject(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.graal.pointsto.flow.context.BytecodeLocation, com.oracle.graal.pointsto.flow.context.AnalysisContext);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;Lcom/oracle/graal/pointsto/flow/context/AnalysisContext;)Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.$assertionsDisabled:Z
ifne 1
getstatic com.oracle.graal.pointsto.api.PointstoOptions.AllocationSiteSensitiveHeap:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 4
invokevirtual com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.isContextSensitiveAllocation:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/flow/context/AnalysisContext;)Z
ifeq 3
2: new com.oracle.graal.pointsto.flow.context.object.AllocationContextSensitiveObject
dup
aload 1
aload 2
aload 3
aload 4
invokespecial com.oracle.graal.pointsto.flow.context.object.AllocationContextSensitiveObject.<init>:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;Lcom/oracle/graal/pointsto/flow/context/AnalysisContext;)V
areturn
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getContextInsensitiveAnalysisObject:()Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
areturn
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/BytecodeSensitiveAnalysisPolicy;
0 4 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 4 2 type Lcom/oracle/graal/pointsto/meta/AnalysisType;
0 4 3 allocationSite Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;
0 4 4 allocationContext Lcom/oracle/graal/pointsto/flow/context/AnalysisContext;
MethodParameters:
Name Flags
bb
type
allocationSite
allocationContext
public com.oracle.graal.pointsto.flow.context.object.AnalysisObject createConstantObject(com.oracle.graal.pointsto.BigBang, jdk.vm.ci.meta.JavaConstant, com.oracle.graal.pointsto.meta.AnalysisType);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;Lcom/oracle/graal/pointsto/meta/AnalysisType;)Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 3
invokevirtual com.oracle.graal.pointsto.BigBang.trackConcreteAnalysisObjects:(Lcom/oracle/graal/pointsto/meta/AnalysisType;)Z
ifeq 2
1: aload 3
aload 1
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getCachedConstantObject:(Lcom/oracle/graal/pointsto/BigBang;Ljdk/vm/ci/meta/JavaConstant;)Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
areturn
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getContextInsensitiveAnalysisObject:()Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
areturn
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/BytecodeSensitiveAnalysisPolicy;
0 3 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 3 2 constant Ljdk/vm/ci/meta/JavaConstant;
0 3 3 exactType Lcom/oracle/graal/pointsto/meta/AnalysisType;
MethodParameters:
Name Flags
bb
constant
exactType
public com.oracle.graal.pointsto.flow.context.BytecodeLocation createAllocationSite(com.oracle.graal.pointsto.BigBang, int, com.oracle.graal.pointsto.meta.AnalysisMethod);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;ILcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;
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: iload 2
aload 3
invokestatic com.oracle.graal.pointsto.flow.context.BytecodeLocation.create:(ILcom/oracle/graal/pointsto/meta/AnalysisMethod;)Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/BytecodeSensitiveAnalysisPolicy;
0 1 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 1 2 bci I
0 1 3 method Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
MethodParameters:
Name Flags
bb
bci
method
public com.oracle.graal.pointsto.typestore.FieldTypeStore createFieldTypeStore(com.oracle.graal.pointsto.flow.context.object.AnalysisObject, com.oracle.graal.pointsto.meta.AnalysisField, com.oracle.graal.pointsto.meta.AnalysisUniverse);
descriptor: (Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;Lcom/oracle/graal/pointsto/meta/AnalysisField;Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;)Lcom/oracle/graal/pointsto/typestore/FieldTypeStore;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.$assertionsDisabled:Z
ifne 1
getstatic com.oracle.graal.pointsto.api.PointstoOptions.AllocationSiteSensitiveHeap:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.isContextInsensitiveObject:()Z
ifeq 3
2: new com.oracle.graal.pointsto.typestore.SplitFieldTypeStore
dup
aload 2
aload 1
invokespecial com.oracle.graal.pointsto.typestore.SplitFieldTypeStore.<init>:(Lcom/oracle/graal/pointsto/meta/AnalysisField;Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)V
areturn
3: StackMap locals:
StackMap stack:
new com.oracle.graal.pointsto.typestore.UnifiedFieldTypeStore
dup
aload 2
aload 1
invokespecial com.oracle.graal.pointsto.typestore.UnifiedFieldTypeStore.<init>:(Lcom/oracle/graal/pointsto/meta/AnalysisField;Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)V
areturn
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/BytecodeSensitiveAnalysisPolicy;
0 4 1 object Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
0 4 2 field Lcom/oracle/graal/pointsto/meta/AnalysisField;
0 4 3 universe Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
MethodParameters:
Name Flags
object
field
universe
public com.oracle.graal.pointsto.typestore.ArrayElementsTypeStore createArrayElementsTypeStore(com.oracle.graal.pointsto.flow.context.object.AnalysisObject, com.oracle.graal.pointsto.meta.AnalysisUniverse);
descriptor: (Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;)Lcom/oracle/graal/pointsto/typestore/ArrayElementsTypeStore;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.$assertionsDisabled:Z
ifne 1
getstatic com.oracle.graal.pointsto.api.PointstoOptions.AllocationSiteSensitiveHeap:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.type:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.isArray:()Z
ifeq 7
2: aload 0
getfield com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.aliasArrayTypeFlows:Z
ifeq 6
3: aload 1
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.type:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getElementalType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
ifeq 5
aload 1
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.isContextInsensitiveObject:()Z
ifeq 5
4: new com.oracle.graal.pointsto.typestore.UnifiedArrayElementsTypeStore
dup
aload 1
invokespecial com.oracle.graal.pointsto.typestore.UnifiedArrayElementsTypeStore.<init>:(Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)V
areturn
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisUniverse.objectType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getArrayClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getContextInsensitiveAnalysisObject:()Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.getArrayElementsTypeStore:()Lcom/oracle/graal/pointsto/typestore/ArrayElementsTypeStore;
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.getArrayElementsTypeStore:(Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)Lcom/oracle/graal/pointsto/typestore/ArrayElementsTypeStore;
areturn
7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/graal/pointsto/BytecodeSensitiveAnalysisPolicy;
0 8 1 object Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
0 8 2 universe Lcom/oracle/graal/pointsto/meta/AnalysisUniverse;
MethodParameters:
Name Flags
object
universe
private static com.oracle.graal.pointsto.typestore.ArrayElementsTypeStore getArrayElementsTypeStore(com.oracle.graal.pointsto.flow.context.object.AnalysisObject);
descriptor: (Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)Lcom/oracle/graal/pointsto/typestore/ArrayElementsTypeStore;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.isContextInsensitiveObject:()Z
ifeq 2
1: new com.oracle.graal.pointsto.typestore.SplitArrayElementsTypeStore
dup
aload 0
invokespecial com.oracle.graal.pointsto.typestore.SplitArrayElementsTypeStore.<init>:(Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)V
areturn
2: StackMap locals:
StackMap stack:
new com.oracle.graal.pointsto.typestore.UnifiedArrayElementsTypeStore
dup
aload 0
invokespecial com.oracle.graal.pointsto.typestore.UnifiedArrayElementsTypeStore.<init>:(Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 object Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
MethodParameters:
Name Flags
object
public com.oracle.graal.pointsto.flow.AbstractVirtualInvokeTypeFlow createVirtualInvokeTypeFlow(jdk.vm.ci.code.BytecodePosition, com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.graal.pointsto.meta.AnalysisMethod, com.oracle.graal.pointsto.flow.TypeFlow<?>[], com.oracle.graal.pointsto.flow.ActualReturnTypeFlow, com.oracle.graal.pointsto.flow.context.BytecodeLocation);
descriptor: (Ljdk/vm/ci/code/BytecodePosition;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;[Lcom/oracle/graal/pointsto/flow/TypeFlow;Lcom/oracle/graal/pointsto/flow/ActualReturnTypeFlow;Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;)Lcom/oracle/graal/pointsto/flow/AbstractVirtualInvokeTypeFlow;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy$BytecodeSensitiveVirtualInvokeTypeFlow
dup
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
invokespecial com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy$BytecodeSensitiveVirtualInvokeTypeFlow.<init>:(Ljdk/vm/ci/code/BytecodePosition;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;[Lcom/oracle/graal/pointsto/flow/TypeFlow;Lcom/oracle/graal/pointsto/flow/ActualReturnTypeFlow;Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;)V
areturn
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 1 0 this Lcom/oracle/graal/pointsto/BytecodeSensitiveAnalysisPolicy;
0 1 1 invokeLocation Ljdk/vm/ci/code/BytecodePosition;
0 1 2 receiverType Lcom/oracle/graal/pointsto/meta/AnalysisType;
0 1 3 targetMethod Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
0 1 4 actualParameters [Lcom/oracle/graal/pointsto/flow/TypeFlow;
0 1 5 actualReturn Lcom/oracle/graal/pointsto/flow/ActualReturnTypeFlow;
0 1 6 location Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;
Signature: (Ljdk/vm/ci/code/BytecodePosition;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;[Lcom/oracle/graal/pointsto/flow/TypeFlow<*>;Lcom/oracle/graal/pointsto/flow/ActualReturnTypeFlow;Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;)Lcom/oracle/graal/pointsto/flow/AbstractVirtualInvokeTypeFlow;
MethodParameters:
Name Flags
invokeLocation
receiverType
targetMethod
actualParameters
actualReturn
location
public com.oracle.graal.pointsto.flow.AbstractSpecialInvokeTypeFlow createSpecialInvokeTypeFlow(jdk.vm.ci.code.BytecodePosition, com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.graal.pointsto.meta.AnalysisMethod, com.oracle.graal.pointsto.flow.TypeFlow<?>[], com.oracle.graal.pointsto.flow.ActualReturnTypeFlow, com.oracle.graal.pointsto.flow.context.BytecodeLocation);
descriptor: (Ljdk/vm/ci/code/BytecodePosition;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;[Lcom/oracle/graal/pointsto/flow/TypeFlow;Lcom/oracle/graal/pointsto/flow/ActualReturnTypeFlow;Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;)Lcom/oracle/graal/pointsto/flow/AbstractSpecialInvokeTypeFlow;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy$BytecodeSensitiveSpecialInvokeTypeFlow
dup
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
invokespecial com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy$BytecodeSensitiveSpecialInvokeTypeFlow.<init>:(Ljdk/vm/ci/code/BytecodePosition;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;[Lcom/oracle/graal/pointsto/flow/TypeFlow;Lcom/oracle/graal/pointsto/flow/ActualReturnTypeFlow;Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;)V
areturn
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 1 0 this Lcom/oracle/graal/pointsto/BytecodeSensitiveAnalysisPolicy;
0 1 1 invokeLocation Ljdk/vm/ci/code/BytecodePosition;
0 1 2 receiverType Lcom/oracle/graal/pointsto/meta/AnalysisType;
0 1 3 targetMethod Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
0 1 4 actualParameters [Lcom/oracle/graal/pointsto/flow/TypeFlow;
0 1 5 actualReturn Lcom/oracle/graal/pointsto/flow/ActualReturnTypeFlow;
0 1 6 location Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;
Signature: (Ljdk/vm/ci/code/BytecodePosition;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/meta/AnalysisMethod;[Lcom/oracle/graal/pointsto/flow/TypeFlow<*>;Lcom/oracle/graal/pointsto/flow/ActualReturnTypeFlow;Lcom/oracle/graal/pointsto/flow/context/BytecodeLocation;)Lcom/oracle/graal/pointsto/flow/AbstractSpecialInvokeTypeFlow;
MethodParameters:
Name Flags
invokeLocation
receiverType
targetMethod
actualParameters
actualReturn
location
public com.oracle.graal.pointsto.flow.context.AnalysisContextPolicy contextPolicy();
descriptor: ()Lcom/oracle/graal/pointsto/flow/context/AnalysisContextPolicy;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy.contextPolicy:()Lcom/oracle/graal/pointsto/flow/context/bytecode/BytecodeAnalysisContextPolicy;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "BytecodeSensitiveAnalysisPolicy.java"
NestMembers:
com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy$BytecodeSensitiveSpecialInvokeTypeFlow com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy$BytecodeSensitiveVirtualInvokeTypeFlow
InnerClasses:
private final BytecodeSensitiveSpecialInvokeTypeFlow = com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy$BytecodeSensitiveSpecialInvokeTypeFlow of com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy
private BytecodeSensitiveVirtualInvokeTypeFlow = com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy$BytecodeSensitiveVirtualInvokeTypeFlow of com.oracle.graal.pointsto.BytecodeSensitiveAnalysisPolicy