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: iload 6
ifne 7
aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
ifnull 6
aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
invokeinterface jdk.vm.ci.code.CodeCacheProvider.shouldDebugNonSafepoints:()Z
ifne 7
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[]
StackMap stack:
6: iconst_0
goto 8
StackMap locals:
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: istore 9
start local 9 9: aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.original:Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 8
iload 9
aload 7
invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
10: aload 1
11: invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getSnippet:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;ZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 10
start local 10 12: aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 11
start local 11 13: aload 11
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
astore 12
start local 12 14: new org.graalvm.compiler.nodes.StructuredGraph$Builder
dup
aload 1
aload 2
invokespecial org.graalvm.compiler.nodes.StructuredGraph$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
aload 10
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 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
15: aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
16: invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.trackNodeSourcePosition:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
17: iconst_1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.setIsSubstitution:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
18: astore 13
start local 13 19: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 20
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 20
aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
ifne 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aconst_null
astore 14
aconst_null
astore 15
21: 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 22: aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isUnsafeAccessTrackingEnabled:()Z
ifne 24
23: aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.disableUnsafeAccessTracking:()V
24: 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 25: aload 17
aload 10
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
26: aload 3
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
astore 18
start local 18 27: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 28
aload 18
aload 5
aload 11
aload 12
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 28
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: 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 29: iload 19
anewarray org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
astore 20
start local 20 30: iconst_0
istore 21
start local 21 31: goto 57
32: StackMap locals: int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int
StackMap stack:
aload 10
iload 21
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
astore 22
start local 22 33: aload 22
ifnull 56
34: 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 48
35: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 21
aaload
astore 23
start local 23 36: aload 12
iload 21
invokeinterface jdk.vm.ci.meta.Signature.getParameterKind:(I)Ljdk/vm/ci/meta/JavaKind;
astore 24
start local 24 37: aload 23
instanceof jdk.vm.ci.meta.Constant
ifeq 45
38: 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 39: aload 26
ifnonnull 43
40: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 41
aload 23
instanceof jdk.vm.ci.meta.JavaConstant
ifne 41
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
41: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.nodes.ParameterNode java.lang.Object jdk.vm.ci.meta.JavaKind top org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 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 42: goto 46
end local 25 43: 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 44: goto 46
end local 25 45: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.nodes.ParameterNode java.lang.Object jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 4
aload 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 46: 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 47: goto 56
StackMap locals:
StackMap stack:
48: 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 54
49: 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 50: 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 51: aload 17
aload 22
aload 24
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
52: aload 20
iload 21
aload 24
aastore
end local 24 end local 23 53: goto 56
StackMap locals:
StackMap stack:
54: 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 56
55: 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 56: StackMap locals:
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
57: iload 21
iload 19
if_icmplt 32
end local 21 58: aconst_null
astore 21
aconst_null
astore 22
59: 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 60: aload 13
aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 10
aload 10
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 61: aload 23
ifnull 63
62: aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 24
aload 10
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 63: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope
StackMap stack:
aload 23
ifnull 69
aload 23
invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
goto 69
StackMap locals:
StackMap stack: java.lang.Throwable
64: astore 21
aload 23
ifnull 65
aload 23
invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
end local 23 StackMap locals:
StackMap stack:
65: aload 21
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
66: astore 22
aload 21
ifnonnull 67
aload 22
astore 21
goto 68
StackMap locals:
StackMap stack:
67: aload 21
aload 22
if_acmpeq 68
aload 21
aload 22
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
68: aload 21
athrow
69: 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
70: aload 0
iload 19
anewarray java.lang.Object
putfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
71: iconst_0
istore 21
start local 21 72: goto 115
73: 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 76
74: 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
75: goto 114
StackMap locals:
StackMap stack:
76: 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 109
77: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 78
aload 13
iload 21
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
ifnull 78
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
78: 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 79: aload 22
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.length:I
istore 23
start local 23 80: iload 23
anewarray org.graalvm.compiler.nodes.ParameterNode
astore 24
start local 24 81: aload 22
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.stamp:Lorg/graalvm/compiler/core/common/type/Stamp;
astore 25
start local 25 82: iconst_0
istore 26
start local 26 83: goto 90
84: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp int
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 85
iload 19
sipush 10000
if_icmplt 85
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
85: StackMap locals:
StackMap stack:
iload 21
iconst_1
iadd
sipush 10000
imul
iload 26
iadd
istore 27
start local 27 86: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 87
iload 27
iload 19
if_icmpge 87
new java.lang.AssertionError
dup
ldc "collision in parameter numbering"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
87: 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 88: aload 24
iload 26
aload 28
aastore
end local 28 end local 27 89: iinc 26 1
StackMap locals:
StackMap stack:
90: iload 26
iload 23
if_icmplt 84
end local 26 91: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 21
aload 24
aastore
92: aload 20
iload 21
aaload
astore 26
start local 26 93: aload 26
ifnull 114
94: 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 107
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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode top java.util.Iterator
StackMap stack:
95: aload 28
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 27
start local 27 96: aload 27
instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
ifeq 105
97: aload 27
checkcast org.graalvm.compiler.nodes.java.LoadIndexedNode
astore 29
start local 29 98: 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
99: aload 13
100: 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
101: 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 102: aload 13
aload 29
aload 30
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
103: 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 104: goto 107
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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
105: aload 27
instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
ifeq 107
106: 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 107: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.replacements.SnippetTemplate$Varargs int org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode top java.util.Iterator
StackMap stack:
aload 28
invokeinterface java.util.Iterator.hasNext:()Z
ifne 95
end local 26 end local 25 end local 24 end local 23 end local 22 108: goto 114
109: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int
StackMap stack:
aload 13
iload 21
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
astore 22
start local 22 110: aload 22
ifnonnull 113
111: 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
112: goto 114
113: 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 114: StackMap locals:
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
115: iload 21
iload 19
if_icmplt 73
end local 21 116: aload 13
aload 3
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.explodeLoops:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
117: 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 118: aload 21
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.allowsFloatingGuards:()Z
ifne 120
119: 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
120: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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
121: aconst_null
astore 22
aconst_null
astore 23
122: 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 123: new org.graalvm.compiler.phases.common.LoweringPhase
dup
invokestatic org.graalvm.compiler.phases.common.CanonicalizerPhase.create:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
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 3
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
124: aload 24
ifnull 132
aload 24
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 132
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments int org.graalvm.compiler.graph.Node java.lang.Object[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
125: astore 22
aload 24
ifnull 126
aload 24
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 24 StackMap locals:
StackMap stack:
126: aload 22
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
127: astore 23
aload 22
ifnonnull 128
aload 23
astore 22
goto 129
StackMap locals:
StackMap stack:
128: aload 22
aload 23
if_acmpeq 129
aload 22
aload 23
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
129: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage
StackMap stack: java.lang.Throwable
130: astore 22
start local 22 131: aload 2
aload 22
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 22 132: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 22
start local 22 133: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 23
start local 23 134: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 24
start local 24 135: 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 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList top java.util.Iterator
StackMap stack:
136: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 25
start local 25 137: aload 25
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 141
138: aload 25
checkcast org.graalvm.compiler.nodes.ValueNode
astore 27
start local 27 139: 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 141
140: aload 24
aload 27
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 27 141: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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 148
142: aload 25
checkcast org.graalvm.compiler.nodes.StateSplit
astore 27
start local 27 143: aload 27
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 28
start local 28 144: aload 27
invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
ifeq 146
145: aload 22
aload 25
checkcast org.graalvm.compiler.nodes.StateSplit
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
146: StackMap locals: org.graalvm.compiler.nodes.StateSplit org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 28
ifnull 148
147: aload 27
aconst_null
invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 28 end local 27 148: StackMap locals:
StackMap stack:
aload 25
instanceof org.graalvm.compiler.nodes.DeoptimizingNode
ifeq 152
149: aload 25
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 27
start local 27 150: aload 27
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 152
151: aload 23
aload 27
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 27 end local 25 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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 136
153: 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
154: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 155
iload 19
aload 20
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkAllVarargPlaceholdersAreDeleted:(I[Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;)Z
ifne 155
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
155: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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
156: aload 21
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.requiresValueProxies:()Z
ifne 158
157: 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
158: StackMap locals:
StackMap stack:
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 159: 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
160: aload 0
aload 13
putfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
161: 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 162: aload 25
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.hasNoUsages:()Z
ifeq 166
163: aload 25
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
164: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
165: goto 195
166: StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode
StackMap stack:
iconst_0
istore 27
start local 27 167: 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 173
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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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:
168: aload 29
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 28
start local 28 169: aload 28
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 30
start local 30 170: aload 30
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLocations:()Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmpgt 171
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 173
171: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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
172: goto 174
end local 30 end local 28 173: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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 168
174: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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 177
175: iconst_1
istore 28
start local 28 176: goto 189
end local 28 177: 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 178: aconst_null
astore 29
start local 29 179: 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 186
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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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:
180: aload 31
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 30
start local 30 181: aload 29
ifnonnull 184
182: aload 30
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 29
183: goto 185
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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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 185
aload 29
aload 30
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
if_acmpeq 185
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
185: 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 186: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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 180
187: aload 29
ifnull 189
188: aload 29
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.safeDelete:()V
end local 29 189: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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 193
190: 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
191: aload 0
aload 25
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
192: goto 195
193: StackMap locals:
StackMap stack:
aload 25
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
194: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
end local 28 end local 27 195: 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
196: 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 197: aload 27
invokeinterface java.util.List.isEmpty:()Z
ifeq 200
198: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
199: goto 224
StackMap locals: java.util.List
StackMap stack:
200: aload 27
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 203
201: 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;
202: goto 224
203: 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 204: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 29
start local 29 205: aload 27
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 31
goto 210
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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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:
206: aload 31
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 30
start local 30 207: aload 30
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 32
start local 32 208: aload 32
ifnull 210
209: aload 29
aload 32
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 32 end local 30 210: StackMap locals:
StackMap stack:
aload 31
invokeinterface java.util.Iterator.hasNext:()Z
ifne 206
211: 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 212: 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;
213: aload 29
invokeinterface java.util.List.isEmpty:()Z
ifne 223
214: 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 215: 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 216: 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
217: aload 29
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 34
goto 222
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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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:
218: aload 34
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.MemoryMapNode
astore 33
start local 33 219: aload 33
aload 32
if_acmpeq 222
aload 33
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.isAlive:()Z
ifeq 222
220: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 221
aload 33
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.hasNoUsages:()Z
ifne 221
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
221: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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 222: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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 218
end local 32 end local 31 223: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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 224: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 225
aload 13
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.verifyIntrinsicsProcessed:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
ifne 225
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
225: StackMap locals:
StackMap stack:
aload 0
aload 22
putfield org.graalvm.compiler.replacements.SnippetTemplate.sideEffectNodes:Ljava/util/ArrayList;
226: aload 0
aload 23
putfield org.graalvm.compiler.replacements.SnippetTemplate.deoptNodes:Ljava/util/ArrayList;
227: aload 0
aload 24
putfield org.graalvm.compiler.replacements.SnippetTemplate.placeholderStampedNodes:Ljava/util/ArrayList;
228: 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;
229: 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 233
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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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:
230: aload 29
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 28
start local 28 231: aload 28
aload 26
if_acmpeq 233
aload 28
aload 26
invokevirtual org.graalvm.compiler.nodes.StartNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
if_acmpeq 233
232: 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 233: StackMap locals:
StackMap stack:
aload 29
invokeinterface java.util.Iterator.hasNext:()Z
ifne 230
234: aload 2
invokevirtual org.graalvm.compiler.debug.DebugContext.areMetricsEnabled:()Z
ifeq 236
235: 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
236: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicMap jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] 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
237: 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 238: aload 16
ifnull 246
aload 16
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 246
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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
239: astore 14
aload 16
ifnull 240
aload 16
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 16 StackMap locals:
StackMap stack:
240: aload 14
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
241: astore 15
aload 14
ifnonnull 242
aload 15
astore 14
goto 243
StackMap locals:
StackMap stack:
242: aload 14
aload 15
if_acmpeq 243
aload 14
aload 15
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
243: 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[] int org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.Throwable
244: astore 14
start local 14 245: aload 2
aload 14
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 14 246: 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 247 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 247 1 options Lorg/graalvm/compiler/options/OptionValues;
0 247 2 debug Lorg/graalvm/compiler/debug/DebugContext;
0 247 3 providers Lorg/graalvm/compiler/phases/util/Providers;
0 247 4 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 247 5 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 247 6 trackNodeSourcePosition Z
0 247 7 replacee Lorg/graalvm/compiler/graph/Node;
5 247 8 constantArgs [Ljava/lang/Object;
9 247 9 shouldTrackNodeSourcePosition1 Z
12 247 10 snippetGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
13 247 11 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
14 247 12 signature Ljdk/vm/ci/meta/Signature;
19 247 13 snippetCopy Lorg/graalvm/compiler/nodes/StructuredGraph;
22 240 16 scope Lorg/graalvm/compiler/debug/DebugContext$Scope;
25 238 17 nodeReplacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
27 238 18 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
29 238 19 parameterCount I
30 238 20 placeholders [Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
31 58 21 i I
33 56 22 parameter Lorg/graalvm/compiler/nodes/ParameterNode;
36 47 23 arg Ljava/lang/Object;
37 47 24 kind Ljdk/vm/ci/meta/JavaKind;
42 43 25 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
44 45 25 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
46 47 25 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
39 44 26 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
50 53 23 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
51 53 24 placeholder Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
60 65 23 updateScope Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
61 63 24 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
72 116 21 i I
79 108 22 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
80 108 23 length I
81 108 24 params [Lorg/graalvm/compiler/nodes/ParameterNode;
82 108 25 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
83 91 26 j I
86 89 27 idx I
88 89 28 local Lorg/graalvm/compiler/nodes/ParameterNode;
93 108 26 placeholder Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
96 107 27 usage Lorg/graalvm/compiler/graph/Node;
98 104 29 loadIndexed Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
102 104 30 loadSnippetParameter Lorg/graalvm/compiler/replacements/nodes/LoadSnippetVarargParameterNode;
110 114 22 local Lorg/graalvm/compiler/nodes/ParameterNode;
118 238 21 guardsStage Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
123 126 24 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
131 132 22 e Ljava/lang/Throwable;
133 238 22 curSideEffectNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/StateSplit;>;
134 238 23 curDeoptNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/DeoptimizingNode;>;
135 238 24 curPlaceholderStampedNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/ValueNode;>;
137 152 25 node Lorg/graalvm/compiler/graph/Node;
139 141 27 valueNode Lorg/graalvm/compiler/nodes/ValueNode;
143 148 27 stateSplit Lorg/graalvm/compiler/nodes/StateSplit;
144 148 28 frameState Lorg/graalvm/compiler/nodes/FrameState;
150 152 27 deoptNode Lorg/graalvm/compiler/nodes/DeoptimizingNode;
159 238 25 anchor Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
162 238 26 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
167 195 27 needsMemoryMaps Z
169 173 28 retNode Lorg/graalvm/compiler/nodes/ReturnNode;
170 173 30 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
176 177 28 needsAnchor Z
178 195 28 needsAnchor Z
179 189 29 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
181 186 30 retNode Lorg/graalvm/compiler/nodes/ReturnNode;
197 238 27 returnNodes Ljava/util/List<Lorg/graalvm/compiler/nodes/ReturnNode;>;
204 224 28 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
205 224 29 memMaps Ljava/util/List<Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;>;
207 210 30 retNode Lorg/graalvm/compiler/nodes/ReturnNode;
208 210 32 memoryMapNode Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
212 224 30 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
215 223 31 mmap Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
216 223 32 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
219 222 33 mm Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
231 233 28 node Lorg/graalvm/compiler/graph/Node;
245 246 14 ex Ljava/lang/Throwable;
Exception table:
from to target type
60 63 64 any
59 66 66 any
123 124 125 any
122 127 127 any
121 130 130 Class java.lang.Throwable
22 238 239 any
21 241 241 any
20 244 244 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.nodes.spi.CoreProviders);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: StackMap locals: int
StackMap stack:
iconst_0
istore 2
2: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/replacements/nodes/ExplodeLoopNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.replacements.nodes.ExplodeLoopNode
astore 3
start local 3 3: aload 3
ifnull 18
4: aload 3
invokevirtual org.graalvm.compiler.replacements.nodes.ExplodeLoopNode.findLoopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 4
start local 4 5: aload 4
ifnull 16
6: new org.graalvm.compiler.loop.LoopsData
dup
aload 0
invokespecial org.graalvm.compiler.loop.LoopsData.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
aload 4
invokevirtual org.graalvm.compiler.loop.LoopsData.loop:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)Lorg/graalvm/compiler/loop/LoopEx;
astore 5
start local 5 7: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 6
start local 6 8: aconst_null
astore 7
start local 7 9: getstatic org.graalvm.compiler.core.common.GraalOptions.ImmutableCode:Lorg/graalvm/compiler/options/OptionKey;
aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 12
10: invokestatic org.graalvm.compiler.phases.common.CanonicalizerPhase.createWithoutReadCanonicalization:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
astore 7
11: goto 13
12: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders int org.graalvm.compiler.replacements.nodes.ExplodeLoopNode org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.phases.common.CanonicalizerPhase
StackMap stack:
invokestatic org.graalvm.compiler.phases.common.CanonicalizerPhase.create:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
astore 7
13: StackMap locals:
StackMap stack:
aload 5
aload 1
aload 7
invokestatic org.graalvm.compiler.loop.phases.LoopTransformations.fullUnroll:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;)V
14: invokestatic org.graalvm.compiler.phases.common.CanonicalizerPhase.create:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
aload 0
aload 1
aload 6
iconst_0
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/graph/Graph$Mark;Z)V
15: aload 5
invokevirtual org.graalvm.compiler.loop.LoopEx.deleteUnusedNodes:()V
end local 7 end local 6 end local 5 16: StackMap locals:
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
17: iconst_1
istore 2
end local 4 end local 3 18: StackMap locals:
StackMap stack:
iload 2
ifne 1
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 snippetCopy Lorg/graalvm/compiler/nodes/StructuredGraph;
0 20 1 providers Lorg/graalvm/compiler/nodes/spi/CoreProviders;
1 20 2 exploded Z
3 18 3 explodeLoop Lorg/graalvm/compiler/replacements/nodes/ExplodeLoopNode;
5 18 4 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
7 16 5 loop Lorg/graalvm/compiler/loop/LoopEx;
8 16 6 mark Lorg/graalvm/compiler/graph/Graph$Mark;
9 16 7 canonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
MethodParameters:
Name Flags
snippetCopy final
providers
protected java.lang.Object[] getConstantArgs(org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)[Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.Object[]
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 8
3: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 3
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifne 6
4: aload 2
iload 3
aconst_null
aastore
5: goto 7
6: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 7
aload 2
iload 3
aaload
ifnonnull 7
new java.lang.AssertionError
dup
ldc "Can't pass raw null through as argument"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
if_icmplt 3
end local 3 9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 10 1 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
1 10 2 constantArgs [Ljava/lang/Object;
2 9 3 i I
MethodParameters:
Name Flags
args
private static boolean checkAllVarargPlaceholdersAreDeleted(int, org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[]);
descriptor: (I[Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
ifnull 4
3: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 4
aload 1
iload 2
aaload
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode.isDeleted:()Z
ifne 4
new java.lang.AssertionError
dup
aload 1
iload 2
aaload
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 0
if_icmplt 2
end local 2 6: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 parameterCount I
0 7 1 placeholders [Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
1 6 2 i I
MethodParameters:
Name Flags
parameterCount
placeholders
private static boolean checkConstantArgument(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature, int, java.lang.String, java.lang.Object, jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 2
iload 3
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.JavaType.resolve:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 7
start local 7 1: aload 0
ldc Ljdk/internal/vm/compiler/word/WordBase;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 4
2: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 3
aload 5
instanceof jdk.vm.ci.meta.JavaConstant
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": word constant parameters must be passed boxed in a Constant value: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 6
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 10
5: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 10
aload 5
ifnull 6
aload 6
invokevirtual jdk.vm.ci.meta.JavaKind.toBoxedJavaClass:()Ljava/lang/Class;
aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 10
StackMap locals:
StackMap stack:
6: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": wrong value kind for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": expected "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", got "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: aload 5
ifnonnull 8
ldc "null"
goto 9
StackMap locals: jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature int java.lang.String java.lang.Object jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ResolvedJavaType
StackMap stack: new 6 new 6 java.lang.StringBuilder
8: aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
StackMap locals: jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature int java.lang.String java.lang.Object jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ResolvedJavaType
StackMap stack: new 6 new 6 java.lang.StringBuilder java.lang.String
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 11 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 11 2 signature Ljdk/vm/ci/meta/Signature;
0 11 3 paramIndex I
0 11 4 name Ljava/lang/String;
0 11 5 arg Ljava/lang/Object;
0 11 6 kind Ljdk/vm/ci/meta/JavaKind;
1 11 7 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
metaAccess
method final
signature
paramIndex
name
arg
kind
private static boolean checkVarargs(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature, int, java.lang.String, org.graalvm.compiler.replacements.SnippetTemplate$Varargs);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
iload 3
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
checkcast jdk.vm.ci.meta.ResolvedJavaType
astore 6
start local 6 1: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 2
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 2
new java.lang.AssertionError
dup
ldc "varargs parameter must be an array type"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 4
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 0
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.componentType:Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "componentType for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not matching "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " instance: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.componentType:Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 5 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 2 signature Ljdk/vm/ci/meta/Signature;
0 5 3 i I
0 5 4 name Ljava/lang/String;
0 5 5 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
1 5 6 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
metaAccess
method final
signature
i
name
varargs
private jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> bind(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 4
start local 4 1: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 2
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
arraylength
if_icmpeq 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "number of args ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") != number of parameters ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: jdk.internal.vm.compiler.collections.EconomicMap
StackMap stack:
iconst_0
istore 5
start local 5 3: goto 47
4: StackMap locals: int
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 5
aaload
astore 6
start local 6 5: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 6
aload 6
ifnonnull 6
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " has no parameter named "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals: java.lang.Object
StackMap stack:
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 5
aaload
astore 7
start local 7 7: aload 6
instanceof org.graalvm.compiler.nodes.ParameterNode
ifeq 16
8: aload 7
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 11
9: aload 4
aload 6
checkcast org.graalvm.compiler.nodes.ParameterNode
aload 7
checkcast org.graalvm.compiler.nodes.ValueNode
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: goto 46
11: StackMap locals: java.lang.Object
StackMap stack:
aload 6
checkcast org.graalvm.compiler.nodes.ParameterNode
invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 8
start local 8 12: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 13
aload 7
ifnonnull 13
aload 8
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 13
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " cannot accept null for non-object parameter named "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
13: StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 0
aload 7
aload 8
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.forBoxed:(Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaConstant;
astore 9
start local 9 14: aload 4
aload 6
checkcast org.graalvm.compiler.nodes.ParameterNode
aload 9
aload 2
aload 1
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 8 15: goto 46
StackMap locals:
StackMap stack:
16: aload 6
instanceof org.graalvm.compiler.nodes.ParameterNode[]
ifeq 45
17: aload 6
checkcast org.graalvm.compiler.nodes.ParameterNode[]
astore 8
start local 8 18: aload 7
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 9
start local 9 19: aload 8
arraylength
istore 10
start local 10 20: aconst_null
astore 11
start local 11 21: aconst_null
astore 12
start local 12 22: aload 9
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.value:Ljava/lang/Object;
instanceof java.util.List
ifeq 25
23: aload 9
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.value:Ljava/lang/Object;
checkcast java.util.List
astore 11
24: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 29
aload 11
invokeinterface java.util.List.size:()I
iload 10
if_icmpeq 29
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
iload 10
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
25: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments jdk.internal.vm.compiler.collections.EconomicMap int java.lang.Object java.lang.Object org.graalvm.compiler.nodes.ParameterNode[] org.graalvm.compiler.replacements.SnippetTemplate$Varargs int java.util.List java.lang.Object
StackMap stack:
aload 9
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.value:Ljava/lang/Object;
astore 12
26: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 28
aload 12
ifnull 27
aload 12
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifne 28
StackMap locals:
StackMap stack:
27: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
28: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 29
aload 12
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
iload 10
if_icmpeq 29
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
iload 10
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 12
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
29: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 30: goto 43
31: StackMap locals: int
StackMap stack:
aload 8
iload 13
aaload
astore 14
start local 14 32: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 33
aload 14
ifnonnull 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals: org.graalvm.compiler.nodes.ParameterNode
StackMap stack:
aload 11
ifnull 34
aload 11
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
goto 35
StackMap locals:
StackMap stack:
34: aload 12
iload 13
invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
35: astore 15
start local 15 36: aload 15
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 39
37: aload 4
aload 14
aload 15
checkcast org.graalvm.compiler.nodes.ValueNode
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
38: goto 42
39: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 15
aload 14
invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.forBoxed:(Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaConstant;
astore 16
start local 16 40: aload 16
aload 2
aload 1
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 17
start local 17 41: aload 4
aload 14
aload 17
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 17 end local 16 end local 15 end local 14 42: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
43: iload 13
iload 10
if_icmplt 31
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 44: goto 46
45: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments jdk.internal.vm.compiler.collections.EconomicMap int java.lang.Object java.lang.Object
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 46
aload 6
getstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 46
aload 6
getstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 46
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "unexpected entry for parameter: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 7 end local 6 46: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
47: iload 5
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
arraylength
if_icmplt 4
end local 5 48: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 49 1 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 49 2 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 49 3 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
1 49 4 replacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
3 48 5 i I
5 46 6 parameter Ljava/lang/Object;
7 46 7 argument Ljava/lang/Object;
12 15 8 kind Ljdk/vm/ci/meta/JavaKind;
14 15 9 constant Ljdk/vm/ci/meta/JavaConstant;
18 44 8 params [Lorg/graalvm/compiler/nodes/ParameterNode;
19 44 9 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
20 44 10 length I
21 44 11 list Ljava/util/List<*>;
22 44 12 array Ljava/lang/Object;
30 44 13 j I
32 42 14 param Lorg/graalvm/compiler/nodes/ParameterNode;
36 42 15 value Ljava/lang/Object;
40 42 16 constant Ljdk/vm/ci/meta/JavaConstant;
41 42 17 element Lorg/graalvm/compiler/nodes/ConstantNode;
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
replaceeGraph
metaAccess
args
protected jdk.vm.ci.meta.JavaConstant forBoxed(java.lang.Object, jdk.vm.ci.meta.JavaKind);
descriptor: (Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 1
aload 2
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 3
2: aload 1
invokestatic jdk.vm.ci.meta.JavaConstant.forBoxedPrimitive:(Ljava/lang/Object;)Ljdk/vm/ci/meta/PrimitiveConstant;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 2
aload 1
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forBoxed:(Ljdk/vm/ci/meta/JavaKind;Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 4 1 argument Ljava/lang/Object;
0 4 2 localKind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
argument
localKind
private boolean assertSnippetKills(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
ifnonnull 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 2
start local 2 5: aload 2
ifnull 6
aload 2
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.isEmpty:()Z
ifeq 7
6: StackMap locals: org.graalvm.compiler.nodes.memory.MemoryMapNode
StackMap stack:
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
astore 3
start local 3 8: aload 3
aload 2
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLocations:()Ljava/util/Collection;
invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.addAll:(Ljava/lang/Iterable;)V
9: aload 1
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
ifeq 16
10: aload 1
checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
astore 4
start local 4 11: aload 4
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isAny:()Z
ifeq 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=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.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 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
15: 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
16: aconst_null
astore 16
start local 16 17: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
ifnull 32
aload 2
instanceof org.graalvm.compiler.nodes.ControlSinkNode
ifne 32
18: 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 19: aload 17
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 16
20: aload 16
ifnonnull 23
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 23
aload 2
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint
ifeq 23
21: 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
22: goto 25
23: 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.ValueNode org.graalvm.compiler.nodes.ReturnNode
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 24
aload 16
ifnonnull 24
aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.hasNoUsages:()Z
ifne 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: 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
25: StackMap locals:
StackMap stack:
aload 17
invokevirtual org.graalvm.compiler.nodes.ReturnNode.isAlive:()Z
ifeq 32
26: aconst_null
astore 18
start local 18 27: aload 2
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 31
28: aload 2
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 19
start local 19 29: aload 19
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 18
30: aload 19
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 19 31: 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 32: StackMap locals:
StackMap stack:
iload 5
ifeq 34
33: aload 2
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
34: 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
35: aload 14
36: aload 9
ifnull 37
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
37: 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
38: astore 7
39: aload 9
ifnull 40
aload 9
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 9 StackMap locals:
StackMap stack:
40: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
41: astore 8
aload 7
ifnonnull 42
aload 8
astore 7
goto 43
StackMap locals:
StackMap stack:
42: aload 7
aload 8
if_acmpeq 43
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
43: 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 44 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 44 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 44 2 replacee Lorg/graalvm/compiler/nodes/FixedNode;
0 44 3 replacer Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
0 44 4 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 44 5 killReplacee Z
1 44 6 debug Lorg/graalvm/compiler/debug/DebugContext;
4 40 9 a Lorg/graalvm/compiler/debug/DebugCloseable;
6 38 10 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
7 38 11 firstCFGNode Lorg/graalvm/compiler/nodes/FixedNode;
8 38 12 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
9 38 13 replacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
11 38 14 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
12 38 15 firstCFGNodeDuplicate Lorg/graalvm/compiler/nodes/FixedNode;
17 38 16 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
19 32 17 returnDuplicate Lorg/graalvm/compiler/nodes/ReturnNode;
27 32 18 next Lorg/graalvm/compiler/nodes/FixedNode;
29 31 19 fwn Lorg/graalvm/compiler/nodes/FixedWithNextNode;
Exception table:
from to target type
4 36 38 any
3 37 41 any
38 41 41 any
Signature: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Z)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
metaAccess
replacee
replacer
args
killReplacee
private jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node> inlineSnippet(org.graalvm.compiler.graph.Node, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.nodes.StructuredGraph, jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 5
start local 5 1: aconst_null
astore 6
aconst_null
astore 7
2: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 3
invokedynamic accept(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
org/graalvm/compiler/replacements/SnippetTemplate.lambda$0(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/Invokable;Lorg/graalvm/compiler/nodes/Invokable;)V (6)
(Lorg/graalvm/compiler/nodes/Invokable;Lorg/graalvm/compiler/nodes/Invokable;)V
invokevirtual org.graalvm.compiler.nodes.InliningLog.openUpdateScope:(Ljava/util/function/BiConsumer;)Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
astore 8
start local 8 3: aload 3
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addDuplicates:(Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph;ILjdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
astore 9
start local 9 4: aload 8
ifnull 6
5: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
aload 9
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getInliningLog:()Lorg/graalvm/compiler/nodes/InliningLog;
invokevirtual org.graalvm.compiler.nodes.InliningLog.addLog:(Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/nodes/InliningLog;)V
6: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Graph$Mark java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
astore 10
start local 10 7: aload 3
aload 9
aload 5
aload 10
iconst_1
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.updateSourcePosition:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;Lorg/graalvm/compiler/graph/Graph$Mark;Lorg/graalvm/compiler/graph/NodeSourcePosition;Z)V
8: aload 2
iconst_4
aload 3
ldc "After inlining snippet %s"
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
9: aload 9
10: aload 8
ifnull 11
aload 8
invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
11: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Graph$Mark java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.graph.NodeSourcePosition
StackMap stack: jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
areturn
end local 10 end local 9 StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.Graph$Mark java.lang.Throwable java.lang.Throwable org.graalvm.compiler.nodes.InliningLog$UpdateScope
StackMap stack: java.lang.Throwable
12: astore 6
13: aload 8
ifnull 14
aload 8
invokevirtual org.graalvm.compiler.nodes.InliningLog$UpdateScope.close:()V
end local 8 StackMap locals:
StackMap stack:
14: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 7
aload 6
ifnonnull 16
aload 7
astore 6
goto 17
StackMap locals:
StackMap stack:
16: aload 6
aload 7
if_acmpeq 17
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 6
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 18 1 replacee Lorg/graalvm/compiler/graph/Node;
0 18 2 debug Lorg/graalvm/compiler/debug/DebugContext;
0 18 3 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 18 4 replacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
1 18 5 mark Lorg/graalvm/compiler/graph/Graph$Mark;
3 14 8 scope Lorg/graalvm/compiler/nodes/InliningLog$UpdateScope;
4 12 9 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
7 12 10 position Lorg/graalvm/compiler/graph/NodeSourcePosition;
Exception table:
from to target type
3 10 12 any
2 11 15 any
12 15 15 any
Signature: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
replacee
debug
replaceeGraph
replacements
private void propagateStamp(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.nodes.PhiNode
ifeq 7
1: aload 1
checkcast org.graalvm.compiler.nodes.PhiNode
astore 2
start local 2 2: aload 2
invokevirtual org.graalvm.compiler.nodes.PhiNode.inferStamp:()Z
ifeq 7
3: aload 1
invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.PhiNode top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 3
start local 3 5: aload 0
aload 3
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.propagateStamp:(Lorg/graalvm/compiler/graph/Node;)V
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 2 7: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.graph.Node
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 8 1 node Lorg/graalvm/compiler/graph/Node;
2 7 2 phi Lorg/graalvm/compiler/nodes/PhiNode;
5 6 3 usage Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
node
private void updateStamps(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.placeholderStampedNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 3
start local 3 2: aload 2
aload 3
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 5
start local 5 3: aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 6
start local 6 4: aload 3
instanceof org.graalvm.compiler.nodes.PiNode$Placeholder
ifeq 8
5: aload 5
checkcast org.graalvm.compiler.nodes.PiNode$Placeholder
astore 7
start local 7 6: aload 7
aload 6
invokevirtual org.graalvm.compiler.nodes.PiNode$Placeholder.makeReplacement:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
end local 7 7: goto 9
8: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.ValueNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 5
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
end local 6 end local 5 end local 3 9: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
getstatic org.graalvm.compiler.nodes.ParameterNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 4
goto 17
StackMap locals:
StackMap stack:
11: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ParameterNode
astore 3
start local 3 12: aload 3
invokevirtual org.graalvm.compiler.nodes.ParameterNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 6
goto 16
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.ParameterNode java.util.Iterator top java.util.Iterator
StackMap stack:
13: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 5
start local 5 14: aload 2
aload 5
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 15: aload 0
aload 7
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.propagateStamp:(Lorg/graalvm/compiler/graph/Node;)V
end local 7 end local 5 16: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 3 17: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 19 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
0 19 2 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
2 9 3 node Lorg/graalvm/compiler/nodes/ValueNode;
3 9 5 dup Lorg/graalvm/compiler/nodes/ValueNode;
4 9 6 replaceeStamp Lorg/graalvm/compiler/core/common/type/Stamp;
6 7 7 placeholderDup Lorg/graalvm/compiler/nodes/PiNode$Placeholder;
12 17 3 paramNode Lorg/graalvm/compiler/nodes/ParameterNode;
14 16 5 usage Lorg/graalvm/compiler/graph/Node;
15 16 7 usageDup Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
MethodParameters:
Name Flags
replacee
duplicates
public org.graalvm.compiler.nodes.StructuredGraph copySpecializedGraph(org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.copy:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/graph/Graph;
checkcast org.graalvm.compiler.nodes.StructuredGraph
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 1 1 debugForCopy Lorg/graalvm/compiler/debug/DebugContext;
MethodParameters:
Name Flags
debugForCopy
public void instantiate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.calc.FloatingNode, org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer, org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=20, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
astore 6
start local 6 1: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 2
aload 0
aload 2
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.assertSnippetKills:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.compiler.debug.DebugContext
StackMap stack:
aconst_null
astore 7
aconst_null
astore 8
3: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationTimer:Lorg/graalvm/compiler/debug/TimerKey;
aload 6
invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 9
start local 9 4: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.instantiationCounter:Lorg/graalvm/compiler/debug/CounterKey;
aload 6
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
5: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 10
start local 10 6: aload 10
invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 11
start local 11 7: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 12
start local 12 8: aload 0
aload 12
aload 1
aload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.bind:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljdk/internal/vm/compiler/collections/EconomicMap;
astore 13
start local 13 9: aload 13
aload 10
aload 4
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getCurrentGuardAnchor:()Lorg/graalvm/compiler/nodes/extended/AnchoringNode;
invokeinterface org.graalvm.compiler.nodes.extended.AnchoringNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 0
aload 2
aload 6
aload 12
aload 13
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.inlineSnippet:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
astore 14
start local 14 11: aload 4
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
astore 15
start local 15 12: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 14
aload 15
ifnull 13
aload 15
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.isAlive:()Z
ifne 14
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
13: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " lastFixed="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
14: StackMap locals:
StackMap stack:
aload 15
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 16
start local 16 15: aload 15
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
16: aload 14
aload 11
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 17
start local 17 17: aload 12
aload 15
aload 17
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
18: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 19
aload 2
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
20: aload 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireMemoryGraph:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
21: aload 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.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: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 23
aload 2
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
StackMap stack:
aload 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
24: aload 0
aload 2
aload 14
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireMemoryGraph:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
25: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 26
aload 12
ifnull 26
aload 12
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.isDeleted:()Z
ifne 26
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
26: StackMap locals:
StackMap stack:
aload 14
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 15
start local 15 27: aload 3
aload 2
aload 15
invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
28: aload 5
iconst_4
aload 10
ldc "After lowering %s with %s"
aload 2
aload 0
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 29: aload 8
ifnull 35
aload 8
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 35
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate jdk.vm.ci.meta.MetaAccessProvider org.graalvm.compiler.nodes.calc.FloatingNode org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
30: astore 6
aload 8
ifnull 31
aload 8
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 8 StackMap locals:
StackMap stack:
31: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 7
aload 6
ifnonnull 33
aload 7
astore 6
goto 34
StackMap locals:
StackMap stack:
33: aload 6
aload 7
if_acmpeq 34
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
34: aload 6
athrow
35: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 36 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 36 2 replacee Lorg/graalvm/compiler/nodes/calc/FloatingNode;
0 36 3 replacer Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
0 36 4 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
1 36 5 debug Lorg/graalvm/compiler/debug/DebugContext;
4 31 8 a Lorg/graalvm/compiler/debug/DebugCloseable;
6 29 9 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
10 29 10 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
11 29 11 replacements Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
12 29 12 anchorDuplicate Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
16 29 13 floatingNodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
18 20 14 n Lorg/graalvm/compiler/graph/Node;
22 29 14 duplicates Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
27 29 15 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
Exception table:
from to target type
4 29 30 any
3 32 32 any
MethodParameters:
Name Flags
metaAccess
replacee
replacer
args
protected void rewireFrameStates(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=11, 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.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtSideEffects:()Z
ifeq 8
aload 1
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 8
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: goto 45
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap
StackMap stack:
8: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
ifeq 45
aload 1
instanceof org.graalvm.compiler.nodes.DeoptimizingNode
ifeq 45
9: aload 1
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 3
start local 3 10: aconst_null
astore 4
start local 4 11: aconst_null
astore 5
start local 5 12: aconst_null
astore 6
start local 6 13: aload 3
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 20
14: aload 3
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
ifeq 16
15: aload 3
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
astore 4
16: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 3
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
ifeq 18
17: aload 3
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
astore 5
18: StackMap locals:
StackMap stack:
aload 3
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
ifeq 20
19: aload 3
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 6
20: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.deoptNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 8
goto 44
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
21: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 7
start local 7 22: aload 2
aload 7
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 9
start local 9 23: aload 9
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 44
24: aload 9
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
ifeq 26
25: aload 9
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
aload 4
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.setStateBefore:(Lorg/graalvm/compiler/nodes/FrameState;)V
26: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.DeoptimizingNode java.util.Iterator org.graalvm.compiler.nodes.DeoptimizingNode
StackMap stack:
aload 9
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
ifeq 37
27: aload 9
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
astore 10
start local 10 28: aload 5
ifnull 31
29: aload 10
aload 5
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
30: goto 37
StackMap locals: org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
StackMap stack:
31: aload 6
ifnull 34
32: aload 10
aload 6
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.computeStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
33: goto 37
StackMap locals:
StackMap stack:
34: aload 4
ifnull 37
35: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 36
aload 10
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.hasSideEffect:()Z
ifeq 36
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "can't use stateBefore as stateDuring for state split "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
36: StackMap locals:
StackMap stack:
aload 10
aload 4
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 10 37: StackMap locals:
StackMap stack:
aload 9
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
ifeq 44
38: aload 9
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
astore 10
start local 10 39: aload 6
ifnull 42
40: aload 10
aload 6
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
41: goto 44
42: StackMap locals: org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 43
aload 10
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.hasSideEffect:()Z
ifeq 43
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "can't use stateBefore as stateAfter for state split "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
43: StackMap locals:
StackMap stack:
aload 10
aload 4
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 10 end local 9 end local 7 44: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
end local 6 end local 5 end local 4 end local 3 45: 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 46 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 46 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
0 46 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;
10 45 3 replaceeDeopt Lorg/graalvm/compiler/nodes/DeoptimizingNode;
11 45 4 stateBefore Lorg/graalvm/compiler/nodes/FrameState;
12 45 5 stateDuring Lorg/graalvm/compiler/nodes/FrameState;
13 45 6 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
22 44 7 deoptNode Lorg/graalvm/compiler/nodes/DeoptimizingNode;
23 44 9 deoptDup Lorg/graalvm/compiler/nodes/DeoptimizingNode;
28 37 10 deoptDupDuring Lorg/graalvm/compiler/nodes/DeoptimizingNode$DeoptDuring;
39 44 10 deoptDupAfter Lorg/graalvm/compiler/nodes/DeoptimizingNode$DeoptAfter;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
MethodParameters:
Name Flags
replacee
duplicates
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.toString:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
astore 1
start local 1 1: ldc ""
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 27
4: StackMap locals: java.lang.StringBuilder java.lang.String int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 5: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 3
aaload
astore 5
start local 5 6: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: ldc ", "
astore 2
8: aload 5
ifnonnull 11
9: aload 1
ldc "<null> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: goto 26
StackMap locals: java.lang.String java.lang.Object
StackMap stack:
11: aload 5
getstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 1
ldc "<unused> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: goto 26
StackMap locals:
StackMap stack:
14: aload 5
getstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 17
15: aload 1
ldc "<constant> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: goto 26
StackMap locals:
StackMap stack:
17: aload 5
instanceof org.graalvm.compiler.nodes.ParameterNode
ifeq 21
18: aload 5
checkcast org.graalvm.compiler.nodes.ParameterNode
astore 6
start local 6 19: aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 20: goto 26
21: StackMap locals:
StackMap stack:
aload 5
checkcast org.graalvm.compiler.nodes.ParameterNode[]
astore 6
start local 6 22: aload 6
arraylength
ifne 23
ldc "?"
goto 24
StackMap locals: org.graalvm.compiler.nodes.ParameterNode[]
StackMap stack:
23: aload 6
iconst_0
aaload
invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
24: astore 7
start local 7 25: aload 1
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 6
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 7 end local 6 end local 5 end local 4 26: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
27: iload 3
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
arraylength
if_icmplt 4
end local 3 28: aload 1
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
1 29 1 buf Ljava/lang/StringBuilder;
2 29 2 sep Ljava/lang/String;
3 28 3 i I
5 26 4 name Ljava/lang/String;
6 26 5 value Ljava/lang/Object;
19 20 6 param Lorg/graalvm/compiler/nodes/ParameterNode;
22 26 6 params [Lorg/graalvm/compiler/nodes/ParameterNode;
25 26 7 kind Ljava/lang/String;
private static boolean checkTemplate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.replacements.SnippetTemplate$Arguments, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.hasReceiver:()Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: iload 4
istore 5
start local 5 4: goto 13
5: StackMap locals: int int
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifeq 8
6: aload 3
iload 5
iload 4
isub
invokeinterface jdk.vm.ci.meta.Signature.getParameterKind:(I)Ljdk/vm/ci/meta/JavaKind;
astore 6
start local 6 7: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 12
aload 0
aload 2
aload 3
iload 5
iload 4
isub
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 5
aaload
aload 6
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkConstantArgument:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 6 8: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
ifeq 12
9: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 10
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 5
aaload
instanceof org.graalvm.compiler.replacements.SnippetTemplate$Varargs
ifne 10
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 5
aaload
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 6
start local 6 11: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 12
aload 0
aload 2
aload 3
iload 5
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
aload 6
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkVarargs:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;)Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 6 12: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
if_icmplt 5
end local 5 14: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 15 1 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 15 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 15 3 signature Ljdk/vm/ci/meta/Signature;
3 15 4 offset I
4 14 5 i I
7 8 6 kind Ljdk/vm/ci/meta/JavaKind;
11 12 6 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
MethodParameters:
Name Flags
metaAccess
args
method
signature
public void setMayRemoveLocation(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.graalvm.compiler.replacements.SnippetTemplate.mayRemoveLocation:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 2 1 mayRemoveLocation Z
MethodParameters:
Name Flags
mayRemoveLocation
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