public class com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow extends com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow
super_class: com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow
{
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/flow/OffsetStoreTypeFlow;
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.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.nodes.ValueNode, com.oracle.graal.pointsto.meta.AnalysisType, com.oracle.graal.pointsto.flow.TypeFlow<?>, com.oracle.graal.pointsto.flow.TypeFlow<?>);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/flow/TypeFlow;Lcom/oracle/graal/pointsto/flow/TypeFlow;)V
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: aload 0
aload 1
aload 2
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getComponentType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
aload 3
aload 4
invokespecial com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/flow/TypeFlow;Lcom/oracle/graal/pointsto/flow/TypeFlow;)V
1: return
end local 4 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/flow/OffsetStoreTypeFlow$StoreIndexedTypeFlow;
0 2 1 node Lorg/graalvm/compiler/nodes/ValueNode;
0 2 2 arrayType Lcom/oracle/graal/pointsto/meta/AnalysisType;
0 2 3 objectFlow Lcom/oracle/graal/pointsto/flow/TypeFlow<*>;
0 2 4 valueFlow Lcom/oracle/graal/pointsto/flow/TypeFlow<*>;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Lcom/oracle/graal/pointsto/meta/AnalysisType;Lcom/oracle/graal/pointsto/flow/TypeFlow<*>;Lcom/oracle/graal/pointsto/flow/TypeFlow<*>;)V
MethodParameters:
Name Flags
node
arrayType
objectFlow
valueFlow
public void <init>(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.flow.MethodFlowsGraph, com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;Lcom/oracle/graal/pointsto/flow/OffsetStoreTypeFlow$StoreIndexedTypeFlow;)V
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: aload 0
aload 1
aload 2
aload 3
invokespecial com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow.<init>:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;Lcom/oracle/graal/pointsto/flow/OffsetStoreTypeFlow;)V
1: return
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/flow/OffsetStoreTypeFlow$StoreIndexedTypeFlow;
0 2 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 2 2 methodFlows Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;
0 2 3 original Lcom/oracle/graal/pointsto/flow/OffsetStoreTypeFlow$StoreIndexedTypeFlow;
MethodParameters:
Name Flags
bb
methodFlows
original
public com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow copy(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.flow.MethodFlowsGraph);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;)Lcom/oracle/graal/pointsto/flow/OffsetStoreTypeFlow$StoreIndexedTypeFlow;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow
dup
aload 1
aload 2
aload 0
invokespecial com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.<init>:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;Lcom/oracle/graal/pointsto/flow/OffsetStoreTypeFlow$StoreIndexedTypeFlow;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/flow/OffsetStoreTypeFlow$StoreIndexedTypeFlow;
0 1 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 1 2 methodFlows Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;
MethodParameters:
Name Flags
bb
methodFlows
public boolean addState(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.typestate.TypeState);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/typestate/TypeState;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.isClone:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.isUnknown:()Z
ifeq 4
2: aload 1
aload 0
getfield com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.graphRef:Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;
invokevirtual com.oracle.graal.pointsto.flow.MethodFlowsGraph.getMethod:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
aload 0
getfield com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.source:Ljava/lang/Object;
checkcast jdk.vm.ci.code.BytecodePosition
new java.lang.StringBuilder
dup
ldc "Illegal: Index storing UnknownTypeState into object array. Store: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.source:Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.graal.pointsto.BigBang.reportIllegalUnknownUse:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljdk/vm/ci/code/BytecodePosition;Ljava/lang/String;)V
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iconst_1
invokespecial com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow.addState:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/typestate/TypeState;Z)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/graal/pointsto/flow/OffsetStoreTypeFlow$StoreIndexedTypeFlow;
0 5 1 bb Lcom/oracle/graal/pointsto/BigBang;
0 5 2 add Lcom/oracle/graal/pointsto/typestate/TypeState;
MethodParameters:
Name Flags
bb
add
public void onObservedUpdate(com.oracle.graal.pointsto.BigBang);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: getstatic com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.isClone:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.objectFlow:Lcom/oracle/graal/pointsto/flow/TypeFlow;
invokevirtual com.oracle.graal.pointsto.flow.TypeFlow.getState:()Lcom/oracle/graal/pointsto/typestate/TypeState;
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.isUnknown:()Z
ifeq 5
3: aload 1
aload 0
getfield com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.graphRef:Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;
invokevirtual com.oracle.graal.pointsto.flow.MethodFlowsGraph.getMethod:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
aload 0
getfield com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.source:Ljava/lang/Object;
checkcast jdk.vm.ci.code.BytecodePosition
new java.lang.StringBuilder
dup
ldc "Illegal: Index storing into UnknownTypeState objects. Store: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.graal.pointsto.BigBang.reportIllegalUnknownUse:(Lcom/oracle/graal/pointsto/meta/AnalysisMethod;Ljdk/vm/ci/code/BytecodePosition;Ljava/lang/String;)V
4: return
5: StackMap locals: com.oracle.graal.pointsto.typestate.TypeState
StackMap stack:
aload 2
invokevirtual com.oracle.graal.pointsto.typestate.TypeState.objects:()[Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 14
StackMap locals: com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow com.oracle.graal.pointsto.BigBang com.oracle.graal.pointsto.typestate.TypeState top int int com.oracle.graal.pointsto.flow.context.object.AnalysisObject[]
StackMap stack:
6: aload 6
iload 4
aaload
astore 3
start local 3 7: aload 1
invokevirtual com.oracle.graal.pointsto.BigBang.analysisPolicy:()Lcom/oracle/graal/pointsto/AnalysisPolicy;
invokevirtual com.oracle.graal.pointsto.AnalysisPolicy.relaxTypeFlowConstraints:()Z
ifeq 9
aload 3
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
ifne 9
8: goto 13
9: StackMap locals: com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow com.oracle.graal.pointsto.BigBang com.oracle.graal.pointsto.typestate.TypeState com.oracle.graal.pointsto.flow.context.object.AnalysisObject int int com.oracle.graal.pointsto.flow.context.object.AnalysisObject[]
StackMap stack:
aload 3
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.isPrimitiveArray:()Z
ifne 13
aload 3
aload 1
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.isEmptyObjectArrayConstant:(Lcom/oracle/graal/pointsto/BigBang;)Z
ifeq 11
10: goto 13
11: StackMap locals:
StackMap stack:
aload 3
aload 1
iconst_1
invokevirtual com.oracle.graal.pointsto.flow.context.object.AnalysisObject.getArrayElementsFlow:(Lcom/oracle/graal/pointsto/BigBang;Z)Lcom/oracle/graal/pointsto/flow/ArrayElementsTypeFlow;
astore 7
start local 7 12: aload 0
aload 1
aload 7
invokevirtual com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.addUse:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/flow/TypeFlow;)Z
pop
end local 7 end local 3 13: StackMap locals: com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow com.oracle.graal.pointsto.BigBang com.oracle.graal.pointsto.typestate.TypeState top int int com.oracle.graal.pointsto.flow.context.object.AnalysisObject[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 5
if_icmplt 6
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/graal/pointsto/flow/OffsetStoreTypeFlow$StoreIndexedTypeFlow;
0 16 1 bb Lcom/oracle/graal/pointsto/BigBang;
2 16 2 objectState Lcom/oracle/graal/pointsto/typestate/TypeState;
7 13 3 object Lcom/oracle/graal/pointsto/flow/context/object/AnalysisObject;
12 13 7 elementsFlow Lcom/oracle/graal/pointsto/flow/TypeFlow<*>;
MethodParameters:
Name Flags
bb
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "StoreIndexedTypeFlow<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.getState:()Lcom/oracle/graal/pointsto/typestate/TypeState;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/pointsto/flow/OffsetStoreTypeFlow$StoreIndexedTypeFlow;
public com.oracle.graal.pointsto.flow.TypeFlow copy(com.oracle.graal.pointsto.BigBang, com.oracle.graal.pointsto.flow.MethodFlowsGraph);
descriptor: (Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;)Lcom/oracle/graal/pointsto/flow/TypeFlow;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow.copy:(Lcom/oracle/graal/pointsto/BigBang;Lcom/oracle/graal/pointsto/flow/MethodFlowsGraph;)Lcom/oracle/graal/pointsto/flow/OffsetStoreTypeFlow$StoreIndexedTypeFlow;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "OffsetStoreTypeFlow.java"
NestHost: com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow
InnerClasses:
public StoreIndexedTypeFlow = com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow$StoreIndexedTypeFlow of com.oracle.graal.pointsto.flow.OffsetStoreTypeFlow