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 final boolean verifyFingerprints;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static java.lang.Class<?> characterCacheClass;
descriptor: Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Signature: Ljava/lang/Class<*>;
static java.lang.Class<?> byteCacheClass;
descriptor: Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Signature: Ljava/lang/Class<*>;
static java.lang.Class<?> shortCacheClass;
descriptor: Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Signature: Ljava/lang/Class<*>;
static java.lang.Class<?> integerCacheClass;
descriptor: Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Signature: Ljava/lang/Class<*>;
static java.lang.Class<?> longCacheClass;
descriptor: Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Signature: 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=0, 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: ldc Ljava/lang/Character;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
iconst_0
aaload
putstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.characterCacheClass:Ljava/lang/Class;
4: ldc Ljava/lang/Byte;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
iconst_0
aaload
putstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.byteCacheClass:Ljava/lang/Class;
5: ldc Ljava/lang/Short;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
iconst_0
aaload
putstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.shortCacheClass:Ljava/lang/Class;
6: ldc Ljava/lang/Integer;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
iconst_0
aaload
putstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.integerCacheClass:Ljava/lang/Class;
7: ldc Ljava/lang/Long;
invokevirtual java.lang.Class.getDeclaredClasses:()[Ljava/lang/Class;
iconst_0
aaload
putstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.longCacheClass:Ljava/lang/Class;
return
LocalVariableTable:
Start End Slot Name Signature
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 6
1: aload 0
instanceof org.graalvm.compiler.hotspot.nodes.aot.LoadConstantIndirectlyFixedNode
ifne 6
2: aload 0
instanceof org.graalvm.compiler.hotspot.nodes.aot.ResolveDynamicConstantNode
ifne 6
3: aload 0
instanceof org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode
ifne 6
4: aload 0
instanceof org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode
ifne 6
5: iconst_0
ireturn
StackMap locals:
StackMap stack:
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 n Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
n
private static boolean anyUsagesNeedReplacement(org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/ConstantNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.ConstantNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokedynamic apply()Lorg/graalvm/compiler/graph/iterators/NodePredicate;
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:
(Lorg/graalvm/compiler/graph/Node;)Z
org/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase.lambda$0(Lorg/graalvm/compiler/graph/Node;)Z (6)
(Lorg/graalvm/compiler/graph/Node;)Z
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
invokevirtual org.graalvm.compiler.graph.iterators.FilteredNodeIterable.isNotEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 node Lorg/graalvm/compiler/nodes/ConstantNode;
MethodParameters:
Name Flags
node
private static boolean anyUsagesNeedReplacement(org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode);
descriptor: (Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokedynamic apply()Lorg/graalvm/compiler/graph/iterators/NodePredicate;
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:
(Lorg/graalvm/compiler/graph/Node;)Z
org/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase.lambda$1(Lorg/graalvm/compiler/graph/Node;)Z (6)
(Lorg/graalvm/compiler/graph/Node;)Z
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
invokevirtual org.graalvm.compiler.graph.iterators.FilteredNodeIterable.isNotEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 node Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;
MethodParameters:
Name Flags
node
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
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.getFingerprint:()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
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.getFingerprint:()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 insertReplacement(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure, org.graalvm.compiler.nodes.calc.FloatingNode, org.graalvm.compiler.nodes.FixedWithNextNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.findInsertionPoint:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
astore 4
start local 4 1: aload 0
aload 4
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
2: aload 1
aload 3
aload 1
aload 4
invokevirtual org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure.getState:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure.addState:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/FrameState;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 4 1 stateMapper Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;
0 4 2 node Lorg/graalvm/compiler/nodes/calc/FloatingNode;
0 4 3 replacement Lorg/graalvm/compiler/nodes/FixedWithNextNode;
1 4 4 insertionPoint Lorg/graalvm/compiler/nodes/FixedWithNextNode;
MethodParameters:
Name Flags
graph
stateMapper
node
replacement
private static org.graalvm.compiler.nodes.FixedWithNextNode findInsertionPoint(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure, org.graalvm.compiler.nodes.calc.FloatingNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.findFixedBeforeFloating:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
astore 3
start local 3 1: aload 0
aload 1
aload 3
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.findFixedWithValidState:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
astore 4
start local 4 2: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 3 1 stateMapper Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;
0 3 2 node Lorg/graalvm/compiler/nodes/calc/FloatingNode;
1 3 3 fixed Lorg/graalvm/compiler/nodes/FixedWithNextNode;
2 3 4 result Lorg/graalvm/compiler/nodes/FixedWithNextNode;
MethodParameters:
Name Flags
graph
stateMapper
node
private static org.graalvm.compiler.nodes.FixedWithNextNode findFixedBeforeFloating(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.calc.FloatingNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/calc/FloatingNode;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
astore 2
start local 2 1: aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getNodeToBlockMap:()Lorg/graalvm/compiler/graph/NodeMap;
astore 3
start local 3 2: aload 3
aload 1
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 4
start local 4 3: aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getBlockToNodesMap:()Lorg/graalvm/compiler/core/common/cfg/BlockMap;
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: aload 5
aload 4
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 11
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.nodes.FixedWithNextNode top java.util.Iterator
StackMap stack:
6: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 7: aload 7
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 9
8: goto 12
9: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 7
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 11
10: aload 7
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 6
end local 7 11: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.nodes.FixedWithNextNode top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
12: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.BlockMap org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.$assertionsDisabled:Z
ifne 13
aload 6
ifnonnull 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 14 1 node Lorg/graalvm/compiler/nodes/calc/FloatingNode;
1 14 2 schedule Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
2 14 3 nodeToBlock Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
3 14 4 block Lorg/graalvm/compiler/nodes/cfg/Block;
4 14 5 blockToNodes Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
5 14 6 result Lorg/graalvm/compiler/nodes/FixedWithNextNode;
7 11 7 n Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
graph
node
private static org.graalvm.compiler.nodes.FixedWithNextNode findFixedWithValidState(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure, org.graalvm.compiler.nodes.FixedWithNextNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Lorg/graalvm/compiler/nodes/FixedWithNextNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
astore 3
start local 3 1: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getNodeToBlockMap:()Lorg/graalvm/compiler/graph/NodeMap;
astore 4
start local 4 2: aload 4
aload 2
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 5
start local 5 3: aload 2
astore 6
start local 6 4: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.Node
StackMap stack:
aload 1
aload 6
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.isFixedWithValidState:(Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/graph/Node;)Z
ifeq 9
5: aload 6
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
areturn
6: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
astore 6
7: aload 1
aload 6
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.isFixedWithValidState:(Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/graph/Node;)Z
ifeq 9
8: aload 6
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
areturn
9: StackMap locals:
StackMap stack:
aload 6
aload 5
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
if_acmpne 6
10: aload 5
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 5
11: aload 5
ifnull 13
12: aload 5
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 6
13: StackMap locals:
StackMap stack:
aload 5
ifnonnull 4
14: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 15 1 stateMapper Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;
0 15 2 node Lorg/graalvm/compiler/nodes/FixedWithNextNode;
1 15 3 schedule Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
2 15 4 nodeToBlock Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
3 15 5 block Lorg/graalvm/compiler/nodes/cfg/Block;
4 15 6 n Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
graph
stateMapper
node
private static boolean isFixedWithValidState(org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 5
1: aload 1
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 2
start local 2 2: getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.$assertionsDisabled:Z
ifne 3
aload 0
aload 2
invokevirtual org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure.getState:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
aload 0
aload 2
invokevirtual org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure.getState:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/FrameState;
getfield org.graalvm.compiler.nodes.FrameState.bci:I
invokestatic jdk.vm.ci.code.BytecodeFrame.isPlaceholderBci:(I)Z
ifne 5
4: iconst_1
ireturn
end local 2 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 stateMapper Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;
0 6 1 n Lorg/graalvm/compiler/graph/Node;
2 5 2 fixed Lorg/graalvm/compiler/nodes/FixedWithNextNode;
MethodParameters:
Name Flags
stateMapper
n
private static void tryToReplaceWithExisting(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=4, locals=13, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
astore 2
start local 2 1: aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getNodeToBlockMap:()Lorg/graalvm/compiler/graph/NodeMap;
astore 3
start local 3 2: aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getBlockToNodesMap:()Lorg/graalvm/compiler/core/common/cfg/BlockMap;
astore 4
start local 4 3: invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:()Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 5
start local 5 4: aload 1
invokevirtual org.graalvm.compiler.nodes.ConstantNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokedynamic apply()Lorg/graalvm/compiler/graph/iterators/NodePredicate;
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:
(Lorg/graalvm/compiler/graph/Node;)Z
org/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase.lambda$2(Lorg/graalvm/compiler/graph/Node;)Z (6)
(Lorg/graalvm/compiler/graph/Node;)Z
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
invokevirtual org.graalvm.compiler.graph.iterators.FilteredNodeIterable.iterator:()Ljava/util/Iterator;
astore 7
goto 7
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap jdk.internal.vm.compiler.collections.EconomicMap top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 6
start local 6 6: aload 5
aload 3
aload 6
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
aload 6
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 7: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 1
invokevirtual org.graalvm.compiler.nodes.ConstantNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokedynamic apply()Lorg/graalvm/compiler/graph/iterators/NodePredicate;
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:
(Lorg/graalvm/compiler/graph/Node;)Z
org/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase.lambda$3(Lorg/graalvm/compiler/graph/Node;)Z (6)
(Lorg/graalvm/compiler/graph/Node;)Z
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
invokevirtual org.graalvm.compiler.graph.iterators.FilteredNodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 30
StackMap locals:
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 6
start local 6 10: iconst_0
istore 8
start local 8 11: aload 3
aload 6
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 9
start local 9 12: aload 5
aload 9
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 10
start local 10 13: aload 10
ifnull 23
14: aload 4
aload 9
invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 22
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Node java.util.Iterator int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.Node top java.util.Iterator
StackMap stack:
15: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 11
start local 11 16: aload 11
aload 6
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 18
17: goto 23
18: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Node java.util.Iterator int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.Node org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 11
aload 10
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 22
19: aload 6
aload 1
aload 10
invokevirtual org.graalvm.compiler.graph.Node.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
20: iconst_1
istore 8
21: goto 23
end local 11 22: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Node java.util.Iterator int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.Node top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
23: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Node java.util.Iterator int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.Node
StackMap stack:
iload 8
ifne 30
24: aload 5
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 12
goto 29
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Node java.util.Iterator int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.Node top java.util.Iterator
StackMap stack:
25: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
astore 11
start local 11 26: aload 11
aload 9
invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.strictlyDominates:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
ifeq 29
27: aload 6
aload 1
aload 5
aload 11
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
invokevirtual org.graalvm.compiler.graph.Node.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
28: goto 30
end local 11 29: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
end local 10 end local 9 end local 8 end local 6 30: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.core.common.cfg.BlockMap jdk.internal.vm.compiler.collections.EconomicMap top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
31: 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 32 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 32 1 node Lorg/graalvm/compiler/nodes/ConstantNode;
1 32 2 schedule Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
2 32 3 nodeToBlock Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
3 32 4 blockToNodes Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
4 32 5 blockToExisting Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/Node;>;
6 7 6 n Lorg/graalvm/compiler/graph/Node;
10 30 6 use Lorg/graalvm/compiler/graph/Node;
11 30 8 replaced Z
12 30 9 b Lorg/graalvm/compiler/nodes/cfg/Block;
13 30 10 e Lorg/graalvm/compiler/graph/Node;
16 22 11 n Lorg/graalvm/compiler/graph/Node;
26 29 11 d Lorg/graalvm/compiler/nodes/cfg/Block;
MethodParameters:
Name Flags
graph
node
private static void replaceWithResolution(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asConstant:()Ljdk/vm/ci/meta/Constant;
checkcast jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
astore 4
start local 4 1: aload 4
invokeinterface jdk.vm.ci.hotspot.HotSpotMetaspaceConstant.asResolvedJavaType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaType
astore 5
start local 5 2: 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 6
start local 6 3: aload 5
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.isArray:()Z
ifeq 6
aload 5
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
ifeq 6
4: aload 0
new org.graalvm.compiler.hotspot.nodes.aot.LoadConstantIndirectlyNode
dup
aload 2
invokespecial org.graalvm.compiler.hotspot.nodes.aot.LoadConstantIndirectlyNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 7
start local 7 5: goto 15
end local 7 StackMap locals: jdk.vm.ci.hotspot.HotSpotMetaspaceConstant jdk.vm.ci.hotspot.HotSpotResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
6: aload 5
aload 6
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.equals:(Ljava/lang/Object;)Z
ifne 7
aload 5
aload 6
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 9
aload 5
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.isInterface:()Z
ifne 9
7: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.hotspot.nodes.aot.LoadConstantIndirectlyNode
dup
aload 2
invokespecial org.graalvm.compiler.hotspot.nodes.aot.LoadConstantIndirectlyNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 7
start local 7 8: goto 15
end local 7 9: StackMap locals:
StackMap stack:
aload 3
getfield org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo.builtIns:Ljava/util/HashSet;
aload 5
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 12
10: aload 0
new org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode
dup
aload 2
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
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 8
start local 8 11: goto 13
end local 8 12: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode
dup
aload 2
invokespecial org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 8
start local 8 13: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo jdk.vm.ci.hotspot.HotSpotMetaspaceConstant jdk.vm.ci.hotspot.HotSpotResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType top org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
aload 0
aload 1
aload 2
aload 8
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.insertReplacement:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
14: aload 8
astore 7
end local 8 start local 7 15: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo jdk.vm.ci.hotspot.HotSpotMetaspaceConstant jdk.vm.ci.hotspot.HotSpotResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
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$4(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
16: 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 17 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 17 1 stateMapper Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;
0 17 2 node Lorg/graalvm/compiler/nodes/ConstantNode;
0 17 3 classInfo Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;
1 17 4 metaspaceConstant Ljdk/vm/ci/hotspot/HotSpotMetaspaceConstant;
2 17 5 type Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
3 17 6 topMethodHolder Ljdk/vm/ci/meta/ResolvedJavaType;
5 6 7 replacement Lorg/graalvm/compiler/nodes/ValueNode;
8 9 7 replacement Lorg/graalvm/compiler/nodes/ValueNode;
15 17 7 replacement Lorg/graalvm/compiler/nodes/ValueNode;
11 12 8 fixedReplacement Lorg/graalvm/compiler/nodes/FixedWithNextNode;
13 15 8 fixedReplacement Lorg/graalvm/compiler/nodes/FixedWithNextNode;
MethodParameters:
Name Flags
graph
stateMapper
node
classInfo
private void handleHotSpotMetaspaceConstant(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asConstant:()Ljdk/vm/ci/meta/Constant;
checkcast jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
astore 5
start local 5 1: aload 5
invokeinterface jdk.vm.ci.hotspot.HotSpotMetaspaceConstant.asResolvedJavaType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaType
astore 6
start local 6 2: aload 6
ifnull 10
3: aload 0
getfield org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.verifyFingerprints:Z
ifeq 5
aload 6
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 6
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 5
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 1
aload 3
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.tryToReplaceWithExisting:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ConstantNode;)V
7: aload 3
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.anyUsagesNeedReplacement:(Lorg/graalvm/compiler/nodes/ConstantNode;)Z
ifeq 11
8: aload 1
aload 2
aload 3
aload 4
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.replaceWithResolution:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;)V
9: goto 11
10: 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 6
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
11: StackMap locals:
StackMap stack:
return
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 12 0 this Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase;
0 12 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 12 2 stateMapper Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;
0 12 3 node Lorg/graalvm/compiler/nodes/ConstantNode;
0 12 4 classInfo Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;
1 12 5 metaspaceConstant Ljdk/vm/ci/hotspot/HotSpotMetaspaceConstant;
2 12 6 type Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
MethodParameters:
Name Flags
graph
stateMapper
node
classInfo
private static void handleHotSpotObjectConstant(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
checkcast jdk.vm.ci.hotspot.HotSpotObjectConstant
astore 4
start local 4 1: aload 4
invokeinterface jdk.vm.ci.hotspot.HotSpotObjectConstant.getType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedJavaType
astore 5
start local 5 2: aload 5
aload 3
getfield org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo.stringType:Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual jdk.vm.ci.hotspot.HotSpotResolvedJavaType.equals:(Ljava/lang/Object;)Z
ifeq 8
3: getstatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.$assertionsDisabled:Z
ifne 4
aload 4
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 2
invokespecial org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 6
start local 6 5: aload 0
aload 1
aload 2
aload 6
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.insertReplacement:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
6: aload 2
aload 6
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$5(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 6 7: goto 9
8: 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 5
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
9: StackMap locals:
StackMap stack:
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 10 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 10 1 stateMapper Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;
0 10 2 node Lorg/graalvm/compiler/nodes/ConstantNode;
0 10 3 classInfo Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;
1 10 4 constant Ljdk/vm/ci/hotspot/HotSpotObjectConstant;
2 10 5 type Ljdk/vm/ci/hotspot/HotSpotResolvedJavaType;
5 7 6 replacement Lorg/graalvm/compiler/nodes/FixedWithNextNode;
MethodParameters:
Name Flags
graph
stateMapper
node
classInfo
private static void handleLoadMethodCounters(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure, org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode, org.graalvm.compiler.phases.tiers.PhaseContext);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
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 4
start local 4 1: aload 3
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 5
start local 5 2: aload 3
invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
astore 6
start local 6 3: aload 5
aload 6
aload 4
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asObjectHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/Constant;
aload 3
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 7
start local 7 4: aload 0
new org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode
dup
aload 2
invokevirtual org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 7
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.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 8
start local 8 5: aload 0
aload 1
aload 2
aload 8
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.insertReplacement:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
6: aload 2
aload 8
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$6(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
7: return
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 8 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 8 1 stateMapper Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;
0 8 2 node Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;
0 8 3 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
1 8 4 type Ljdk/vm/ci/meta/ResolvedJavaType;
2 8 5 hubStamp Lorg/graalvm/compiler/core/common/type/Stamp;
3 8 6 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
4 8 7 klassHint Lorg/graalvm/compiler/nodes/ConstantNode;
5 8 8 replacement Lorg/graalvm/compiler/nodes/FixedWithNextNode;
MethodParameters:
Name Flags
graph
stateMapper
node
context
private static void replaceLoadMethodCounters(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure, org.graalvm.compiler.phases.tiers.PhaseContext);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.phases.schedule.SchedulePhase
dup
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy.LATEST_OUT_OF_LOOPS:Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
iconst_1
invokespecial org.graalvm.compiler.phases.schedule.SchedulePhase.<init>:(Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;Z)V
aload 0
iconst_0
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
1: aload 0
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 5
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure org.graalvm.compiler.phases.tiers.PhaseContext top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode
astore 3
start local 3 3: aload 3
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.anyUsagesNeedReplacement:(Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;)Z
ifeq 5
4: aload 0
aload 1
aload 3
aload 2
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.handleLoadMethodCounters:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: return
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 stateMapper Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;
0 7 2 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
3 5 3 node Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;
MethodParameters:
Name Flags
graph
stateMapper
context
private void replaceKlassesAndObjects(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure, org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.graalvm.compiler.phases.schedule.SchedulePhase
dup
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy.LATEST_OUT_OF_LOOPS:Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
iconst_1
invokespecial org.graalvm.compiler.phases.schedule.SchedulePhase.<init>:(Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;Z)V
aload 1
iconst_0
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
1: 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 5
goto 9
StackMap locals: org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ConstantNode
astore 4
start local 4 3: aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asConstant:()Ljdk/vm/ci/meta/Constant;
astore 6
start local 6 4: aload 6
instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
ifeq 7
aload 4
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.anyUsagesNeedReplacement:(Lorg/graalvm/compiler/nodes/ConstantNode;)Z
ifeq 7
5: aload 0
aload 1
aload 2
aload 4
aload 3
invokevirtual org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.handleHotSpotMetaspaceConstant:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;)V
6: goto 9
StackMap locals: org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo org.graalvm.compiler.nodes.ConstantNode java.util.Iterator jdk.vm.ci.meta.Constant
StackMap stack:
7: aload 6
instanceof jdk.vm.ci.hotspot.HotSpotObjectConstant
ifeq 9
aload 4
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.anyUsagesNeedReplacement:(Lorg/graalvm/compiler/nodes/ConstantNode;)Z
ifeq 9
8: aload 1
aload 2
aload 4
aload 3
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.handleHotSpotObjectConstant:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;)V
end local 6 end local 4 9: StackMap locals: org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase;
0 11 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 11 2 stateMapper Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;
0 11 3 classInfo Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;
3 9 4 node Lorg/graalvm/compiler/nodes/ConstantNode;
4 9 6 constant Ljdk/vm/ci/meta/Constant;
MethodParameters:
Name Flags
graph
stateMapper
classInfo
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=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure
dup
aload 1
invokespecial org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
astore 3
start local 3 1: aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
aconst_null
invokestatic org.graalvm.compiler.phases.graph.ReentrantNodeIterator.apply:(Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$NodeIteratorClosure;Lorg/graalvm/compiler/nodes/FixedNode;Ljava/lang/Object;)V
2: aload 1
aload 3
aload 2
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.replaceLoadMethodCounters:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
3: aload 0
aload 1
aload 3
new org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo
dup
aload 2
invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
invokespecial org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
invokevirtual org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.replaceKlassesAndObjects:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$ClassInfo;)V
4: return
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/hotspot/phases/aot/ReplaceConstantNodesPhase;
0 5 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 5 2 context Lorg/graalvm/compiler/phases/tiers/PhaseContext;
1 5 3 stateMapper Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase$FrameStateMapperClosure;
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;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokespecial org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.<init>:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase;
public void <init>(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
1: aload 0
iload 1
putfield org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.verifyFingerprints:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/phases/aot/ReplaceConstantNodesPhase;
0 3 1 verifyFingerprints Z
MethodParameters:
Name Flags
verifyFingerprints
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.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;
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
invokestatic org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase.isReplacementNode:(Lorg/graalvm/compiler/graph/Node;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n Lorg/graalvm/compiler/graph/Node;
private static boolean lambda$3(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$4(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$5(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$6(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"
NestMembers:
org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
ClassInfo = org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$ClassInfo of org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase
private FrameStateMapperClosure = org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase$FrameStateMapperClosure of org.graalvm.compiler.hotspot.phases.aot.ReplaceConstantNodesPhase
public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
public abstract NodeIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantNodeIterator
public final SchedulingStrategy = org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy of org.graalvm.compiler.phases.schedule.SchedulePhase