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=4, 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
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logNotInlined:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;)V
4: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 5 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 5 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 5 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=10, 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;
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Special:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpeq 7
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.canBeStaticallyBound:()Z
ifeq 8
7: StackMap locals: org.graalvm.compiler.nodes.java.MethodCallTargetNode jdk.vm.ci.meta.ResolvedJavaMethod
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
8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 9
aload 3
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.isIndirect:()Z
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 5
start local 5 10: 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 12
11: aconst_null
areturn
12: 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 6
start local 6 13: aload 6
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.alwaysNull:()Z
ifeq 15
14: aconst_null
areturn
15: 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 7
start local 7 16: aload 6
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
ifnull 25
17: aload 6
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 8
start local 8 18: aload 8
ifnull 25
aload 5
aload 8
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 25
19: aload 8
astore 5
20: aload 6
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isExactType:()Z
ifeq 25
21: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 22
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 22
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 5
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
22: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 5
aload 4
aload 7
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 23: aload 9
ifnull 25
24: 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 end local 8 25: StackMap locals:
StackMap stack:
aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifeq 29
26: aload 5
aload 4
aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 8
start local 8 27: aload 8
ifnull 29
28: aload 0
aload 1
aload 8
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 8 29: StackMap locals:
StackMap stack:
aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.findLeafConcreteSubtype:()Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
astore 8
start local 8 30: aload 8
ifnull 36
31: aload 8
invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.getResult:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaType
aload 4
aload 7
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 32: aload 9
ifnull 36
33: aload 8
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 35
34: aload 0
aload 1
aload 9
aload 8
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
35: StackMap locals: jdk.vm.ci.meta.Assumptions$AssumptionResult jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 0
aload 1
aload 9
aload 8
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 9 36: StackMap locals:
StackMap stack:
aload 5
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.findUniqueConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
astore 9
start local 9 37: aload 9
ifnull 39
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 39
38: aload 0
aload 1
aload 9
invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.getResult:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod
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
39: StackMap locals: jdk.vm.ci.meta.Assumptions$AssumptionResult
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 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 40 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
1 40 2 failureMessage Ljava/lang/String;
5 40 3 callTarget Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
6 40 4 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
10 40 5 holder Ljdk/vm/ci/meta/ResolvedJavaType;
13 40 6 receiverStamp Lorg/graalvm/compiler/core/common/type/ObjectStamp;
16 40 7 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
18 25 8 receiverType Ljdk/vm/ci/meta/ResolvedJavaType;
23 25 9 resolvedMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
27 29 8 resolvedMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
30 40 8 leafConcreteSubtype Ljdk/vm/ci/meta/Assumptions$AssumptionResult<Ljdk/vm/ci/meta/ResolvedJavaType;>;
32 36 9 resolvedMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
37 40 9 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=11, 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 4
2: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "no type profile exists"
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logNotInlined:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;)V
3: aconst_null
areturn
4: 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 5: aload 4
ifnull 6
aload 4
arraylength
ifgt 8
6: 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"
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logNotInlined:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;)V
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.compiler.nodes.Invoke.getContextType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 5
start local 5 9: aload 3
invokevirtual jdk.vm.ci.meta.JavaTypeProfile.getNotRecordedProbability:()D
dstore 6
start local 6 10: 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 11: 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 12: aload 4
arraylength
iconst_1
if_icmpne 22
dload 6
dconst_0
dcmpl
ifne 22
13: aload 8
aload 9
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.inlineMonomorphicCalls:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifne 16
14: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "inlining monomorphic calls is disabled"
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logNotInlined:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;)V
15: aconst_null
areturn
16: 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 17: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 18
aload 10
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 18
aload 10
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isConcrete:()Z
ifne 18
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
18: 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 19: 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 21
20: aconst_null
areturn
21: 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 22: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokeinterface org.graalvm.compiler.nodes.Invoke.setPolymorphic:(Z)V
23: aload 8
aload 9
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.inlinePolymorphicCalls:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifne 26
dload 6
dconst_0
dcmpl
ifne 26
24: 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.logNotInlinedInvoke:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
25: aconst_null
areturn
26: StackMap locals:
StackMap stack:
aload 8
aload 9
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.inlineMegamorphicCalls:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifne 31
dload 6
dconst_0
dcmpl
ifle 31
27: 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
28: dload 6
ldc 100.0
dmul
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
29: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logNotInlinedInvoke:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
30: aconst_null
areturn
31: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 32: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
start local 11 33: iconst_0
istore 12
start local 12 34: goto 48
35: 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 36: aload 13
ifnonnull 39
37: aload 1
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningDepth:()I
aload 2
ldc "could not resolve method"
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logNotInlined:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;)V
38: aconst_null
areturn
39: 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 40: aload 4
iload 12
aaload
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getProbability:()D
dstore 15
start local 15 41: iload 14
ifge 46
42: aload 10
invokevirtual java.util.ArrayList.size:()I
istore 14
43: aload 10
aload 13
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
44: aload 11
dload 15
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
45: goto 47
46: 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 47: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
48: iload 12
aload 4
arraylength
if_icmplt 35
end local 12 49: dload 6
dconst_0
dcmpl
ifle 66
50: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 51: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 13
start local 13 52: iconst_0
istore 14
start local 14 53: goto 58
54: 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 57
55: 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
56: 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
57: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
58: iload 14
aload 10
invokevirtual java.util.ArrayList.size:()I
if_icmplt 54
end local 14 59: aload 12
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 64
60: 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
61: aload 10
invokevirtual java.util.ArrayList.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
62: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logNotInlinedInvoke:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
63: aconst_null
areturn
64: StackMap locals:
StackMap stack:
aload 12
astore 10
65: aload 13
astore 11
end local 13 end local 12 66: 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 69
67: 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.logNotInlinedInvoke:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
68: aconst_null
areturn
69: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 70: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 13
start local 13 71: aload 4
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 82
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:
72: aload 17
iload 15
aaload
astore 14
start local 14 73: 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 74: aload 10
aload 18
invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
istore 19
start local 19 75: iload 19
iconst_m1
if_icmpne 78
76: dload 6
aload 14
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getProbability:()D
dadd
dstore 6
77: goto 81
78: 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 79
aload 14
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 79
aload 14
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAbstract:()Z
ifeq 79
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
79: StackMap locals:
StackMap stack:
aload 12
aload 14
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
80: 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 81: 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:
82: iload 15
iload 16
if_icmplt 72
83: aload 12
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 86
84: 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.logNotInlinedInvoke:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;[Ljava/lang/Object;)V
85: aconst_null
areturn
86: 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 91
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:
87: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod
astore 14
start local 14 88: 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 91
89: 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"
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.logNotInlined:(Lorg/graalvm/compiler/nodes/Invoke;ILjdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;)V
90: aconst_null
areturn
end local 14 91: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 87
92: 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 93 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 93 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 93 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 93 3 typeProfile Ljdk/vm/ci/meta/JavaTypeProfile;
5 93 4 ptypes [Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;
9 93 5 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
10 93 6 notRecordedTypeProbability D
11 93 8 optimisticOpts Lorg/graalvm/compiler/phases/OptimisticOptimizations;
12 93 9 options Lorg/graalvm/compiler/options/OptionValues;
17 22 10 type Ljdk/vm/ci/meta/ResolvedJavaType;
19 22 11 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
32 93 10 concreteMethods Ljava/util/ArrayList<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
33 93 11 concreteMethodsProbabilities Ljava/util/ArrayList<Ljava/lang/Double;>;
34 49 12 i I
36 47 13 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
40 47 14 index I
41 47 15 curProbability D
51 66 12 newConcreteMethods Ljava/util/ArrayList<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
52 66 13 newConcreteMethodsProbabilities Ljava/util/ArrayList<Ljava/lang/Double;>;
53 59 14 i I
70 93 12 usedTypes Ljava/util/ArrayList<Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;>;
71 93 13 typesToConcretes Ljava/util/ArrayList<Ljava/lang/Integer;>;
73 81 14 type Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;
74 81 18 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
75 81 19 index I
88 91 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);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolderExplorable;Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
astore 4
start local 4 2: aconst_null
astore 5
aconst_null
astore 6
3: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
ldc "doInline"
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 7
start local 7 4: getstatic org.graalvm.util.Equivalence.IDENTITY:Lorg/graalvm/util/Equivalence;
invokestatic org.graalvm.util.EconomicSet.create:(Lorg/graalvm/util/Equivalence;)Lorg/graalvm/util/EconomicSet;
astore 8
start local 8 5: aload 8
aload 4
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 org.graalvm.util.EconomicSet.addAll:(Ljava/lang/Iterable;)V
6: 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.inline:(Lorg/graalvm/compiler/phases/util/Providers;)Lorg/graalvm/util/EconomicSet;
astore 9
start local 9 7: aload 8
aload 9
invokeinterface org.graalvm.util.EconomicSet.addAll:(Lorg/graalvm/util/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 3
ldc "after %s"
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
10: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 10
start local 10 11: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
aload 3
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.context:Lorg/graalvm/compiler/phases/tiers/HighTierContext;
aload 8
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 3
aload 10
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 12
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 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 org.graalvm.util.EconomicSet org.graalvm.util.EconomicSet org.graalvm.compiler.graph.Graph$Mark top java.util.Iterator
StackMap stack:
13: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 11
start local 11 14: aload 11
instanceof org.graalvm.compiler.nodes.Invoke
ifeq 16
15: aload 1
aload 11
checkcast org.graalvm.compiler.nodes.Invoke
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.pushInvoke:(Lorg/graalvm/compiler/nodes/Invoke;)V
end local 11 16: StackMap locals:
StackMap stack:
aload 12
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 10 end local 9 end local 8 19: aload 7
ifnull 33
aload 7
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 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 5
aload 7
ifnull 21
aload 7
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 7 StackMap locals:
StackMap stack:
21: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 6
aload 5
ifnonnull 23
aload 6
astore 5
goto 24
StackMap locals:
StackMap stack:
23: aload 5
aload 6
if_acmpeq 24
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
24: aload 5
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 org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.common.inlining.info.InlineInfo
StackMap stack: jdk.vm.ci.code.BailoutException
astore 5
start local 5 26: aload 5
athrow
end local 5 27: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 28: new org.graalvm.compiler.debug.GraalError
dup
aload 5
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/Throwable;)V
aload 4
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 5 29: StackMap locals:
StackMap stack: org.graalvm.compiler.debug.GraalError
astore 5
start local 5 30: aload 5
aload 4
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 5 31: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 32: aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.debug:Lorg/graalvm/compiler/debug/DebugContext;
aload 5
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 5 33: StackMap locals:
StackMap stack:
return
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;
1 34 3 callerGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 34 4 calleeInfo Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
4 21 7 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
5 19 8 canonicalizedNodes Lorg/graalvm/util/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
7 19 9 parameterUsages Lorg/graalvm/util/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
11 19 10 markBeforeCanonicalization Lorg/graalvm/compiler/graph/Graph$Mark;
14 16 11 newNode Lorg/graalvm/compiler/graph/Node;
26 27 5 bailout Ljdk/vm/ci/code/BailoutException;
28 29 5 e Ljava/lang/Throwable;
30 31 5 e Lorg/graalvm/compiler/debug/GraalError;
32 33 5 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
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=5, 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)Z
ifeq 7
5: aload 0
aload 3
aload 1
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;)V
6: iconst_1
ireturn
7: StackMap locals:
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 9
8: 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
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 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;
0 10 1 calleeInvocation Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
0 10 2 inliningDepth I
1 10 3 callerCallsiteHolder Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolderExplorable;
2 10 4 calleeInfo Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
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:()Lorg/graalvm/util/EconomicSet;
invokestatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.freshlyInstantiatedArguments:(Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/util/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, org.graalvm.util.EconomicSet<org.graalvm.compiler.nodes.ParameterNode>);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/util/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;Lorg/graalvm/util/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 org.graalvm.util.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 org.graalvm.util.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 org.graalvm.util.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 org.graalvm.util.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 Lorg/graalvm/util/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;Lorg/graalvm/util/EconomicSet<Lorg/graalvm/compiler/nodes/ParameterNode;>;)Ljava/util/BitSet;
MethodParameters:
Name Flags
invoke
fixedParams
private static boolean paramsAndInvokeAreInSameGraph(org.graalvm.compiler.nodes.Invoke, org.graalvm.util.EconomicSet<org.graalvm.compiler.nodes.ParameterNode>);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/util/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 org.graalvm.util.EconomicSet.isEmpty:()Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.util.EconomicSet.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: org.graalvm.compiler.nodes.Invoke org.graalvm.util.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 Lorg/graalvm/util/EconomicSet<Lorg/graalvm/compiler/nodes/ParameterNode;>;
4 6 2 p Lorg/graalvm/compiler/nodes/ParameterNode;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/util/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)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