class org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator implements java.util.Comparator<jdk.vm.ci.code.site.Site>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator
super_class: java.lang.Object
{
static final java.util.Map<jdk.vm.ci.code.site.InfopointReason, java.lang.Integer> HOTSPOT_INFOPOINT_SORT_ORDER;
descriptor: Ljava/util/Map;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljdk/vm/ci/code/site/InfopointReason;Ljava/lang/Integer;>;
boolean sawCollidingInfopoints;
descriptor: Z
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.EnumMap
dup
ldc Ljdk/vm/ci/code/site/InfopointReason;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putstatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.HOTSPOT_INFOPOINT_SORT_ORDER:Ljava/util/Map;
1: getstatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.HOTSPOT_INFOPOINT_SORT_ORDER:Ljava/util/Map;
getstatic jdk.vm.ci.code.site.InfopointReason.SAFEPOINT:Ljdk/vm/ci/code/site/InfopointReason;
bipush -4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: getstatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.HOTSPOT_INFOPOINT_SORT_ORDER:Ljava/util/Map;
getstatic jdk.vm.ci.code.site.InfopointReason.CALL:Ljdk/vm/ci/code/site/InfopointReason;
bipush -3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.HOTSPOT_INFOPOINT_SORT_ORDER:Ljava/util/Map;
getstatic jdk.vm.ci.code.site.InfopointReason.IMPLICIT_EXCEPTION:Ljdk/vm/ci/code/site/InfopointReason;
bipush -2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.HOTSPOT_INFOPOINT_SORT_ORDER:Ljava/util/Map;
getstatic jdk.vm.ci.code.site.InfopointReason.METHOD_START:Ljdk/vm/ci/code/site/InfopointReason;
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.HOTSPOT_INFOPOINT_SORT_ORDER:Ljava/util/Map;
getstatic jdk.vm.ci.code.site.InfopointReason.METHOD_END:Ljdk/vm/ci/code/site/InfopointReason;
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: getstatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.HOTSPOT_INFOPOINT_SORT_ORDER:Ljava/util/Map;
getstatic jdk.vm.ci.code.site.InfopointReason.BYTECODE_POSITION:Ljdk/vm/ci/code/site/InfopointReason;
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/HotSpotCompiledCodeBuilder$SiteComparator;
static int ord(jdk.vm.ci.code.site.Infopoint);
descriptor: (Ljdk/vm/ci/code/site/Infopoint;)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.HOTSPOT_INFOPOINT_SORT_ORDER:Ljava/util/Map;
aload 0
getfield jdk.vm.ci.code.site.Infopoint.reason:Ljdk/vm/ci/code/site/InfopointReason;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 info Ljdk/vm/ci/code/site/Infopoint;
MethodParameters:
Name Flags
info
static int checkCollision(jdk.vm.ci.code.site.Infopoint, jdk.vm.ci.code.site.Infopoint);
descriptor: (Ljdk/vm/ci/code/site/Infopoint;Ljdk/vm/ci/code/site/Infopoint;)I
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.ord:(Ljdk/vm/ci/code/site/Infopoint;)I
istore 2
start local 2 1: aload 1
invokestatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.ord:(Ljdk/vm/ci/code/site/Infopoint;)I
istore 3
start local 3 2: iload 2
ifge 4
iload 3
ifge 4
3: new org.graalvm.compiler.debug.GraalError
dup
ldc "Non optional infopoints cannot collide: %s and %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 1
aastore
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
4: StackMap locals: int int
StackMap stack:
iload 2
iload 3
isub
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 i1 Ljdk/vm/ci/code/site/Infopoint;
0 5 1 i2 Ljdk/vm/ci/code/site/Infopoint;
1 5 2 o1 I
2 5 3 o2 I
MethodParameters:
Name Flags
i1
i2
public int compare(jdk.vm.ci.code.site.Site, jdk.vm.ci.code.site.Site);
descriptor: (Ljdk/vm/ci/code/site/Site;Ljdk/vm/ci/code/site/Site;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield jdk.vm.ci.code.site.Site.pcOffset:I
aload 2
getfield jdk.vm.ci.code.site.Site.pcOffset:I
if_icmpne 16
1: aload 1
instanceof jdk.vm.ci.code.site.Mark
istore 3
start local 3 2: aload 2
instanceof jdk.vm.ci.code.site.Mark
istore 4
start local 4 3: iload 3
iload 4
if_icmpeq 7
4: iload 3
ifeq 5
iconst_m1
goto 6
StackMap locals: int int
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: ireturn
7: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.vm.ci.code.site.Infopoint
istore 5
start local 5 8: aload 2
instanceof jdk.vm.ci.code.site.Infopoint
istore 6
start local 6 9: iload 5
iload 6
if_icmpeq 13
10: iload 5
ifeq 11
iconst_1
goto 12
StackMap locals: int int
StackMap stack:
11: iconst_m1
StackMap locals:
StackMap stack: int
12: ireturn
13: StackMap locals:
StackMap stack:
iload 5
ifeq 16
14: aload 0
iconst_1
putfield org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.sawCollidingInfopoints:Z
15: aload 1
checkcast jdk.vm.ci.code.site.Infopoint
aload 2
checkcast jdk.vm.ci.code.site.Infopoint
invokestatic org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.checkCollision:(Ljdk/vm/ci/code/site/Infopoint;Ljdk/vm/ci/code/site/Infopoint;)I
ireturn
end local 6 end local 5 end local 4 end local 3 16: StackMap locals: org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator jdk.vm.ci.code.site.Site jdk.vm.ci.code.site.Site
StackMap stack:
aload 1
getfield jdk.vm.ci.code.site.Site.pcOffset:I
aload 2
getfield jdk.vm.ci.code.site.Site.pcOffset:I
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/hotspot/HotSpotCompiledCodeBuilder$SiteComparator;
0 17 1 s1 Ljdk/vm/ci/code/site/Site;
0 17 2 s2 Ljdk/vm/ci/code/site/Site;
2 16 3 s1IsMark Z
3 16 4 s2IsMark Z
8 16 5 s1IsInfopoint Z
9 16 6 s2IsInfopoint Z
MethodParameters:
Name Flags
s1
s2
public int compare(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast jdk.vm.ci.code.site.Site
aload 2
checkcast jdk.vm.ci.code.site.Site
invokevirtual org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator.compare:(Ljdk/vm/ci/code/site/Site;Ljdk/vm/ci/code/site/Site;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/util/Comparator<Ljdk/vm/ci/code/site/Site;>;
SourceFile: "HotSpotCompiledCodeBuilder.java"
NestHost: org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder
InnerClasses:
SiteComparator = org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder$SiteComparator of org.graalvm.compiler.hotspot.HotSpotCompiledCodeBuilder