public class org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase extends org.graalvm.compiler.phases.BasePhase<org.graalvm.compiler.phases.tiers.PhaseContext>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase
super_class: org.graalvm.compiler.phases.BasePhase
{
private static final java.util.HashSet<java.lang.Class<?>> builtIns;
descriptor: Ljava/util/HashSet;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashSet<Ljava/lang/Class<*>;>;
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=2, locals=5, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase;
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 org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.$assertionsDisabled:Z
3: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.builtIns:Ljava/util/HashSet;
4: getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.builtIns:Ljava/util/HashSet;
ldc Ljava/lang/Boolean;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
5: ldc Ljava/lang/Character;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
iconst_0
aaload
astore 0
start local 0 6: getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.$assertionsDisabled:Z
ifne 7
ldc "java.lang.Character$CharacterCache"
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: java.lang.Class
StackMap stack:
getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.builtIns:Ljava/util/HashSet;
aload 0
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
8: ldc Ljava/lang/Byte;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
iconst_0
aaload
astore 1
start local 1 9: getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.$assertionsDisabled:Z
ifne 10
ldc "java.lang.Byte$ByteCache"
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals: java.lang.Class
StackMap stack:
getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.builtIns:Ljava/util/HashSet;
aload 1
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
11: ldc Ljava/lang/Short;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
iconst_0
aaload
astore 2
start local 2 12: getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.$assertionsDisabled:Z
ifne 13
ldc "java.lang.Short$ShortCache"
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals: java.lang.Class
StackMap stack:
getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.builtIns:Ljava/util/HashSet;
aload 2
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
14: ldc Ljava/lang/Integer;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
iconst_0
aaload
astore 3
start local 3 15: getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.$assertionsDisabled:Z
ifne 16
ldc "java.lang.Integer$IntegerCache"
aload 3
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals: java.lang.Class
StackMap stack:
getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.builtIns:Ljava/util/HashSet;
aload 3
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
17: ldc Ljava/lang/Long;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
iconst_0
aaload
astore 4
start local 4 18: getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.$assertionsDisabled:Z
ifne 19
ldc "java.lang.Long$LongCache"
aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals: java.lang.Class
StackMap stack:
getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.builtIns:Ljava/util/HashSet;
aload 4
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 3 end local 2 end local 1 end local 0 20: return
LocalVariableTable:
Start End Slot Name Signature
6 20 0 characterCacheClass Ljava/lang/Class<*>;
9 20 1 byteCacheClass Ljava/lang/Class<*>;
12 20 2 shortCacheClass Ljava/lang/Class<*>;
15 20 3 integerCacheClass Ljava/lang/Class<*>;
18 20 4 longCacheClass Ljava/lang/Class<*>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase;
private static boolean isReplacementNode(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.hotspot.nodes.aot.LoadConstantIndirectlyNode
ifne 5
1: aload 0
instanceof org.graalvm.compiler.hotspot.nodes.aot.LoadConstantIndirectlyFixedNode
ifne 5
2: aload 0
instanceof org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode
ifne 5
3: aload 0
instanceof org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode
ifne 5
4: iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 n Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
n
private static boolean checkForBadFingerprint(jdk.vm.ci.hotspot.HotSpotResolvedJavaType);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.isArray:()Z
ifeq 5
1: aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.getElementalType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
ifeq 3
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.getElementalType:()Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectType
invokestatic org.graalvm.compiler.hotspot.FingerprintUtil.getFingerprint:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)J
lconst_0
lcmp
ifne 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectType
invokestatic org.graalvm.compiler.hotspot.FingerprintUtil.getFingerprint:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)J
lconst_0
lcmp
ifne 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 type Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
MethodParameters:
Name Flags
type
private static void handleHotSpotMetaspaceConstant(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ConstantNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asConstant:()Ljdk/vm/ci/meta/Constant;
checkcast jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
astore 2
start local 2 1: aload 2
invokeinterface jdk.vm.ci.hotspot.HotSpotMetaspaceConstant.asResolvedJavaType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaType
astore 3
start local 3 2: aload 3
ifnull 19
3: aload 3
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.checkForBadFingerprint:(Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;)Z
ifeq 5
4: new org.graalvm.compiler.debug.GraalError
dup
new java.lang.StringBuilder
dup
ldc "Type with bad fingerprint: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaspaceConstant jdk.vm.ci.hotspot.HotSpotResolvedJavaType
StackMap stack:
getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.$assertionsDisabled:Z
ifne 6
aload 2
invokeinterface jdk.vm.ci.hotspot.HotSpotMetaspaceConstant.isCompressed:()Z
ifeq 6
new java.lang.AssertionError
dup
ldc "No support for replacing compressed metaspace constants"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 7: aload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.isArray:()Z
ifeq 10
aload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
ifeq 10
8: new org.graalvm.compiler.hotspot.nodes.aot.LoadConstantIndirectlyNode
dup
aload 1
invokespecial org.graalvm.compiler.hotspot.nodes.aot.LoadConstantIndirectlyNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 5
start local 5 9: goto 17
end local 5 StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
10: aload 3
aload 4
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.equals:(Ljava/lang/Object;)Z
ifne 11
aload 3
aload 4
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 13
aload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.isInterface:()Z
ifne 13
11: StackMap locals:
StackMap stack:
new org.graalvm.compiler.hotspot.nodes.aot.LoadConstantIndirectlyNode
dup
aload 1
invokespecial org.graalvm.compiler.hotspot.nodes.aot.LoadConstantIndirectlyNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 5
start local 5 12: goto 17
end local 5 StackMap locals:
StackMap stack:
13: getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.builtIns:Ljava/util/HashSet;
aload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.mirror:()Ljava/lang/Class;
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 16
14: new org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode
dup
aload 1
getstatic org.graalvm.compiler.hotspot.meta.HotSpotConstantLoadAction.INITIALIZE:Lorg/graalvm/compiler/hotspot/meta/HotSpotConstantLoadAction;
invokespecial org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotConstantLoadAction;)V
astore 5
start local 5 15: goto 17
end local 5 16: StackMap locals:
StackMap stack:
new org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode
dup
aload 1
invokespecial org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 5
start local 5 17: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
aload 0
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase.lambda$0(Lorg/graalvm/compiler/graph/Node;)Z (6)
(Lorg/graalvm/compiler/graph/Node;)Z
invokevirtual org.graalvm.compiler.nodes.ConstantNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Ljava/util/function/Predicate;)V
end local 5 end local 4 18: goto 20
19: StackMap locals:
StackMap stack:
new org.graalvm.compiler.debug.GraalError
dup
new java.lang.StringBuilder
dup
ldc "Unsupported metaspace constant type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 21 1 node Lorg/graalvm/compiler/nodes/ConstantNode;
1 21 2 metaspaceConstant Ljdk/vm/ci/hotspot/HotSpotMetaspaceConstant;
2 21 3 type Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
7 18 4 topMethodHolder Ljdk/vm/ci/meta/ResolvedJavaType;
9 10 5 replacement Lorg/graalvm/compiler/nodes/ValueNode;
12 13 5 replacement Lorg/graalvm/compiler/nodes/ValueNode;
15 16 5 replacement Lorg/graalvm/compiler/nodes/ValueNode;
17 18 5 replacement Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
node
private static void handleHotSpotObjectConstant(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ConstantNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstant
astore 2
start local 2 1: aload 2
invokeinterface jdk.vm.ci.hotspot.HotSpotObjectConstant.getType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaType
astore 3
start local 3 2: aload 3
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.mirror:()Ljava/lang/Class;
ldc Ljava/lang/String;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 7
3: getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.$assertionsDisabled:Z
ifne 4
aload 2
invokeinterface jdk.vm.ci.hotspot.HotSpotObjectConstant.isCompressed:()Z
ifeq 4
new java.lang.AssertionError
dup
ldc "No support for replacing compressed oop constants"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: jdk.vm.ci.hotspot.HotSpotObjectConstant jdk.vm.ci.hotspot.HotSpotResolvedJavaType
StackMap stack:
aload 0
new org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode
dup
aload 1
invokespecial org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 4
start local 4 5: aload 1
aload 4
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase.lambda$1(Lorg/graalvm/compiler/graph/Node;)Z (6)
(Lorg/graalvm/compiler/graph/Node;)Z
invokevirtual org.graalvm.compiler.nodes.ConstantNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Ljava/util/function/Predicate;)V
end local 4 6: goto 8
7: StackMap locals:
StackMap stack:
new org.graalvm.compiler.debug.GraalError
dup
new java.lang.StringBuilder
dup
ldc "Unsupported object constant type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 9 1 node Lorg/graalvm/compiler/nodes/ConstantNode;
1 9 2 constant Ljdk/vm/ci/hotspot/HotSpotObjectConstant;
2 9 3 type Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
5 6 4 replacement Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
node
private static void handleLoadMethodCounters(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode, org.graalvm.compiler.phases.tiers.PhaseContext);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 3
start local 3 1: aload 2
invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokeinterface org.graalvm.compiler.nodes.spi.StampProvider.createHubStamp:(Lorg/graalvm/compiler/core/common/type/ObjectStamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 4
start local 4 2: aload 2
invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
astore 5
start local 5 3: aload 4
aload 5
aload 3
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asObjectHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/Constant;
aload 2
invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 0
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 6
start local 6 4: aload 0
new org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode
dup
aload 1
invokevirtual org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 6
invokespecial org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 7
start local 7 5: aload 1
aload 7
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase.lambda$2(Lorg/graalvm/compiler/graph/Node;)Z (6)
(Lorg/graalvm/compiler/graph/Node;)Z
invokevirtual org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Ljava/util/function/Predicate;)V
6: return
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 7 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 7 1 node Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;
0 7 2 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
1 7 3 type Ljdk/vm/ci/meta/ResolvedJavaType;
2 7 4 hubStamp Lorg/graalvm/compiler/core/common/type/Stamp;
3 7 5 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
4 7 6 klassHint Lorg/graalvm/compiler/nodes/ConstantNode;
5 7 7 replacement Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
node
context
protected void run(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode.getLoadMethodCountersNodes:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 3
StackMap locals: org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode
astore 3
start local 3 2: aload 1
aload 3
aload 2
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.handleLoadMethodCounters:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
end local 3 3: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 1
invokestatic org.graalvm.compiler.nodes.ConstantNode.getConstantNodes:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 12
StackMap locals:
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ConstantNode
astore 3
start local 3 6: aload 3
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asConstant:()Ljdk/vm/ci/meta/Constant;
astore 5
start local 5 7: aload 5
instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
ifeq 10
8: aload 1
aload 3
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.handleHotSpotMetaspaceConstant:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ConstantNode;)V
9: goto 12
StackMap locals: org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.ConstantNode java.util.Iterator jdk.vm.ci.meta.Constant
StackMap stack:
10: aload 5
instanceof jdk.vm.ci.hotspot.HotSpotObjectConstant
ifeq 12
11: aload 1
aload 3
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.handleHotSpotObjectConstant:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ConstantNode;)V
end local 5 end local 3 12: StackMap locals: org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase;
0 14 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 14 2 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
2 3 3 node Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;
6 12 3 node Lorg/graalvm/compiler/nodes/ConstantNode;
7 12 5 constant Ljdk/vm/ci/meta/Constant;
MethodParameters:
Name Flags
graph
context
public boolean checkContract();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase;
protected void run(org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast org.graalvm.compiler.phases.tiers.PhaseContext
invokevirtual org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static boolean lambda$0(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.isReplacementNode:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 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 n Lorg/graalvm/compiler/graph/Node;
private static boolean lambda$1(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode
ifeq 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 n Lorg/graalvm/compiler/graph/Node;
private static boolean lambda$2(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode
ifeq 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 n Lorg/graalvm/compiler/graph/Node;
}
Signature: Lorg/graalvm/compiler/phases/BasePhase<Lorg/graalvm/compiler/phases/tiers/PhaseContext;>;
SourceFile: "ReplaceConstantNodesPhase.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node