public class org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase extends org.graalvm.compiler.phases.Phase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase
super_class: org.graalvm.compiler.phases.Phase
{
private static final org.graalvm.compiler.debug.CounterKey OsrWithLocksCount;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/phases/OnStackReplacementPhase;
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.OnStackReplacementPhase.$assertionsDisabled:Z
3: ldc "OSRWithLocks"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
putstatic org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase.OsrWithLocksCount:Lorg/graalvm/compiler/debug/CounterKey;
return
LocalVariableTable:
Start End Slot Name Signature
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.Phase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/phases/OnStackReplacementPhase;
private static boolean supportOSRWithLocks(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase$Options.SupportOSRWithLocks:Lorg/graalvm/compiler/options/OptionKey;
aload 0
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
options
protected void run(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=25, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getEntryBCI:()I
iconst_m1
if_icmpne 4
2: getstatic org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase.$assertionsDisabled:Z
ifne 3
aload 1
getstatic org.graalvm.compiler.nodes.EntryMarkerNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isEmpty:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.debug.DebugContext
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 2
iconst_4
aload 1
ldc "OnStackReplacement initial at bci %d"
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getEntryBCI:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
5: iconst_m1
istore 4
start local 4 6: iconst_0
istore 5
start local 5 7: aload 1
invokestatic org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase.getEntryMarker:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/EntryMarkerNode;
astore 6
start local 6 8: aload 6
invokestatic org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase.osrLoop:(Lorg/graalvm/compiler/nodes/EntryMarkerNode;)Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 7
start local 7 9: aload 6
invokestatic org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase.osrWithLocks:(Lorg/graalvm/compiler/nodes/EntryMarkerNode;)Z
istore 8
start local 8 10: aload 7
ifnonnull 12
11: new org.graalvm.compiler.core.common.PermanentBailoutException
dup
ldc "OSR compilation without OSR entry loop."
invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext top int int org.graalvm.compiler.nodes.EntryMarkerNode org.graalvm.compiler.nodes.LoopBeginNode int
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokestatic org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase.supportOSRWithLocks:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifne 14
iload 8
ifeq 14
13: new org.graalvm.compiler.core.common.PermanentBailoutException
dup
ldc "OSR with locks disabled."
invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase.getEntryMarker:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/EntryMarkerNode;
astore 3
start local 3 15: new org.graalvm.compiler.loop.LoopsData
dup
aload 1
invokespecial org.graalvm.compiler.loop.LoopsData.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
astore 9
start local 9 16: aload 9
invokevirtual org.graalvm.compiler.loop.LoopsData.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getNodeToBlock:()Lorg/graalvm/compiler/graph/NodeMap;
aload 3
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
astore 10
start local 10 17: aload 10
ifnonnull 19
18: goto 37
19: StackMap locals: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.EntryMarkerNode int int org.graalvm.compiler.nodes.EntryMarkerNode org.graalvm.compiler.nodes.LoopBeginNode int org.graalvm.compiler.loop.LoopsData org.graalvm.compiler.core.common.cfg.Loop
StackMap stack:
iinc 5 1
20: iload 4
iconst_m1
if_icmpne 23
21: aload 10
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
istore 4
22: goto 26
StackMap locals:
StackMap stack:
23: iload 5
iload 4
if_icmple 26
24: invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
25: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
astore 10
26: StackMap locals:
StackMap stack:
aload 10
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
ifnonnull 25
27: aload 9
aload 10
invokevirtual org.graalvm.compiler.loop.LoopsData.loop:(Lorg/graalvm/compiler/core/common/cfg/Loop;)Lorg/graalvm/compiler/loop/LoopEx;
invokestatic org.graalvm.compiler.loop.phases.LoopTransformations.peel:(Lorg/graalvm/compiler/loop/LoopEx;)V
28: aload 3
getstatic org.graalvm.compiler.nodeinfo.InputType.Guard:Lorg/graalvm/compiler/nodeinfo/InputType;
aload 3
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.replaceAtUsages:(Lorg/graalvm/compiler/nodeinfo/InputType;Lorg/graalvm/compiler/graph/Node;)V
29: aload 3
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 33
StackMap locals: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.EntryMarkerNode int int org.graalvm.compiler.nodes.EntryMarkerNode org.graalvm.compiler.nodes.LoopBeginNode int org.graalvm.compiler.loop.LoopsData org.graalvm.compiler.core.common.cfg.Loop top java.util.Iterator
StackMap stack:
30: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 11
start local 11 31: aload 11
checkcast org.graalvm.compiler.nodes.EntryProxyNode
astore 13
start local 13 32: aload 13
aload 13
invokevirtual org.graalvm.compiler.nodes.EntryProxyNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.EntryProxyNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 13 end local 11 33: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
34: aload 3
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
35: aload 2
iconst_4
aload 1
ldc "OnStackReplacement loop peeling result"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
end local 10 end local 9 36: goto 14
37: StackMap locals: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.EntryMarkerNode int int org.graalvm.compiler.nodes.EntryMarkerNode org.graalvm.compiler.nodes.LoopBeginNode int
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 9
start local 9 38: aload 3
aconst_null
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
39: aload 1
new org.graalvm.compiler.nodes.extended.OSRStartNode
dup
invokespecial org.graalvm.compiler.nodes.extended.OSRStartNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.extended.OSRStartNode
astore 10
start local 10 40: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 11
start local 11 41: aload 3
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 12
start local 12 42: aload 3
aconst_null
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
43: aload 10
aload 12
invokevirtual org.graalvm.compiler.nodes.extended.OSRStartNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
44: aload 1
aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setStart:(Lorg/graalvm/compiler/nodes/StartNode;)V
45: aload 10
aload 9
invokevirtual org.graalvm.compiler.nodes.extended.OSRStartNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
46: aload 2
iconst_4
aload 1
ldc "OnStackReplacement after setting OSR start"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
47: aload 9
invokevirtual org.graalvm.compiler.nodes.FrameState.localsSize:()I
istore 13
start local 13 48: aload 9
invokevirtual org.graalvm.compiler.nodes.FrameState.locksSize:()I
istore 14
start local 14 49: iconst_0
istore 15
start local 15 50: goto 76
51: StackMap locals: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.EntryMarkerNode int int org.graalvm.compiler.nodes.EntryMarkerNode org.graalvm.compiler.nodes.LoopBeginNode int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.extended.OSRStartNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode int int int
StackMap stack:
aconst_null
astore 16
start local 16 52: iload 15
iload 13
if_icmplt 55
53: aload 9
iload 15
iload 13
isub
invokevirtual org.graalvm.compiler.nodes.FrameState.lockAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 16
54: goto 56
55: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 9
iload 15
invokevirtual org.graalvm.compiler.nodes.FrameState.localAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 16
56: StackMap locals:
StackMap stack:
aload 16
instanceof org.graalvm.compiler.nodes.EntryProxyNode
ifeq 74
57: aload 16
checkcast org.graalvm.compiler.nodes.EntryProxyNode
astore 17
start local 17 58: aload 17
invokevirtual org.graalvm.compiler.nodes.EntryProxyNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 18
start local 18 59: aload 17
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.EntryProxyNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.unrestricted:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 19
start local 19 60: iload 15
iload 13
if_icmplt 63
61: aload 1
new org.graalvm.compiler.nodes.extended.OSRLockNode
dup
iload 15
iload 13
isub
aload 19
invokespecial org.graalvm.compiler.nodes.extended.OSRLockNode.<init>:(ILorg/graalvm/compiler/core/common/type/Stamp;)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 20
start local 20 62: goto 64
end local 20 63: StackMap locals: org.graalvm.compiler.nodes.EntryProxyNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 1
new org.graalvm.compiler.nodes.extended.OSRLocalNode
dup
iload 15
aload 19
invokespecial org.graalvm.compiler.nodes.extended.OSRLocalNode.<init>:(ILorg/graalvm/compiler/core/common/type/Stamp;)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 20
start local 20 64: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
new org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase$OSRLocalSpeculationReason
dup
aload 9
getfield org.graalvm.compiler.nodes.FrameState.bci:I
aload 18
iload 15
invokespecial org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase$OSRLocalSpeculationReason.<init>:(ILorg/graalvm/compiler/core/common/type/Stamp;I)V
astore 21
start local 21 65: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
aload 21
invokeinterface jdk.vm.ci.meta.SpeculationLog.maySpeculate:(Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;)Z
ifeq 72
aload 20
instanceof org.graalvm.compiler.nodes.extended.OSRLocalNode
ifeq 72
aload 16
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.equals:(Ljava/lang/Object;)Z
ifeq 72
aload 18
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isUnrestricted:()Z
ifne 72
66: aload 1
aload 18
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
aload 20
aconst_null
aconst_null
invokestatic org.graalvm.compiler.nodes.java.InstanceOfNode.createHelper:(Lorg/graalvm/compiler/core/common/type/ObjectStamp;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaTypeProfile;Lorg/graalvm/compiler/nodes/extended/AnchoringNode;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 22
start local 22 67: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
aload 21
invokeinterface jdk.vm.ci.meta.SpeculationLog.speculate:(Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;)Ljdk/vm/ci/meta/JavaConstant;
astore 23
start local 23 68: aload 1
new org.graalvm.compiler.nodes.FixedGuardNode
dup
aload 22
getstatic jdk.vm.ci.meta.DeoptimizationReason.OptimizedTypeCheckViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
aload 23
iconst_0
invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/JavaConstant;Z)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedGuardNode
astore 24
start local 24 69: aload 1
aload 10
aload 24
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
70: aload 17
aload 20
aload 9
invokedynamic apply(Lorg/graalvm/compiler/nodes/FrameState;)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/OnStackReplacementPhase.lambda$0(Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/graph/Node;)Z (6)
(Lorg/graalvm/compiler/graph/Node;)Z
invokevirtual org.graalvm.compiler.nodes.EntryProxyNode.replaceAtMatchingUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/iterators/NodePredicate;)V
71: aload 1
new org.graalvm.compiler.nodes.PiNode
dup
aload 20
aload 18
aload 24
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;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 20
end local 24 end local 23 end local 22 72: StackMap locals: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase$OSRLocalSpeculationReason
StackMap stack:
aload 17
aload 20
invokevirtual org.graalvm.compiler.nodes.EntryProxyNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 21 end local 20 end local 19 end local 18 end local 17 73: goto 75
74: StackMap locals: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.EntryMarkerNode int int org.graalvm.compiler.nodes.EntryMarkerNode org.graalvm.compiler.nodes.LoopBeginNode int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.extended.OSRStartNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode int int int org.graalvm.compiler.nodes.ValueNode
StackMap stack:
getstatic org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase.$assertionsDisabled:Z
ifne 75
aload 16
ifnull 75
aload 16
instanceof org.graalvm.compiler.nodes.extended.OSRLocalNode
ifne 75
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 16 75: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
76: iload 15
iload 13
iload 14
iadd
if_icmplt 51
end local 15 77: aload 3
getstatic org.graalvm.compiler.nodeinfo.InputType.Guard:Lorg/graalvm/compiler/nodeinfo/InputType;
aload 10
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.replaceAtUsages:(Lorg/graalvm/compiler/nodeinfo/InputType;Lorg/graalvm/compiler/graph/Node;)V
78: aload 2
iconst_4
aload 1
ldc "OnStackReplacement after replacing entry proxies"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
79: aload 11
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
80: aload 2
iconst_4
aload 1
ldc "OnStackReplacement result"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
81: new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
dup
getstatic org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality.Required:Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;
invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;)V
aload 1
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
82: iload 8
ifeq 108
83: getstatic org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase.OsrWithLocksCount:Lorg/graalvm/compiler/debug/CounterKey;
aload 2
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
84: aload 9
invokevirtual org.graalvm.compiler.nodes.FrameState.monitorIdCount:()I
iconst_1
isub
istore 15
start local 15 85: goto 100
86: StackMap locals:
StackMap stack:
aload 9
iload 15
invokevirtual org.graalvm.compiler.nodes.FrameState.monitorIdAt:(I)Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
astore 16
start local 16 87: aload 9
iload 15
invokevirtual org.graalvm.compiler.nodes.FrameState.lockAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 17
start local 17 88: aload 1
new org.graalvm.compiler.nodes.extended.OSRMonitorEnterNode
dup
aload 17
aload 16
invokespecial org.graalvm.compiler.nodes.extended.OSRMonitorEnterNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.extended.OSRMonitorEnterNode
astore 18
start local 18 89: aload 16
invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 20
goto 94
StackMap locals: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.EntryMarkerNode int int org.graalvm.compiler.nodes.EntryMarkerNode org.graalvm.compiler.nodes.LoopBeginNode int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.extended.OSRStartNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode int int int org.graalvm.compiler.nodes.java.MonitorIdNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.OSRMonitorEnterNode top java.util.Iterator
StackMap stack:
90: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 19
start local 19 91: aload 19
instanceof org.graalvm.compiler.nodes.java.AccessMonitorNode
ifeq 94
92: aload 19
checkcast org.graalvm.compiler.nodes.java.AccessMonitorNode
astore 21
start local 21 93: aload 21
aload 17
invokevirtual org.graalvm.compiler.nodes.java.AccessMonitorNode.setObject:(Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 21 end local 19 94: StackMap locals:
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 90
95: aload 10
invokevirtual org.graalvm.compiler.nodes.extended.OSRStartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 19
start local 19 96: aload 19
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
97: aload 18
aload 19
invokevirtual org.graalvm.compiler.nodes.extended.OSRMonitorEnterNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
98: aload 10
aload 18
invokevirtual org.graalvm.compiler.nodes.extended.OSRStartNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 19 end local 18 end local 17 end local 16 99: iinc 15 -1
StackMap locals: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.EntryMarkerNode int int org.graalvm.compiler.nodes.EntryMarkerNode org.graalvm.compiler.nodes.LoopBeginNode int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.extended.OSRStartNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode int int int
StackMap stack:
100: iload 15
ifge 86
end local 15 101: aload 2
iconst_4
aload 1
ldc "After inserting OSR monitor enters"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
102: aload 1
getstatic org.graalvm.compiler.nodes.java.MonitorExitNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 16
goto 107
StackMap locals: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.EntryMarkerNode int int org.graalvm.compiler.nodes.EntryMarkerNode org.graalvm.compiler.nodes.LoopBeginNode int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.extended.OSRStartNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode int int top java.util.Iterator
StackMap stack:
103: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MonitorExitNode
astore 15
start local 15 104: aload 15
invokevirtual org.graalvm.compiler.nodes.java.MonitorExitNode.getMonitorId:()Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
astore 17
start local 17 105: aload 17
invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
iconst_1
if_icmpeq 107
106: new org.graalvm.compiler.core.common.PermanentBailoutException
dup
ldc "Unbalanced monitor enter-exit in OSR compilation with locks. Object is locked before the loop but released inside the loop."
invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
athrow
end local 17 end local 15 107: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 103
108: StackMap locals: org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.EntryMarkerNode int int org.graalvm.compiler.nodes.EntryMarkerNode org.graalvm.compiler.nodes.LoopBeginNode int org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.extended.OSRStartNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode int int
StackMap stack:
aload 2
iconst_4
aload 1
ldc "OnStackReplacement result"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
109: new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
dup
getstatic org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality.Required:Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;
invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;)V
aload 1
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
110: getstatic org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase.$assertionsDisabled:Z
ifne 111
aload 1
getstatic org.graalvm.compiler.nodes.ParameterNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
ifeq 111
new java.lang.AssertionError
dup
ldc "OSR Compilation contains references to parameters."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
111: StackMap locals:
StackMap stack:
return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 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 112 0 this Lorg/graalvm/compiler/hotspot/phases/OnStackReplacementPhase;
0 112 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 112 2 debug Lorg/graalvm/compiler/debug/DebugContext;
15 112 3 osr Lorg/graalvm/compiler/nodes/EntryMarkerNode;
6 112 4 maxIterations I
7 112 5 iterations I
8 112 6 originalOSRNode Lorg/graalvm/compiler/nodes/EntryMarkerNode;
9 112 7 originalOSRLoop Lorg/graalvm/compiler/nodes/LoopBeginNode;
10 112 8 currentOSRWithLocks Z
16 36 9 loops Lorg/graalvm/compiler/loop/LoopsData;
17 36 10 l Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
31 33 11 usage Lorg/graalvm/compiler/graph/Node;
32 33 13 proxy Lorg/graalvm/compiler/nodes/EntryProxyNode;
38 112 9 osrState Lorg/graalvm/compiler/nodes/FrameState;
40 112 10 osrStart Lorg/graalvm/compiler/nodes/extended/OSRStartNode;
41 112 11 start Lorg/graalvm/compiler/nodes/StartNode;
42 112 12 next Lorg/graalvm/compiler/nodes/FixedNode;
48 112 13 localsSize I
49 112 14 locksSize I
50 77 15 i I
52 75 16 value Lorg/graalvm/compiler/nodes/ValueNode;
58 73 17 proxy Lorg/graalvm/compiler/nodes/EntryProxyNode;
59 73 18 narrowedStamp Lorg/graalvm/compiler/core/common/type/Stamp;
60 73 19 unrestrictedStamp Lorg/graalvm/compiler/core/common/type/Stamp;
62 63 20 osrLocal Lorg/graalvm/compiler/nodes/ValueNode;
64 73 20 osrLocal Lorg/graalvm/compiler/nodes/ValueNode;
65 73 21 reason Lorg/graalvm/compiler/hotspot/phases/OnStackReplacementPhase$OSRLocalSpeculationReason;
67 72 22 check Lorg/graalvm/compiler/nodes/LogicNode;
68 72 23 constant Ljdk/vm/ci/meta/JavaConstant;
69 72 24 guard Lorg/graalvm/compiler/nodes/FixedGuardNode;
85 101 15 i I
87 99 16 id Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
88 99 17 lockedObject Lorg/graalvm/compiler/nodes/ValueNode;
89 99 18 osrMonitorEnter Lorg/graalvm/compiler/nodes/extended/OSRMonitorEnterNode;
91 94 19 usage Lorg/graalvm/compiler/graph/Node;
93 94 21 access Lorg/graalvm/compiler/nodes/java/AccessMonitorNode;
96 99 19 oldNext Lorg/graalvm/compiler/nodes/FixedNode;
104 107 15 exit Lorg/graalvm/compiler/nodes/java/MonitorExitNode;
105 107 17 id Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
MethodParameters:
Name Flags
graph
private static org.graalvm.compiler.nodes.EntryMarkerNode getEntryMarker(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/EntryMarkerNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=3, args_size=1
start local 0 0: aload 0
getstatic org.graalvm.compiler.nodes.EntryMarkerNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
astore 1
start local 1 1: aload 1
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EntryMarkerNode
astore 2
start local 2 2: aload 2
ifnonnull 4
3: new org.graalvm.compiler.core.common.PermanentBailoutException
dup
ldc "No OnStackReplacementNode generated"
invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.graalvm.compiler.graph.iterators.NodeIterable org.graalvm.compiler.nodes.EntryMarkerNode
StackMap stack:
aload 1
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
iconst_1
if_icmple 6
5: new org.graalvm.compiler.debug.GraalError
dup
ldc "Multiple OnStackReplacementNodes generated"
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.FrameState.stackSize:()I
ifeq 8
7: new org.graalvm.compiler.core.common.PermanentBailoutException
dup
ldc "OSR with stack entries not supported: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
getstatic org.graalvm.compiler.nodeinfo.Verbosity.Debugger:Lorg/graalvm/compiler/nodeinfo/Verbosity;
invokevirtual org.graalvm.compiler.nodes.FrameState.toString:(Lorg/graalvm/compiler/nodeinfo/Verbosity;)Ljava/lang/String;
aastore
invokespecial org.graalvm.compiler.core.common.PermanentBailoutException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
8: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 9 1 osrNodes Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/nodes/EntryMarkerNode;>;
2 9 2 osr Lorg/graalvm/compiler/nodes/EntryMarkerNode;
MethodParameters:
Name Flags
graph
private static org.graalvm.compiler.nodes.LoopBeginNode osrLoop(org.graalvm.compiler.nodes.EntryMarkerNode);
descriptor: (Lorg/graalvm/compiler/nodes/EntryMarkerNode;)Lorg/graalvm/compiler/nodes/LoopBeginNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new org.graalvm.compiler.loop.LoopsData
dup
aload 0
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokespecial org.graalvm.compiler.loop.LoopsData.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.compiler.loop.LoopsData.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getNodeToBlock:()Lorg/graalvm/compiler/graph/NodeMap;
aload 0
invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: org.graalvm.compiler.loop.LoopsData org.graalvm.compiler.core.common.cfg.Loop
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
checkcast org.graalvm.compiler.nodes.cfg.Block
invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
checkcast org.graalvm.compiler.nodes.LoopBeginNode
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 osr Lorg/graalvm/compiler/nodes/EntryMarkerNode;
1 5 1 loops Lorg/graalvm/compiler/loop/LoopsData;
2 5 2 l Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
MethodParameters:
Name Flags
osr
private static boolean osrWithLocks(org.graalvm.compiler.nodes.EntryMarkerNode);
descriptor: (Lorg/graalvm/compiler/nodes/EntryMarkerNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.EntryMarkerNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.FrameState.locksSize:()I
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 osr Lorg/graalvm/compiler/nodes/EntryMarkerNode;
MethodParameters:
Name Flags
osr
public float codeSizeIncrease();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc 5.0
freturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/phases/OnStackReplacementPhase;
private static boolean lambda$0(org.graalvm.compiler.nodes.FrameState, org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/nodes/FrameState;Lorg/graalvm/compiler/graph/Node;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 n Lorg/graalvm/compiler/graph/Node;
}
SourceFile: "OnStackReplacementPhase.java"
NestMembers:
org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase$OSRLocalSpeculationReason org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase$Options
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract SpeculationReason = jdk.vm.ci.meta.SpeculationLog$SpeculationReason of jdk.vm.ci.meta.SpeculationLog
private OSRLocalSpeculationReason = org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase$OSRLocalSpeculationReason of org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase
public Options = org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase$Options of org.graalvm.compiler.hotspot.phases.OnStackReplacementPhase
public final Optionality = org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality of org.graalvm.compiler.phases.common.DeadCodeEliminationPhase