public class org.graalvm.compiler.phases.common.inlining.walker.InliningData
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.inlining.walker.InliningData
super_class: java.lang.Object
{
private static final org.graalvm.compiler.debug.CounterKey counterInliningPerformed;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.CounterKey counterInliningRuns;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.CounterKey counterInliningConsidered;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.ArrayDeque<org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder> graphQueue;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;>;
private final java.util.ArrayDeque<org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation> invocationQueue;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;>;
private final org.graalvm.compiler.phases.tiers.HighTierContext context;
descriptor: Lorg/graalvm/compiler/phases/tiers/HighTierContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int maxMethodPerInlining;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.phases.common.CanonicalizerPhase canonicalizer;
descriptor: Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy inliningPolicy;
descriptor: Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.nodes.StructuredGraph rootGraph;
descriptor: Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.debug.DebugContext debug;
descriptor: Lorg/graalvm/compiler/debug/DebugContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int maxGraphs;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final java.lang.Object[] NO_CONTEXT;
descriptor: [Ljava/lang/Object;
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/phases/common/inlining/walker/InliningData;
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.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
3: ldc "InliningPerformed"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
putstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.counterInliningPerformed:Lorg/graalvm/compiler/debug/CounterKey;
4: ldc "InliningRuns"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
putstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.counterInliningRuns:Lorg/graalvm/compiler/debug/CounterKey;
5: ldc "InliningConsidered"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
putstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.counterInliningConsidered:Lorg/graalvm/compiler/debug/CounterKey;
6: iconst_0
anewarray java.lang.Object
putstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.NO_CONTEXT:[Ljava/lang/Object;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.HighTierContext, int, org.graalvm.compiler.phases.common.CanonicalizerPhase, org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy, java.util.LinkedList<org.graalvm.compiler.nodes.Invoke>);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/HighTierContext;ILorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy;Ljava/util/LinkedList;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
2: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.invocationQueue:Ljava/util/ArrayDeque;
3: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 4
aload 1
ifnonnull 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.HighTierContext int org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy java.util.LinkedList
StackMap stack:
aload 0
aload 2
putfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
5: aload 0
iload 3
putfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxMethodPerInlining:I
6: aload 0
aload 4
putfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
7: aload 0
aload 5
putfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningPolicy:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy;
8: aload 0
iconst_1
putfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxGraphs:I
9: aload 0
aload 1
putfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.rootGraph:Lorg/graalvm/compiler/nodes/StructuredGraph;
10: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
putfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
11: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.invocationQueue:Ljava/util/ArrayDeque;
new org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation
dup
aconst_null
dconst_1
dconst_1
aconst_null
invokespecial org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.<init>:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;DDLjava/util/BitSet;)V
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
12: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
new org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable
dup
aload 1
dconst_1
dconst_1
aconst_null
aload 6
invokespecial org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;DDLjava/util/BitSet;Ljava/util/LinkedList;)V
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
13: 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 14 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 14 1 rootGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 14 2 context Lorg/graalvm/compiler/phases/tiers/HighTierContext;
0 14 3 maxMethodPerInlining I
0 14 4 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
0 14 5 inliningPolicy Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy;
0 14 6 rootInvokes Ljava/util/LinkedList<Lorg/graalvm/compiler/nodes/Invoke;>;
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/HighTierContext;ILorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy;Ljava/util/LinkedList<Lorg/graalvm/compiler/nodes/Invoke;>;)V
MethodParameters:
Name Flags
rootGraph
context
maxMethodPerInlining
canonicalizer
inliningPolicy
rootInvokes
public static boolean isFreshInstantiation(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.java.AbstractNewObjectNode
ifne 1
aload 0
instanceof org.graalvm.compiler.nodes.virtual.AllocatedObjectNode
ifne 1
aload 0
instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 arg Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
arg
private java.lang.String checkTargetConditionsHelper(jdk.vm.ci.meta.ResolvedJavaMethod, int);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.rootGraph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
astore 3
start local 3 1: aload 1
ifnonnull 3
2: ldc "the method is not resolved"
areturn
3: StackMap locals: org.graalvm.compiler.options.OptionValues
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isNative:()Z
ifeq 5
getstatic org.graalvm.compiler.core.common.GraalOptions.Intrinsify:Lorg/graalvm/compiler/options/OptionKey;
aload 3
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
ifeq 4
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
invokevirtual org.graalvm.compiler.phases.tiers.HighTierContext.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
aload 1
iload 2
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.canIntrinsify:(Lorg/graalvm/compiler/nodes/spi/Replacements;Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Z
ifne 5
4: StackMap locals:
StackMap stack:
ldc "it is a non-intrinsic native method"
areturn
5: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isAbstract:()Z
ifeq 7
6: ldc "it is an abstract method"
areturn
7: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInitialized:()Z
ifne 9
8: ldc "the method's class is not initialized"
areturn
9: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.canBeInlined:()Z
ifne 11
10: ldc "it is marked non-inlinable"
areturn
11: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.countRecursiveInlining:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
getstatic org.graalvm.compiler.core.common.GraalOptions.MaximumRecursiveInlining:Lorg/graalvm/compiler/options/OptionKey;
aload 3
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
if_icmple 13
12: ldc "it exceeds the maximum recursive inlining depth"
areturn
13: StackMap locals:
StackMap stack:
new org.graalvm.compiler.phases.OptimisticOptimizations
dup
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.rootGraph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getProfilingInfo:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ProfilingInfo;
aload 3
invokespecial org.graalvm.compiler.phases.OptimisticOptimizations.<init>:(Ljdk/vm/ci/meta/ProfilingInfo;Lorg/graalvm/compiler/options/OptionValues;)V
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
invokevirtual org.graalvm.compiler.phases.tiers.HighTierContext.getOptimisticOptimizations:()Lorg/graalvm/compiler/phases/OptimisticOptimizations;
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.lessOptimisticThan:(Lorg/graalvm/compiler/phases/OptimisticOptimizations;)Z
ifeq 15
14: ldc "the callee uses less optimistic optimizations than caller"
areturn
15: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 16 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 16 2 invokeBci I
1 16 3 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
method
invokeBci
private boolean checkTargetConditions(org.graalvm.compiler.nodes.Invoke, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.checkTargetConditionsHelper:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Ljava/lang/String;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: iconst_1
ireturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
aload 3
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
4: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 1
iconst_0
ldc "InliningPhase"
aconst_null
aconst_null
aload 3
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.nodes.InliningLog.addDecision:(Lorg/graalvm/compiler/nodes/Invokable;ZLjava/lang/String;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;Ljava/lang/String;[Ljava/lang/Object;)V
5: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 6 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 6 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 6 3 failureMessage Ljava/lang/String;
MethodParameters:
Name Flags
invoke
method
private org.graalvm.compiler.phases.common.inlining.info.InlineInfo getInlineInfo(org.graalvm.compiler.nodes.Invoke);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.checkInvokeConditions:(Lorg/graalvm/compiler/nodes/Invoke;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 4
2: aload 1
aload 2
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;Ljava/lang/String;)V
3: aconst_null
areturn
4: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 3
start local 3 5: aload 3
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 4
start local 4 6: aload 3
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
astore 5
start local 5 7: aload 5
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Special:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpeq 8
aload 5
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpeq 8
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.canBeStaticallyBound:()Z
ifeq 9
8: StackMap locals: org.graalvm.compiler.nodes.java.MethodCallTargetNode jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.CallTargetNode$InvokeKind
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.getExactInlineInfo:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
areturn
9: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 10
aload 5
invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.isIndirect:()Z
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 6
start local 6 11: aload 3
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.receiver:()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;
instanceof org.graalvm.compiler.core.common.type.ObjectStamp
ifne 13
12: aconst_null
areturn
13: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.receiver:()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;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
astore 7
start local 7 14: aload 7
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.alwaysNull:()Z
ifeq 16
15: aconst_null
areturn
16: StackMap locals: org.graalvm.compiler.core.common.type.ObjectStamp
StackMap stack:
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.getContextType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 8
start local 8 17: aload 7
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
ifnull 26
18: aload 7
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 9
start local 9 19: aload 9
ifnull 26
aload 6
aload 9
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 26
20: aload 9
astore 6
21: aload 7
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isExactType:()Z
ifeq 26
22: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 23
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 23
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " subtype of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
23: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 6
aload 4
aload 8
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 10
start local 10 24: aload 10
ifnull 26
25: aload 0
aload 1
aload 10
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.getExactInlineInfo:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
areturn
end local 10 end local 9 26: StackMap locals:
StackMap stack:
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifeq 30
27: aload 6
aload 4
aload 8
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 9
start local 9 28: aload 9
ifnull 30
29: aload 0
aload 1
aload 9
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.getExactInlineInfo:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
areturn
end local 9 30: StackMap locals:
StackMap stack:
aload 5
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Interface:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpeq 41
31: aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.findLeafConcreteSubtype:()Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
astore 9
start local 9 32: aload 9
ifnull 38
33: aload 9
invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.getResult:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaType
aload 4
aload 8
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 10
start local 10 34: aload 10
ifnull 38
35: aload 9
aload 3
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.canRecordTo:(Ljdk/vm/ci/meta/Assumptions;)Z
ifeq 37
36: aload 0
aload 1
aload 10
aload 9
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.getAssumptionInlineInfo:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Assumptions$AssumptionResult;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
areturn
37: StackMap locals: jdk.vm.ci.meta.Assumptions$AssumptionResult jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 0
aload 1
aload 10
aload 9
invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.getResult:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaType
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.getTypeCheckedAssumptionInfo:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
areturn
end local 10 38: StackMap locals:
StackMap stack:
aload 6
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.findUniqueConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
astore 10
start local 10 39: aload 10
ifnull 41
aload 10
aload 3
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.canRecordTo:(Ljdk/vm/ci/meta/Assumptions;)Z
ifeq 41
40: aload 0
aload 1
aload 10
invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.getResult:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod
aload 10
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.getAssumptionInlineInfo:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Assumptions$AssumptionResult;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
areturn
end local 10 end local 9 41: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.getTypeCheckedInlineInfo:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 42 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
1 42 2 failureMessage Ljava/lang/String;
5 42 3 callTarget Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
6 42 4 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
7 42 5 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
11 42 6 holder Ljdk/vm/ci/meta/ResolvedJavaType;
14 42 7 receiverStamp Lorg/graalvm/compiler/core/common/type/ObjectStamp;
17 42 8 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
19 26 9 receiverType Ljdk/vm/ci/meta/ResolvedJavaType;
24 26 10 resolvedMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
28 30 9 resolvedMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
32 41 9 leafConcreteSubtype Ljdk/vm/ci/meta/Assumptions$AssumptionResult<Ljdk/vm/ci/meta/ResolvedJavaType;>;
34 38 10 resolvedMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
39 41 10 concrete Ljdk/vm/ci/meta/Assumptions$AssumptionResult<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
MethodParameters:
Name Flags
invoke
private org.graalvm.compiler.phases.common.inlining.info.InlineInfo getTypeCheckedAssumptionInfo(org.graalvm.compiler.nodes.Invoke, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.checkTargetConditions:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new org.graalvm.compiler.phases.common.inlining.info.TypeGuardInlineInfo
dup
aload 1
aload 2
aload 3
invokespecial org.graalvm.compiler.phases.common.inlining.info.TypeGuardInlineInfo.<init>:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 3 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 3 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 3 3 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
invoke
method
type
private org.graalvm.compiler.phases.common.inlining.info.InlineInfo getTypeCheckedInlineInfo(org.graalvm.compiler.nodes.Invoke, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=20, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.getProfile:()Ljdk/vm/ci/meta/JavaTypeProfile;
astore 3
start local 3 1: aload 3
ifnonnull 5
2: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "no type profile exists"
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
3: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 1
iconst_0
ldc "InliningPhase"
aconst_null
aconst_null
ldc "no type profile exists"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.nodes.InliningLog.addDecision:(Lorg/graalvm/compiler/nodes/Invokable;ZLjava/lang/String;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;Ljava/lang/String;[Ljava/lang/Object;)V
4: aconst_null
areturn
5: StackMap locals: jdk.vm.ci.meta.JavaTypeProfile
StackMap stack:
aload 3
invokevirtual jdk.vm.ci.meta.JavaTypeProfile.getTypes:()[Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;
astore 4
start local 4 6: aload 4
ifnull 7
aload 4
arraylength
ifgt 10
7: StackMap locals: jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[]
StackMap stack:
aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "no types in profile"
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
8: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 1
iconst_0
ldc "InliningPhase"
aconst_null
aconst_null
ldc "no types in profile"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.nodes.InliningLog.addDecision:(Lorg/graalvm/compiler/nodes/Invokable;ZLjava/lang/String;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;Ljava/lang/String;[Ljava/lang/Object;)V
9: aconst_null
areturn
10: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.getContextType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 5
start local 5 11: aload 3
invokevirtual jdk.vm.ci.meta.JavaTypeProfile.getNotRecordedProbability:()D
dstore 6
start local 6 12: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
invokevirtual org.graalvm.compiler.phases.tiers.HighTierContext.getOptimisticOptimizations:()Lorg/graalvm/compiler/phases/OptimisticOptimizations;
astore 8
start local 8 13: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
astore 9
start local 9 14: aload 4
arraylength
iconst_1
if_icmpne 25
dload 6
dconst_0
dcmpl
ifne 25
15: aload 8
aload 9
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.inlineMonomorphicCalls:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifne 19
16: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "inlining monomorphic calls is disabled"
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
17: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 1
iconst_0
ldc "InliningPhase"
aconst_null
aconst_null
ldc "inlining monomorphic calls is disabled"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.nodes.InliningLog.addDecision:(Lorg/graalvm/compiler/nodes/Invokable;ZLjava/lang/String;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;Ljava/lang/String;[Ljava/lang/Object;)V
18: aconst_null
areturn
19: StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.nodes.Invoke jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaTypeProfile jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[] jdk.vm.ci.meta.ResolvedJavaType double org.graalvm.compiler.phases.OptimisticOptimizations org.graalvm.compiler.options.OptionValues
StackMap stack:
aload 4
iconst_0
aaload
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 10
start local 10 20: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 21
aload 10
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 21
aload 10
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isConcrete:()Z
ifne 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 10
aload 2
aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 11
start local 11 22: aload 0
aload 1
aload 11
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.checkTargetConditions:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifne 24
23: aconst_null
areturn
24: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
new org.graalvm.compiler.phases.common.inlining.info.TypeGuardInlineInfo
dup
aload 1
aload 11
aload 10
invokespecial org.graalvm.compiler.phases.common.inlining.info.TypeGuardInlineInfo.<init>:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)V
areturn
end local 11 end local 10 25: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokeinterface org.graalvm.compiler.nodes.Invoke.setPolymorphic:(Z)V
26: aload 8
aload 9
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.inlinePolymorphicCalls:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifne 30
dload 6
dconst_0
dcmpl
ifne 30
27: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "inlining polymorphic calls is disabled (%d types)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
28: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 1
iconst_0
ldc "InliningPhase"
aconst_null
aconst_null
ldc "inlining polymorphic calls is disabled (%d types)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.nodes.InliningLog.addDecision:(Lorg/graalvm/compiler/nodes/Invokable;ZLjava/lang/String;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;Ljava/lang/String;[Ljava/lang/Object;)V
29: aconst_null
areturn
30: StackMap locals:
StackMap stack:
aload 8
aload 9
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.inlineMegamorphicCalls:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifne 38
dload 6
dconst_0
dcmpl
ifle 38
31: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "inlining megamorphic calls is disabled (%d types, %f %% not recorded types)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
32: dload 6
ldc 100.0
dmul
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
33: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
34: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 1
iconst_0
ldc "InliningPhase"
aconst_null
aconst_null
35: ldc "inlining megamorphic calls is disabled (%d types, %f %% not recorded types)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
dload 6
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
36: invokevirtual org.graalvm.compiler.nodes.InliningLog.addDecision:(Lorg/graalvm/compiler/nodes/Invokable;ZLjava/lang/String;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;Ljava/lang/String;[Ljava/lang/Object;)V
37: aconst_null
areturn
38: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 39: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
start local 11 40: iconst_0
istore 12
start local 12 41: goto 56
42: StackMap locals: java.util.ArrayList java.util.ArrayList int
StackMap stack:
aload 4
iload 12
aaload
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 2
aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 13
start local 13 43: aload 13
ifnonnull 47
44: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "could not resolve method"
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
45: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 1
iconst_0
ldc "InliningPhase"
aconst_null
aconst_null
ldc "could not resolve method"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.nodes.InliningLog.addDecision:(Lorg/graalvm/compiler/nodes/Invokable;ZLjava/lang/String;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;Ljava/lang/String;[Ljava/lang/Object;)V
46: aconst_null
areturn
47: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 10
aload 13
invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
istore 14
start local 14 48: aload 4
iload 12
aaload
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getProbability:()D
dstore 15
start local 15 49: iload 14
ifge 54
50: aload 10
invokevirtual java.util.ArrayList.size:()I
istore 14
51: aload 10
aload 13
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
52: aload 11
dload 15
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
53: goto 55
54: StackMap locals: int double
StackMap stack:
aload 11
iload 14
aload 11
iload 14
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dload 15
dadd
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 15 end local 14 end local 13 55: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
56: iload 12
aload 4
arraylength
if_icmplt 42
end local 12 57: dload 6
dconst_0
dcmpl
ifle 77
58: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 59: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 13
start local 13 60: iconst_0
istore 14
start local 14 61: goto 66
62: StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.nodes.Invoke jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaTypeProfile jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[] jdk.vm.ci.meta.ResolvedJavaType double org.graalvm.compiler.phases.OptimisticOptimizations org.graalvm.compiler.options.OptionValues java.util.ArrayList java.util.ArrayList java.util.ArrayList java.util.ArrayList int
StackMap stack:
aload 11
iload 14
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
getstatic org.graalvm.compiler.core.common.GraalOptions.MegamorphicInliningMinMethodProbability:Lorg/graalvm/compiler/options/OptionKey;
aload 9
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dcmpl
iflt 65
63: aload 12
aload 10
iload 14
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
64: aload 13
aload 11
iload 14
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
65: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
66: iload 14
aload 10
invokevirtual java.util.ArrayList.size:()I
if_icmplt 62
end local 14 67: aload 12
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 75
68: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "no methods remaining after filtering less frequent methods (%d methods previously)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
69: aload 10
invokevirtual java.util.ArrayList.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
70: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
71: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 1
iconst_0
ldc "InliningPhase"
aconst_null
aconst_null
72: ldc "no methods remaining after filtering less frequent methods (%d methods previously)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 10
invokevirtual java.util.ArrayList.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
73: invokevirtual org.graalvm.compiler.nodes.InliningLog.addDecision:(Lorg/graalvm/compiler/nodes/Invokable;ZLjava/lang/String;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;Ljava/lang/String;[Ljava/lang/Object;)V
74: aconst_null
areturn
75: StackMap locals:
StackMap stack:
aload 12
astore 10
76: aload 13
astore 11
end local 13 end local 12 77: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.util.ArrayList.size:()I
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxMethodPerInlining:I
if_icmple 81
78: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "polymorphic call with more than %d target methods"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxMethodPerInlining:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
79: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 1
iconst_0
ldc "InliningPhase"
aconst_null
aconst_null
ldc "polymorphic call with more than %d target methods"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxMethodPerInlining:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.nodes.InliningLog.addDecision:(Lorg/graalvm/compiler/nodes/Invokable;ZLjava/lang/String;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;Ljava/lang/String;[Ljava/lang/Object;)V
80: aconst_null
areturn
81: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 82: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 13
start local 13 83: aload 4
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 94
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.nodes.Invoke jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaTypeProfile jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[] jdk.vm.ci.meta.ResolvedJavaType double org.graalvm.compiler.phases.OptimisticOptimizations org.graalvm.compiler.options.OptionValues java.util.ArrayList java.util.ArrayList java.util.ArrayList java.util.ArrayList top int int jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[]
StackMap stack:
84: aload 17
iload 15
aaload
astore 14
start local 14 85: aload 14
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 2
aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 18
start local 18 86: aload 10
aload 18
invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
istore 19
start local 19 87: iload 19
iconst_m1
if_icmpne 90
88: dload 6
aload 14
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getProbability:()D
dadd
dstore 6
89: goto 93
90: StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.nodes.Invoke jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaTypeProfile jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[] jdk.vm.ci.meta.ResolvedJavaType double org.graalvm.compiler.phases.OptimisticOptimizations org.graalvm.compiler.options.OptionValues java.util.ArrayList java.util.ArrayList java.util.ArrayList java.util.ArrayList jdk.vm.ci.meta.JavaTypeProfile$ProfiledType int int jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[] jdk.vm.ci.meta.ResolvedJavaMethod int
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 91
aload 14
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 91
aload 14
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAbstract:()Z
ifeq 91
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
91: StackMap locals:
StackMap stack:
aload 12
aload 14
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
92: aload 13
iload 19
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 19 end local 18 end local 14 93: StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.nodes.Invoke jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaTypeProfile jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[] jdk.vm.ci.meta.ResolvedJavaType double org.graalvm.compiler.phases.OptimisticOptimizations org.graalvm.compiler.options.OptionValues java.util.ArrayList java.util.ArrayList java.util.ArrayList java.util.ArrayList top int int jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[]
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
94: iload 15
iload 16
if_icmplt 84
95: aload 12
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 101
96: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "no types remaining after filtering less frequent types (%d types previously)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
97: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 1
iconst_0
ldc "InliningPhase"
aconst_null
aconst_null
ldc "no types remaining after filtering less frequent types (%d types previously)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
98: aload 4
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
99: invokevirtual org.graalvm.compiler.nodes.InliningLog.addDecision:(Lorg/graalvm/compiler/nodes/Invokable;ZLjava/lang/String;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;Ljava/lang/String;[Ljava/lang/Object;)V
100: aconst_null
areturn
101: StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.nodes.Invoke jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaTypeProfile jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[] jdk.vm.ci.meta.ResolvedJavaType double org.graalvm.compiler.phases.OptimisticOptimizations org.graalvm.compiler.options.OptionValues java.util.ArrayList java.util.ArrayList java.util.ArrayList java.util.ArrayList
StackMap stack:
aload 10
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 15
goto 109
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.nodes.Invoke jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaTypeProfile jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[] jdk.vm.ci.meta.ResolvedJavaType double org.graalvm.compiler.phases.OptimisticOptimizations org.graalvm.compiler.options.OptionValues java.util.ArrayList java.util.ArrayList java.util.ArrayList java.util.ArrayList top java.util.Iterator
StackMap stack:
102: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod
astore 14
start local 14 103: aload 0
aload 1
aload 14
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.checkTargetConditions:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifne 109
104: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "it is a polymorphic method call and at least one invoked method cannot be inlined"
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
105: aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 1
iconst_0
ldc "InliningPhase"
aconst_null
aconst_null
106: ldc "it is a polymorphic method call and at least one invoked method cannot be inlined"
iconst_0
anewarray java.lang.Object
107: invokevirtual org.graalvm.compiler.nodes.InliningLog.addDecision:(Lorg/graalvm/compiler/nodes/Invokable;ZLjava/lang/String;Ljdk/internal/vm/compiler/collections/EconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;Ljava/lang/String;[Ljava/lang/Object;)V
108: aconst_null
areturn
end local 14 109: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 102
110: new org.graalvm.compiler.phases.common.inlining.info.MultiTypeGuardInlineInfo
dup
aload 1
aload 10
aload 12
aload 13
dload 6
invokespecial org.graalvm.compiler.phases.common.inlining.info.MultiTypeGuardInlineInfo.<init>:(Lorg/graalvm/compiler/nodes/Invoke;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;D)V
areturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 111 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 111 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 111 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 111 3 typeProfile Ljdk/vm/ci/meta/JavaTypeProfile;
6 111 4 ptypes [Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;
11 111 5 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
12 111 6 notRecordedTypeProbability D
13 111 8 optimisticOpts Lorg/graalvm/compiler/phases/OptimisticOptimizations;
14 111 9 options Lorg/graalvm/compiler/options/OptionValues;
20 25 10 type Ljdk/vm/ci/meta/ResolvedJavaType;
22 25 11 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
39 111 10 concreteMethods Ljava/util/ArrayList<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
40 111 11 concreteMethodsProbabilities Ljava/util/ArrayList<Ljava/lang/Double;>;
41 57 12 i I
43 55 13 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
48 55 14 index I
49 55 15 curProbability D
59 77 12 newConcreteMethods Ljava/util/ArrayList<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
60 77 13 newConcreteMethodsProbabilities Ljava/util/ArrayList<Ljava/lang/Double;>;
61 67 14 i I
82 111 12 usedTypes Ljava/util/ArrayList<Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;>;
83 111 13 typesToConcretes Ljava/util/ArrayList<Ljava/lang/Integer;>;
85 93 14 type Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;
86 93 18 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
87 93 19 index I
103 109 14 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
invoke
targetMethod
private org.graalvm.compiler.phases.common.inlining.info.InlineInfo getAssumptionInlineInfo(org.graalvm.compiler.nodes.Invoke, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Assumptions$AssumptionResult<?>);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Assumptions$AssumptionResult;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 1
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isConcrete:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.checkTargetConditions:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifeq 3
2: new org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo
dup
aload 1
aload 2
aload 3
invokespecial org.graalvm.compiler.phases.common.inlining.info.AssumptionInlineInfo.<init>:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Assumptions$AssumptionResult;)V
areturn
3: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 4 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 4 2 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 4 3 takenAssumption Ljdk/vm/ci/meta/Assumptions$AssumptionResult<*>;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Assumptions$AssumptionResult<*>;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
MethodParameters:
Name Flags
invoke
concrete
takenAssumption
private org.graalvm.compiler.phases.common.inlining.info.InlineInfo getExactInlineInfo(org.graalvm.compiler.nodes.Invoke, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 1
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isConcrete:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.checkTargetConditions:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifeq 3
2: new org.graalvm.compiler.phases.common.inlining.info.ExactInlineInfo
dup
aload 1
aload 2
invokespecial org.graalvm.compiler.phases.common.inlining.info.ExactInlineInfo.<init>:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
areturn
3: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 4 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 4 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
invoke
targetMethod
private void doInline(org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable, org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation, java.lang.String);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolderExplorable;Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 1: aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
astore 5
start local 5 2: aconst_null
astore 6
aconst_null
astore 7
3: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "doInline"
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 8
start local 8 4: getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
astore 9
start local 9 5: aload 9
aload 5
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.addAll:(Ljava/lang/Iterable;)V
6: aload 5
new org.graalvm.compiler.phases.util.Providers
dup
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
invokespecial org.graalvm.compiler.phases.util.Providers.<init>:(Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
aload 3
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.inline:(Lorg/graalvm/compiler/phases/util/Providers;Ljava/lang/String;)Ljdk/internal/vm/compiler/collections/EconomicSet;
astore 10
start local 10 7: aload 9
aload 10
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.addAll:(Ljdk/internal/vm/compiler/collections/EconomicSet;)V
8: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.counterInliningRuns:Lorg/graalvm/compiler/debug/CounterKey;
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
9: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
iconst_4
aload 4
ldc "after %s"
aload 5
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
10: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 11
start local 11 11: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
aload 4
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
aload 9
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable;)V
12: aload 4
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNewNodes:(Lorg/graalvm/compiler/graph/Graph$Mark;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 13
goto 16
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation java.lang.String org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.common.inlining.info.InlineInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicSet org.graalvm.compiler.graph.Graph$Mark top java.util.Iterator
StackMap stack:
13: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 12
start local 12 14: aload 12
instanceof org.graalvm.compiler.nodes.Invoke
ifeq 16
15: aload 1
aload 12
checkcast org.graalvm.compiler.nodes.Invoke
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.pushInvoke:(Lorg/graalvm/compiler/nodes/Invoke;)V
end local 12 16: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
17: aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.computeProbabilities:()V
18: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.counterInliningPerformed:Lorg/graalvm/compiler/debug/CounterKey;
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
end local 11 end local 10 end local 9 19: aload 8
ifnull 33
aload 8
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 33
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation java.lang.String org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.common.inlining.info.InlineInfo java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
20: astore 6
aload 8
ifnull 21
aload 8
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 8 StackMap locals:
StackMap stack:
21: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 7
aload 6
ifnonnull 23
aload 7
astore 6
goto 24
StackMap locals:
StackMap stack:
23: aload 6
aload 7
if_acmpeq 24
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
24: aload 6
athrow
25: StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation java.lang.String org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.common.inlining.info.InlineInfo
StackMap stack: jdk.vm.ci.code.BailoutException
astore 6
start local 6 26: aload 6
athrow
end local 6 27: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 28: new org.graalvm.compiler.debug.GraalError
dup
aload 6
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/Throwable;)V
aload 5
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.debug.GraalError.addContext:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/GraalError;
athrow
end local 6 29: StackMap locals:
StackMap stack: org.graalvm.compiler.debug.GraalError
astore 6
start local 6 30: aload 6
aload 5
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.debug.GraalError.addContext:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/GraalError;
athrow
end local 6 31: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 32: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
aload 6
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 6 33: 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 34 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 34 1 callerCallsiteHolder Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolderExplorable;
0 34 2 calleeInvocation Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
0 34 3 reason Ljava/lang/String;
1 34 4 callerGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 34 5 calleeInfo Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
4 21 8 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
5 19 9 canonicalizedNodes Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
7 19 10 parameterUsages Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
11 19 11 markBeforeCanonicalization Lorg/graalvm/compiler/graph/Graph$Mark;
14 16 12 newNode Lorg/graalvm/compiler/graph/Node;
26 27 6 bailout Ljdk/vm/ci/code/BailoutException;
28 29 6 e Ljava/lang/Throwable;
30 31 6 e Lorg/graalvm/compiler/debug/GraalError;
32 33 6 e Ljava/lang/Throwable;
Exception table:
from to target type
4 19 20 any
3 22 22 any
2 25 25 Class jdk.vm.ci.code.BailoutException
2 25 27 Class java.lang.AssertionError
2 25 27 Class java.lang.RuntimeException
2 25 29 Class org.graalvm.compiler.debug.GraalError
2 25 31 Class java.lang.Throwable
MethodParameters:
Name Flags
callerCallsiteHolder
calleeInvocation
reason
private boolean tryToInline(org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation, int);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.currentGraph:()Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
checkcast org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable
astore 3
start local 3 1: aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
astore 4
start local 4 2: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 3
aload 3
aload 4
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.containsInvoke:(Lorg/graalvm/compiler/nodes/Invoke;)Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable org.graalvm.compiler.phases.common.inlining.info.InlineInfo
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.counterInliningConsidered:Lorg/graalvm/compiler/debug/CounterKey;
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
4: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningPolicy:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy;
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
invokevirtual org.graalvm.compiler.phases.tiers.HighTierContext.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
aload 1
iload 2
iconst_1
invokeinterface org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy.isWorthInlining:(Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;IZ)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
astore 5
start local 5 5: aload 5
invokevirtual org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.shouldInline:()Z
ifeq 8
6: aload 0
aload 3
aload 1
aload 5
invokevirtual org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.getReason:()Ljava/lang/String;
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.doInline:(Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolderExplorable;Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;Ljava/lang/String;)V
7: iconst_1
ireturn
8: StackMap locals: org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
invokevirtual org.graalvm.compiler.phases.tiers.HighTierContext.getOptimisticOptimizations:()Lorg/graalvm/compiler/phases/OptimisticOptimizations;
aload 4
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.devirtualizeInvokes:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifeq 10
9: aload 4
new org.graalvm.compiler.phases.util.Providers
dup
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
invokespecial org.graalvm.compiler.phases.util.Providers.<init>:(Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.tryToDevirtualizeInvoke:(Lorg/graalvm/compiler/phases/util/Providers;)V
10: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 11 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 11 1 calleeInvocation Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
0 11 2 inliningDepth I
1 11 3 callerCallsiteHolder Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolderExplorable;
2 11 4 calleeInfo Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
5 11 5 decision Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
MethodParameters:
Name Flags
calleeInvocation
inliningDepth
private void processNextInvoke();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.currentGraph:()Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
checkcast org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.popInvoke:()Lorg/graalvm/compiler/nodes/Invoke;
astore 2
start local 2 2: aload 0
aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.getInlineInfo:(Lorg/graalvm/compiler/nodes/Invoke;)Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
astore 3
start local 3 3: aload 3
ifnull 9
4: aload 3
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.currentGraph:()Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.rootGraph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.populateInlinableElements:(Lorg/graalvm/compiler/phases/tiers/HighTierContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/options/OptionValues;)V
5: aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.invokeProbability:(Lorg/graalvm/compiler/nodes/Invoke;)D
dstore 4
start local 4 6: aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.invokeRelevance:(Lorg/graalvm/compiler/nodes/Invoke;)D
dstore 6
start local 6 7: new org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation
dup
aload 3
dload 4
dload 6
aload 2
aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.getFixedParams:()Ljdk/internal/vm/compiler/collections/EconomicSet;
invokestatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.freshlyInstantiatedArguments:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/internal/vm/compiler/collections/EconomicSet;)Ljava/util/BitSet;
invokespecial org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.<init>:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;DDLjava/util/BitSet;)V
astore 8
start local 8 8: aload 0
aload 8
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.pushInvocationAndGraphs:(Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;)V
end local 8 end local 6 end local 4 9: StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.phases.common.inlining.info.InlineInfo
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
1 10 1 callsiteHolder Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolderExplorable;
2 10 2 invoke Lorg/graalvm/compiler/nodes/Invoke;
3 10 3 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
6 9 4 invokeProbability D
7 9 6 invokeRelevance D
8 9 8 methodInvocation Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
public static java.util.BitSet freshlyInstantiatedArguments(org.graalvm.compiler.nodes.Invoke, jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.nodes.ParameterNode>);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/internal/vm/compiler/collections/EconomicSet;)Ljava/util/BitSet;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 2
aload 0
aload 1
invokestatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.paramsAndInvokeAreInSameGraph:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/internal/vm/compiler/collections/EconomicSet;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: org.graalvm.compiler.nodes.Invoke jdk.internal.vm.compiler.collections.EconomicSet java.util.BitSet int top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 4
start local 4 6: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 7
aload 4
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: org.graalvm.compiler.nodes.Invoke jdk.internal.vm.compiler.collections.EconomicSet java.util.BitSet int org.graalvm.compiler.nodes.ValueNode java.util.Iterator
StackMap stack:
aload 4
invokestatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.isFreshInstantiation:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 8
aload 4
instanceof org.graalvm.compiler.nodes.ParameterNode
ifeq 11
aload 1
aload 4
checkcast org.graalvm.compiler.nodes.ParameterNode
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
ifeq 11
8: StackMap locals:
StackMap stack:
aload 2
ifnonnull 10
9: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 2
10: StackMap locals:
StackMap stack:
aload 2
iload 3
invokevirtual java.util.BitSet.set:(I)V
11: StackMap locals:
StackMap stack:
iinc 3 1
end local 4 12: StackMap locals: org.graalvm.compiler.nodes.Invoke jdk.internal.vm.compiler.collections.EconomicSet java.util.BitSet int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 14 1 fixedParams Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/nodes/ParameterNode;>;
3 14 2 result Ljava/util/BitSet;
4 14 3 argIdx I
6 12 4 arg Lorg/graalvm/compiler/nodes/ValueNode;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/nodes/ParameterNode;>;)Ljava/util/BitSet;
MethodParameters:
Name Flags
invoke
fixedParams
private static boolean paramsAndInvokeAreInSameGraph(org.graalvm.compiler.nodes.Invoke, jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.nodes.ParameterNode>);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/internal/vm/compiler/collections/EconomicSet;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.isEmpty:()Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: org.graalvm.compiler.nodes.Invoke jdk.internal.vm.compiler.collections.EconomicSet top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ParameterNode
astore 2
start local 2 4: aload 2
invokevirtual org.graalvm.compiler.nodes.ParameterNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
if_acmpeq 6
5: iconst_0
ireturn
end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 8 1 fixedParams Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/nodes/ParameterNode;>;
4 6 2 p Lorg/graalvm/compiler/nodes/ParameterNode;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/nodes/ParameterNode;>;)Z
MethodParameters:
Name Flags
invoke
fixedParams
public int graphCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
public boolean hasUnprocessedGraphs();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()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 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
private org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder currentGraph();
descriptor: ()Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.peek:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
private void popGraph();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.pop:()Ljava/lang/Object;
pop
1: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 2
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxGraphs:I
if_icmple 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
private void popGraphs(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 1
iload 1
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.pop:()Ljava/lang/Object;
pop
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 1
if_icmplt 3
end local 2 6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 7 1 count I
2 6 2 i I
MethodParameters:
Name Flags
count
private java.lang.Object[] inliningContext();
descriptor: ()[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
iconst_2
invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
ifne 2
1: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.NO_CONTEXT:[Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
anewarray java.lang.Object
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData java.lang.Object[] int top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder
astore 3
start local 3 6: aload 1
iload 2
iinc 2 1
aload 3
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aastore
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
3 9 1 result [Ljava/lang/Object;
4 9 2 i I
6 7 3 g Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
private org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation currentInvocation();
descriptor: ()Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.invocationQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.peekFirst:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
private void pushInvocationAndGraphs(org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.invocationQueue:Ljava/util/ArrayDeque;
aload 1
invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
1: aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
astore 2
start local 2 2: aload 0
dup
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxGraphs:I
aload 2
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.numberOfMethods:()I
iadd
putfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxGraphs:I
3: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 4
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxGraphs:I
if_icmple 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.phases.common.inlining.info.InlineInfo
StackMap stack:
iconst_0
istore 3
start local 3 5: goto 11
6: StackMap locals: int
StackMap stack:
aload 1
iload 3
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.buildCallsiteHolderForElement:(I)Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
astore 4
start local 4 7: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 8
aload 0
aload 4
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.contains:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
ifeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
aload 4
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
9: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 10
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxGraphs:I
if_icmple 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 4 10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 2
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.numberOfMethods:()I
if_icmplt 6
end local 3 12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 13 1 methodInvocation Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
2 13 2 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
5 12 3 i I
7 10 4 ch Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
MethodParameters:
Name Flags
methodInvocation
private void popInvocation();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxGraphs:I
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.invocationQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.peekFirst:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.numberOfMethods:()I
isub
putfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxGraphs:I
1: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 2
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxGraphs:I
if_icmple 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.invocationQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.removeFirst:()Ljava/lang/Object;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
public int countRecursiveInlining(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData jdk.vm.ci.meta.ResolvedJavaMethod int top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder
astore 3
start local 3 3: aload 1
aload 3
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iinc 2 1
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 7 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 7 2 count I
3 5 3 callsiteHolder Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
MethodParameters:
Name Flags
method
public int inliningDepth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.invocationQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.invocationQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Invocations: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.invocationQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation
astore 2
start local 2 3: aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
ifnull 8
4: aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.numberOfMethods:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
5: aload 1
ldc "x "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
7: aload 1
ldc "; "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
9: aload 1
ldc "\nGraphs: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.iterator:()Ljava/util/Iterator;
astore 3
goto 14
StackMap locals:
StackMap stack:
11: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder
astore 2
start local 2 12: aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
13: aload 1
ldc "; "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 14: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
15: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
1 16 1 result Ljava/lang/StringBuilder;
3 8 2 invocation Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
12 14 2 graph Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
public java.util.Collection<java.lang.StackTraceElement> getInvocationStackTrace();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder
astore 2
start local 2 3: aload 1
aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
iconst_0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
1 6 1 result Ljava/util/List<Ljava/lang/StackTraceElement;>;
3 4 2 graph Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
Signature: ()Ljava/util/Collection<Ljava/lang/StackTraceElement;>;
private boolean contains(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder
astore 2
start local 2 3: aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
if_acmpne 5
4: iconst_1
ireturn
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 7 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 5 2 info Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
MethodParameters:
Name Flags
graph
public boolean moveForward();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.currentInvocation:()Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
astore 1
start local 1 1: aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.isRoot:()Z
ifne 2
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningPolicy:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy;
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
invokevirtual org.graalvm.compiler.phases.tiers.HighTierContext.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
iconst_0
invokeinterface org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy.isWorthInlining:(Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;IZ)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
invokevirtual org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.shouldInline:()Z
ifne 2
iconst_1
goto 3
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: iload 2
ifeq 10
5: aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.totalGraphs:()I
aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.processedGraphs:()I
isub
istore 3
start local 3 6: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 7
iload 3
ifgt 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: int int
StackMap stack:
aload 0
iload 3
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.popGraphs:(I)V
8: aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.popInvocation:()V
9: iconst_0
ireturn
end local 3 10: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.currentGraph:()Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder.hasRemainingInvokes:()Z
ifeq 11
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningPolicy:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy;
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.currentGraph:()Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokeinterface org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy.continueInlining:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
ifeq 11
iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 3
start local 3 13: iload 3
ifeq 16
14: aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.processNextInvoke:()V
15: iconst_0
ireturn
16: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.popGraph:()V
17: aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.isRoot:()Z
ifeq 19
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 20
aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.isAlive:()Z
ifne 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.incrementProcessedGraphs:()V
21: aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.processedGraphs:()I
aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.totalGraphs:()I
if_icmpne 40
22: aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.popInvocation:()V
23: aconst_null
astore 4
aconst_null
astore 5
24: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "Inlining"
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningContext:()[Ljava/lang/Object;
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 6
start local 6 25: aload 0
aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
iconst_1
iadd
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.tryToInline:(Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;I)Z
ifeq 30
26: aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.currentGraph:()Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.rootGraph:Lorg/graalvm/compiler/nodes/StructuredGraph;
if_acmpne 27
iconst_1
goto 28
StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack:
27: iconst_0
28: StackMap locals:
StackMap stack: int
aload 6
ifnull 29
aload 6
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
29: StackMap locals:
StackMap stack: int
ireturn
30: StackMap locals:
StackMap stack:
aload 6
ifnull 31
aload 6
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
31: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 4
33: aload 6
ifnull 34
aload 6
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 6 StackMap locals:
StackMap stack:
34: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
35: astore 5
aload 4
ifnonnull 36
aload 5
astore 4
goto 37
StackMap locals:
StackMap stack:
36: aload 4
aload 5
if_acmpeq 37
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
37: aload 4
athrow
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation int int
StackMap stack: java.lang.Throwable
38: astore 4
start local 4 39: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 40: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
1 41 1 currentInvocation Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
4 41 2 backtrack Z
6 10 3 remainingGraphs I
13 41 3 delve Z
25 34 6 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
39 40 4 e Ljava/lang/Throwable;
Exception table:
from to target type
25 28 32 any
24 29 35 any
30 31 35 any
32 35 35 any
23 29 38 Class java.lang.Throwable
30 31 38 Class java.lang.Throwable
32 38 38 Class java.lang.Throwable
private boolean topGraphsForTopInvocation();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.invocationQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifeq 3
1: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 2
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.currentInvocation:()Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.isRoot:()Z
ifeq 7
4: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifne 6
5: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 6
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
iconst_1
if_icmpeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.currentInvocation:()Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.totalGraphs:()I
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.currentInvocation:()Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.processedGraphs:()I
isub
istore 1
start local 1 8: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.graphQueue:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.iterator:()Ljava/util/Iterator;
astore 2
start local 2 9: iload 1
iconst_1
isub
istore 3
start local 3 10: goto 19
11: StackMap locals: int java.util.Iterator int
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
12: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
iconst_0
ireturn
14: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder
astore 4
start local 4 15: aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.currentInvocation:()Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
iload 3
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.inlineableElementAt:(I)Lorg/graalvm/compiler/phases/common/inlining/info/elem/Inlineable;
astore 5
start local 5 16: aload 5
checkcast org.graalvm.compiler.phases.common.inlining.info.elem.InlineableGraph
astore 6
start local 6 17: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 18
aload 4
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolder.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 6
invokevirtual org.graalvm.compiler.phases.common.inlining.info.elem.InlineableGraph.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 6 end local 5 end local 4 18: StackMap locals:
StackMap stack:
iinc 3 -1
StackMap locals:
StackMap stack:
19: iload 3
ifge 11
end local 3 20: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
8 21 1 remainingGraphs I
9 21 2 iter Ljava/util/Iterator<Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;>;
10 20 3 i I
15 18 4 queuedTargetCH Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolder;
16 18 5 targetIE Lorg/graalvm/compiler/phases/common/inlining/info/elem/Inlineable;
17 18 6 targetIG Lorg/graalvm/compiler/phases/common/inlining/info/elem/InlineableGraph;
public boolean repOK();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.topGraphsForTopInvocation:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
}
SourceFile: "InliningData.java"
InnerClasses:
public AssumptionResult = jdk.vm.ci.meta.Assumptions$AssumptionResult of jdk.vm.ci.meta.Assumptions
public ProfiledType = jdk.vm.ci.meta.JavaTypeProfile$ProfiledType of jdk.vm.ci.meta.JavaTypeProfile
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public Mark = org.graalvm.compiler.graph.Graph$Mark of org.graalvm.compiler.graph.Graph
public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
public Decision = org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision of org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy