public abstract class org.graalvm.compiler.core.common.type.AbstractObjectStamp extends org.graalvm.compiler.core.common.type.AbstractPointerStamp
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.core.common.type.AbstractObjectStamp
super_class: org.graalvm.compiler.core.common.type.AbstractPointerStamp
{
private final jdk.vm.ci.meta.ResolvedJavaType type;
descriptor: Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean exactType;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean alwaysArray;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(jdk.vm.ci.meta.ResolvedJavaType, boolean, boolean, boolean, boolean);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;ZZZZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 3
iload 4
invokespecial org.graalvm.compiler.core.common.type.AbstractPointerStamp.<init>:(ZZ)V
1: aload 0
aload 1
putfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
2: aload 0
iload 2
putfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
3: aload 0
iload 5
ifne 5
aload 1
ifnull 4
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 5
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp jdk.vm.ci.meta.ResolvedJavaType int int int int
StackMap stack: org.graalvm.compiler.core.common.type.AbstractObjectStamp
4: iconst_0
goto 6
StackMap locals:
StackMap stack: org.graalvm.compiler.core.common.type.AbstractObjectStamp
5: iconst_1
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp jdk.vm.ci.meta.ResolvedJavaType int int int int
StackMap stack: org.graalvm.compiler.core.common.type.AbstractObjectStamp int
6: putfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
7: 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 8 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
0 8 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
0 8 2 exactType Z
0 8 3 nonNull Z
0 8 4 alwaysNull Z
0 8 5 alwaysArray Z
MethodParameters:
Name Flags
type
exactType
nonNull
alwaysNull
alwaysArray
public void accept(org.graalvm.compiler.serviceprovider.SpeculationReasonGroup$SpeculationContextObject$Visitor);
descriptor: (Lorg/graalvm/compiler/serviceprovider/SpeculationReasonGroup$SpeculationContextObject$Visitor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.core.common.type.AbstractPointerStamp.accept:(Lorg/graalvm/compiler/serviceprovider/SpeculationReasonGroup$SpeculationContextObject$Visitor;)V
1: aload 1
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface org.graalvm.compiler.serviceprovider.SpeculationReasonGroup$SpeculationContextObject$Visitor.visitObject:(Ljava/lang/Object;)V
2: aload 1
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
invokeinterface org.graalvm.compiler.serviceprovider.SpeculationReasonGroup$SpeculationContextObject$Visitor.visitBoolean:(Z)V
3: aload 1
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
invokeinterface org.graalvm.compiler.serviceprovider.SpeculationReasonGroup$SpeculationContextObject$Visitor.visitBoolean:(Z)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
0 5 1 v Lorg/graalvm/compiler/serviceprovider/SpeculationReasonGroup$SpeculationContextObject$Visitor;
MethodParameters:
Name Flags
v
protected abstract org.graalvm.compiler.core.common.type.AbstractObjectStamp copyWith(jdk.vm.ci.meta.ResolvedJavaType, boolean, boolean, boolean, boolean);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;ZZZZ)Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
newType
newExactType
newNonNull
newAlwaysNull
newAlwaysArray
protected final org.graalvm.compiler.core.common.type.AbstractPointerStamp copyWith(boolean, boolean);
descriptor: (ZZ)Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
iload 1
iload 2
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.copyWith:(Ljdk/vm/ci/meta/ResolvedJavaType;ZZZZ)Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
0 1 1 newNonNull Z
0 1 2 newAlwaysNull Z
MethodParameters:
Name Flags
newNonNull
newAlwaysNull
public org.graalvm.compiler.core.common.type.Stamp unrestricted();
descriptor: ()Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
iconst_0
iconst_0
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.copyWith:(Ljdk/vm/ci/meta/ResolvedJavaType;ZZZZ)Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
public org.graalvm.compiler.core.common.type.Stamp empty();
descriptor: ()Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
iconst_1
iconst_1
iconst_0
iconst_0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.copyWith:(Ljdk/vm/ci/meta/ResolvedJavaType;ZZZZ)Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
public org.graalvm.compiler.core.common.type.Stamp constant(jdk.vm.ci.meta.Constant, jdk.vm.ci.meta.MetaAccessProvider);
descriptor: (Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/MetaAccessProvider;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast jdk.vm.ci.meta.JavaConstant
astore 3
start local 3 1: aload 3
invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
ifeq 2
aconst_null
goto 3
StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
2: aload 2
aload 3
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaType;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.ResolvedJavaType
3: astore 4
start local 4 4: aload 0
aload 4
aload 3
invokeinterface jdk.vm.ci.meta.JavaConstant.isNonNull:()Z
aload 3
invokeinterface jdk.vm.ci.meta.JavaConstant.isNonNull:()Z
aload 3
invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
iconst_0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.copyWith:(Ljdk/vm/ci/meta/ResolvedJavaType;ZZZZ)Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
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 Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
0 5 1 c Ljdk/vm/ci/meta/Constant;
0 5 2 meta Ljdk/vm/ci/meta/MetaAccessProvider;
1 5 3 jc Ljdk/vm/ci/meta/JavaConstant;
4 5 4 constType Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
c
meta
public boolean hasValues();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
ifeq 2
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnull 1
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.AbstractObjectStamp.isConcreteType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
public jdk.vm.ci.meta.JavaKind getStackKind();
descriptor: ()Ljdk/vm/ci/meta/JavaKind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
public jdk.vm.ci.meta.ResolvedJavaType javaType(jdk.vm.ci.meta.MetaAccessProvider);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnull 2
1: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/lang/Object;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
0 3 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
MethodParameters:
Name Flags
metaAccess
public jdk.vm.ci.meta.ResolvedJavaType type();
descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
public boolean isExactType();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
ifeq 1
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
public boolean isAlwaysArray();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
public org.graalvm.compiler.core.common.type.AbstractObjectStamp asAlwaysArray();
descriptor: ()Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
iconst_1
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.copyWith:(Ljdk/vm/ci/meta/ResolvedJavaType;ZZZZ)Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
protected void appendString(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.isEmpty:()Z
ifeq 3
1: aload 1
ldc " empty"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: goto 14
3: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
ifeq 4
ldc "!"
goto 5
StackMap locals:
StackMap stack: java.lang.StringBuilder
4: ldc ""
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
ifeq 6
ldc "#"
goto 7
StackMap locals:
StackMap stack: java.lang.StringBuilder
6: ldc ""
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
ifeq 8
ldc "["
goto 9
StackMap locals:
StackMap stack: java.lang.StringBuilder
8: ldc ""
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnonnull 10
ldc "-"
goto 11
StackMap locals:
StackMap stack: java.lang.StringBuilder
10: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
11: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
ifeq 12
ldc " NULL"
goto 13
StackMap locals:
StackMap stack: java.lang.StringBuilder
12: ldc ""
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp java.lang.StringBuilder
StackMap stack: java.lang.StringBuilder java.lang.String
13: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
0 15 1 str Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
str
public org.graalvm.compiler.core.common.type.Stamp meet(org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.core.common.type.AbstractObjectStamp
astore 2
start local 2 3: aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.isEmpty:()Z
ifeq 5
4: aload 2
areturn
5: StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.isEmpty:()Z
ifeq 7
6: aload 0
areturn
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
ifeq 14
8: aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 3
start local 3 9: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
istore 4
start local 4 10: iconst_0
istore 5
start local 5 11: aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
istore 6
start local 6 12: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
istore 7
start local 7 13: goto 36
end local 7 end local 6 end local 5 end local 4 end local 3 StackMap locals:
StackMap stack:
14: aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
ifeq 21
15: aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 3
start local 3 16: aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
istore 4
start local 4 17: iconst_0
istore 5
start local 5 18: aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
istore 6
start local 6 19: aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
istore 7
start local 7 20: goto 36
end local 7 end local 6 end local 5 end local 4 end local 3 21: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.AbstractObjectStamp.meetTypes:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 3
start local 3 22: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
ifeq 23
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
ifeq 23
iconst_1
goto 24
StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
23: iconst_0
StackMap locals:
StackMap stack: int
24: istore 4
start local 4 25: iload 4
ifeq 29
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnull 29
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnull 29
26: aload 3
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 27
aload 3
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 27
iconst_1
goto 28
StackMap locals: int
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: istore 4
29: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
ifeq 30
aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
ifeq 30
iconst_1
goto 31
StackMap locals:
StackMap stack:
30: iconst_0
StackMap locals:
StackMap stack: int
31: istore 5
start local 5 32: iconst_0
istore 6
start local 6 33: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
ifeq 34
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
ifeq 34
iconst_1
goto 35
StackMap locals: int int
StackMap stack:
34: iconst_0
StackMap locals:
StackMap stack: int
35: istore 7
start local 7 36: StackMap locals: int
StackMap stack:
aload 3
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 38
iload 4
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
if_icmpne 38
iload 5
aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
if_icmpne 38
iload 6
aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
if_icmpne 38
iload 7
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
if_icmpne 38
37: aload 0
areturn
38: StackMap locals:
StackMap stack:
aload 3
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 41
iload 4
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
if_icmpne 41
iload 5
aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
if_icmpne 41
iload 6
aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
if_icmpne 41
39: iload 7
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
if_icmpne 41
40: aload 2
areturn
41: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 4
iload 5
iload 6
iload 7
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.copyWith:(Ljdk/vm/ci/meta/ResolvedJavaType;ZZZZ)Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
areturn
end local 7 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 42 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
0 42 1 otherStamp Lorg/graalvm/compiler/core/common/type/Stamp;
3 42 2 other Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
9 14 3 meetType Ljdk/vm/ci/meta/ResolvedJavaType;
16 21 3 meetType Ljdk/vm/ci/meta/ResolvedJavaType;
22 42 3 meetType Ljdk/vm/ci/meta/ResolvedJavaType;
10 14 4 meetExactType Z
17 21 4 meetExactType Z
25 42 4 meetExactType Z
11 14 5 meetNonNull Z
18 21 5 meetNonNull Z
32 42 5 meetNonNull Z
12 14 6 meetAlwaysNull Z
19 21 6 meetAlwaysNull Z
33 42 6 meetAlwaysNull Z
13 14 7 meetAlwaysArray Z
20 21 7 meetAlwaysArray Z
36 42 7 meetAlwaysArray Z
MethodParameters:
Name Flags
otherStamp
public org.graalvm.compiler.core.common.type.Stamp join(org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.join0:(Lorg/graalvm/compiler/core/common/type/Stamp;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
0 1 1 otherStamp Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
otherStamp
public org.graalvm.compiler.core.common.type.Stamp improveWith(org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.join0:(Lorg/graalvm/compiler/core/common/type/Stamp;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
0 1 1 other Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
other
private org.graalvm.compiler.core.common.type.Stamp join0(org.graalvm.compiler.core.common.type.Stamp, boolean);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
if_acmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.core.common.type.AbstractObjectStamp
astore 3
start local 3 3: aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.isEmpty:()Z
ifeq 5
4: aload 0
areturn
5: StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.isEmpty:()Z
ifeq 7
6: aload 3
areturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
ifne 8
aload 3
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
ifne 8
iconst_0
goto 9
StackMap locals:
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: istore 5
start local 5 10: aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
ifne 11
aload 3
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
ifne 11
iconst_0
goto 12
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp org.graalvm.compiler.core.common.type.Stamp int org.graalvm.compiler.core.common.type.AbstractObjectStamp top int
StackMap stack:
11: iconst_1
StackMap locals:
StackMap stack: int
12: istore 6
start local 6 13: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
ifne 14
aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
ifne 14
iconst_0
goto 15
StackMap locals: int
StackMap stack:
14: iconst_1
StackMap locals:
StackMap stack: int
15: istore 7
start local 7 16: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
ifne 17
aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
ifne 17
iconst_0
goto 18
StackMap locals: int
StackMap stack:
17: iconst_1
StackMap locals:
StackMap stack: int
18: istore 8
start local 8 19: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 22
20: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 21: goto 45
end local 4 StackMap locals: int
StackMap stack:
22: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnonnull 25
23: aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 24: goto 45
end local 4 StackMap locals:
StackMap stack:
25: aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnonnull 28
26: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 27: goto 45
end local 4 28: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 33
29: aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 30: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
ifeq 45
31: iconst_1
istore 5
32: goto 45
end local 4 StackMap locals:
StackMap stack:
33: aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 38
34: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 35: aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
ifeq 45
36: iconst_1
istore 5
37: goto 45
end local 4 38: StackMap locals:
StackMap stack:
iload 2
ifeq 42
39: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 40: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
istore 7
41: goto 43
end local 4 42: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 43: StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp org.graalvm.compiler.core.common.type.Stamp int org.graalvm.compiler.core.common.type.AbstractObjectStamp jdk.vm.ci.meta.ResolvedJavaType int int int int
StackMap stack:
iload 7
ifne 44
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.AbstractObjectStamp.isInterfaceOrArrayOfInterface:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 45
aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.AbstractObjectStamp.isInterfaceOrArrayOfInterface:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 45
44: StackMap locals:
StackMap stack:
iconst_1
istore 5
45: StackMap locals:
StackMap stack:
iload 8
ifeq 47
aload 4
ifnull 47
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 47
iload 7
ifne 46
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
ifne 47
46: StackMap locals:
StackMap stack:
iconst_1
istore 5
47: StackMap locals:
StackMap stack:
iload 5
ifeq 51
48: aconst_null
astore 4
49: iconst_0
istore 7
50: iconst_0
istore 8
51: StackMap locals:
StackMap stack:
iload 7
ifeq 53
aload 4
ifnonnull 53
52: aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.empty:()Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
53: StackMap locals:
StackMap stack:
iload 5
ifeq 55
iload 6
ifeq 55
54: aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.empty:()Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
55: StackMap locals:
StackMap stack:
iload 7
ifeq 57
aload 4
invokestatic org.graalvm.compiler.core.common.type.AbstractObjectStamp.isConcreteType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 57
56: aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.empty:()Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
57: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 59
iload 7
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
if_icmpne 59
iload 6
aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
if_icmpne 59
iload 5
aload 0
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
if_icmpne 59
iload 8
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
if_icmpne 59
58: aload 0
areturn
59: StackMap locals:
StackMap stack:
aload 4
aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 62
iload 7
aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
if_icmpne 62
iload 6
aload 3
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
if_icmpne 62
iload 5
aload 3
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysNull:()Z
if_icmpne 62
60: iload 8
aload 3
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
if_icmpne 62
61: aload 3
areturn
62: StackMap locals:
StackMap stack:
aload 0
aload 4
iload 7
iload 6
iload 5
iload 8
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.copyWith:(Ljdk/vm/ci/meta/ResolvedJavaType;ZZZZ)Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
areturn
end local 8 end local 7 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 63 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
0 63 1 otherStamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 63 2 improve Z
3 63 3 other Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
21 22 4 joinType Ljdk/vm/ci/meta/ResolvedJavaType;
24 25 4 joinType Ljdk/vm/ci/meta/ResolvedJavaType;
27 28 4 joinType Ljdk/vm/ci/meta/ResolvedJavaType;
30 33 4 joinType Ljdk/vm/ci/meta/ResolvedJavaType;
35 38 4 joinType Ljdk/vm/ci/meta/ResolvedJavaType;
40 42 4 joinType Ljdk/vm/ci/meta/ResolvedJavaType;
43 63 4 joinType Ljdk/vm/ci/meta/ResolvedJavaType;
10 63 5 joinAlwaysNull Z
13 63 6 joinNonNull Z
16 63 7 joinExactType Z
19 63 8 joinAlwaysArray Z
MethodParameters:
Name Flags
otherStamp
improve
private static boolean isInterfaceOrArrayOfInterface(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
ifne 2
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifeq 1
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getElementalType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
ifne 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 t Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
t
public static boolean isConcreteType(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAbstract:()Z
ifeq 1
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
type
private static jdk.vm.ci.meta.ResolvedJavaType meetTypes(jdk.vm.ci.meta.ResolvedJavaType, jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
ifnull 3
aload 1
ifnonnull 4
3: StackMap locals:
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
istore 2
start local 2 5: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
istore 3
start local 3 6: iload 2
iload 3
if_icmpge 8
7: aload 0
aload 1
invokestatic org.graalvm.compiler.core.common.type.AbstractObjectStamp.meetOrderedNonNullTypes:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
areturn
8: StackMap locals: int int
StackMap stack:
iload 3
iload 2
if_icmpge 10
9: aload 1
aload 0
invokestatic org.graalvm.compiler.core.common.type.AbstractObjectStamp.meetOrderedNonNullTypes:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
areturn
10: StackMap locals:
StackMap stack:
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getName:()Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
istore 4
start local 4 11: iload 4
ifgt 13
12: aload 0
aload 1
invokestatic org.graalvm.compiler.core.common.type.AbstractObjectStamp.meetOrderedNonNullTypes:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
areturn
13: StackMap locals: int
StackMap stack:
aload 1
aload 0
invokestatic org.graalvm.compiler.core.common.type.AbstractObjectStamp.meetOrderedNonNullTypes:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 a Ljdk/vm/ci/meta/ResolvedJavaType;
0 14 1 b Ljdk/vm/ci/meta/ResolvedJavaType;
5 14 2 hashA I
6 14 3 hashB I
11 14 4 diff I
MethodParameters:
Name Flags
a
b
private static jdk.vm.ci.meta.ResolvedJavaType meetOrderedNonNullTypes(jdk.vm.ci.meta.ResolvedJavaType, jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=10, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.findLeastCommonAncestor:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 2
start local 2 1: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
ifeq 17
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
ifeq 17
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
ifeq 17
2: aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getInterfaces:()[Ljdk/vm/ci/meta/ResolvedJavaType;
astore 3
start local 3 3: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getInterfaces:()[Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 16
6: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType[] jdk.vm.ci.meta.ResolvedJavaType[] int
StackMap stack:
aload 3
iload 5
aaload
astore 6
start local 6 7: iconst_0
istore 7
start local 7 8: goto 14
9: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType int
StackMap stack:
aload 4
iload 7
aaload
astore 8
start local 8 10: aload 6
aload 8
invokestatic org.graalvm.compiler.core.common.type.AbstractObjectStamp.meetTypes:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 9
start local 9 11: aload 9
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
ifeq 13
12: aload 9
areturn
end local 9 end local 8 13: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
aload 4
arraylength
if_icmplt 9
end local 7 end local 6 15: iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
aload 3
arraylength
if_icmplt 6
end local 5 end local 4 end local 3 17: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 a Ljdk/vm/ci/meta/ResolvedJavaType;
0 18 1 b Ljdk/vm/ci/meta/ResolvedJavaType;
1 18 2 result Ljdk/vm/ci/meta/ResolvedJavaType;
3 17 3 interfacesA [Ljdk/vm/ci/meta/ResolvedJavaType;
4 17 4 interfacesB [Ljdk/vm/ci/meta/ResolvedJavaType;
5 17 5 i I
7 15 6 interface1 Ljdk/vm/ci/meta/ResolvedJavaType;
8 15 7 j I
10 13 8 interface2 Ljdk/vm/ci/meta/ResolvedJavaType;
11 13 9 leastCommon Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
a
b
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: bipush 31
iload 1
imul
aload 0
invokespecial org.graalvm.compiler.core.common.type.AbstractPointerStamp.hashCode:()I
iadd
istore 1
2: bipush 31
iload 1
imul
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
ifeq 3
sipush 1231
goto 4
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp int
StackMap stack: int
3: sipush 1237
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp int
StackMap stack: int int
4: iadd
istore 1
5: bipush 31
iload 1
imul
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
ifeq 6
sipush 1231
goto 7
StackMap locals:
StackMap stack: int
6: sipush 1237
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp int
StackMap stack: int int
7: iadd
istore 1
8: bipush 31
iload 1
imul
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnull 9
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
ifeq 10
StackMap locals:
StackMap stack: int
9: iconst_0
goto 11
StackMap locals:
StackMap stack: int
10: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.hashCode:()I
StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp int
StackMap stack: int int
11: iadd
istore 1
12: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
1 13 1 result I
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.core.common.type.AbstractObjectStamp
astore 2
start local 2 5: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.exactType:Z
if_icmpeq 7
6: iconst_0
ireturn
7: StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.alwaysArray:Z
if_icmpeq 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnonnull 12
10: aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnull 17
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
ifne 17
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnonnull 15
13: aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
ifnull 17
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
ifne 17
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
aload 2
getfield org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 17
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
aload 0
aload 2
invokespecial org.graalvm.compiler.core.common.type.AbstractPointerStamp.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
0 18 1 obj Ljava/lang/Object;
5 18 2 other Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
MethodParameters:
Name Flags
obj
}
SourceFile: "AbstractObjectStamp.java"
InnerClasses:
public abstract SpeculationContextObject = org.graalvm.compiler.serviceprovider.SpeculationReasonGroup$SpeculationContextObject of org.graalvm.compiler.serviceprovider.SpeculationReasonGroup
public abstract Visitor = org.graalvm.compiler.serviceprovider.SpeculationReasonGroup$SpeculationContextObject$Visitor of org.graalvm.compiler.serviceprovider.SpeculationReasonGroup$SpeculationContextObject