public class org.graalvm.compiler.replacements.SnippetTemplate
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.SnippetTemplate
super_class: java.lang.Object
{
private boolean mayRemoveLocation;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final org.graalvm.compiler.debug.TimerKey SnippetTemplateCreationTime;
descriptor: Lorg/graalvm/compiler/debug/TimerKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.CounterKey SnippetTemplates;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object UNUSED_PARAMETER;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object CONSTANT_PARAMETER;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection;
descriptor: Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.nodes.StructuredGraph snippet;
descriptor: Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo info;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object[] parameters;
descriptor: [Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.nodes.ReturnNode returnNode;
descriptor: Lorg/graalvm/compiler/nodes/ReturnNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.nodes.FixedWithNextNode unwindPath;
descriptor: Lorg/graalvm/compiler/nodes/FixedWithNextNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.nodes.memory.MemoryAnchorNode memoryAnchor;
descriptor: Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.ArrayList<org.graalvm.compiler.nodes.StateSplit> sideEffectNodes;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/StateSplit;>;
private final java.util.ArrayList<org.graalvm.compiler.nodes.DeoptimizingNode> deoptNodes;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/DeoptimizingNode;>;
private org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure frameStateAssignment;
descriptor: Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure;
flags: (0x0002) ACC_PRIVATE
private final java.util.ArrayList<org.graalvm.compiler.nodes.ValueNode> placeholderStampedNodes;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/ValueNode;>;
private final java.util.ArrayList<org.graalvm.compiler.graph.Node> nodes;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lorg/graalvm/compiler/graph/Node;>;
public static final org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer DEFAULT_REPLACER;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$phases$common$SnippetFrameStateAssignment$NodeStateAssignment;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/replacements/SnippetTemplate;
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.replacements.SnippetTemplate.$assertionsDisabled:Z
3: ldc "SnippetTemplateCreationTime"
invokestatic org.graalvm.compiler.debug.DebugContext.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/TimerKey;
putstatic org.graalvm.compiler.replacements.SnippetTemplate.SnippetTemplateCreationTime:Lorg/graalvm/compiler/debug/TimerKey;
4: ldc "SnippetTemplateCount"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
putstatic org.graalvm.compiler.replacements.SnippetTemplate.SnippetTemplates:Lorg/graalvm/compiler/debug/CounterKey;
5: ldc "UNUSED_PARAMETER"
putstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
6: ldc "CONSTANT_PARAMETER"
putstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
7: new org.graalvm.compiler.replacements.SnippetTemplate$1
dup
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$1.<init>:()V
putstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
8: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.replacements.SnippetTemplate$Arguments, boolean, org.graalvm.compiler.graph.Node, org.graalvm.compiler.phases.PhaseSuite<org.graalvm.compiler.phases.util.Providers>);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;ZLorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/PhaseSuite;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=43, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.graalvm.compiler.replacements.SnippetTemplate.mayRemoveLocation:Z
2: aload 0
aload 4
putfield org.graalvm.compiler.replacements.SnippetTemplate.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
3: aload 0
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
4: aload 0
aload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.getConstantArgs:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)[Ljava/lang/Object;
astore 9
start local 9 5: iload 6
ifne 7
aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
ifnull 6
aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
invokeinterface jdk.vm.ci.code.CodeCacheProvider.shouldDebugNonSafepoints:()Z
ifne 7
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[]
StackMap stack:
6: iconst_0
goto 8
StackMap locals:
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: istore 10
start local 10 9: aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.original:Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 9
iload 10
aload 7
invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
10: aload 1
11: invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getSnippet:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;ZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 11
start local 11 12: aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 12
start local 12 13: aload 12
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
astore 13
start local 13 14: new org.graalvm.compiler.nodes.StructuredGraph$Builder
dup
aload 1
aload 2
invokespecial org.graalvm.compiler.nodes.StructuredGraph$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
aload 11
getfield org.graalvm.compiler.nodes.StructuredGraph.name:Ljava/lang/String;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.name:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
15: aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
16: invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.trackNodeSourcePosition:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
17: iconst_1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.setIsSubstitution:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
18: astore 14
start local 14 19: aload 14
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setGuardsStage:(Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;)V
20: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 21
getstatic org.graalvm.compiler.core.common.GraalOptions.TrackNodeSourcePosition:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 21
aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
ifne 21
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
21: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aconst_null
astore 15
aconst_null
astore 16
22: aload 2
ldc "SpecializeSnippet"
aload 14
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 17
start local 17 23: aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isUnsafeAccessTrackingEnabled:()Z
ifne 25
24: aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.disableUnsafeAccessTracking:()V
25: StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 26
aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isSubstitution:()Z
ifne 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 18
start local 18 27: aload 18
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
28: aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
astore 19
start local 19 29: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 30
aload 19
aload 5
aload 12
aload 13
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkTemplate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;)Z
ifne 30
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
30: StackMap locals: jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider
StackMap stack:
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
istore 20
start local 20 31: iload 20
anewarray org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
astore 21
start local 21 32: iconst_0
istore 22
start local 22 33: goto 59
34: StackMap locals: int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int
StackMap stack:
aload 11
iload 22
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
astore 23
start local 23 35: aload 23
ifnull 58
36: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 22
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifeq 50
37: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 22
aaload
astore 24
start local 24 38: aload 13
iload 22
invokeinterface jdk.vm.ci.meta.Signature.getParameterKind:(I)Ljdk/vm/ci/meta/JavaKind;
astore 25
start local 25 39: aload 24
instanceof jdk.vm.ci.meta.Constant
ifeq 47
40: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.constStamps:[Lorg/graalvm/compiler/core/common/type/Stamp;
iload 22
aaload
astore 27
start local 27 41: aload 27
ifnonnull 45
42: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 43
aload 24
instanceof jdk.vm.ci.meta.JavaConstant
ifne 43
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "could not determine type of constant "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 24
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
43: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.nodes.ParameterNode java.lang.Object jdk.vm.ci.meta.JavaKind top org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 24
checkcast jdk.vm.ci.meta.JavaConstant
aload 19
aload 14
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 26
start local 26 44: goto 48
end local 26 45: StackMap locals:
StackMap stack:
aload 27
aload 24
checkcast jdk.vm.ci.meta.Constant
aload 19
aload 14
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 26
end local 27 start local 26 46: goto 48
end local 26 47: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.nodes.ParameterNode java.lang.Object jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 4
aload 25
aload 24
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forBoxed:(Ljdk/vm/ci/meta/JavaKind;Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
aload 19
aload 14
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 26
start local 26 48: StackMap locals: org.graalvm.compiler.nodes.ConstantNode
StackMap stack:
aload 18
aload 23
aload 26
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 26 end local 25 end local 24 49: goto 58
StackMap locals:
StackMap stack:
50: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 22
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
ifeq 56
51: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 22
aaload
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 24
start local 24 52: aload 14
new org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
dup
aload 24
aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;Ljdk/vm/ci/meta/MetaAccessProvider;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
astore 25
start local 25 53: aload 18
aload 23
aload 25
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
54: aload 21
iload 22
aload 25
aastore
end local 25 end local 24 55: goto 58
StackMap locals:
StackMap stack:
56: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 22
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isNonNullParameter:(I)Z
ifeq 58
57: aload 23
aload 23
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ParameterNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.nodes.ParameterNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
end local 23 58: StackMap locals:
StackMap stack:
iinc 22 1
StackMap locals:
StackMap stack:
59: iload 22
iload 20
if_icmplt 34
end local 22 60: aconst_null
astore 22
aconst_null
astore 23
61: aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
invokevirtual org.graalvm.compiler.nodes.InliningLog.openDefaultUpdateScope:()Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
astore 24
start local 24 62: aload 14
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 11
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
aload 18
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addDuplicates:(Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph;ILjdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
astore 25
start local 25 63: aload 24
ifnull 65
64: aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 25
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
invokevirtual org.graalvm.compiler.nodes.InliningLog.replaceLog:(Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;)V
end local 25 65: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope
StackMap stack:
aload 24
ifnull 71
aload 24
invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
goto 71
StackMap locals:
StackMap stack: java.lang.Throwable
66: astore 22
aload 24
ifnull 67
aload 24
invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
end local 24 StackMap locals:
StackMap stack:
67: aload 22
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
68: astore 23
aload 22
ifnonnull 69
aload 23
astore 22
goto 70
StackMap locals:
StackMap stack:
69: aload 22
aload 23
if_acmpeq 70
aload 22
aload 23
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
70: aload 22
athrow
71: StackMap locals:
StackMap stack:
aload 2
iconst_2
aload 14
ldc "Before specialization"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
72: aload 0
iload 20
anewarray java.lang.Object
putfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
73: iconst_0
istore 22
start local 22 74: goto 117
75: StackMap locals: int
StackMap stack:
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 22
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifeq 78
76: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 22
getstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
aastore
77: goto 116
StackMap locals:
StackMap stack:
78: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 22
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
ifeq 111
79: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 80
aload 14
iload 22
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
ifnull 80
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
80: StackMap locals:
StackMap stack:
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 22
aaload
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 23
start local 23 81: aload 23
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.length:I
istore 24
start local 24 82: iload 24
anewarray org.graalvm.compiler.nodes.ParameterNode
astore 25
start local 25 83: aload 23
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.stamp:Lorg/graalvm/compiler/core/common/type/Stamp;
astore 26
start local 26 84: iconst_0
istore 27
start local 27 85: goto 92
86: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp int
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 87
iload 20
sipush 10000
if_icmplt 87
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
87: StackMap locals:
StackMap stack:
iload 22
iconst_1
iadd
sipush 10000
imul
iload 27
iadd
istore 28
start local 28 88: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 89
iload 28
iload 20
if_icmpge 89
new java.lang.AssertionError
dup
ldc "collision in parameter numbering"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
89: StackMap locals: int
StackMap stack:
aload 14
new org.graalvm.compiler.nodes.ParameterNode
dup
iload 28
aload 26
invokestatic org.graalvm.compiler.core.common.type.StampPair.createSingle:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/StampPair;
invokespecial org.graalvm.compiler.nodes.ParameterNode.<init>:(ILorg/graalvm/compiler/core/common/type/StampPair;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ParameterNode
astore 29
start local 29 90: aload 25
iload 27
aload 29
aastore
end local 29 end local 28 91: iinc 27 1
StackMap locals:
StackMap stack:
92: iload 27
iload 24
if_icmplt 86
end local 27 93: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 22
aload 25
aastore
94: aload 21
iload 22
aaload
astore 27
start local 27 95: aload 27
ifnull 116
96: aload 27
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 29
goto 109
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode top java.util.Iterator
StackMap stack:
97: aload 29
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 28
start local 28 98: aload 28
instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
ifeq 107
99: aload 28
checkcast org.graalvm.compiler.nodes.java.LoadIndexedNode
astore 30
start local 30 100: aload 2
iconst_2
aload 14
ldc "Before replacing %s"
aload 30
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
101: aload 14
102: new org.graalvm.compiler.replacements.nodes.LoadSnippetVarargParameterNode
dup
aload 25
aload 30
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 30
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokespecial org.graalvm.compiler.replacements.nodes.LoadSnippetVarargParameterNode.<init>:([Lorg/graalvm/compiler/nodes/ParameterNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;)V
103: invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.replacements.nodes.LoadSnippetVarargParameterNode
astore 31
start local 31 104: aload 14
aload 30
aload 31
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
105: aload 2
iconst_2
aload 14
ldc "After replacing %s"
aload 30
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
end local 31 end local 30 106: goto 109
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
107: aload 28
instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
ifeq 109
108: new org.graalvm.compiler.debug.GraalError
dup
ldc "Can't store into VarargsParameter array"
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
athrow
end local 28 109: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode top java.util.Iterator
StackMap stack:
aload 29
invokeinterface java.util.Iterator.hasNext:()Z
ifne 97
end local 27 end local 26 end local 25 end local 24 end local 23 110: goto 116
111: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int
StackMap stack:
aload 14
iload 22
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
astore 23
start local 23 112: aload 23
ifnonnull 115
113: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 22
getstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
aastore
114: goto 116
115: StackMap locals: org.graalvm.compiler.nodes.ParameterNode
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 22
aload 23
aastore
end local 23 116: StackMap locals:
StackMap stack:
iinc 22 1
StackMap locals:
StackMap stack:
117: iload 22
iload 20
if_icmplt 75
end local 22 118: aload 14
aload 3
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.explodeLoops:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
119: aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/UnwindNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
astore 22
start local 22 120: aload 22
invokeinterface java.util.List.size:()I
ifne 123
121: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.unwindPath:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
122: goto 132
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List
StackMap stack:
123: aload 22
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 125
124: ldc "Graph has more than one UnwindNode"
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
125: StackMap locals:
StackMap stack:
aload 22
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.UnwindNode
astore 23
start local 23 126: aload 23
invokevirtual org.graalvm.compiler.nodes.UnwindNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
instanceof org.graalvm.compiler.nodes.java.ExceptionObjectNode
ldc "Currently only a single direct exception unwind path is supported in snippets"
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;)V
127: aload 23
invokevirtual org.graalvm.compiler.nodes.UnwindNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.ExceptionObjectNode
astore 24
start local 24 128: aload 0
aload 14
new org.graalvm.compiler.nodes.BeginNode
dup
invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
putfield org.graalvm.compiler.replacements.SnippetTemplate.unwindPath:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
129: aload 24
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.unwindPath:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
130: aload 24
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
131: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.unwindPath:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
aload 14
new org.graalvm.compiler.nodes.UnreachableControlSinkNode
dup
invokespecial org.graalvm.compiler.nodes.UnreachableControlSinkNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 24 end local 23 132: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.common.GraalOptions.ImmutableCode:Lorg/graalvm/compiler/options/OptionKey;
aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 135
133: invokestatic org.graalvm.compiler.phases.common.CanonicalizerPhase.createWithoutReadCanonicalization:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
astore 23
start local 23 134: goto 136
end local 23 135: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.phases.common.CanonicalizerPhase.create:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
astore 23
start local 23 136: StackMap locals: org.graalvm.compiler.phases.common.CanonicalizerPhase
StackMap stack:
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.cacheKey:Lorg/graalvm/compiler/replacements/SnippetTemplate$CacheKey;
getfield org.graalvm.compiler.replacements.SnippetTemplate$CacheKey.guardsStage:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
astore 24
start local 24 137: iconst_0
istore 25
start local 25 138: iconst_0
istore 26
start local 26 139: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.cacheKey:Lorg/graalvm/compiler/replacements/SnippetTemplate$CacheKey;
getfield org.graalvm.compiler.replacements.SnippetTemplate$CacheKey.loweringStage:Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
astore 27
start local 27 140: aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 29
goto 147
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage top java.util.Iterator
StackMap stack:
141: aload 29
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 28
start local 28 142: aload 28
instanceof org.graalvm.compiler.nodes.java.AbstractNewObjectNode
ifne 143
aload 28
instanceof org.graalvm.compiler.nodes.extended.AbstractBoxingNode
ifeq 145
143: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
iconst_1
istore 25
144: goto 148
145: StackMap locals:
StackMap stack:
aload 28
instanceof org.graalvm.compiler.nodes.LogicNode
ifeq 147
146: iconst_1
istore 26
end local 28 147: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage top java.util.Iterator
StackMap stack:
aload 29
invokeinterface java.util.Iterator.hasNext:()Z
ifne 141
148: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage
StackMap stack:
iload 25
ifeq 150
149: new org.graalvm.compiler.virtual.phases.ea.PartialEscapePhase
dup
iconst_1
iconst_1
aload 23
aconst_null
aload 1
getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy.LATEST:Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapePhase.<init>:(ZZLorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/BasePhase;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;)V
aload 14
aload 3
invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
150: StackMap locals:
StackMap stack:
iload 26
ifeq 152
151: new org.graalvm.compiler.phases.common.IterativeConditionalEliminationPhase
dup
aload 23
iconst_0
invokespecial org.graalvm.compiler.phases.common.IterativeConditionalEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Z)V
aload 14
aload 3
invokevirtual org.graalvm.compiler.phases.common.IterativeConditionalEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
152: StackMap locals:
StackMap stack:
aconst_null
astore 28
aconst_null
astore 29
153: aload 2
ldc "LoweringSnippetTemplate_HIGH_TIER"
aload 14
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 30
start local 30 154: new org.graalvm.compiler.phases.common.LoweringPhase
dup
aload 23
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.HIGH_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
invokespecial org.graalvm.compiler.phases.common.LoweringPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
aload 14
aload 3
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
155: aload 30
ifnull 163
aload 30
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 163
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
156: astore 28
aload 30
ifnull 157
aload 30
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 30 StackMap locals:
StackMap stack:
157: aload 28
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
158: astore 29
aload 28
ifnonnull 159
aload 29
astore 28
goto 160
StackMap locals:
StackMap stack:
159: aload 28
aload 29
if_acmpeq 160
aload 28
aload 29
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
160: aload 28
athrow
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage
StackMap stack: java.lang.Throwable
161: astore 28
start local 28 162: aload 2
aload 28
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 28 163: StackMap locals:
StackMap stack:
aload 27
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.HIGH_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
if_acmpeq 197
164: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 165
aload 24
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.allowsFloatingGuards:()Z
ifeq 165
new java.lang.AssertionError
dup
aload 24
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
165: StackMap locals:
StackMap stack:
new org.graalvm.compiler.phases.common.IncrementalCanonicalizerPhase
dup
aload 23
new org.graalvm.compiler.phases.common.FloatingReadPhase
dup
iconst_1
iconst_1
invokespecial org.graalvm.compiler.phases.common.FloatingReadPhase.<init>:(ZZ)V
invokespecial org.graalvm.compiler.phases.common.IncrementalCanonicalizerPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/BasePhase;)V
aload 14
aload 3
invokevirtual org.graalvm.compiler.phases.common.IncrementalCanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
166: new org.graalvm.compiler.phases.common.GuardLoweringPhase
dup
invokespecial org.graalvm.compiler.phases.common.GuardLoweringPhase.<init>:()V
aload 14
aload 3
invokevirtual org.graalvm.compiler.phases.common.GuardLoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
167: new org.graalvm.compiler.phases.common.IncrementalCanonicalizerPhase
dup
aload 23
new org.graalvm.compiler.phases.common.RemoveValueProxyPhase
dup
invokespecial org.graalvm.compiler.phases.common.RemoveValueProxyPhase.<init>:()V
invokespecial org.graalvm.compiler.phases.common.IncrementalCanonicalizerPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/BasePhase;)V
aload 14
aload 3
invokevirtual org.graalvm.compiler.phases.common.IncrementalCanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
168: aconst_null
astore 28
aconst_null
astore 29
169: aload 2
ldc "LoweringSnippetTemplate_MID_TIER"
aload 14
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 30
start local 30 170: new org.graalvm.compiler.phases.common.LoweringPhase
dup
aload 23
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.MID_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
invokespecial org.graalvm.compiler.phases.common.LoweringPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
aload 14
aload 3
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
171: aload 14
getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.AFTER_FSA:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setGuardsStage:(Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;)V
172: aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.disableFrameStateVerification:()V
173: aload 30
ifnull 181
aload 30
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 181
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
174: astore 28
aload 30
ifnull 175
aload 30
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 30 StackMap locals:
StackMap stack:
175: aload 28
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
176: astore 29
aload 28
ifnonnull 177
aload 29
astore 28
goto 178
StackMap locals:
StackMap stack:
177: aload 28
aload 29
if_acmpeq 178
aload 28
aload 29
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
178: aload 28
athrow
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage
StackMap stack: java.lang.Throwable
179: astore 28
start local 28 180: aload 2
aload 28
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 28 181: StackMap locals:
StackMap stack:
aload 27
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.MID_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
if_acmpeq 197
182: aload 8
ifnull 184
183: aload 8
aload 14
aload 3
invokevirtual org.graalvm.compiler.phases.PhaseSuite.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
184: StackMap locals:
StackMap stack:
new org.graalvm.compiler.phases.common.WriteBarrierAdditionPhase
dup
invokespecial org.graalvm.compiler.phases.common.WriteBarrierAdditionPhase.<init>:()V
aload 14
aload 3
invokevirtual org.graalvm.compiler.phases.common.WriteBarrierAdditionPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
185: aconst_null
astore 28
aconst_null
astore 29
186: aload 2
ldc "LoweringSnippetTemplate_LOW_TIER"
aload 14
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 30
start local 30 187: new org.graalvm.compiler.phases.common.LoweringPhase
dup
aload 23
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.LOW_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
invokespecial org.graalvm.compiler.phases.common.LoweringPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
aload 14
aload 3
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
188: aload 30
ifnull 196
aload 30
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 196
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
189: astore 28
aload 30
ifnull 190
aload 30
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 30 StackMap locals:
StackMap stack:
190: aload 28
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
191: astore 29
aload 28
ifnonnull 192
aload 29
astore 28
goto 193
StackMap locals:
StackMap stack:
192: aload 28
aload 29
if_acmpeq 193
aload 28
aload 29
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
193: aload 28
athrow
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage
StackMap stack: java.lang.Throwable
194: astore 28
start local 28 195: aload 2
aload 28
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 28 196: StackMap locals:
StackMap stack:
new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
dup
getstatic org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality.Required:Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;
invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;)V
aload 14
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
197: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 198
iload 20
aload 21
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkAllVarargPlaceholdersAreDeleted:(I[Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;)Z
ifne 198
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
198: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 28
start local 28 199: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 29
start local 29 200: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 30
start local 30 201: iconst_0
istore 31
start local 31 202: iconst_0
istore 32
start local 32 203: aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 34
goto 224
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int top java.util.Iterator
StackMap stack:
204: aload 34
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 33
start local 33 205: aload 33
instanceof org.graalvm.compiler.nodes.AbstractMergeNode
ifeq 207
206: iconst_1
istore 31
207: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 33
instanceof org.graalvm.compiler.nodes.LoopExitNode
ifeq 209
208: iconst_1
istore 32
209: StackMap locals:
StackMap stack:
aload 33
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 213
210: aload 33
checkcast org.graalvm.compiler.nodes.ValueNode
astore 35
start local 35 211: aload 35
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.nodes.PiNode$PlaceholderStamp.singleton:()Lorg/graalvm/compiler/nodes/PiNode$PlaceholderStamp;
if_acmpne 213
212: aload 30
aload 35
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 35 213: StackMap locals:
StackMap stack:
aload 33
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 220
214: aload 33
checkcast org.graalvm.compiler.nodes.StateSplit
astore 35
start local 35 215: aload 35
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 36
start local 36 216: aload 35
invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
ifeq 218
217: aload 28
aload 33
checkcast org.graalvm.compiler.nodes.StateSplit
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
218: StackMap locals: org.graalvm.compiler.nodes.StateSplit org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 36
ifnull 220
219: aload 35
aconst_null
invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 36 end local 35 220: StackMap locals:
StackMap stack:
aload 33
instanceof org.graalvm.compiler.nodes.DeoptimizingNode
ifeq 224
221: aload 33
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 35
start local 35 222: aload 35
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 224
223: aload 29
aload 35
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 35 end local 33 224: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int top java.util.Iterator
StackMap stack:
aload 34
invokeinterface java.util.Iterator.hasNext:()Z
ifne 204
225: aload 0
aload 14
putfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
226: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 33
start local 33 227: aload 14
new org.graalvm.compiler.nodes.memory.MemoryAnchorNode
dup
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.privateLocations:[Ljdk/internal/vm/compiler/word/LocationIdentity;
invokespecial org.graalvm.compiler.nodes.memory.MemoryAnchorNode.<init>:([Ljdk/internal/vm/compiler/word/LocationIdentity;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.MemoryAnchorNode
astore 34
start local 34 228: aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
aload 34
getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
invokevirtual org.graalvm.compiler.nodes.StartNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodeinfo/InputType;)V
229: aload 2
iconst_5
aload 14
ldc "After adding memory anchor %s"
aload 34
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
230: aload 34
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.hasNoUsages:()Z
ifeq 234
231: aload 34
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
232: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
233: goto 263
234: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode
StackMap stack:
iconst_0
istore 35
start local 35 235: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
getstatic org.graalvm.compiler.nodes.ReturnNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 37
goto 241
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode int top java.util.Iterator
StackMap stack:
236: aload 37
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 36
start local 36 237: aload 36
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 38
start local 38 238: aload 38
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLocations:()Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmpgt 239
aload 38
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
aload 34
if_acmpeq 241
239: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode int org.graalvm.compiler.nodes.ReturnNode java.util.Iterator org.graalvm.compiler.nodes.memory.MemoryMapNode
StackMap stack:
iconst_1
istore 35
240: goto 242
end local 38 end local 36 241: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode int top java.util.Iterator
StackMap stack:
aload 37
invokeinterface java.util.Iterator.hasNext:()Z
ifne 236
242: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode int
StackMap stack:
iload 35
ifeq 245
243: iconst_1
istore 36
start local 36 244: goto 257
end local 36 245: StackMap locals:
StackMap stack:
aload 34
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
invokestatic org.graalvm.compiler.graph.iterators.NodePredicates.isNotA:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodePredicates$NegativeTypePredicate;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
invokevirtual org.graalvm.compiler.graph.iterators.FilteredNodeIterable.isNotEmpty:()Z
istore 36
start local 36 246: aconst_null
astore 37
start local 37 247: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
getstatic org.graalvm.compiler.nodes.ReturnNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 39
goto 254
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode int int org.graalvm.compiler.nodes.memory.MemoryMapNode top java.util.Iterator
StackMap stack:
248: aload 39
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 38
start local 38 249: aload 37
ifnonnull 252
250: aload 38
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 37
251: goto 253
252: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode int int org.graalvm.compiler.nodes.memory.MemoryMapNode org.graalvm.compiler.nodes.ReturnNode java.util.Iterator
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 253
aload 37
aload 38
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
if_acmpeq 253
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
253: StackMap locals:
StackMap stack:
aload 38
aconst_null
invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
end local 38 254: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode int int org.graalvm.compiler.nodes.memory.MemoryMapNode top java.util.Iterator
StackMap stack:
aload 39
invokeinterface java.util.Iterator.hasNext:()Z
ifne 248
255: aload 37
ifnull 257
256: aload 37
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.safeDelete:()V
end local 37 257: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode int int
StackMap stack:
iload 36
ifeq 261
258: aload 14
aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
aload 34
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
259: aload 0
aload 34
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
260: goto 263
261: StackMap locals:
StackMap stack:
aload 34
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
262: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
end local 36 end local 35 263: StackMap locals:
StackMap stack:
aload 2
iconst_2
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "SnippetTemplate after fixing memory anchoring"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
264: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
getstatic org.graalvm.compiler.nodes.ReturnNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
astore 35
start local 35 265: aload 35
invokeinterface java.util.List.isEmpty:()Z
ifeq 268
266: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
267: goto 293
StackMap locals: java.util.List
StackMap stack:
268: aload 35
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 271
269: aload 0
aload 35
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
putfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
270: goto 293
271: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.MergeNode
dup
invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractMergeNode
astore 36
start local 36 272: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 37
start local 37 273: aload 35
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 39
goto 278
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List top java.util.Iterator
StackMap stack:
274: aload 39
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 38
start local 38 275: aload 38
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 40
start local 40 276: aload 40
ifnull 278
277: aload 37
aload 40
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 40 end local 38 278: StackMap locals:
StackMap stack:
aload 39
invokeinterface java.util.Iterator.hasNext:()Z
ifne 274
279: iconst_1
istore 31
280: aload 36
aload 35
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.mergeReturns:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 38
start local 38 281: aload 0
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.ReturnNode
dup
aload 38
invokespecial org.graalvm.compiler.nodes.ReturnNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ReturnNode
putfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
282: aload 37
invokeinterface java.util.List.isEmpty:()Z
ifne 292
283: aload 36
aload 37
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.mergeMemoryMaps:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
astore 39
start local 39 284: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.memory.MemoryMapNode
dup
aload 39
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Ljdk/internal/vm/compiler/collections/EconomicMap;
invokespecial org.graalvm.compiler.nodes.memory.MemoryMapNode.<init>:(Ljdk/internal/vm/compiler/collections/EconomicMap;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.MemoryMapNode
astore 40
start local 40 285: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
aload 40
invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
286: aload 37
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 42
goto 291
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.nodes.memory.MemoryMapNode top java.util.Iterator
StackMap stack:
287: aload 42
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.MemoryMapNode
astore 41
start local 41 288: aload 41
aload 40
if_acmpeq 291
aload 41
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.isAlive:()Z
ifeq 291
289: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 290
aload 41
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.hasNoUsages:()Z
ifne 290
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
290: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.nodes.memory.MemoryMapNode org.graalvm.compiler.nodes.memory.MemoryMapNode java.util.Iterator
StackMap stack:
aload 41
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
end local 41 291: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.nodes.memory.MemoryMapNode top java.util.Iterator
StackMap stack:
aload 42
invokeinterface java.util.Iterator.hasNext:()Z
ifne 287
end local 40 end local 39 292: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 36
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 38 end local 37 end local 36 293: StackMap locals:
StackMap stack:
aload 2
iconst_2
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "After fixing returns"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
294: aload 24
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
ifne 296
iload 31
ifne 295
iload 32
ifeq 296
StackMap locals:
StackMap stack:
295: iconst_1
goto 297
StackMap locals:
StackMap stack:
296: iconst_0
StackMap locals:
StackMap stack: int
297: istore 36
start local 36 298: iload 36
ifeq 302
299: aload 0
new org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure
dup
aload 14
invokespecial org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
putfield org.graalvm.compiler.replacements.SnippetTemplate.frameStateAssignment:Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure;
300: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.frameStateAssignment:Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure;
aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
getstatic org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment.BEFORE_BCI:Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$NodeStateAssignment;
invokestatic org.graalvm.compiler.phases.graph.ReentrantNodeIterator.apply:(Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$NodeIteratorClosure;Lorg/graalvm/compiler/nodes/FixedNode;Ljava/lang/Object;)V
301: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 303
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.frameStateAssignment:Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure;
invokevirtual org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure.verify:()Z
ifne 303
new java.lang.AssertionError
dup
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
302: StackMap locals: int
StackMap stack:
aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.frameStateAssignment:Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure;
303: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 304
aload 14
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.verifyIntrinsicsProcessed:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
ifne 304
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
304: StackMap locals:
StackMap stack:
aload 0
aload 28
putfield org.graalvm.compiler.replacements.SnippetTemplate.sideEffectNodes:Ljava/util/ArrayList;
305: aload 0
aload 29
putfield org.graalvm.compiler.replacements.SnippetTemplate.deoptNodes:Ljava/util/ArrayList;
306: aload 0
aload 30
putfield org.graalvm.compiler.replacements.SnippetTemplate.placeholderStampedNodes:Ljava/util/ArrayList;
307: aload 0
new java.util.ArrayList
dup
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
invokespecial java.util.ArrayList.<init>:(I)V
putfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
308: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 38
goto 312
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List int top java.util.Iterator
StackMap stack:
309: aload 38
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 37
start local 37 310: aload 37
aload 33
if_acmpeq 312
aload 37
aload 33
invokevirtual org.graalvm.compiler.nodes.StartNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
if_acmpeq 312
311: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
aload 37
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 37 312: StackMap locals:
StackMap stack:
aload 38
invokeinterface java.util.Iterator.hasNext:()Z
ifne 309
313: aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.areMetricsEnabled:()Z
ifeq 315
314: ldc "SnippetTemplateNodeCount[%#s]"
aload 5
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/CounterKey;
aload 2
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
i2l
invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
315: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.util.List org.graalvm.compiler.phases.common.CanonicalizerPhase org.graalvm.compiler.nodes.StructuredGraph$GuardsStage int int org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage java.util.ArrayList java.util.ArrayList java.util.ArrayList int int org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List int
StackMap stack:
aload 2
iconst_2
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "SnippetTemplate final state"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
316: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.freeze:()V
end local 36 end local 35 end local 34 end local 33 end local 32 end local 31 end local 30 end local 29 end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 317: aload 17
ifnull 325
aload 17
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 325
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
318: astore 15
aload 17
ifnull 319
aload 17
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 17 StackMap locals:
StackMap stack:
319: aload 15
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
320: astore 16
aload 15
ifnonnull 321
aload 16
astore 15
goto 322
StackMap locals:
StackMap stack:
321: aload 15
aload 16
if_acmpeq 322
aload 15
aload 16
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
322: aload 15
athrow
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.PhaseSuite java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.Throwable
323: astore 15
start local 15 324: aload 2
aload 15
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 15 325: StackMap locals:
StackMap stack:
return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 326 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 326 1 options Lorg/graalvm/compiler/options/OptionValues;
0 326 2 debug Lorg/graalvm/compiler/debug/DebugContext;
0 326 3 providers Lorg/graalvm/compiler/phases/util/Providers;
0 326 4 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 326 5 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 326 6 trackNodeSourcePosition Z
0 326 7 replacee Lorg/graalvm/compiler/graph/Node;
0 326 8 midTierPhases Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/util/Providers;>;
5 326 9 constantArgs [Ljava/lang/Object;
9 326 10 shouldTrackNodeSourcePosition1 Z
12 326 11 snippetGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
13 326 12 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
14 326 13 signature Ljdk/vm/ci/meta/Signature;
19 326 14 snippetCopy Lorg/graalvm/compiler/nodes/StructuredGraph;
23 319 17 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
27 317 18 nodeReplacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
29 317 19 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
31 317 20 parameterCount I
32 317 21 placeholders [Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
33 60 22 i I
35 58 23 parameter Lorg/graalvm/compiler/nodes/ParameterNode;
38 49 24 arg Ljava/lang/Object;
39 49 25 kind Ljdk/vm/ci/meta/JavaKind;
44 45 26 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
46 47 26 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
48 49 26 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
41 46 27 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
52 55 24 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
53 55 25 placeholder Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
62 67 24 updateScope Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
63 65 25 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
74 118 22 i I
81 110 23 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
82 110 24 length I
83 110 25 params [Lorg/graalvm/compiler/nodes/ParameterNode;
84 110 26 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
85 93 27 j I
88 91 28 idx I
90 91 29 local Lorg/graalvm/compiler/nodes/ParameterNode;
95 110 27 placeholder Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
98 109 28 usage Lorg/graalvm/compiler/graph/Node;
100 106 30 loadIndexed Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
104 106 31 loadSnippetParameter Lorg/graalvm/compiler/replacements/nodes/LoadSnippetVarargParameterNode;
112 116 23 local Lorg/graalvm/compiler/nodes/ParameterNode;
120 317 22 unwindNodes Ljava/util/List<Lorg/graalvm/compiler/nodes/UnwindNode;>;
126 132 23 unwindNode Lorg/graalvm/compiler/nodes/UnwindNode;
128 132 24 exceptionObjectNode Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
134 135 23 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
136 317 23 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
137 317 24 guardsStage Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
138 317 25 needsPEA Z
139 317 26 needsCE Z
140 317 27 loweringStage Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
142 147 28 n Lorg/graalvm/compiler/graph/Node;
154 157 30 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
162 163 28 e Ljava/lang/Throwable;
170 175 30 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
180 181 28 e Ljava/lang/Throwable;
187 190 30 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
195 196 28 e Ljava/lang/Throwable;
199 317 28 curSideEffectNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/StateSplit;>;
200 317 29 curDeoptNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/DeoptimizingNode;>;
201 317 30 curPlaceholderStampedNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/ValueNode;>;
202 317 31 containsMerge Z
203 317 32 containsLoopExit Z
205 224 33 node Lorg/graalvm/compiler/graph/Node;
211 213 35 valueNode Lorg/graalvm/compiler/nodes/ValueNode;
215 220 35 stateSplit Lorg/graalvm/compiler/nodes/StateSplit;
216 220 36 frameState Lorg/graalvm/compiler/nodes/FrameState;
222 224 35 deoptNode Lorg/graalvm/compiler/nodes/DeoptimizingNode;
227 317 33 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
228 317 34 anchor Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
235 263 35 needsMemoryMaps Z
237 241 36 retNode Lorg/graalvm/compiler/nodes/ReturnNode;
238 241 38 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
244 245 36 needsAnchor Z
246 263 36 needsAnchor Z
247 257 37 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
249 254 38 retNode Lorg/graalvm/compiler/nodes/ReturnNode;
265 317 35 returnNodes Ljava/util/List<Lorg/graalvm/compiler/nodes/ReturnNode;>;
272 293 36 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
273 293 37 memMaps Ljava/util/List<Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;>;
275 278 38 retNode Lorg/graalvm/compiler/nodes/ReturnNode;
276 278 40 memoryMapNode Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
281 293 38 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
284 292 39 mmap Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
285 292 40 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
288 291 41 mm Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
298 317 36 needsMergeStateMap Z
310 312 37 node Lorg/graalvm/compiler/graph/Node;
324 325 15 ex Ljava/lang/Throwable;
Exception table:
from to target type
62 65 66 any
61 68 68 any
154 155 156 any
153 158 158 any
152 161 161 Class java.lang.Throwable
170 173 174 any
169 176 176 any
168 179 179 Class java.lang.Throwable
187 188 189 any
186 191 191 any
185 194 194 Class java.lang.Throwable
23 317 318 any
22 320 320 any
21 323 323 Class java.lang.Throwable
Signature: (Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;ZLorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/util/Providers;>;)V
MethodParameters:
Name Flags
options
debug
providers final
snippetReflection
args
trackNodeSourcePosition
replacee
midTierPhases
private static boolean verifyIntrinsicsProcessed(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic jdk.vm.ci.services.Services.IS_IN_NATIVE_IMAGE:Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 2
goto 8
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 1
start local 1 4: aload 1
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 5: aload 3
ifnull 8
6: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 8
aload 3
ldc Lorg/graalvm/compiler/api/replacements/Fold;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 7
aload 3
ldc Lorg/graalvm/compiler/graph/Node$NodeIntrinsic;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 8
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.java.MethodCallTargetNode java.util.Iterator jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
7: new java.lang.AssertionError
dup
ldc "plugin should have been processed"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 end local 1 8: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 snippetCopy Lorg/graalvm/compiler/nodes/StructuredGraph;
4 8 1 target Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
5 8 3 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
snippetCopy
public static void explodeLoops(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.spi.CoreProviders);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: StackMap locals: int
StackMap stack:
iconst_0
istore 2
2: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/replacements/nodes/ExplodeLoopNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.replacements.nodes.ExplodeLoopNode
astore 3
start local 3 3: aload 3
ifnull 18
4: aload 3
invokevirtual org.graalvm.compiler.replacements.nodes.ExplodeLoopNode.findLoopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 4
start local 4 5: aload 4
ifnull 16
6: new org.graalvm.compiler.loop.LoopsData
dup
aload 0
invokespecial org.graalvm.compiler.loop.LoopsData.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
aload 4
invokevirtual org.graalvm.compiler.loop.LoopsData.loop:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)Lorg/graalvm/compiler/loop/LoopEx;
astore 5
start local 5 7: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 6
start local 6 8: aconst_null
astore 7
start local 7 9: getstatic org.graalvm.compiler.core.common.GraalOptions.ImmutableCode:Lorg/graalvm/compiler/options/OptionKey;
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 12
10: invokestatic org.graalvm.compiler.phases.common.CanonicalizerPhase.createWithoutReadCanonicalization:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
astore 7
11: goto 13
12: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders int org.graalvm.compiler.replacements.nodes.ExplodeLoopNode org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.phases.common.CanonicalizerPhase
StackMap stack:
invokestatic org.graalvm.compiler.phases.common.CanonicalizerPhase.create:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
astore 7
13: StackMap locals:
StackMap stack:
aload 5
aload 1
aload 7
invokestatic org.graalvm.compiler.loop.phases.LoopTransformations.fullUnroll:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;)V
14: invokestatic org.graalvm.compiler.phases.common.CanonicalizerPhase.create:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
aload 0
aload 1
aload 6
iconst_0
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/graph/Graph$Mark;Z)V
15: aload 5
invokevirtual org.graalvm.compiler.loop.LoopEx.deleteUnusedNodes:()V
end local 7 end local 6 end local 5 16: StackMap locals:
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
17: iconst_1
istore 2
end local 4 end local 3 18: StackMap locals:
StackMap stack:
iload 2
ifne 1
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 snippetCopy Lorg/graalvm/compiler/nodes/StructuredGraph;
0 20 1 providers Lorg/graalvm/compiler/nodes/spi/CoreProviders;
1 20 2 exploded Z
3 18 3 explodeLoop Lorg/graalvm/compiler/replacements/nodes/ExplodeLoopNode;
5 18 4 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
7 16 5 loop Lorg/graalvm/compiler/loop/LoopEx;
8 16 6 mark Lorg/graalvm/compiler/graph/Graph$Mark;
9 16 7 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
MethodParameters:
Name Flags
snippetCopy final
providers
protected java.lang.Object[] getConstantArgs(org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)[Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.Object[]
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 8
3: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 3
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifne 6
4: aload 2
iload 3
aconst_null
aastore
5: goto 7
6: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 7
aload 2
iload 3
aaload
ifnonnull 7
new java.lang.AssertionError
dup
ldc "Can't pass raw null through as argument"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
if_icmplt 3
end local 3 9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 10 1 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
1 10 2 constantArgs [Ljava/lang/Object;
2 9 3 i I
MethodParameters:
Name Flags
args
private static boolean checkAllVarargPlaceholdersAreDeleted(int, org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[]);
descriptor: (I[Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
ifnull 4
3: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 4
aload 1
iload 2
aaload
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode.isDeleted:()Z
ifne 4
new java.lang.AssertionError
dup
aload 1
iload 2
aaload
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 0
if_icmplt 2
end local 2 6: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 parameterCount I
0 7 1 placeholders [Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
1 6 2 i I
MethodParameters:
Name Flags
parameterCount
placeholders
private static boolean checkConstantArgument(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature, int, java.lang.String, java.lang.Object, jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 2
iload 3
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.JavaType.resolve:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 7
start local 7 1: aload 0
ldc Ljdk/internal/vm/compiler/word/WordBase;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 4
2: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 3
aload 5
instanceof jdk.vm.ci.meta.JavaConstant
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": word constant parameters must be passed boxed in a Constant value: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
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
3: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 6
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 10
5: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 10
aload 5
ifnull 6
aload 6
invokevirtual jdk.vm.ci.meta.JavaKind.toBoxedJavaClass:()Ljava/lang/Class;
aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 10
StackMap locals:
StackMap stack:
6: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": wrong value kind for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": expected "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", got "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: aload 5
ifnonnull 8
ldc "null"
goto 9
StackMap locals: jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature int java.lang.String java.lang.Object jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ResolvedJavaType
StackMap stack: new 6 new 6 java.lang.StringBuilder
8: aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
StackMap locals: jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature int java.lang.String java.lang.Object jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ResolvedJavaType
StackMap stack: new 6 new 6 java.lang.StringBuilder java.lang.String
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 11 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 11 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 11 2 signature Ljdk/vm/ci/meta/Signature;
0 11 3 paramIndex I
0 11 4 name Ljava/lang/String;
0 11 5 arg Ljava/lang/Object;
0 11 6 kind Ljdk/vm/ci/meta/JavaKind;
1 11 7 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
metaAccess
method final
signature
paramIndex
name
arg
kind
private static boolean checkVarargs(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature, int, java.lang.String, org.graalvm.compiler.replacements.SnippetTemplate$Varargs);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
iload 3
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
checkcast jdk.vm.ci.meta.ResolvedJavaType
astore 6
start local 6 1: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 2
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 2
new java.lang.AssertionError
dup
ldc "varargs parameter must be an array type"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 4
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 0
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.componentType:Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "componentType for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not matching "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " instance: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.componentType:Ljava/lang/Class;
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
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 5 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 5 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 2 signature Ljdk/vm/ci/meta/Signature;
0 5 3 i I
0 5 4 name Ljava/lang/String;
0 5 5 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
1 5 6 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
metaAccess
method final
signature
i
name
varargs
private jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> bind(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 4
start local 4 1: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 2
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
arraylength
if_icmpeq 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "number of args ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") != number of parameters ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: jdk.internal.vm.compiler.collections.EconomicMap
StackMap stack:
iconst_0
istore 5
start local 5 3: goto 47
4: StackMap locals: int
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 5
aaload
astore 6
start local 6 5: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 6
aload 6
ifnonnull 6
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " has no parameter named "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals: java.lang.Object
StackMap stack:
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 5
aaload
astore 7
start local 7 7: aload 6
instanceof org.graalvm.compiler.nodes.ParameterNode
ifeq 16
8: aload 7
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 11
9: aload 4
aload 6
checkcast org.graalvm.compiler.nodes.ParameterNode
aload 7
checkcast org.graalvm.compiler.nodes.ValueNode
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: goto 46
11: StackMap locals: java.lang.Object
StackMap stack:
aload 6
checkcast org.graalvm.compiler.nodes.ParameterNode
invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 8
start local 8 12: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 13
aload 7
ifnonnull 13
aload 8
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 13
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " cannot accept null for non-object parameter named "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
13: StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 0
aload 7
aload 8
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.forBoxed:(Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaConstant;
astore 9
start local 9 14: aload 4
aload 6
checkcast org.graalvm.compiler.nodes.ParameterNode
aload 9
aload 2
aload 1
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 8 15: goto 46
StackMap locals:
StackMap stack:
16: aload 6
instanceof org.graalvm.compiler.nodes.ParameterNode[]
ifeq 45
17: aload 6
checkcast org.graalvm.compiler.nodes.ParameterNode[]
astore 8
start local 8 18: aload 7
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 9
start local 9 19: aload 8
arraylength
istore 10
start local 10 20: aconst_null
astore 11
start local 11 21: aconst_null
astore 12
start local 12 22: aload 9
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.value:Ljava/lang/Object;
instanceof java.util.List
ifeq 25
23: aload 9
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.value:Ljava/lang/Object;
checkcast java.util.List
astore 11
24: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 29
aload 11
invokeinterface java.util.List.size:()I
iload 10
if_icmpeq 29
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
iload 10
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
25: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments jdk.internal.vm.compiler.collections.EconomicMap int java.lang.Object java.lang.Object org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.replacements.SnippetTemplate$Varargs int java.util.List java.lang.Object
StackMap stack:
aload 9
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.value:Ljava/lang/Object;
astore 12
26: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 28
aload 12
ifnull 27
aload 12
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifne 28
StackMap locals:
StackMap stack:
27: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 29
aload 12
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
iload 10
if_icmpeq 29
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
iload 10
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
29: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 30: goto 43
31: StackMap locals: int
StackMap stack:
aload 8
iload 13
aaload
astore 14
start local 14 32: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 33
aload 14
ifnonnull 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals: org.graalvm.compiler.nodes.ParameterNode
StackMap stack:
aload 11
ifnull 34
aload 11
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
goto 35
StackMap locals:
StackMap stack:
34: aload 12
iload 13
invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
35: astore 15
start local 15 36: aload 15
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 39
37: aload 4
aload 14
aload 15
checkcast org.graalvm.compiler.nodes.ValueNode
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
38: goto 42
39: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 15
aload 14
invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.forBoxed:(Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaConstant;
astore 16
start local 16 40: aload 16
aload 2
aload 1
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 17
start local 17 41: aload 4
aload 14
aload 17
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 17 end local 16 end local 15 end local 14 42: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
43: iload 13
iload 10
if_icmplt 31
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 44: goto 46
45: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments jdk.internal.vm.compiler.collections.EconomicMap int java.lang.Object java.lang.Object
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 46
aload 6
getstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 46
aload 6
getstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 46
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "unexpected entry for parameter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
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
end local 7 end local 6 46: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
47: iload 5
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
arraylength
if_icmplt 4
end local 5 48: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 49 1 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 49 2 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 49 3 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
1 49 4 replacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
3 48 5 i I
5 46 6 parameter Ljava/lang/Object;
7 46 7 argument Ljava/lang/Object;
12 15 8 kind Ljdk/vm/ci/meta/JavaKind;
14 15 9 constant Ljdk/vm/ci/meta/JavaConstant;
18 44 8 params [Lorg/graalvm/compiler/nodes/ParameterNode;
19 44 9 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
20 44 10 length I
21 44 11 list Ljava/util/List<*>;
22 44 12 array Ljava/lang/Object;
30 44 13 j I
32 42 14 param Lorg/graalvm/compiler/nodes/ParameterNode;
36 42 15 value Ljava/lang/Object;
40 42 16 constant Ljdk/vm/ci/meta/JavaConstant;
41 42 17 element Lorg/graalvm/compiler/nodes/ConstantNode;
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
replaceeGraph
metaAccess
args
protected jdk.vm.ci.meta.JavaConstant forBoxed(java.lang.Object, jdk.vm.ci.meta.JavaKind);
descriptor: (Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 1
aload 2
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 3
2: aload 1
invokestatic jdk.vm.ci.meta.JavaConstant.forBoxedPrimitive:(Ljava/lang/Object;)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 2
aload 1
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forBoxed:(Ljdk/vm/ci/meta/JavaKind;Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 4 1 argument Ljava/lang/Object;
0 4 2 localKind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
argument
localKind
private boolean assertSnippetKills(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
ifnonnull 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 2
start local 2 5: aload 2
ifnull 6
aload 2
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.isEmpty:()Z
ifeq 7
6: StackMap locals: org.graalvm.compiler.nodes.memory.MemoryMapNode
StackMap stack:
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
astore 3
start local 3 8: aload 3
aload 2
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLocations:()Ljava/util/Collection;
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.addAll:(Ljava/lang/Iterable;)V
9: aload 1
instanceof org.graalvm.compiler.nodes.memory.SingleMemoryKill
ifeq 15
10: aload 1
checkcast org.graalvm.compiler.nodes.memory.SingleMemoryKill
invokeinterface org.graalvm.compiler.nodes.memory.SingleMemoryKill.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
astore 4
start local 4 11: aload 4
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isAny:()Z
ifeq 13
12: iconst_1
ireturn
13: StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.word.LocationIdentity
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 14
aload 3
aload 4
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
ifne 14
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " kills "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", but snippet doesn't contain a kill to this location"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
14: StackMap locals:
StackMap stack:
aload 3
aload 4
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.remove:(Ljava/lang/Object;)V
end local 4 15: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 16
aload 1
instanceof org.graalvm.compiler.nodes.memory.MultiMemoryKill
ifeq 16
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " multi not supported (yet)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
16: StackMap locals:
StackMap stack:
aload 2
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
instanceof org.graalvm.compiler.nodes.memory.MemoryAnchorNode
ifeq 18
17: aload 3
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.remove:(Ljava/lang/Object;)V
18: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 19
aload 3
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
ifeq 19
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "snippet graph contains a kill to ANY_LOCATION, but replacee ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") doesn't kill ANY_LOCATION. kills: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
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
19: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.privateLocations:[Ljdk/internal/vm/compiler/word/LocationIdentity;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 23
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMapNode jdk.internal.vm.compiler.collections.EconomicSet top int int jdk.internal.vm.compiler.word.LocationIdentity[]
StackMap stack:
20: aload 7
iload 5
aaload
astore 4
start local 4 21: aload 3
aload 4
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.remove:(Ljava/lang/Object;)V
end local 4 22: iinc 5 1
StackMap locals:
StackMap stack:
23: iload 5
iload 6
if_icmplt 20
24: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 25
aload 3
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.isEmpty:()Z
ifne 25
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "snippet graph kills non-private locations "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " that replacee ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") doesn't kill"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
25: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMapNode jdk.internal.vm.compiler.collections.EconomicSet
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 26 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
5 26 2 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
8 26 3 kills Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
11 15 4 locationIdentity Ljdk/internal/vm/compiler/word/LocationIdentity;
21 22 4 p Ljdk/internal/vm/compiler/word/LocationIdentity;
MethodParameters:
Name Flags
replacee
private void rewireMemoryGraph(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
ifeq 17
1: aload 0
aload 1
new org.graalvm.compiler.replacements.SnippetTemplate$MemoryOutputMap
dup
aload 0
aload 1
aload 2
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$MemoryOutputMap.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.replaceMemoryUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/MemoryMap;)V
2: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
ifnull 9
3: aload 2
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 3
start local 3 4: aload 3
ifnull 9
5: aload 3
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 4
start local 4 6: aload 4
ifnull 9
7: aload 3
aconst_null
invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
8: aload 4
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.safeDelete:()V
end local 4 end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
ifnull 17
10: aload 2
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.MemoryAnchorNode
astore 3
start local 3 11: aload 0
aload 3
new org.graalvm.compiler.replacements.SnippetTemplate$MemoryInputMap
dup
aload 1
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$MemoryInputMap.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.replaceMemoryUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/MemoryMap;)V
12: aload 3
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.hasNoUsages:()Z
ifeq 17
13: aload 3
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
ifnull 16
14: aload 3
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
15: goto 17
16: StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
end local 3 17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 18 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
0 18 2 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
4 9 3 ret Lorg/graalvm/compiler/nodes/ReturnNode;
6 9 4 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
11 17 3 memoryDuplicate Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
MethodParameters:
Name Flags
replacee
duplicates
private static jdk.internal.vm.compiler.word.LocationIdentity getLocationIdentity(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Ljdk/internal/vm/compiler/word/LocationIdentity;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
ifeq 2
1: aload 0
checkcast org.graalvm.compiler.nodes.memory.MemoryAccess
invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.nodes.spi.MemoryEdgeProxy
ifeq 4
3: aload 0
checkcast org.graalvm.compiler.nodes.spi.MemoryEdgeProxy
invokeinterface org.graalvm.compiler.nodes.spi.MemoryEdgeProxy.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof org.graalvm.compiler.nodes.memory.MemoryPhiNode
ifeq 6
5: aload 0
checkcast org.graalvm.compiler.nodes.memory.MemoryPhiNode
invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
areturn
6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 node Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
node
private void replaceMemoryUsages(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.memory.MemoryMap);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/MemoryMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 17
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 3
start local 3 2: aload 3
instanceof org.graalvm.compiler.nodes.memory.MemoryMapNode
ifeq 4
3: goto 17
4: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.getLocationIdentity:(Lorg/graalvm/compiler/graph/Node;)Ljdk/internal/vm/compiler/word/LocationIdentity;
astore 5
start local 5 5: aload 5
ifnull 17
6: aload 3
invokevirtual org.graalvm.compiler.graph.Node.inputPositions:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 16
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap org.graalvm.compiler.graph.Node java.util.Iterator jdk.internal.vm.compiler.word.LocationIdentity top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Position
astore 6
start local 6 8: aload 6
invokevirtual org.graalvm.compiler.graph.Position.getInputType:()Lorg/graalvm/compiler/nodeinfo/InputType;
getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
if_acmpne 16
aload 6
aload 3
invokevirtual org.graalvm.compiler.graph.Position.get:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
aload 1
if_acmpne 16
9: aload 2
aload 5
invokeinterface org.graalvm.compiler.nodes.memory.MemoryMap.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
astore 8
start local 8 10: aload 8
ifnonnull 15
11: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 16
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.mayRemoveLocation:Z
ifne 16
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 16
12: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.privateLocations:[Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 5
invokestatic java.util.function.Predicate.isEqual:(Ljava/lang/Object;)Ljava/util/function/Predicate;
invokestatic org.graalvm.util.CollectionsUtil.anyMatch:([Ljava/lang/Object;Ljava/util/function/Predicate;)Z
ifne 16
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Snippet "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%h.%n"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " contains access to the non-private location "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", but replacee doesn't access this location."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokeinterface org.graalvm.compiler.nodes.memory.MemoryMap.getLocations:()Ljava/lang/Iterable;
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
15: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap org.graalvm.compiler.graph.Node java.util.Iterator jdk.internal.vm.compiler.word.LocationIdentity org.graalvm.compiler.graph.Position java.util.Iterator org.graalvm.compiler.nodes.memory.MemoryKill
StackMap stack:
aload 6
aload 3
aload 8
invokeinterface org.graalvm.compiler.nodes.memory.MemoryKill.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.graph.Position.set:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 8 end local 6 16: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap org.graalvm.compiler.graph.Node java.util.Iterator jdk.internal.vm.compiler.word.LocationIdentity top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 5 end local 3 17: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 19 1 node Lorg/graalvm/compiler/nodes/ValueNode;
0 19 2 map Lorg/graalvm/compiler/nodes/memory/MemoryMap;
2 17 3 usage Lorg/graalvm/compiler/graph/Node;
5 17 5 location Ljdk/internal/vm/compiler/word/LocationIdentity;
8 16 6 pos Lorg/graalvm/compiler/graph/Position;
10 16 8 replacement Lorg/graalvm/compiler/nodes/memory/MemoryKill;
MethodParameters:
Name Flags
node
map
public jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> instantiate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
iconst_1
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Z)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 1 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 1 2 replacee Lorg/graalvm/compiler/nodes/FixedNode;
0 1 3 replacer Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
0 1 4 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
Signature: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
metaAccess
replacee
replacer
args
public jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> instantiate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer, org.graalvm.compiler.replacements.SnippetTemplate$Arguments, boolean);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Z)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=21, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 6
start local 6 1: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 2
aload 0
aload 2
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.assertSnippetKills:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.compiler.debug.DebugContext
StackMap stack:
aconst_null
astore 7
aconst_null
astore 8
3: aload 4
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationTimer:Lorg/graalvm/compiler/debug/TimerKey;
aload 6
invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 9
start local 9 4: aload 4
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationCounter:Lorg/graalvm/compiler/debug/CounterKey;
aload 6
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
5: aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 10
start local 10 6: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 11
start local 11 7: aload 11
invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 12
start local 12 8: aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 13
start local 13 9: aload 0
aload 13
aload 1
aload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.bind:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 14
start local 14 10: aload 14
aload 11
aload 2
invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 0
aload 2
aload 6
aload 13
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.inlineSnippet:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
astore 15
start local 15 12: aload 15
aload 12
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 16
start local 16 13: aload 2
aload 16
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
14: aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtSideEffects:()Z
ifeq 23
15: aload 2
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 16
aload 2
checkcast org.graalvm.compiler.nodes.StateSplit
invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
ifeq 16
iconst_1
goto 17
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedNode
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: istore 17
start local 17 18: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.sideEffectNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 19
iconst_0
goto 20
StackMap locals: int
StackMap stack:
19: iconst_1
StackMap locals:
StackMap stack: int
20: istore 18
start local 18 21: iload 18
ifeq 23
22: iload 17
ldc "Lowering node %s without side-effect to snippet %s with sideeffects=%s"
aload 2
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.sideEffectNodes:Ljava/util/ArrayList;
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
end local 18 end local 17 23: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 15
aload 10
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/FixedNode;)V
24: aload 0
aload 2
aload 15
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
25: aload 0
aload 2
aload 15
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireMemoryGraph:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
26: aconst_null
astore 17
start local 17 27: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
ifnull 47
aload 2
instanceof org.graalvm.compiler.nodes.ControlSinkNode
ifne 47
28: aload 15
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 18
start local 18 29: aload 18
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 17
30: aload 17
ifnonnull 33
aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isNotEmpty:()Z
ifeq 33
aload 2
instanceof org.graalvm.compiler.nodes.memory.MemoryKill
ifeq 33
31: aload 3
aload 2
aconst_null
invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
32: goto 35
33: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ReturnNode
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 34
aload 17
ifnonnull 34
aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.hasNoUsages:()Z
ifne 34
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
34: StackMap locals:
StackMap stack:
aload 3
aload 2
aload 17
invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
35: StackMap locals:
StackMap stack:
aload 18
invokevirtual org.graalvm.compiler.nodes.ReturnNode.isAlive:()Z
ifeq 47
36: aconst_null
astore 19
start local 19 37: aload 2
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 42
38: aload 2
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 20
start local 20 39: aload 20
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 19
40: aload 20
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 20 41: goto 46
StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
42: aload 2
instanceof org.graalvm.compiler.nodes.WithExceptionNode
ifeq 46
43: aload 2
checkcast org.graalvm.compiler.nodes.WithExceptionNode
astore 20
start local 20 44: aload 20
invokevirtual org.graalvm.compiler.nodes.WithExceptionNode.next:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 19
45: aload 20
aconst_null
invokevirtual org.graalvm.compiler.nodes.WithExceptionNode.setNext:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
end local 20 46: StackMap locals:
StackMap stack:
aload 18
aload 19
invokevirtual org.graalvm.compiler.nodes.ReturnNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 19 end local 18 47: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.unwindPath:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
ifnull 59
48: aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
ifeq 49
iconst_0
goto 50
StackMap locals:
StackMap stack:
49: iconst_1
StackMap locals:
StackMap stack: int
50: ldc "Using a snippet with an UnwindNode after floating reads would require support for the memory graph"
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;)V
51: aload 2
instanceof org.graalvm.compiler.nodes.WithExceptionNode
ldc "Snippet has an UnwindNode, but replacee is not a node with an exception handler"
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;)V
52: aload 15
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.unwindPath:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 18
start local 18 53: aload 2
checkcast org.graalvm.compiler.nodes.WithExceptionNode
astore 19
start local 19 54: aload 19
invokevirtual org.graalvm.compiler.nodes.WithExceptionNode.exceptionEdge:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 20
start local 20 55: aload 19
aconst_null
invokevirtual org.graalvm.compiler.nodes.WithExceptionNode.setExceptionEdge:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
56: aload 18
aload 20
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
57: aload 18
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 20 end local 19 end local 18 58: goto 62
59: StackMap locals:
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.WithExceptionNode
ifeq 60
iconst_0
goto 61
StackMap locals:
StackMap stack:
60: iconst_1
StackMap locals:
StackMap stack: int
61: ldc "Snippet does not have an UnwindNode, but replacee is a node with an exception handler"
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;)V
62: StackMap locals:
StackMap stack:
iload 5
ifeq 64
63: aload 2
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
64: StackMap locals:
StackMap stack:
aload 6
iconst_4
aload 13
ldc "After lowering %s with %s"
aload 2
aload 0
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
65: aload 15
66: aload 9
ifnull 67
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
67: StackMap locals:
StackMap stack: jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
areturn
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
68: astore 7
69: aload 9
ifnull 70
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 9 StackMap locals:
StackMap stack:
70: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
71: astore 8
aload 7
ifnonnull 72
aload 8
astore 7
goto 73
StackMap locals:
StackMap stack:
72: aload 7
aload 8
if_acmpeq 73
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
73: aload 7
athrow
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 74 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 74 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 74 2 replacee Lorg/graalvm/compiler/nodes/FixedNode;
0 74 3 replacer Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
0 74 4 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 74 5 killReplacee Z
1 74 6 debug Lorg/graalvm/compiler/debug/DebugContext;
4 70 9 a Lorg/graalvm/compiler/debug/DebugCloseable;
6 68 10 replaceeGraphPredecessor Lorg/graalvm/compiler/nodes/FixedNode;
7 68 11 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
8 68 12 firstCFGNode Lorg/graalvm/compiler/nodes/FixedNode;
9 68 13 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
10 68 14 replacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
12 68 15 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
13 68 16 firstCFGNodeDuplicate Lorg/graalvm/compiler/nodes/FixedNode;
18 23 17 replaceeHasSideEffect Z
21 23 18 replacementHasSideEffect Z
27 68 17 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
29 47 18 returnDuplicate Lorg/graalvm/compiler/nodes/ReturnNode;
37 47 19 next Lorg/graalvm/compiler/nodes/FixedNode;
39 41 20 fwn Lorg/graalvm/compiler/nodes/FixedWithNextNode;
44 46 20 withExceptionNode Lorg/graalvm/compiler/nodes/WithExceptionNode;
53 58 18 unwindPathDuplicate Lorg/graalvm/compiler/nodes/FixedWithNextNode;
54 58 19 withExceptionNode Lorg/graalvm/compiler/nodes/WithExceptionNode;
55 58 20 exceptionEdge Lorg/graalvm/compiler/nodes/AbstractBeginNode;
Exception table:
from to target type
4 66 68 any
3 67 71 any
68 71 71 any
Signature: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Z)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
metaAccess
replacee
replacer
args
killReplacee
private jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> inlineSnippet(org.graalvm.compiler.graph.Node, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.nodes.StructuredGraph, jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 5
start local 5 1: aconst_null
astore 6
aconst_null
astore 7
2: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 3
invokedynamic accept(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
org/graalvm/compiler/replacements/SnippetTemplate.lambda$0(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/Invokable;Lorg/graalvm/compiler/nodes/Invokable;)V (6)
(Lorg/graalvm/compiler/nodes/Invokable;Lorg/graalvm/compiler/nodes/Invokable;)V
invokevirtual org.graalvm.compiler.nodes.InliningLog.openUpdateScope:(Ljava/util/function/BiConsumer;)Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
astore 8
start local 8 3: aload 3
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addDuplicates:(Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph;ILjdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
astore 9
start local 9 4: aload 8
ifnull 6
5: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 9
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
invokevirtual org.graalvm.compiler.nodes.InliningLog.addLog:(Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;)V
6: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Graph$Mark java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
astore 10
start local 10 7: aload 3
aload 9
aload 5
aload 10
iconst_1
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.updateSourcePosition:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/graph/Graph$Mark;Lorg/graalvm/compiler/graph/NodeSourcePosition;Z)V
8: aload 2
iconst_4
aload 3
ldc "After inlining snippet %s"
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
9: aload 9
10: aload 8
ifnull 11
aload 8
invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
11: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Graph$Mark java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.graph.NodeSourcePosition
StackMap stack: jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
areturn
end local 10 end local 9 StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Graph$Mark java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope
StackMap stack: java.lang.Throwable
12: astore 6
13: aload 8
ifnull 14
aload 8
invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
end local 8 StackMap locals:
StackMap stack:
14: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 7
aload 6
ifnonnull 16
aload 7
astore 6
goto 17
StackMap locals:
StackMap stack:
16: aload 6
aload 7
if_acmpeq 17
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 6
athrow
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 18 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 18 1 replacee Lorg/graalvm/compiler/graph/Node;
0 18 2 debug Lorg/graalvm/compiler/debug/DebugContext;
0 18 3 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 18 4 replacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
1 18 5 mark Lorg/graalvm/compiler/graph/Graph$Mark;
3 14 8 scope Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
4 12 9 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
7 12 10 position Lorg/graalvm/compiler/graph/NodeSourcePosition;
Exception table:
from to target type
3 10 12 any
2 11 15 any
12 15 15 any
Signature: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
replacee
debug
replaceeGraph
replacements
private void propagateStamp(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 7
1: aload 1
checkcast org.graalvm.compiler.nodes.PhiNode
astore 2
start local 2 2: aload 2
invokevirtual org.graalvm.compiler.nodes.PhiNode.inferStamp:()Z
ifeq 7
3: aload 1
invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.PhiNode top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 3
start local 3 5: aload 0
aload 3
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.propagateStamp:(Lorg/graalvm/compiler/graph/Node;)V
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 2 7: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 8 1 node Lorg/graalvm/compiler/graph/Node;
2 7 2 phi Lorg/graalvm/compiler/nodes/PhiNode;
5 6 3 usage Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
node
private void updateStamps(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.placeholderStampedNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 3
start local 3 2: aload 2
aload 3
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 5
start local 5 3: aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 6
start local 6 4: aload 3
instanceof org.graalvm.compiler.nodes.PiNode$Placeholder
ifeq 8
5: aload 5
checkcast org.graalvm.compiler.nodes.PiNode$Placeholder
astore 7
start local 7 6: aload 7
aload 6
invokevirtual org.graalvm.compiler.nodes.PiNode$Placeholder.makeReplacement:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
end local 7 7: goto 9
8: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.ValueNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 5
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
end local 6 end local 5 end local 3 9: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
getstatic org.graalvm.compiler.nodes.ParameterNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 17
StackMap locals:
StackMap stack:
11: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ParameterNode
astore 3
start local 3 12: aload 3
invokevirtual org.graalvm.compiler.nodes.ParameterNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 6
goto 16
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.ParameterNode java.util.Iterator top java.util.Iterator
StackMap stack:
13: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 5
start local 5 14: aload 2
aload 5
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 15: aload 0
aload 7
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.propagateStamp:(Lorg/graalvm/compiler/graph/Node;)V
end local 7 end local 5 16: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 3 17: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 19 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
0 19 2 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
2 9 3 node Lorg/graalvm/compiler/nodes/ValueNode;
3 9 5 dup Lorg/graalvm/compiler/nodes/ValueNode;
4 9 6 replaceeStamp Lorg/graalvm/compiler/core/common/type/Stamp;
6 7 7 placeholderDup Lorg/graalvm/compiler/nodes/PiNode$Placeholder;
12 17 3 paramNode Lorg/graalvm/compiler/nodes/ParameterNode;
14 16 5 usage Lorg/graalvm/compiler/graph/Node;
15 16 7 usageDup Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
MethodParameters:
Name Flags
replacee
duplicates
public org.graalvm.compiler.nodes.StructuredGraph copySpecializedGraph(org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.copy:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/graph/Graph;
checkcast org.graalvm.compiler.nodes.StructuredGraph
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 1 1 debugForCopy Lorg/graalvm/compiler/debug/DebugContext;
MethodParameters:
Name Flags
debugForCopy
public void instantiate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.calc.FloatingNode, org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer, org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=20, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 6
start local 6 1: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 2
aload 0
aload 2
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.assertSnippetKills:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.compiler.debug.DebugContext
StackMap stack:
aconst_null
astore 7
aconst_null
astore 8
3: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationTimer:Lorg/graalvm/compiler/debug/TimerKey;
aload 6
invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 9
start local 9 4: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationCounter:Lorg/graalvm/compiler/debug/CounterKey;
aload 6
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
5: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 10
start local 10 6: aload 10
invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 11
start local 11 7: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 12
start local 12 8: aload 0
aload 12
aload 1
aload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.bind:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 13
start local 13 9: aload 13
aload 10
aload 4
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getCurrentGuardAnchor:()Lorg/graalvm/compiler/nodes/extended/AnchoringNode;
invokeinterface org.graalvm.compiler.nodes.extended.AnchoringNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 0
aload 2
aload 6
aload 12
aload 13
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.inlineSnippet:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
astore 14
start local 14 11: aload 4
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
astore 15
start local 15 12: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 14
aload 15
ifnull 13
aload 15
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.isAlive:()Z
ifne 14
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
13: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " lastFixed="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 15
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
14: StackMap locals:
StackMap stack:
aload 15
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 16
start local 16 15: aload 15
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
16: aload 14
aload 11
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 17
start local 17 17: aload 12
aload 15
aload 17
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
18: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 19
aload 2
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
20: aload 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireMemoryGraph:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
21: aload 0
aload 2
aload 14
aload 15
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/FixedNode;)V
22: aload 14
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 18
start local 18 23: aload 18
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 19
start local 19 24: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 25
aload 19
ifnonnull 25
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.hasNoUsages:()Z
ifne 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: StackMap locals: org.graalvm.compiler.nodes.ReturnNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 3
aload 2
aload 19
invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
26: aload 18
invokevirtual org.graalvm.compiler.nodes.ReturnNode.isAlive:()Z
ifeq 28
27: aload 18
aload 16
invokevirtual org.graalvm.compiler.nodes.ReturnNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
28: StackMap locals:
StackMap stack:
aload 6
iconst_4
aload 12
ldc "After lowering %s with %s"
aload 2
aload 0
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 29: aload 9
ifnull 35
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 35
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
30: astore 7
aload 9
ifnull 31
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 9 StackMap locals:
StackMap stack:
31: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 8
aload 7
ifnonnull 33
aload 8
astore 7
goto 34
StackMap locals:
StackMap stack:
33: aload 7
aload 8
if_acmpeq 34
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
34: aload 7
athrow
35: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 36 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 36 2 replacee Lorg/graalvm/compiler/nodes/calc/FloatingNode;
0 36 3 replacer Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
0 36 4 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
0 36 5 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
1 36 6 debug Lorg/graalvm/compiler/debug/DebugContext;
4 31 9 a Lorg/graalvm/compiler/debug/DebugCloseable;
6 29 10 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
7 29 11 firstCFGNode Lorg/graalvm/compiler/nodes/FixedNode;
8 29 12 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
9 29 13 replacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
11 29 14 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
12 29 15 lastFixedNode Lorg/graalvm/compiler/nodes/FixedWithNextNode;
15 29 16 next Lorg/graalvm/compiler/nodes/FixedNode;
17 29 17 firstCFGNodeDuplicate Lorg/graalvm/compiler/nodes/FixedNode;
23 29 18 returnDuplicate Lorg/graalvm/compiler/nodes/ReturnNode;
24 29 19 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
Exception table:
from to target type
4 29 30 any
3 32 32 any
MethodParameters:
Name Flags
metaAccess
replacee
replacer
tool
args
public void instantiate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.calc.FloatingNode, org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 5
start local 5 1: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 2
aload 0
aload 2
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.assertSnippetKills:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.compiler.debug.DebugContext
StackMap stack:
aconst_null
astore 6
aconst_null
astore 7
3: aload 4
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationTimer:Lorg/graalvm/compiler/debug/TimerKey;
aload 5
invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 8
start local 8 4: aload 4
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationCounter:Lorg/graalvm/compiler/debug/CounterKey;
aload 5
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
5: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 9
start local 9 6: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 9
aload 9
invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
ifnonnull 7
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
goto 8
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode
StackMap stack: org.graalvm.compiler.nodes.FixedNode
7: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode
StackMap stack: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode
8: if_acmpeq 9
new java.lang.AssertionError
dup
aload 9
invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 10
start local 10 10: aload 0
aload 10
aload 1
aload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.bind:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 11
start local 11 11: aconst_null
astore 12
start local 12 12: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
ifnull 15
13: aload 10
new org.graalvm.compiler.nodes.memory.MemoryAnchorNode
dup
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.privateLocations:[Ljdk/internal/vm/compiler/word/LocationIdentity;
invokespecial org.graalvm.compiler.nodes.memory.MemoryAnchorNode.<init>:([Ljdk/internal/vm/compiler/word/LocationIdentity;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.MemoryAnchorNode
astore 12
14: aload 11
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
aload 12
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.memory.MemoryAnchorNode
StackMap stack:
new java.util.ArrayList
dup
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_2
isub
invokespecial java.util.ArrayList.<init>:(I)V
astore 13
start local 13 16: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 15
goto 20
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List top java.util.Iterator
StackMap stack:
17: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 14
start local 14 18: aload 14
aload 9
if_acmpeq 20
aload 14
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
if_acmpeq 20
19: aload 13
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 14 20: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
21: aload 0
aload 2
aload 5
aload 10
aload 11
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.inlineSnippet:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
astore 14
start local 14 22: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 23
aload 2
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
StackMap stack:
aload 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
24: aload 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireMemoryGraph:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
25: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 26
aload 12
ifnull 26
aload 12
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.isDeleted:()Z
ifne 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
aload 14
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 15
start local 15 27: aload 3
aload 2
aload 15
invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
28: aload 5
iconst_4
aload 10
ldc "After lowering %s with %s"
aload 2
aload 0
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 29: aload 8
ifnull 35
aload 8
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 35
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
30: astore 6
aload 8
ifnull 31
aload 8
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 8 StackMap locals:
StackMap stack:
31: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 7
aload 6
ifnonnull 33
aload 7
astore 6
goto 34
StackMap locals:
StackMap stack:
33: aload 6
aload 7
if_acmpeq 34
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
34: aload 6
athrow
35: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 36 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 36 2 replacee Lorg/graalvm/compiler/nodes/calc/FloatingNode;
0 36 3 replacer Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
0 36 4 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
1 36 5 debug Lorg/graalvm/compiler/debug/DebugContext;
4 31 8 a Lorg/graalvm/compiler/debug/DebugCloseable;
6 29 9 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
10 29 10 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
11 29 11 replacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
12 29 12 anchorDuplicate Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
16 29 13 floatingNodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
18 20 14 n Lorg/graalvm/compiler/graph/Node;
22 29 14 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
27 29 15 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
Exception table:
from to target type
4 29 30 any
3 32 32 any
MethodParameters:
Name Flags
metaAccess
replacee
replacer
args
protected void rewireFrameStates(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>, org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/FixedNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtSideEffects:()Z
ifeq 3
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.requiresFrameStateProcessingBeforeFSA:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 3
1: aload 0
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStatesBeforeFSA:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/FixedNode;)V
2: goto 5
StackMap locals:
StackMap stack:
3: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
ifeq 5
aload 1
instanceof org.graalvm.compiler.nodes.DeoptimizingNode
ifeq 5
4: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStatesAfterFSA:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 6 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
0 6 2 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
0 6 3 replaceeGraphCFGPredecessor Lorg/graalvm/compiler/nodes/FixedNode;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/nodes/FixedNode;)V
MethodParameters:
Name Flags
replacee
duplicates
replaceeGraphCFGPredecessor
private boolean requiresFrameStateProcessingBeforeFSA(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.nodes.StateSplit
ifne 1
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.frameStateAssignment:Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure;
ifnonnull 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 2 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
replacee
private void rewireFrameStatesBeforeFSA(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>, org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/FixedNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 22
aload 1
checkcast org.graalvm.compiler.nodes.StateSplit
invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
ifeq 22
aload 1
checkcast org.graalvm.compiler.nodes.StateSplit
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 22
1: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.sideEffectNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 21
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StateSplit
astore 4
start local 4 3: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 4
aload 1
checkcast org.graalvm.compiler.nodes.StateSplit
invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StateSplit java.util.Iterator
StackMap stack:
aload 2
aload 4
invokeinterface org.graalvm.compiler.nodes.StateSplit.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 6
start local 6 5: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 6
aload 6
ifnonnull 6
new java.lang.AssertionError
dup
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals: org.graalvm.compiler.graph.Node
StackMap stack:
aload 1
checkcast org.graalvm.compiler.nodes.StateSplit
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 7
start local 7 7: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 8
aload 7
ifnonnull 8
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Replacee "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " has no state after"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals: org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 6
instanceof org.graalvm.compiler.nodes.DeoptBciSupplier
ifeq 11
9: aload 1
instanceof org.graalvm.compiler.nodes.DeoptBciSupplier
ifeq 11
10: aload 6
checkcast org.graalvm.compiler.nodes.DeoptBciSupplier
aload 1
checkcast org.graalvm.compiler.nodes.DeoptBciSupplier
invokeinterface org.graalvm.compiler.nodes.DeoptBciSupplier.bci:()I
invokeinterface org.graalvm.compiler.nodes.DeoptBciSupplier.setBci:(I)V
11: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.graalvm.compiler.nodes.FrameState.values:()Lorg/graalvm/compiler/graph/NodeInputList;
aload 1
invokevirtual org.graalvm.compiler.graph.NodeInputList.contains:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 20
12: aload 7
invokevirtual org.graalvm.compiler.nodes.FrameState.duplicate:()Lorg/graalvm/compiler/nodes/FrameState;
astore 8
start local 8 13: aload 2
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 9
start local 9 14: aload 9
instanceof org.graalvm.compiler.nodes.ValuePhiNode
ifeq 16
15: aload 6
checkcast org.graalvm.compiler.nodes.ValueNode
astore 9
16: StackMap locals: org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 9
astore 10
start local 10 17: aload 8
new org.graalvm.compiler.replacements.SnippetTemplate$2
dup
aload 0
aload 1
aload 10
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$2.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.FrameState.applyToNonVirtual:(Lorg/graalvm/compiler/nodes/VirtualState$NodePositionClosure;)V
18: aload 6
checkcast org.graalvm.compiler.nodes.StateSplit
aload 8
invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 10 end local 9 end local 8 19: goto 21
20: StackMap locals:
StackMap stack:
aload 6
checkcast org.graalvm.compiler.nodes.StateSplit
aload 1
checkcast org.graalvm.compiler.nodes.StateSplit
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 7 end local 6 end local 4 21: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
22: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.frameStateAssignment:Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure;
ifnull 24
23: aload 0
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.assignNecessaryFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/FixedNode;)V
24: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 25 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
0 25 2 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
0 25 3 replaceeGraphCFGPredecessor Lorg/graalvm/compiler/nodes/FixedNode;
3 21 4 sideEffectNode Lorg/graalvm/compiler/nodes/StateSplit;
5 21 6 sideEffectDup Lorg/graalvm/compiler/graph/Node;
7 21 7 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
13 19 8 duplicated Lorg/graalvm/compiler/nodes/FrameState;
14 19 9 valueInReplacement Lorg/graalvm/compiler/nodes/ValueNode;
17 19 10 replacement Lorg/graalvm/compiler/nodes/ValueNode;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/nodes/FixedNode;)V
MethodParameters:
Name Flags
replacee
duplicates
replaceeGraphCFGPredecessor
private void assignNecessaryFrameStates(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>, org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/FixedNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 1
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 4
aload 1
checkcast org.graalvm.compiler.nodes.StateSplit
invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
ifeq 4
2: aload 1
checkcast org.graalvm.compiler.nodes.StateSplit
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 4
3: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 5
aload 4
ifnonnull 5
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Statesplit with side-effect needs a framestate "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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
4: StackMap locals: org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.findLastFrameState:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/FrameState;
astore 4
5: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.frameStateAssignment:Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure;
invokevirtual org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure.getStateMapping:()Lorg/graalvm/compiler/graph/NodeMap;
astore 5
start local 5 6: aload 5
invokevirtual org.graalvm.compiler.graph.NodeMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
astore 6
start local 6 7: goto 25
8: StackMap locals: org.graalvm.compiler.graph.NodeMap jdk.internal.vm.compiler.collections.MapCursor
StackMap stack:
aload 6
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 9: aload 6
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getValue:()Ljava/lang/Object;
checkcast org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment
astore 8
start local 8 10: invokestatic org.graalvm.compiler.replacements.SnippetTemplate.$SWITCH_TABLE$org$graalvm$compiler$phases$common$SnippetFrameStateAssignment$NodeStateAssignment:()[I
aload 8
invokevirtual org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 17
2: 11
3: 20
default: 21
}
11: StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.FrameState.duplicate:()Lorg/graalvm/compiler/nodes/FrameState;
astore 9
start local 9 12: aload 4
invokevirtual org.graalvm.compiler.nodes.FrameState.values:()Lorg/graalvm/compiler/graph/NodeInputList;
aload 1
invokevirtual org.graalvm.compiler.graph.NodeInputList.contains:(Lorg/graalvm/compiler/graph/Node;)Z
ifeq 15
13: aload 2
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 10
start local 10 14: aload 9
new org.graalvm.compiler.replacements.SnippetTemplate$3
dup
aload 0
aload 1
aload 10
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$3.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.FrameState.applyToNonVirtual:(Lorg/graalvm/compiler/nodes/VirtualState$NodePositionClosure;)V
end local 10 15: StackMap locals: org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 2
aload 7
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StateSplit
aload 9
invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
16: goto 22
end local 9 17: StackMap locals:
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.findLastFrameState:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/FrameState;
astore 10
start local 10 18: aload 2
aload 7
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StateSplit
aload 10
invokevirtual org.graalvm.compiler.nodes.FrameState.duplicate:()Lorg/graalvm/compiler/nodes/FrameState;
invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
19: goto 22
end local 10 20: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Invalid snippet replacing a node before frame state assignment with node "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " for replacee "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
21: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unknown StateAssigment:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
22: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
iconst_5
23: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "After duplicating after state for node %s in snippet"
aload 2
aload 7
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
24: invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
end local 8 end local 7 25: StackMap locals:
StackMap stack:
aload 6
invokeinterface jdk.internal.vm.compiler.collections.MapCursor.advance:()Z
ifne 8
26: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 27 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
0 27 2 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
0 27 3 replaceeGraphCFGPredecessor Lorg/graalvm/compiler/nodes/FixedNode;
1 27 4 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
6 27 5 assignedStateMappings Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$NodeStateAssignment;>;
7 27 6 stateAssignments Ljdk/internal/vm/compiler/collections/MapCursor<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$NodeStateAssignment;>;
9 25 7 nodeRequiringState Lorg/graalvm/compiler/graph/Node;
10 25 8 assignment Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$NodeStateAssignment;
12 17 9 newState Lorg/graalvm/compiler/nodes/FrameState;
14 15 10 valueInReplacement Lorg/graalvm/compiler/nodes/ValueNode;
18 20 10 stateBeforeSnippet Lorg/graalvm/compiler/nodes/FrameState;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/nodes/FixedNode;)V
MethodParameters:
Name Flags
replacee
duplicates
replaceeGraphCFGPredecessor
private void rewireFrameStatesAfterFSA(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: aload 3
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 11
5: aload 3
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
ifeq 7
6: aload 3
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
astore 4
7: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 3
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
ifeq 9
8: aload 3
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
astore 5
9: StackMap locals:
StackMap stack:
aload 3
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
ifeq 11
10: aload 3
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 6
11: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.deoptNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 8
goto 35
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
12: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 7
start local 7 13: aload 2
aload 7
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 9
start local 9 14: aload 9
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 35
15: aload 9
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
ifeq 17
16: aload 9
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
aload 4
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.setStateBefore:(Lorg/graalvm/compiler/nodes/FrameState;)V
17: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.DeoptimizingNode java.util.Iterator org.graalvm.compiler.nodes.DeoptimizingNode
StackMap stack:
aload 9
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
ifeq 28
18: aload 9
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
astore 10
start local 10 19: aload 5
ifnull 22
20: aload 10
aload 5
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
21: goto 28
StackMap locals: org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
StackMap stack:
22: aload 6
ifnull 25
23: aload 10
aload 6
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.computeStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
24: goto 28
StackMap locals:
StackMap stack:
25: aload 4
ifnull 28
26: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 27
aload 3
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.canUseAsStateDuring:()Z
ifne 27
aload 10
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.hasSideEffect:()Z
ifeq 27
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "can't use stateBefore as stateDuring for state split "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
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
27: StackMap locals:
StackMap stack:
aload 10
aload 4
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 10 28: StackMap locals:
StackMap stack:
aload 9
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
ifeq 35
29: aload 9
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
astore 10
start local 10 30: aload 6
ifnull 33
31: aload 10
aload 6
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
32: goto 35
33: StackMap locals: org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 34
aload 10
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.hasSideEffect:()Z
ifeq 34
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "can't use stateBefore as stateAfter for state split "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
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
34: StackMap locals:
StackMap stack:
aload 10
aload 4
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 10 end local 9 end local 7 35: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
36: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 37 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
0 37 2 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
1 37 3 replaceeDeopt Lorg/graalvm/compiler/nodes/DeoptimizingNode;
2 37 4 stateBefore Lorg/graalvm/compiler/nodes/FrameState;
3 37 5 stateDuring Lorg/graalvm/compiler/nodes/FrameState;
4 37 6 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
13 35 7 deoptNode Lorg/graalvm/compiler/nodes/DeoptimizingNode;
14 35 9 deoptDup Lorg/graalvm/compiler/nodes/DeoptimizingNode;
19 28 10 deoptDupDuring Lorg/graalvm/compiler/nodes/DeoptimizingNode$DeoptDuring;
30 35 10 deoptDupAfter Lorg/graalvm/compiler/nodes/DeoptimizingNode$DeoptAfter;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
MethodParameters:
Name Flags
replacee
duplicates
public static org.graalvm.compiler.nodes.FrameState findLastFrameState(org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/FrameState;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.findLastFrameState:(Lorg/graalvm/compiler/nodes/FixedNode;Z)Lorg/graalvm/compiler/nodes/FrameState;
astore 1
start local 1 1: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 2
aload 1
ifnonnull 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Must find a prev state (this can be transitively broken) for node "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
iconst_1
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.findLastFrameState:(Lorg/graalvm/compiler/nodes/FixedNode;Z)Lorg/graalvm/compiler/nodes/FrameState;
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
2: StackMap locals: org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 start Lorg/graalvm/compiler/nodes/FixedNode;
1 3 1 state Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
start
public static org.graalvm.compiler.nodes.FrameState findLastFrameState(org.graalvm.compiler.nodes.FixedNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Z)Lorg/graalvm/compiler/nodes/FrameState;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 1
aload 0
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 2: aload 0
astore 3
start local 3 3: StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.predecessorIterable:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 4
start local 4 5: aload 4
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 10
6: aload 4
checkcast org.graalvm.compiler.nodes.StateSplit
astore 6
start local 6 7: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 8
aload 6
invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
ifeq 8
aload 6
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 8
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Found state split with side-effect without framestate="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
8: StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode java.util.Iterator org.graalvm.compiler.nodes.StateSplit
StackMap stack:
aload 6
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 10
9: aload 6
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
areturn
end local 6 10: StackMap locals:
StackMap stack:
aload 4
astore 2
end local 4 11: StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
12: aload 2
instanceof org.graalvm.compiler.nodes.LoopBeginNode
ifeq 15
13: aload 2
checkcast org.graalvm.compiler.nodes.LoopBeginNode
invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
astore 3
14: goto 3
15: StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode
StackMap stack:
iload 1
ifeq 35
16: aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
astore 4
start local 4 17: aload 0
invokevirtual org.graalvm.compiler.nodes.FixedNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 5
start local 5 18: aload 5
iconst_5
ldc "Last fixed node %s\n with source position -> %s"
aload 2
19: aload 4
ifnonnull 20
ldc "null"
goto 21
StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.debug.DebugContext
StackMap stack: org.graalvm.compiler.debug.DebugContext int java.lang.String org.graalvm.compiler.nodes.FixedNode
20: aload 4
invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.toString:()Ljava/lang/String;
21: StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.debug.DebugContext
StackMap stack: org.graalvm.compiler.debug.DebugContext int java.lang.String org.graalvm.compiler.nodes.FixedNode java.lang.String
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(ILjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
22: aload 2
instanceof org.graalvm.compiler.nodes.MergeNode
ifeq 35
23: aload 2
checkcast org.graalvm.compiler.nodes.MergeNode
astore 6
start local 6 24: aload 5
iconst_5
ldc "Last fixed node is a merge with predecessors:"
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(ILjava/lang/String;)V
25: aload 6
invokevirtual org.graalvm.compiler.nodes.MergeNode.forwardEnds:()Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.iterator:()Ljava/util/Iterator;
astore 8
goto 34
StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.MergeNode top java.util.Iterator
StackMap stack:
26: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.EndNode
astore 7
start local 7 27: aload 7
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.predecessorIterable:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 10
goto 33
StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.EndNode java.util.Iterator top java.util.Iterator
StackMap stack:
28: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 9
start local 9 29: aload 9
invokevirtual org.graalvm.compiler.nodes.FixedNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
astore 11
start local 11 30: aload 5
iconst_5
ldc "%s:source position%s"
aload 9
aload 11
ifnull 31
aload 11
invokevirtual org.graalvm.compiler.graph.NodeSourcePosition.toString:()Ljava/lang/String;
goto 32
StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.EndNode java.util.Iterator org.graalvm.compiler.nodes.FixedNode java.util.Iterator org.graalvm.compiler.graph.NodeSourcePosition
StackMap stack: org.graalvm.compiler.debug.DebugContext int java.lang.String org.graalvm.compiler.nodes.FixedNode
31: ldc "null"
StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.EndNode java.util.Iterator org.graalvm.compiler.nodes.FixedNode java.util.Iterator org.graalvm.compiler.graph.NodeSourcePosition
StackMap stack: org.graalvm.compiler.debug.DebugContext int java.lang.String org.graalvm.compiler.nodes.FixedNode java.lang.String
32: invokevirtual org.graalvm.compiler.debug.DebugContext.log:(ILjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 11 end local 9 33: StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.MergeNode org.graalvm.compiler.nodes.EndNode java.util.Iterator top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
end local 7 34: StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.MergeNode top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
end local 6 end local 5 end local 4 35: StackMap locals: org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 start Lorg/graalvm/compiler/nodes/FixedNode;
0 36 1 log Z
2 36 2 lastFixedNode Lorg/graalvm/compiler/nodes/FixedNode;
3 36 3 currentStart Lorg/graalvm/compiler/nodes/FixedNode;
5 11 4 fixed Lorg/graalvm/compiler/nodes/FixedNode;
7 10 6 stateSplit Lorg/graalvm/compiler/nodes/StateSplit;
17 35 4 p Lorg/graalvm/compiler/graph/NodeSourcePosition;
18 35 5 debug Lorg/graalvm/compiler/debug/DebugContext;
24 35 6 merge Lorg/graalvm/compiler/nodes/MergeNode;
27 34 7 end Lorg/graalvm/compiler/nodes/EndNode;
29 33 9 fixed Lorg/graalvm/compiler/nodes/FixedNode;
30 33 11 sp Lorg/graalvm/compiler/graph/NodeSourcePosition;
MethodParameters:
Name Flags
start
log
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.toString:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
astore 1
start local 1 1: ldc ""
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 27
4: StackMap locals: java.lang.StringBuilder java.lang.String int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 5: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 3
aaload
astore 5
start local 5 6: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: ldc ", "
astore 2
8: aload 5
ifnonnull 11
9: aload 1
ldc "<null> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: goto 26
StackMap locals: java.lang.String java.lang.Object
StackMap stack:
11: aload 5
getstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 1
ldc "<unused> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: goto 26
StackMap locals:
StackMap stack:
14: aload 5
getstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 17
15: aload 1
ldc "<constant> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: goto 26
StackMap locals:
StackMap stack:
17: aload 5
instanceof org.graalvm.compiler.nodes.ParameterNode
ifeq 21
18: aload 5
checkcast org.graalvm.compiler.nodes.ParameterNode
astore 6
start local 6 19: aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 20: goto 26
21: StackMap locals:
StackMap stack:
aload 5
checkcast org.graalvm.compiler.nodes.ParameterNode[]
astore 6
start local 6 22: aload 6
arraylength
ifne 23
ldc "?"
goto 24
StackMap locals: org.graalvm.compiler.nodes.ParameterNode[]
StackMap stack:
23: aload 6
iconst_0
aaload
invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
24: astore 7
start local 7 25: aload 1
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 6
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 7 end local 6 end local 5 end local 4 26: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
27: iload 3
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
arraylength
if_icmplt 4
end local 3 28: aload 1
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
1 29 1 buf Ljava/lang/StringBuilder;
2 29 2 sep Ljava/lang/String;
3 28 3 i I
5 26 4 name Ljava/lang/String;
6 26 5 value Ljava/lang/Object;
19 20 6 param Lorg/graalvm/compiler/nodes/ParameterNode;
22 26 6 params [Lorg/graalvm/compiler/nodes/ParameterNode;
25 26 7 kind Ljava/lang/String;
private static boolean checkTemplate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.replacements.SnippetTemplate$Arguments, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.hasReceiver:()Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: iload 4
istore 5
start local 5 4: goto 13
5: StackMap locals: int int
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifeq 8
6: aload 3
iload 5
iload 4
isub
invokeinterface jdk.vm.ci.meta.Signature.getParameterKind:(I)Ljdk/vm/ci/meta/JavaKind;
astore 6
start local 6 7: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 12
aload 0
aload 2
aload 3
iload 5
iload 4
isub
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 5
aaload
aload 6
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkConstantArgument:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 6 8: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
ifeq 12
9: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 10
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 5
aaload
instanceof org.graalvm.compiler.replacements.SnippetTemplate$Varargs
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 5
aaload
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 6
start local 6 11: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 12
aload 0
aload 2
aload 3
iload 5
iload 4
isub
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
aload 6
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkVarargs:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;)Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 6 12: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
if_icmplt 5
end local 5 14: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 15 1 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 15 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 15 3 signature Ljdk/vm/ci/meta/Signature;
3 15 4 offset I
4 14 5 i I
7 8 6 kind Ljdk/vm/ci/meta/JavaKind;
11 12 6 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
MethodParameters:
Name Flags
metaAccess
args
method
signature
public void setMayRemoveLocation(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.graalvm.compiler.replacements.SnippetTemplate.mayRemoveLocation:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 2 1 mayRemoveLocation Z
MethodParameters:
Name Flags
mayRemoveLocation
static int[] $SWITCH_TABLE$org$graalvm$compiler$phases$common$SnippetFrameStateAssignment$NodeStateAssignment();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$SWITCH_TABLE$org$graalvm$compiler$phases$common$SnippetFrameStateAssignment$NodeStateAssignment:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment.values:()[Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$NodeStateAssignment;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment.AFTER_BCI:Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$NodeStateAssignment;
invokevirtual org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment.BEFORE_BCI:Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$NodeStateAssignment;
invokevirtual org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment.INVALID:Lorg/graalvm/compiler/phases/common/SnippetFrameStateAssignment$NodeStateAssignment;
invokevirtual org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic org.graalvm.compiler.replacements.SnippetTemplate.$SWITCH_TABLE$org$graalvm$compiler$phases$common$SnippetFrameStateAssignment$NodeStateAssignment:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
private static void lambda$0(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.Invokable, org.graalvm.compiler.nodes.Invokable);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/Invokable;Lorg/graalvm/compiler/nodes/Invokable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=3
start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
astore 3
start local 3 1: aload 1
ifnonnull 3
2: aload 3
aload 2
invokevirtual org.graalvm.compiler.nodes.InliningLog.trackNewCallsite:(Lorg/graalvm/compiler/nodes/Invokable;)V
end local 3 3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 oldNode Lorg/graalvm/compiler/nodes/Invokable;
0 4 2 newNode Lorg/graalvm/compiler/nodes/Invokable;
1 3 3 log Lorg/graalvm/compiler/nodes/InliningLog;
}
SourceFile: "SnippetTemplate.java"
NestMembers:
org.graalvm.compiler.replacements.SnippetTemplate$1 org.graalvm.compiler.replacements.SnippetTemplate$2 org.graalvm.compiler.replacements.SnippetTemplate$3 org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.replacements.SnippetTemplate$CacheKey org.graalvm.compiler.replacements.SnippetTemplate$EagerSnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$LRUCache org.graalvm.compiler.replacements.SnippetTemplate$LazySnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$MemoryInputMap org.graalvm.compiler.replacements.SnippetTemplate$MemoryOutputMap org.graalvm.compiler.replacements.SnippetTemplate$Options org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Varargs org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public Mark = org.graalvm.compiler.graph.Graph$Mark of org.graalvm.compiler.graph.Graph
public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
public final NegativeTypePredicate = org.graalvm.compiler.graph.iterators.NodePredicates$NegativeTypePredicate of org.graalvm.compiler.graph.iterators.NodePredicates
public abstract DeoptAfter = org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter of org.graalvm.compiler.nodes.DeoptimizingNode
public abstract DeoptBefore = org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore of org.graalvm.compiler.nodes.DeoptimizingNode
public abstract DeoptDuring = org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring of org.graalvm.compiler.nodes.DeoptimizingNode
public final UpdateScope = org.graalvm.compiler.nodes.InliningLog$UpdateScope of org.graalvm.compiler.nodes.InliningLog
public Placeholder = org.graalvm.compiler.nodes.PiNode$Placeholder of org.graalvm.compiler.nodes.PiNode
public final PlaceholderStamp = org.graalvm.compiler.nodes.PiNode$PlaceholderStamp of org.graalvm.compiler.nodes.PiNode
public Builder = org.graalvm.compiler.nodes.StructuredGraph$Builder of org.graalvm.compiler.nodes.StructuredGraph
public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
public abstract NodePositionClosure = org.graalvm.compiler.nodes.VirtualState$NodePositionClosure of org.graalvm.compiler.nodes.VirtualState
public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
public final StandardLoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
public final Optionality = org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality of org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
public MemoryMapImpl = org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl of org.graalvm.compiler.phases.common.FloatingReadPhase
public final NodeStateAssignment = org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$NodeStateAssignment of org.graalvm.compiler.phases.common.SnippetFrameStateAssignment
public SnippetFrameStateAssignmentClosure = org.graalvm.compiler.phases.common.SnippetFrameStateAssignment$SnippetFrameStateAssignmentClosure of org.graalvm.compiler.phases.common.SnippetFrameStateAssignment
public abstract NodeIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantNodeIterator
public final SchedulingStrategy = org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy of org.graalvm.compiler.phases.schedule.SchedulePhase
org.graalvm.compiler.replacements.SnippetTemplate$1
org.graalvm.compiler.replacements.SnippetTemplate$2
org.graalvm.compiler.replacements.SnippetTemplate$3
public abstract AbstractTemplates = org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates of org.graalvm.compiler.replacements.SnippetTemplate
public Arguments = org.graalvm.compiler.replacements.SnippetTemplate$Arguments of org.graalvm.compiler.replacements.SnippetTemplate
CacheKey = org.graalvm.compiler.replacements.SnippetTemplate$CacheKey of org.graalvm.compiler.replacements.SnippetTemplate
protected EagerSnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$EagerSnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
private final LRUCache = org.graalvm.compiler.replacements.SnippetTemplate$LRUCache of org.graalvm.compiler.replacements.SnippetTemplate
protected LazySnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$LazySnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
private MemoryInputMap = org.graalvm.compiler.replacements.SnippetTemplate$MemoryInputMap of org.graalvm.compiler.replacements.SnippetTemplate
private MemoryOutputMap = org.graalvm.compiler.replacements.SnippetTemplate$MemoryOutputMap of org.graalvm.compiler.replacements.SnippetTemplate
Options = org.graalvm.compiler.replacements.SnippetTemplate$Options of org.graalvm.compiler.replacements.SnippetTemplate
public abstract SnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
public abstract UsageReplacer = org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer of org.graalvm.compiler.replacements.SnippetTemplate
Varargs = org.graalvm.compiler.replacements.SnippetTemplate$Varargs of org.graalvm.compiler.replacements.SnippetTemplate
final VarargsPlaceholderNode = org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode of org.graalvm.compiler.replacements.SnippetTemplate