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.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 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
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
public static boolean hasConstantParameter(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/api/replacements/Snippet$ConstantParameter;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getParameterAnnotations:(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
checkcast org.graalvm.compiler.api.replacements.Snippet$ConstantParameter[]
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod top int int org.graalvm.compiler.api.replacements.Snippet$ConstantParameter[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
ifnull 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 4 1 p Lorg/graalvm/compiler/api/replacements/Snippet$ConstantParameter;
MethodParameters:
Name Flags
method
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);
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;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=35, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 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 8
start local 8 5: 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 8
iload 6
aload 7
invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
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/nodes/StructuredGraph;
astore 9
start local 9 6: aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 10
start local 10 7: aload 10
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
astore 11
start local 11 8: new org.graalvm.compiler.phases.tiers.PhaseContext
dup
aload 3
invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
astore 12
start local 12 9: 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 9
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 9
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;
10: aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
11: invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.trackNodeSourcePosition:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
12: invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
13: astore 13
start local 13 14: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 15
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 15
aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
ifne 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
ifnull 17
aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
invokeinterface jdk.vm.ci.code.CodeCacheProvider.shouldDebugNonSafepoints:()Z
ifeq 17
16: aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setTrackNodeSourcePosition:()V
17: StackMap locals:
StackMap stack:
aconst_null
astore 14
aconst_null
astore 15
18: aload 2
ldc "SpecializeSnippet"
aload 13
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 16
start local 16 19: aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isUnsafeAccessTrackingEnabled:()Z
ifne 21
20: aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.disableUnsafeAccessTracking:()V
21: StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
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 17
start local 17 22: aload 17
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
aload 13
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
23: aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
astore 18
start local 18 24: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 25
aload 18
aload 5
aload 10
aload 11
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 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: 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 19
start local 19 26: iload 19
anewarray org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
astore 20
start local 20 27: iconst_0
istore 21
start local 21 28: goto 54
29: StackMap locals: int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int
StackMap stack:
aload 9
iload 21
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
astore 22
start local 22 30: aload 22
ifnull 53
31: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 21
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifeq 45
32: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 21
aaload
astore 23
start local 23 33: aload 11
iload 21
invokeinterface jdk.vm.ci.meta.Signature.getParameterKind:(I)Ljdk/vm/ci/meta/JavaKind;
astore 24
start local 24 34: aload 23
instanceof jdk.vm.ci.meta.Constant
ifeq 42
35: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.constStamps:[Lorg/graalvm/compiler/core/common/type/Stamp;
iload 21
aaload
astore 26
start local 26 36: aload 26
ifnonnull 40
37: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 38
aload 23
instanceof jdk.vm.ci.meta.JavaConstant
ifne 38
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 23
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
38: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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 23
checkcast jdk.vm.ci.meta.JavaConstant
aload 18
aload 13
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 25
start local 25 39: goto 43
end local 25 40: StackMap locals:
StackMap stack:
aload 26
aload 23
checkcast jdk.vm.ci.meta.Constant
aload 18
aload 13
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 25
end local 26 start local 25 41: goto 43
end local 25 42: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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 24
aload 23
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forBoxed:(Ljdk/vm/ci/meta/JavaKind;Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
aload 18
aload 13
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 25
start local 25 43: StackMap locals: org.graalvm.compiler.nodes.ConstantNode
StackMap stack:
aload 17
aload 22
aload 25
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 25 end local 24 end local 23 44: goto 53
StackMap locals:
StackMap stack:
45: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 21
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
ifeq 51
46: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 21
aaload
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 23
start local 23 47: aload 13
new org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
dup
aload 23
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 24
start local 24 48: aload 17
aload 22
aload 24
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
49: aload 20
iload 21
aload 24
aastore
end local 24 end local 23 50: goto 53
StackMap locals:
StackMap stack:
51: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 21
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isNonNullParameter:(I)Z
ifeq 53
52: aload 22
aload 22
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 22 53: StackMap locals:
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
54: iload 21
iload 19
if_icmplt 29
end local 21 55: aconst_null
astore 21
aconst_null
astore 22
56: aload 13
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 23
start local 23 57: aload 13
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 9
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
aload 17
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 24
start local 24 58: aload 23
ifnull 60
59: aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 24
aload 9
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 24 60: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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 23
ifnull 66
aload 23
invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
goto 66
StackMap locals:
StackMap stack: java.lang.Throwable
61: astore 21
aload 23
ifnull 62
aload 23
invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
end local 23 StackMap locals:
StackMap stack:
62: aload 21
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
63: astore 22
aload 21
ifnonnull 64
aload 22
astore 21
goto 65
StackMap locals:
StackMap stack:
64: aload 21
aload 22
if_acmpeq 65
aload 21
aload 22
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
65: aload 21
athrow
66: StackMap locals:
StackMap stack:
aload 2
iconst_2
aload 13
ldc "Before specialization"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
67: aload 0
iload 19
anewarray java.lang.Object
putfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
68: iconst_0
istore 21
start local 21 69: goto 112
70: StackMap locals: int
StackMap stack:
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 21
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifeq 73
71: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 21
getstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
aastore
72: goto 111
StackMap locals:
StackMap stack:
73: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 21
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
ifeq 106
74: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 75
aload 13
iload 21
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
ifnull 75
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
75: StackMap locals:
StackMap stack:
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 21
aaload
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 22
start local 22 76: aload 22
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.length:I
istore 23
start local 23 77: iload 23
anewarray org.graalvm.compiler.nodes.ParameterNode
astore 24
start local 24 78: aload 22
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.stamp:Lorg/graalvm/compiler/core/common/type/Stamp;
astore 25
start local 25 79: iconst_0
istore 26
start local 26 80: goto 87
81: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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 82
iload 19
sipush 10000
if_icmplt 82
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
82: StackMap locals:
StackMap stack:
iload 21
iconst_1
iadd
sipush 10000
imul
iload 26
iadd
istore 27
start local 27 83: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 84
iload 27
iload 19
if_icmpge 84
new java.lang.AssertionError
dup
ldc "collision in parameter numbering"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
84: StackMap locals: int
StackMap stack:
aload 13
new org.graalvm.compiler.nodes.ParameterNode
dup
iload 27
aload 25
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 28
start local 28 85: aload 24
iload 26
aload 28
aastore
end local 28 end local 27 86: iinc 26 1
StackMap locals:
StackMap stack:
87: iload 26
iload 23
if_icmplt 81
end local 26 88: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 21
aload 24
aastore
89: aload 20
iload 21
aaload
astore 26
start local 26 90: aload 26
ifnull 111
91: aload 26
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 28
goto 104
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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:
92: aload 28
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 27
start local 27 93: aload 27
instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
ifeq 102
94: aload 27
checkcast org.graalvm.compiler.nodes.java.LoadIndexedNode
astore 29
start local 29 95: aload 2
iconst_2
aload 13
ldc "Before replacing %s"
aload 29
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
96: aload 13
97: new org.graalvm.compiler.replacements.nodes.LoadSnippetVarargParameterNode
dup
aload 24
aload 29
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 29
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
98: 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 30
start local 30 99: aload 13
aload 29
aload 30
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
100: aload 2
iconst_2
aload 13
ldc "After replacing %s"
aload 29
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
end local 30 end local 29 101: goto 104
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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:
102: aload 27
instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
ifeq 104
103: 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 27 104: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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 28
invokeinterface java.util.Iterator.hasNext:()Z
ifne 92
end local 26 end local 25 end local 24 end local 23 end local 22 105: goto 111
106: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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 13
iload 21
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
astore 22
start local 22 107: aload 22
ifnonnull 110
108: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 21
getstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
aastore
109: goto 111
110: StackMap locals: org.graalvm.compiler.nodes.ParameterNode
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 21
aload 22
aastore
end local 22 111: StackMap locals:
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
112: iload 21
iload 19
if_icmplt 70
end local 21 113: aload 13
aload 12
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.explodeLoops:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
114: 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 21
start local 21 115: aload 21
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.allowsFloatingGuards:()Z
ifne 117
116: new org.graalvm.compiler.phases.common.GuardLoweringPhase
dup
invokespecial org.graalvm.compiler.phases.common.GuardLoweringPhase.<init>:()V
aload 13
aconst_null
invokevirtual org.graalvm.compiler.phases.common.GuardLoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
117: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage
StackMap stack:
aload 13
aload 21
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setGuardsStage:(Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;)V
118: aconst_null
astore 22
aconst_null
astore 23
119: aload 2
ldc "LoweringSnippetTemplate"
aload 13
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 24
start local 24 120: new org.graalvm.compiler.phases.common.LoweringPhase
dup
new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
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;
invokespecial org.graalvm.compiler.phases.common.LoweringPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
aload 13
aload 12
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
121: aload 24
ifnull 129
aload 24
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 129
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
122: astore 22
aload 24
ifnull 123
aload 24
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 24 StackMap locals:
StackMap stack:
123: aload 22
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
124: astore 23
aload 22
ifnonnull 125
aload 23
astore 22
goto 126
StackMap locals:
StackMap stack:
125: aload 22
aload 23
if_acmpeq 126
aload 22
aload 23
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
126: aload 22
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage
StackMap stack: java.lang.Throwable
127: astore 22
start local 22 128: aload 2
aload 22
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 22 129: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 22
start local 22 130: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 23
start local 23 131: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 24
start local 24 132: aload 13
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 26
goto 149
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList top java.util.Iterator
StackMap stack:
133: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 25
start local 25 134: aload 25
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 138
135: aload 25
checkcast org.graalvm.compiler.nodes.ValueNode
astore 27
start local 27 136: aload 27
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 138
137: aload 24
aload 27
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 27 138: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 25
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 145
139: aload 25
checkcast org.graalvm.compiler.nodes.StateSplit
astore 27
start local 27 140: aload 27
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 28
start local 28 141: aload 27
invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
ifeq 143
142: aload 22
aload 25
checkcast org.graalvm.compiler.nodes.StateSplit
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
143: StackMap locals: org.graalvm.compiler.nodes.StateSplit org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 28
ifnull 145
144: aload 27
aconst_null
invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 28 end local 27 145: StackMap locals:
StackMap stack:
aload 25
instanceof org.graalvm.compiler.nodes.DeoptimizingNode
ifeq 149
146: aload 25
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 27
start local 27 147: aload 27
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 149
148: aload 23
aload 27
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 27 end local 25 149: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 26
invokeinterface java.util.Iterator.hasNext:()Z
ifne 133
150: 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 13
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
151: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 152
iload 19
aload 20
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkAllVarargPlaceholdersAreDeleted:(I[Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;)Z
ifne 152
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
152: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList
StackMap stack:
new org.graalvm.compiler.phases.common.FloatingReadPhase
dup
iconst_1
iconst_1
invokespecial org.graalvm.compiler.phases.common.FloatingReadPhase.<init>:(ZZ)V
aload 13
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
153: new org.graalvm.compiler.phases.common.RemoveValueProxyPhase
dup
invokespecial org.graalvm.compiler.phases.common.RemoveValueProxyPhase.<init>:()V
aload 13
invokevirtual org.graalvm.compiler.phases.common.RemoveValueProxyPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
154: aload 13
new org.graalvm.compiler.nodes.memory.MemoryAnchorNode
dup
invokespecial org.graalvm.compiler.nodes.memory.MemoryAnchorNode.<init>:()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 25
start local 25 155: aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
aload 25
invokevirtual org.graalvm.compiler.nodes.StartNode.replaceAtUsages:(Lorg/graalvm/compiler/nodeinfo/InputType;Lorg/graalvm/compiler/graph/Node;)V
156: aload 0
aload 13
putfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
157: 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 26
start local 26 158: aload 25
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.hasNoUsages:()Z
ifeq 162
159: aload 25
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
160: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
161: goto 190
162: StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode
StackMap stack:
iconst_0
istore 27
start local 27 163: 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 29
goto 169
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int top java.util.Iterator
StackMap stack:
164: aload 29
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 28
start local 28 165: aload 28
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 30
start local 30 166: aload 30
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLocations:()Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmpgt 167
aload 30
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/MemoryNode;
aload 25
if_acmpeq 169
167: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int org.graalvm.compiler.nodes.ReturnNode java.util.Iterator org.graalvm.compiler.nodes.memory.MemoryMapNode
StackMap stack:
iconst_1
istore 27
168: goto 170
end local 30 end local 28 169: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int top java.util.Iterator
StackMap stack:
aload 29
invokeinterface java.util.Iterator.hasNext:()Z
ifne 164
170: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int
StackMap stack:
iload 27
ifeq 173
171: iconst_1
istore 28
start local 28 172: goto 184
end local 28 173: StackMap locals:
StackMap stack:
aload 25
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 28
start local 28 174: aconst_null
astore 29
start local 29 175: 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 31
goto 182
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int int org.graalvm.compiler.nodes.memory.MemoryMapNode top java.util.Iterator
StackMap stack:
176: aload 31
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 30
start local 30 177: aload 29
ifnonnull 180
178: aload 30
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 29
179: goto 181
180: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode 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 181
aload 29
aload 30
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
if_acmpeq 181
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
181: StackMap locals:
StackMap stack:
aload 30
aconst_null
invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
end local 30 182: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int int org.graalvm.compiler.nodes.memory.MemoryMapNode top java.util.Iterator
StackMap stack:
aload 31
invokeinterface java.util.Iterator.hasNext:()Z
ifne 176
183: aload 29
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.safeDelete:()V
end local 29 184: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode int int
StackMap stack:
iload 28
ifeq 188
185: aload 13
aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
aload 25
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
186: aload 0
aload 25
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
187: goto 190
188: StackMap locals:
StackMap stack:
aload 25
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
189: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
end local 28 end local 27 190: 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
191: 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 27
start local 27 192: aload 27
invokeinterface java.util.List.isEmpty:()Z
ifeq 195
193: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
194: goto 219
StackMap locals: java.util.List
StackMap stack:
195: aload 27
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 198
196: aload 0
aload 27
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;
197: goto 219
198: 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 28
start local 28 199: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 29
start local 29 200: aload 27
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 31
goto 205
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List top java.util.Iterator
StackMap stack:
201: aload 31
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 30
start local 30 202: aload 30
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 32
start local 32 203: aload 32
ifnull 205
204: aload 29
aload 32
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 32 end local 30 205: StackMap locals:
StackMap stack:
aload 31
invokeinterface java.util.Iterator.hasNext:()Z
ifne 201
206: aload 28
aload 27
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.mergeReturns:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 30
start local 30 207: aload 0
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.ReturnNode
dup
aload 30
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;
208: aload 29
invokeinterface java.util.List.isEmpty:()Z
ifne 218
209: aload 28
aload 29
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.mergeMemoryMaps:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
astore 31
start local 31 210: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.memory.MemoryMapNode
dup
aload 31
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 32
start local 32 211: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
aload 32
invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
212: aload 29
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 34
goto 217
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode 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:
213: aload 34
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.MemoryMapNode
astore 33
start local 33 214: aload 33
aload 32
if_acmpeq 217
aload 33
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.isAlive:()Z
ifeq 217
215: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 216
aload 33
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.hasNoUsages:()Z
ifne 216
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
216: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode 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 33
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
end local 33 217: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode 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 34
invokeinterface java.util.Iterator.hasNext:()Z
ifne 213
end local 32 end local 31 218: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode java.util.List org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 28
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 30 end local 29 end local 28 219: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 220
aload 13
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.verifyIntrinsicsProcessed:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
ifne 220
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
220: StackMap locals:
StackMap stack:
aload 0
aload 22
putfield org.graalvm.compiler.replacements.SnippetTemplate.sideEffectNodes:Ljava/util/ArrayList;
221: aload 0
aload 23
putfield org.graalvm.compiler.replacements.SnippetTemplate.deoptNodes:Ljava/util/ArrayList;
222: aload 0
aload 24
putfield org.graalvm.compiler.replacements.SnippetTemplate.placeholderStampedNodes:Ljava/util/ArrayList;
223: 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;
224: 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 29
goto 228
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode java.util.List top java.util.Iterator
StackMap stack:
225: aload 29
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 28
start local 28 226: aload 28
aload 26
if_acmpeq 228
aload 28
aload 26
invokevirtual org.graalvm.compiler.nodes.StartNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
if_acmpeq 228
227: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
aload 28
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 28 228: StackMap locals:
StackMap stack:
aload 29
invokeinterface java.util.Iterator.hasNext:()Z
ifne 225
229: aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.areMetricsEnabled:()Z
ifeq 231
230: 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
231: 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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext 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[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode java.util.List
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
232: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.freeze:()V
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 end local 17 233: aload 16
ifnull 241
aload 16
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
234: astore 14
aload 16
ifnull 235
aload 16
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 16 StackMap locals:
StackMap stack:
235: aload 14
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
236: astore 15
aload 14
ifnonnull 237
aload 15
astore 14
goto 238
StackMap locals:
StackMap stack:
237: aload 14
aload 15
if_acmpeq 238
aload 14
aload 15
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
238: aload 14
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 java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.Throwable
239: astore 14
start local 14 240: aload 2
aload 14
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 14 241: StackMap locals:
StackMap stack:
return
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 242 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 242 1 options Lorg/graalvm/compiler/options/OptionValues;
0 242 2 debug Lorg/graalvm/compiler/debug/DebugContext;
0 242 3 providers Lorg/graalvm/compiler/phases/util/Providers;
0 242 4 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 242 5 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 242 6 trackNodeSourcePosition Z
0 242 7 replacee Lorg/graalvm/compiler/graph/Node;
5 242 8 constantArgs [Ljava/lang/Object;
6 242 9 snippetGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
7 242 10 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
8 242 11 signature Ljdk/vm/ci/meta/Signature;
9 242 12 phaseContext Lorg/graalvm/compiler/phases/tiers/PhaseContext;
14 242 13 snippetCopy Lorg/graalvm/compiler/nodes/StructuredGraph;
19 235 16 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
22 233 17 nodeReplacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
24 233 18 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
26 233 19 parameterCount I
27 233 20 placeholders [Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
28 55 21 i I
30 53 22 parameter Lorg/graalvm/compiler/nodes/ParameterNode;
33 44 23 arg Ljava/lang/Object;
34 44 24 kind Ljdk/vm/ci/meta/JavaKind;
39 40 25 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
41 42 25 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
43 44 25 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
36 41 26 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
47 50 23 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
48 50 24 placeholder Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
57 62 23 updateScope Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
58 60 24 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
69 113 21 i I
76 105 22 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
77 105 23 length I
78 105 24 params [Lorg/graalvm/compiler/nodes/ParameterNode;
79 105 25 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
80 88 26 j I
83 86 27 idx I
85 86 28 local Lorg/graalvm/compiler/nodes/ParameterNode;
90 105 26 placeholder Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
93 104 27 usage Lorg/graalvm/compiler/graph/Node;
95 101 29 loadIndexed Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
99 101 30 loadSnippetParameter Lorg/graalvm/compiler/replacements/nodes/LoadSnippetVarargParameterNode;
107 111 22 local Lorg/graalvm/compiler/nodes/ParameterNode;
115 233 21 guardsStage Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
120 123 24 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
128 129 22 e Ljava/lang/Throwable;
130 233 22 curSideEffectNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/StateSplit;>;
131 233 23 curDeoptNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/DeoptimizingNode;>;
132 233 24 curPlaceholderStampedNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/ValueNode;>;
134 149 25 node Lorg/graalvm/compiler/graph/Node;
136 138 27 valueNode Lorg/graalvm/compiler/nodes/ValueNode;
140 145 27 stateSplit Lorg/graalvm/compiler/nodes/StateSplit;
141 145 28 frameState Lorg/graalvm/compiler/nodes/FrameState;
147 149 27 deoptNode Lorg/graalvm/compiler/nodes/DeoptimizingNode;
155 233 25 anchor Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
158 233 26 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
163 190 27 needsMemoryMaps Z
165 169 28 retNode Lorg/graalvm/compiler/nodes/ReturnNode;
166 169 30 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
172 173 28 needsAnchor Z
174 190 28 needsAnchor Z
175 184 29 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
177 182 30 retNode Lorg/graalvm/compiler/nodes/ReturnNode;
192 233 27 returnNodes Ljava/util/List<Lorg/graalvm/compiler/nodes/ReturnNode;>;
199 219 28 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
200 219 29 memMaps Ljava/util/List<Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;>;
202 205 30 retNode Lorg/graalvm/compiler/nodes/ReturnNode;
203 205 32 memoryMapNode Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
207 219 30 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
210 218 31 mmap Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
211 218 32 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
214 217 33 mm Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
226 228 28 node Lorg/graalvm/compiler/graph/Node;
240 241 14 ex Ljava/lang/Throwable;
Exception table:
from to target type
57 60 61 any
56 63 63 any
120 121 122 any
119 124 124 any
118 127 127 Class java.lang.Throwable
19 233 234 any
18 236 236 any
17 239 239 Class java.lang.Throwable
MethodParameters:
Name Flags
options
debug
providers final
snippetReflection
args
trackNodeSourcePosition
replacee
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: 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 6
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 1
start local 1 2: aload 1
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 3: aload 3
ifnull 6
4: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 6
aload 3
ldc Lorg/graalvm/compiler/api/replacements/Fold;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnonnull 5
aload 3
ldc Lorg/graalvm/compiler/graph/Node$NodeIntrinsic;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 6
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.java.MethodCallTargetNode java.util.Iterator jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
5: 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 6: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 snippetCopy Lorg/graalvm/compiler/nodes/StructuredGraph;
2 6 1 target Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
3 6 3 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
snippetCopy
public static void explodeLoops(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, 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 13
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 11
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: aload 5
aload 1
new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
invokestatic org.graalvm.compiler.loop.phases.LoopTransformations.fullUnroll:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;)V
9: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 0
aload 1
aload 6
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/graph/Graph$Mark;)V
10: aload 5
invokevirtual org.graalvm.compiler.loop.LoopEx.deleteUnusedNodes:()V
end local 6 end local 5 11: StackMap locals: org.graalvm.compiler.replacements.nodes.ExplodeLoopNode org.graalvm.compiler.nodes.LoopBeginNode
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
12: iconst_1
istore 2
end local 4 end local 3 13: StackMap locals:
StackMap stack:
iload 2
ifne 1
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 snippetCopy Lorg/graalvm/compiler/nodes/StructuredGraph;
0 15 1 phaseContext Lorg/graalvm/compiler/phases/tiers/PhaseContext;
1 15 2 exploded Z
3 13 3 explodeLoop Lorg/graalvm/compiler/replacements/nodes/ExplodeLoopNode;
5 13 4 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
7 11 5 loop Lorg/graalvm/compiler/loop/LoopEx;
8 11 6 mark Lorg/graalvm/compiler/graph/Graph$Mark;
MethodParameters:
Name Flags
snippetCopy final
phaseContext
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 i 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
i
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.MemoryCheckpoint$Single
ifeq 16
10: aload 1
checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
astore 4
start local 4 11: aload 4
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isAny:()Z
ifeq 14
12: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 13
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/MemoryNode;
instanceof org.graalvm.compiler.nodes.memory.MemoryAnchorNode
ifeq 13
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 ANY_LOCATION, but snippet does not"
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.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.word.LocationIdentity
StackMap stack:
iconst_1
ireturn
14: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 15
aload 3
aload 4
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
ifne 15
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
15: StackMap locals:
StackMap stack:
aload 3
aload 4
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.remove:(Ljava/lang/Object;)V
end local 4 16: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 17
aload 1
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
ifeq 17
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
17: 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/MemoryNode;
instanceof org.graalvm.compiler.nodes.memory.MemoryAnchorNode
ifeq 19
18: 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
19: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 20
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 20
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
20: 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 24
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:
21: aload 7
iload 5
aaload
astore 4
start local 4 22: aload 3
aload 4
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.remove:(Ljava/lang/Object;)V
end local 4 23: iinc 5 1
StackMap locals:
StackMap stack:
24: iload 5
iload 6
if_icmplt 21
25: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 26
aload 3
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.isEmpty:()Z
ifne 26
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
26: 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 27 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 27 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
5 27 2 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
8 27 3 kills Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
11 16 4 locationIdentity Ljdk/internal/vm/compiler/word/LocationIdentity;
22 23 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.MemoryProxy
ifeq 4
3: aload 0
checkcast org.graalvm.compiler.nodes.spi.MemoryProxy
invokeinterface org.graalvm.compiler.nodes.spi.MemoryProxy.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/MemoryNode;
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.MemoryNode
StackMap stack:
aload 6
aload 3
aload 8
invokeinterface org.graalvm.compiler.nodes.memory.MemoryNode.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/MemoryNode;
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=24, 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 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.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 12
start local 12 8: aload 0
aload 12
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 13
start local 13 9: aload 13
aload 10
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
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 14
aload 11
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 15
start local 15 12: aload 2
aload 15
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
13: aload 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
14: aload 2
instanceof org.graalvm.compiler.nodes.DeoptimizingNode
ifeq 51
15: aload 2
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 16
start local 16 16: aconst_null
astore 17
start local 17 17: aconst_null
astore 18
start local 18 18: aconst_null
astore 19
start local 19 19: aload 16
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 26
20: aload 16
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
ifeq 22
21: aload 16
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
astore 17
22: 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.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 org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 16
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
ifeq 24
23: aload 16
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
astore 18
24: StackMap locals:
StackMap stack:
aload 16
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
ifeq 26
25: aload 16
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 19
26: 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 21
goto 50
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.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 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:
27: aload 21
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 20
start local 20 28: aload 14
aload 20
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 22
start local 22 29: aload 22
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 50
30: aload 22
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
ifeq 32
31: aload 22
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
aload 17
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.setStateBefore:(Lorg/graalvm/compiler/nodes/FrameState;)V
32: 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.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 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 22
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
ifeq 43
33: aload 22
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
astore 23
start local 23 34: aload 18
ifnull 37
35: aload 23
aload 18
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
36: goto 43
StackMap locals: org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
StackMap stack:
37: aload 19
ifnull 40
38: aload 23
aload 19
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.computeStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
39: goto 43
StackMap locals:
StackMap stack:
40: aload 17
ifnull 43
41: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 42
aload 23
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.hasSideEffect:()Z
ifeq 42
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 23
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
42: StackMap locals:
StackMap stack:
aload 23
aload 17
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 23 43: StackMap locals:
StackMap stack:
aload 22
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
ifeq 50
44: aload 22
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
astore 23
start local 23 45: aload 19
ifnull 48
46: aload 23
aload 19
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
47: goto 50
48: StackMap locals: org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 49
aload 23
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.hasSideEffect:()Z
ifeq 49
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 23
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
49: StackMap locals:
StackMap stack:
aload 23
aload 17
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 23 end local 22 end local 20 50: 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.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 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 21
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
end local 19 end local 18 end local 17 end local 16 51: 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.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:
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
52: 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
53: aconst_null
astore 16
start local 16 54: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
ifnull 69
aload 2
instanceof org.graalvm.compiler.nodes.ControlSinkNode
ifne 69
55: 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 17
start local 17 56: aload 17
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 16
57: aload 16
ifnonnull 60
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 60
aload 2
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint
ifeq 60
58: 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
59: goto 62
60: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ReturnNode
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 61
aload 16
ifnonnull 61
aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.hasNoUsages:()Z
ifne 61
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
61: StackMap locals:
StackMap stack:
aload 3
aload 2
aload 16
invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
62: StackMap locals:
StackMap stack:
aload 17
invokevirtual org.graalvm.compiler.nodes.ReturnNode.isAlive:()Z
ifeq 69
63: aconst_null
astore 18
start local 18 64: aload 2
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 68
65: aload 2
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 19
start local 19 66: aload 19
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 18
67: aload 19
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 19 68: StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 17
aload 18
invokevirtual org.graalvm.compiler.nodes.ReturnNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 18 end local 17 69: StackMap locals:
StackMap stack:
iload 5
ifeq 71
70: aload 2
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
71: 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
72: aload 14
73: aload 9
ifnull 74
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
74: StackMap locals:
StackMap stack: jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
areturn
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
75: astore 7
76: aload 9
ifnull 77
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 9 StackMap locals:
StackMap stack:
77: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
78: astore 8
aload 7
ifnonnull 79
aload 8
astore 7
goto 80
StackMap locals:
StackMap stack:
79: aload 7
aload 8
if_acmpeq 80
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
80: 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 81 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 81 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 81 2 replacee Lorg/graalvm/compiler/nodes/FixedNode;
0 81 3 replacer Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
0 81 4 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 81 5 killReplacee Z
1 81 6 debug Lorg/graalvm/compiler/debug/DebugContext;
4 77 9 a Lorg/graalvm/compiler/debug/DebugCloseable;
6 75 10 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
7 75 11 firstCFGNode Lorg/graalvm/compiler/nodes/FixedNode;
8 75 12 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
9 75 13 replacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
11 75 14 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
12 75 15 firstCFGNodeDuplicate Lorg/graalvm/compiler/nodes/FixedNode;
16 51 16 replaceeDeopt Lorg/graalvm/compiler/nodes/DeoptimizingNode;
17 51 17 stateBefore Lorg/graalvm/compiler/nodes/FrameState;
18 51 18 stateDuring Lorg/graalvm/compiler/nodes/FrameState;
19 51 19 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
28 50 20 deoptNode Lorg/graalvm/compiler/nodes/DeoptimizingNode;
29 50 22 deoptDup Lorg/graalvm/compiler/nodes/DeoptimizingNode;
34 43 23 deoptDupDuring Lorg/graalvm/compiler/nodes/DeoptimizingNode$DeoptDuring;
45 50 23 deoptDupAfter Lorg/graalvm/compiler/nodes/DeoptimizingNode$DeoptAfter;
54 75 16 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
56 69 17 returnDuplicate Lorg/graalvm/compiler/nodes/ReturnNode;
64 69 18 next Lorg/graalvm/compiler/nodes/FixedNode;
66 68 19 fwn Lorg/graalvm/compiler/nodes/FixedWithNextNode;
Exception table:
from to target type
4 73 75 any
3 74 78 any
75 78 78 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: aload 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
19: 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 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 22: aload 18
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 19
start local 19 23: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 24
aload 19
ifnonnull 24
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.hasNoUsages:()Z
ifne 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: 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 org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode 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
25: aload 18
invokevirtual org.graalvm.compiler.nodes.ReturnNode.isAlive:()Z
ifeq 27
26: aload 18
aload 16
invokevirtual org.graalvm.compiler.nodes.ReturnNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
27: 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 28: aload 9
ifnull 34
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 34
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
29: astore 7
aload 9
ifnull 30
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 9 StackMap locals:
StackMap stack:
30: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
31: astore 8
aload 7
ifnonnull 32
aload 8
astore 7
goto 33
StackMap locals:
StackMap stack:
32: aload 7
aload 8
if_acmpeq 33
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
33: aload 7
athrow
34: 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 35 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 35 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 35 2 replacee Lorg/graalvm/compiler/nodes/calc/FloatingNode;
0 35 3 replacer Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
0 35 4 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
0 35 5 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
1 35 6 debug Lorg/graalvm/compiler/debug/DebugContext;
4 30 9 a Lorg/graalvm/compiler/debug/DebugCloseable;
6 28 10 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
7 28 11 firstCFGNode Lorg/graalvm/compiler/nodes/FixedNode;
8 28 12 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
9 28 13 replacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
11 28 14 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
12 28 15 lastFixedNode Lorg/graalvm/compiler/nodes/FixedWithNextNode;
15 28 16 next Lorg/graalvm/compiler/nodes/FixedNode;
17 28 17 firstCFGNodeDuplicate Lorg/graalvm/compiler/nodes/FixedNode;
22 28 18 returnDuplicate Lorg/graalvm/compiler/nodes/ReturnNode;
23 28 19 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
Exception table:
from to target type
4 28 29 any
3 31 31 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
invokespecial org.graalvm.compiler.nodes.memory.MemoryAnchorNode.<init>:()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: aload 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
23: 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: 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 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>);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 7
1: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.sideEffectNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.StateSplit
astore 3
start local 3 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.StateSplit java.util.Iterator
StackMap stack:
aload 2
aload 3
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 5
start local 5 5: aload 5
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 5 end local 3 6: 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 2
7: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 8 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
0 8 2 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
3 6 3 sideEffectNode Lorg/graalvm/compiler/nodes/StateSplit;
5 6 5 sideEffectDup 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 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=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 10
2: StackMap locals: int
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifeq 5
3: aload 3
iload 4
invokeinterface jdk.vm.ci.meta.Signature.getParameterKind:(I)Ljdk/vm/ci/meta/JavaKind;
astore 5
start local 5 4: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 9
aload 0
aload 2
aload 3
iload 4
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 4
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 4
aaload
aload 5
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 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 5 5: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
ifeq 9
6: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 7
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 4
aaload
instanceof org.graalvm.compiler.replacements.SnippetTemplate$Varargs
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 4
aaload
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 5
start local 5 8: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 9
aload 0
aload 2
aload 3
iload 4
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
aload 5
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 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 5 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
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 2
end local 4 11: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 12 1 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 12 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 12 3 signature Ljdk/vm/ci/meta/Signature;
1 11 4 i I
4 5 5 kind Ljdk/vm/ci/meta/JavaKind;
8 9 5 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
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$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$SnippetInfo$Lazy 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 ConstantParameter = org.graalvm.compiler.api.replacements.Snippet$ConstantParameter of org.graalvm.compiler.api.replacements.Snippet
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 Multi = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
public abstract Single = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage 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
org.graalvm.compiler.replacements.SnippetTemplate$1
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