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.DebugCounter counterInliningPerformed;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.DebugCounter counterInliningRuns;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.DebugCounter counterInliningConsidered;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
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 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.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.counterInliningPerformed:Lorg/graalvm/compiler/debug/DebugCounter;
4: ldc "InliningRuns"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.counterInliningRuns:Lorg/graalvm/compiler/debug/DebugCounter;
5: ldc "InliningConsidered"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.counterInliningConsidered:Lorg/graalvm/compiler/debug/DebugCounter;
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);
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;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 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
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
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
11: 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
invokespecial org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;DDLjava/util/BitSet;)V
invokevirtual java.util.ArrayDeque.push:(Ljava/lang/Object;)V
12: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 13 1 rootGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 13 2 context Lorg/graalvm/compiler/phases/tiers/HighTierContext;
0 13 3 maxMethodPerInlining I
0 13 4 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
0 13 5 inliningPolicy Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy;
MethodParameters:
Name Flags
rootGraph
context
maxMethodPerInlining
canonicalizer
inliningPolicy
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=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: ldc "the method is not resolved"
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isNative:()Z
ifeq 4
getstatic org.graalvm.compiler.core.common.GraalOptions.Intrinsify:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 3
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 4
3: StackMap locals:
StackMap stack:
ldc "it is a non-intrinsic native method"
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isAbstract:()Z
ifeq 6
5: ldc "it is an abstract method"
areturn
6: 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 8
7: ldc "the method's class is not initialized"
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.canBeInlined:()Z
ifne 10
9: ldc "it is marked non-inlinable"
areturn
10: 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/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
if_icmple 12
11: ldc "it exceeds the maximum recursive inlining depth"
areturn
12: 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;
invokespecial org.graalvm.compiler.phases.OptimisticOptimizations.<init>:(Ljdk/vm/ci/meta/ProfilingInfo;)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 14
13: ldc "the callee uses less optimistic optimizations than caller"
areturn
14: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 15 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 15 2 invokeBci I
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;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()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=19, 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 4
arraylength
iconst_1
if_icmpne 21
dload 6
dconst_0
dcmpl
ifne 21
12: aload 8
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.inlineMonomorphicCalls:()Z
ifne 15
13: 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
14: aconst_null
areturn
15: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType double org.graalvm.compiler.phases.OptimisticOptimizations
StackMap stack:
aload 4
iconst_0
aaload
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 9
start local 9 16: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.$assertionsDisabled:Z
ifne 17
aload 9
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 17
aload 9
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isConcrete:()Z
ifne 17
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 9
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 10
start local 10 18: aload 0
aload 1
aload 10
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.checkTargetConditions:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifne 20
19: aconst_null
areturn
20: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
new org.graalvm.compiler.phases.common.inlining.info.TypeGuardInlineInfo
dup
aload 1
aload 10
aload 9
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 10 end local 9 21: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokeinterface org.graalvm.compiler.nodes.Invoke.setPolymorphic:(Z)V
22: aload 8
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.inlinePolymorphicCalls:()Z
ifne 25
dload 6
dconst_0
dcmpl
ifne 25
23: 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
24: aconst_null
areturn
25: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.inlineMegamorphicCalls:()Z
ifne 30
dload 6
dconst_0
dcmpl
ifle 30
26: 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
27: dload 6
ldc 100.0
dmul
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
28: 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
29: aconst_null
areturn
30: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 31: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 32: iconst_0
istore 11
start local 11 33: goto 47
34: StackMap locals: java.util.ArrayList java.util.ArrayList int
StackMap stack:
aload 4
iload 11
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 12
start local 12 35: aload 12
ifnonnull 38
36: 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
37: aconst_null
areturn
38: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 9
aload 12
invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
istore 13
start local 13 39: aload 4
iload 11
aaload
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getProbability:()D
dstore 14
start local 14 40: iload 13
ifge 45
41: aload 9
invokevirtual java.util.ArrayList.size:()I
istore 13
42: aload 9
aload 12
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
43: aload 10
dload 14
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
44: goto 46
45: StackMap locals: int double
StackMap stack:
aload 10
iload 13
aload 10
iload 13
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dload 14
dadd
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 14 end local 13 end local 12 46: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
47: iload 11
aload 4
arraylength
if_icmplt 34
end local 11 48: dload 6
dconst_0
dcmpl
ifle 65
49: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
start local 11 50: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 51: iconst_0
istore 13
start local 13 52: goto 57
53: 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 java.util.ArrayList java.util.ArrayList java.util.ArrayList java.util.ArrayList int
StackMap stack:
aload 10
iload 13
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/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dcmpl
iflt 56
54: aload 11
aload 9
iload 13
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
55: aload 12
aload 10
iload 13
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
56: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
57: iload 13
aload 9
invokevirtual java.util.ArrayList.size:()I
if_icmplt 53
end local 13 58: aload 11
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 63
59: 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
60: aload 9
invokevirtual java.util.ArrayList.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
61: 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
62: aconst_null
areturn
63: StackMap locals:
StackMap stack:
aload 11
astore 9
64: aload 12
astore 10
end local 12 end local 11 65: StackMap locals:
StackMap stack:
aload 9
invokevirtual java.util.ArrayList.size:()I
aload 0
getfield org.graalvm.compiler.phases.common.inlining.walker.InliningData.maxMethodPerInlining:I
if_icmple 68
66: 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
67: aconst_null
areturn
68: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
start local 11 69: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 70: aload 4
dup
astore 16
arraylength
istore 15
iconst_0
istore 14
goto 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 java.util.ArrayList java.util.ArrayList java.util.ArrayList java.util.ArrayList top int int jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[]
StackMap stack:
71: aload 16
iload 14
aaload
astore 13
start local 13 72: aload 13
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 17
start local 17 73: aload 9
aload 17
invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
istore 18
start local 18 74: iload 18
iconst_m1
if_icmpne 77
75: dload 6
aload 13
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getProbability:()D
dadd
dstore 6
76: goto 80
77: 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 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 78
aload 13
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 78
aload 13
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAbstract:()Z
ifeq 78
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 17
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
78: StackMap locals:
StackMap stack:
aload 11
aload 13
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
79: aload 12
iload 18
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 18 end local 17 end local 13 80: 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 java.util.ArrayList java.util.ArrayList java.util.ArrayList java.util.ArrayList top int int jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[]
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
81: iload 14
iload 15
if_icmplt 71
82: aload 11
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 85
83: 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
84: aconst_null
areturn
85: 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 java.util.ArrayList java.util.ArrayList java.util.ArrayList java.util.ArrayList
StackMap stack:
aload 9
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 14
goto 90
StackMap locals: org.graalvm.compiler.phases.common.inlining.walker.InliningData org.graalvm.compiler.nodes.Invoke jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaTypeProfile jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[] jdk.vm.ci.meta.ResolvedJavaType double org.graalvm.compiler.phases.OptimisticOptimizations java.util.ArrayList java.util.ArrayList java.util.ArrayList java.util.ArrayList top java.util.Iterator
StackMap stack:
86: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod
astore 13
start local 13 87: aload 0
aload 1
aload 13
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.checkTargetConditions:(Lorg/graalvm/compiler/nodes/Invoke;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifne 90
88: 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
89: aconst_null
areturn
end local 13 90: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 86
91: new org.graalvm.compiler.phases.common.inlining.info.MultiTypeGuardInlineInfo
dup
aload 1
aload 9
aload 11
aload 12
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 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 92 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 92 1 invoke Lorg/graalvm/compiler/nodes/Invoke;
0 92 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 92 3 typeProfile Ljdk/vm/ci/meta/JavaTypeProfile;
5 92 4 ptypes [Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;
9 92 5 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
10 92 6 notRecordedTypeProbability D
11 92 8 optimisticOpts Lorg/graalvm/compiler/phases/OptimisticOptimizations;
16 21 9 type Ljdk/vm/ci/meta/ResolvedJavaType;
18 21 10 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
31 92 9 concreteMethods Ljava/util/ArrayList<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
32 92 10 concreteMethodsProbabilities Ljava/util/ArrayList<Ljava/lang/Double;>;
33 48 11 i I
35 46 12 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
39 46 13 index I
40 46 14 curProbability D
50 65 11 newConcreteMethods Ljava/util/ArrayList<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
51 65 12 newConcreteMethodsProbabilities Ljava/util/ArrayList<Ljava/lang/Double;>;
52 58 13 i I
69 92 11 usedTypes Ljava/util/ArrayList<Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;>;
70 92 12 typesToConcretes Ljava/util/ArrayList<Ljava/lang/Integer;>;
72 80 13 type Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;
73 80 17 concrete Ljdk/vm/ci/meta/ResolvedJavaMethod;
74 80 18 index I
87 90 13 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=4, locals=14, 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: ldc "doInline"
aload 3
invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 7
start local 7 4: ldc "InlineEnhancement"
invokestatic org.graalvm.compiler.debug.internal.method.MethodMetricsInlineeScopeInfo.create:()Lorg/graalvm/compiler/debug/internal/method/MethodMetricsInlineeScopeInfo;
iconst_0
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.debug.Debug.methodMetricsScope:(Ljava/lang/Object;Lorg/graalvm/compiler/debug/internal/DebugScope$ExtraInfo;Z[Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 8
start local 8 5: invokestatic org.graalvm.compiler.graph.Node.newSet:()Ljava/util/Set;
astore 9
start local 9 6: 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;
aload 9
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshotTo:(Ljava/util/Collection;)V
7: 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;)Ljava/util/Collection;
astore 10
start local 10 8: aload 9
aload 10
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
9: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.counterInliningRuns:Lorg/graalvm/compiler/debug/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
10: iconst_2
aload 3
ldc "after %s"
aload 4
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
11: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 11
start local 11 12: 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 9
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable;)V
13: aload 3
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNewNodes:(Lorg/graalvm/compiler/graph/Graph$Mark;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 13
goto 17
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.Debug$Scope org.graalvm.compiler.debug.Debug$Scope java.util.Set java.util.Collection org.graalvm.compiler.graph.Graph$Mark top java.util.Iterator
StackMap stack:
14: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 12
start local 12 15: aload 12
instanceof org.graalvm.compiler.nodes.Invoke
ifeq 17
16: aload 1
aload 12
checkcast org.graalvm.compiler.nodes.Invoke
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.pushInvoke:(Lorg/graalvm/compiler/nodes/Invoke;)V
end local 12 17: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
18: aload 1
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.CallsiteHolderExplorable.computeProbabilities:()V
19: getstatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.counterInliningPerformed:Lorg/graalvm/compiler/debug/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
end local 11 end local 10 end local 9 20: aload 8
ifnull 23
aload 8
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
goto 23
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.Debug$Scope org.graalvm.compiler.debug.Debug$Scope
StackMap stack: java.lang.Throwable
21: astore 5
aload 8
ifnull 22
aload 8
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 8 StackMap locals:
StackMap stack:
22: aload 5
athrow
StackMap locals:
StackMap stack:
23: aload 7
ifnull 39
aload 7
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
goto 39
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 6
aload 5
ifnonnull 25
aload 6
astore 5
goto 26
StackMap locals:
StackMap stack:
25: aload 5
aload 6
if_acmpeq 26
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 7
ifnull 27
aload 7
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 7 StackMap locals:
StackMap stack:
27: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
28: astore 6
aload 5
ifnonnull 29
aload 6
astore 5
goto 30
StackMap locals:
StackMap stack:
29: aload 5
aload 6
if_acmpeq 30
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
30: aload 5
athrow
31: 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 32: aload 5
athrow
end local 5 33: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 34: 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 35: StackMap locals:
StackMap stack: org.graalvm.compiler.debug.GraalError
astore 5
start local 5 36: 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 37: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 38: aload 5
invokestatic org.graalvm.compiler.debug.Debug.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 5 39: 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 40 0 this Lorg/graalvm/compiler/phases/common/inlining/walker/InliningData;
0 40 1 callerCallsiteHolder Lorg/graalvm/compiler/phases/common/inlining/walker/CallsiteHolderExplorable;
0 40 2 calleeInvocation Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
1 40 3 callerGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 40 4 calleeInfo Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
4 27 7 scope Lorg/graalvm/compiler/debug/Debug$Scope;
5 22 8 s Lorg/graalvm/compiler/debug/Debug$Scope;
6 20 9 canonicalizedNodes Ljava/util/Set<Lorg/graalvm/compiler/graph/Node;>;
8 20 10 parameterUsages Ljava/util/Collection<Lorg/graalvm/compiler/graph/Node;>;
12 20 11 markBeforeCanonicalization Lorg/graalvm/compiler/graph/Graph$Mark;
15 17 12 newNode Lorg/graalvm/compiler/graph/Node;
32 33 5 bailout Ljdk/vm/ci/code/BailoutException;
34 35 5 e Ljava/lang/Throwable;
36 37 5 e Lorg/graalvm/compiler/debug/GraalError;
38 39 5 e Ljava/lang/Throwable;
Exception table:
from to target type
5 20 21 any
4 23 24 any
3 28 28 any
2 31 31 Class jdk.vm.ci.code.BailoutException
2 31 33 Class java.lang.AssertionError
2 31 33 Class java.lang.RuntimeException
2 31 35 Class org.graalvm.compiler.debug.GraalError
2 31 37 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/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()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;
invokevirtual org.graalvm.compiler.phases.OptimisticOptimizations.devirtualizeInvokes:()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;
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;)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:()Ljava/util/Set;
invokestatic org.graalvm.compiler.phases.common.inlining.walker.InliningData.freshlyInstantiatedArguments:(Lorg/graalvm/compiler/nodes/Invoke;Ljava/util/Set;)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, java.util.Set<org.graalvm.compiler.nodes.ParameterNode>);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljava/util/Set;)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;Ljava/util/Set;)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 java.util.Set 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 java.util.Set 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 1
aload 4
invokeinterface java.util.Set.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 java.util.Set 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 Ljava/util/Set<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;Ljava/util/Set<Lorg/graalvm/compiler/nodes/ParameterNode;>;)Ljava/util/BitSet;
MethodParameters:
Name Flags
invoke
fixedParams
private static boolean paramsAndInvokeAreInSameGraph(org.graalvm.compiler.nodes.Invoke, java.util.Set<org.graalvm.compiler.nodes.ParameterNode>);
descriptor: (Lorg/graalvm/compiler/nodes/Invoke;Ljava/util/Set;)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 java.util.Set.isEmpty:()Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: org.graalvm.compiler.nodes.Invoke java.util.Set 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 Ljava/util/Set<Lorg/graalvm/compiler/nodes/ParameterNode;>;
4 6 2 p Lorg/graalvm/compiler/nodes/ParameterNode;
Signature: (Lorg/graalvm/compiler/nodes/Invoke;Ljava/util/Set<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: iconst_2
invokestatic org.graalvm.compiler.debug.Debug.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: ldc "Inlining"
aload 0
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.InliningData.inliningContext:()[Ljava/lang/Object;
invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$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.Debug$Scope
StackMap stack:
27: iconst_0
28: StackMap locals:
StackMap stack: int
aload 6
ifnull 29
aload 6
invokeinterface org.graalvm.compiler.debug.Debug$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.Debug$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.Debug$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 4
invokestatic org.graalvm.compiler.debug.Debug.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/Debug$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.Debug$Scope of org.graalvm.compiler.debug.Debug
public abstract ExtraInfo = org.graalvm.compiler.debug.internal.DebugScope$ExtraInfo of org.graalvm.compiler.debug.internal.DebugScope
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