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.DebugTimer SnippetTemplateCreationTime;
descriptor: Lorg/graalvm/compiler/debug/DebugTimer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.DebugCounter SnippetTemplates;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
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> stampNodes;
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;>;
private final org.graalvm.compiler.debug.DebugTimer instantiationTimer;
descriptor: Lorg/graalvm/compiler/debug/DebugTimer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.debug.DebugCounter instantiationCounter;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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.Debug.timer:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugTimer;
putstatic org.graalvm.compiler.replacements.SnippetTemplate.SnippetTemplateCreationTime:Lorg/graalvm/compiler/debug/DebugTimer;
4: ldc "SnippetTemplateCount"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.replacements.SnippetTemplate.SnippetTemplates:Lorg/graalvm/compiler/debug/DebugCounter;
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.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=32, args_size=4
start local 0 start local 1 start local 2 start local 3 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 2
putfield org.graalvm.compiler.replacements.SnippetTemplate.snippetReflection:Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
3: aload 0
aload 3
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 3
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.getConstantArgs:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)[Ljava/lang/Object;
astore 4
start local 4 5: aload 1
invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
aload 3
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 3
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 4
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getSnippet:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Ljava/lang/Object;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 5
start local 5 6: aload 0
ldc "SnippetTemplateInstantiationTime[%#s]"
aload 3
invokestatic org.graalvm.compiler.debug.Debug.timer:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugTimer;
putfield org.graalvm.compiler.replacements.SnippetTemplate.instantiationTimer:Lorg/graalvm/compiler/debug/DebugTimer;
7: aload 0
ldc "SnippetTemplateInstantiationCount[%#s]"
aload 3
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugCounter;
putfield org.graalvm.compiler.replacements.SnippetTemplate.instantiationCounter:Lorg/graalvm/compiler/debug/DebugCounter;
8: aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 6
start local 6 9: aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
astore 7
start local 7 10: new org.graalvm.compiler.phases.tiers.PhaseContext
dup
aload 1
invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
astore 8
start local 8 11: new org.graalvm.compiler.nodes.StructuredGraph
dup
aload 5
getfield org.graalvm.compiler.nodes.StructuredGraph.name:Ljava/lang/String;
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
getstatic org.graalvm.compiler.core.common.CompilationIdentifier.INVALID_COMPILATION_ID:Lorg/graalvm/compiler/core/common/CompilationRequestIdentifier;
invokespecial org.graalvm.compiler.nodes.StructuredGraph.<init>:(Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/core/common/CompilationIdentifier;)V
astore 9
start local 9 12: aconst_null
astore 10
aconst_null
astore 11
13: ldc "SpecializeSnippet"
aload 9
invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 12
start local 12 14: aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isUnsafeAccessTrackingEnabled:()Z
ifne 16
15: aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.disableUnsafeAccessTracking:()V
16: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack:
invokestatic org.graalvm.compiler.graph.Node.newIdentityMap:()Ljava/util/Map;
astore 13
start local 13 17: aload 13
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: aload 1
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
astore 14
start local 14 19: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 20
aload 14
aload 3
aload 6
aload 7
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 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals: java.util.Map jdk.vm.ci.meta.MetaAccessProvider
StackMap stack:
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
istore 15
start local 15 21: iload 15
anewarray org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
astore 16
start local 16 22: iconst_0
istore 17
start local 17 23: goto 44
24: StackMap locals: int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int
StackMap stack:
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 17
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifeq 38
25: aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 17
aaload
astore 18
start local 18 26: aload 7
iload 17
invokeinterface jdk.vm.ci.meta.Signature.getParameterKind:(I)Ljdk/vm/ci/meta/JavaKind;
astore 19
start local 19 27: aload 18
instanceof jdk.vm.ci.meta.Constant
ifeq 35
28: aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.constStamps:[Lorg/graalvm/compiler/core/common/type/Stamp;
iload 17
aaload
astore 21
start local 21 29: aload 21
ifnonnull 33
30: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 31
aload 18
instanceof jdk.vm.ci.meta.JavaConstant
ifne 31
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 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
31: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int java.lang.Object jdk.vm.ci.meta.JavaKind top org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 18
checkcast jdk.vm.ci.meta.JavaConstant
aload 14
aload 9
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 20
start local 20 32: goto 36
end local 20 33: StackMap locals:
StackMap stack:
aload 21
aload 18
checkcast jdk.vm.ci.meta.Constant
aload 14
aload 9
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 20
end local 21 start local 20 34: goto 36
end local 20 35: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int java.lang.Object jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 2
aload 19
aload 18
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forBoxed:(Ljdk/vm/ci/meta/JavaKind;Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
aload 14
aload 9
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 20
start local 20 36: StackMap locals: org.graalvm.compiler.nodes.ConstantNode
StackMap stack:
aload 13
aload 5
iload 17
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
aload 20
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 20 end local 19 end local 18 37: goto 43
StackMap locals:
StackMap stack:
38: aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 17
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
ifeq 43
39: aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 17
aaload
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 18
start local 18 40: aload 9
new org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode
dup
aload 18
aload 1
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 19
start local 19 41: aload 13
aload 5
iload 17
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
aload 19
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
42: aload 16
iload 17
aload 19
aastore
end local 19 end local 18 43: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
44: iload 17
iload 15
if_icmplt 24
end local 17 45: aload 9
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
aload 5
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addDuplicates:(Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph;ILjava/util/Map;)Ljava/util/Map;
pop
46: iconst_2
aload 9
ldc "Before specialization"
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;)V
47: aload 0
iload 15
anewarray java.lang.Object
putfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
48: iconst_0
istore 17
start local 17 49: goto 90
50: StackMap locals:
StackMap stack:
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 17
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifeq 53
51: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 17
getstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
aastore
52: goto 89
StackMap locals:
StackMap stack:
53: aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 17
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
ifeq 84
54: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 55
aload 9
iload 17
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
ifnull 55
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
55: StackMap locals:
StackMap stack:
aload 3
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 17
aaload
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 18
start local 18 56: aload 18
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.length:I
istore 19
start local 19 57: iload 19
anewarray org.graalvm.compiler.nodes.ParameterNode
astore 20
start local 20 58: aload 18
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.stamp:Lorg/graalvm/compiler/core/common/type/Stamp;
astore 21
start local 21 59: iconst_0
istore 22
start local 22 60: goto 67
61: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map 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 62
iload 15
sipush 10000
if_icmplt 62
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
62: StackMap locals:
StackMap stack:
iload 17
iconst_1
iadd
sipush 10000
imul
iload 22
iadd
istore 23
start local 23 63: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 64
iload 23
iload 15
if_icmpge 64
new java.lang.AssertionError
dup
ldc "collision in parameter numbering"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
64: StackMap locals: int
StackMap stack:
aload 9
new org.graalvm.compiler.nodes.ParameterNode
dup
iload 23
aload 21
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 24
start local 24 65: aload 20
iload 22
aload 24
aastore
end local 24 end local 23 66: iinc 22 1
StackMap locals:
StackMap stack:
67: iload 22
iload 19
if_icmplt 61
end local 22 68: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 17
aload 20
aastore
69: aload 16
iload 17
aaload
astore 22
start local 22 70: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 71
aload 22
ifnonnull 71
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
71: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map 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
StackMap stack:
aload 22
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 24
goto 82
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map 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:
72: aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 23
start local 23 73: aload 23
instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
ifeq 80
74: aload 23
checkcast org.graalvm.compiler.nodes.java.LoadIndexedNode
astore 25
start local 25 75: iconst_2
aload 9
ldc "Before replacing %s"
aload 25
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
76: aload 9
new org.graalvm.compiler.replacements.nodes.LoadSnippetVarargParameterNode
dup
aload 20
aload 25
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 25
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.stamp:()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
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 26
start local 26 77: aload 9
aload 25
aload 26
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
78: iconst_2
aload 9
ldc "After replacing %s"
aload 25
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
end local 26 end local 25 79: goto 82
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map 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:
80: aload 23
instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
ifeq 82
81: 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 23 82: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map 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 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 72
end local 22 end local 21 end local 20 end local 19 end local 18 83: goto 89
84: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int
StackMap stack:
aload 9
iload 17
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getParameter:(I)Lorg/graalvm/compiler/nodes/ParameterNode;
astore 18
start local 18 85: aload 18
ifnonnull 88
86: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 17
getstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
aastore
87: goto 89
88: StackMap locals: org.graalvm.compiler.nodes.ParameterNode
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 17
aload 18
aastore
end local 18 89: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
90: iload 17
iload 15
if_icmplt 50
end local 17 91: iconst_0
istore 17
start local 17 92: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int
StackMap stack:
iconst_0
istore 17
93: aload 9
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 18
start local 18 94: aload 18
ifnull 104
95: aload 18
invokevirtual org.graalvm.compiler.replacements.nodes.ExplodeLoopNode.findLoopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
astore 19
start local 19 96: aload 19
ifnull 102
97: new org.graalvm.compiler.loop.LoopsData
dup
aload 9
invokespecial org.graalvm.compiler.loop.LoopsData.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
aload 19
invokevirtual org.graalvm.compiler.loop.LoopsData.loop:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)Lorg/graalvm/compiler/loop/LoopEx;
astore 20
start local 20 98: aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
astore 21
start local 21 99: aload 20
aload 8
new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
invokestatic org.graalvm.compiler.loop.phases.LoopTransformations.fullUnroll:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;)V
100: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 9
aload 8
aload 21
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/graph/Graph$Mark;)V
101: aload 20
invokevirtual org.graalvm.compiler.loop.LoopEx.deleteUnusedNodes:()V
end local 21 end local 20 102: StackMap locals: org.graalvm.compiler.replacements.nodes.ExplodeLoopNode org.graalvm.compiler.nodes.LoopBeginNode
StackMap stack:
aload 18
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
103: iconst_1
istore 17
end local 19 end local 18 104: StackMap locals:
StackMap stack:
iload 17
ifne 92
105: aload 3
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 18
start local 18 106: aload 18
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.allowsFloatingGuards:()Z
ifne 108
107: new org.graalvm.compiler.phases.common.GuardLoweringPhase
dup
invokespecial org.graalvm.compiler.phases.common.GuardLoweringPhase.<init>:()V
aload 9
aconst_null
invokevirtual org.graalvm.compiler.phases.common.GuardLoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
108: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph$GuardsStage
StackMap stack:
aload 9
aload 18
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setGuardsStage:(Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;)V
109: aconst_null
astore 19
aconst_null
astore 20
110: ldc "LoweringSnippetTemplate"
aload 9
invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 21
start local 21 111: new org.graalvm.compiler.phases.common.LoweringPhase
dup
new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 3
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 9
aload 8
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
112: aload 21
ifnull 120
aload 21
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
goto 120
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack: java.lang.Throwable
113: astore 19
aload 21
ifnull 114
aload 21
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 21 StackMap locals:
StackMap stack:
114: aload 19
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
115: astore 20
aload 19
ifnonnull 116
aload 20
astore 19
goto 117
StackMap locals:
StackMap stack:
116: aload 19
aload 20
if_acmpeq 117
aload 19
aload 20
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
117: aload 19
athrow
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.nodes.StructuredGraph$GuardsStage
StackMap stack: java.lang.Throwable
118: astore 19
start local 19 119: aload 19
invokestatic org.graalvm.compiler.debug.Debug.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 19 120: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 19
start local 19 121: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 20
start local 20 122: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 21
start local 21 123: aload 9
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 23
goto 138
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList top java.util.Iterator
StackMap stack:
124: aload 23
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 22
start local 22 125: aload 22
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 127
aload 22
checkcast org.graalvm.compiler.nodes.ValueNode
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forNodeIntrinsic:()Lorg/graalvm/compiler/core/common/type/Stamp;
if_acmpne 127
126: aload 21
aload 22
checkcast org.graalvm.compiler.nodes.ValueNode
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
127: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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 22
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 134
128: aload 22
checkcast org.graalvm.compiler.nodes.StateSplit
astore 24
start local 24 129: aload 24
invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 25
start local 25 130: aload 24
invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
ifeq 132
131: aload 19
aload 22
checkcast org.graalvm.compiler.nodes.StateSplit
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
132: StackMap locals: org.graalvm.compiler.nodes.StateSplit org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 25
ifnull 134
133: aload 24
aconst_null
invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 25 end local 24 134: StackMap locals:
StackMap stack:
aload 22
instanceof org.graalvm.compiler.nodes.DeoptimizingNode
ifeq 138
135: aload 22
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 24
start local 24 136: aload 24
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 138
137: aload 20
aload 24
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 24 end local 22 138: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int org.graalvm.compiler.nodes.StructuredGraph$GuardsStage java.util.ArrayList java.util.ArrayList java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 23
invokeinterface java.util.Iterator.hasNext:()Z
ifne 124
139: 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 9
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
140: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 141
iload 15
aload 16
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkAllVarargPlaceholdersAreDeleted:(I[Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;)Z
ifne 141
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
141: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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 9
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
142: aload 9
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 22
start local 22 143: aload 9
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 22
invokevirtual org.graalvm.compiler.nodes.StartNode.replaceAtUsages:(Lorg/graalvm/compiler/nodeinfo/InputType;Lorg/graalvm/compiler/graph/Node;)V
144: aload 0
aload 9
putfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
145: 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 23
start local 23 146: aload 22
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.hasNoUsages:()Z
ifeq 150
147: aload 22
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
148: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
149: goto 178
150: StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.nodes.StartNode
StackMap stack:
iconst_0
istore 24
start local 24 151: 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 26
goto 157
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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:
152: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 25
start local 25 153: aload 25
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 27
start local 27 154: aload 27
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLocations:()Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmpgt 155
aload 27
getstatic org.graalvm.compiler.core.common.LocationIdentity.ANY_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLastLocationAccess:(Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
aload 22
if_acmpeq 157
155: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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 24
156: goto 158
end local 27 end local 25 157: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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 26
invokeinterface java.util.Iterator.hasNext:()Z
ifne 152
158: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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 24
ifeq 161
159: iconst_1
istore 25
start local 25 160: goto 172
end local 25 161: StackMap locals:
StackMap stack:
aload 22
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 25
start local 25 162: aconst_null
astore 26
start local 26 163: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
getstatic org.graalvm.compiler.nodes.ReturnNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 28
goto 170
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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:
164: aload 28
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 27
start local 27 165: aload 26
ifnonnull 168
166: aload 27
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
astore 26
167: goto 169
168: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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 169
aload 26
aload 27
invokevirtual org.graalvm.compiler.nodes.ReturnNode.getMemoryMap:()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
if_acmpeq 169
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
169: StackMap locals:
StackMap stack:
aload 27
aconst_null
invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
end local 27 170: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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 28
invokeinterface java.util.Iterator.hasNext:()Z
ifne 164
171: aload 26
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.safeDelete:()V
end local 26 172: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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 25
ifeq 176
173: aload 9
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
aload 22
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
174: aload 0
aload 22
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
175: goto 178
176: StackMap locals:
StackMap stack:
aload 22
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.safeDelete:()V
177: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
end local 25 end local 24 178: StackMap locals:
StackMap stack:
iconst_2
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "SnippetTemplate after fixing memory anchoring"
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;)V
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.snapshot:()Ljava/util/List;
astore 24
start local 24 180: aload 24
invokeinterface java.util.List.isEmpty:()Z
ifeq 183
181: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
182: goto 201
StackMap locals: java.util.List
StackMap stack:
183: aload 24
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 186
184: aload 0
aload 24
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;
185: goto 201
186: 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 25
start local 25 187: aload 24
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
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;
org/graalvm/compiler/nodes/ReturnNode.getMemoryMap()Lorg/graalvm/compiler/nodes/memory/MemoryMapNode; (5)
(Lorg/graalvm/compiler/nodes/ReturnNode;)Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
astore 26
start local 26 188: aload 25
aload 24
aconst_null
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.mergeReturns:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;Ljava/util/List;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 27
start local 27 189: aload 0
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.ReturnNode
dup
aload 27
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;
190: aload 26
invokeinterface java.util.List.isEmpty:()Z
ifne 200
191: aload 25
aload 26
invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.mergeMemoryMaps:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
astore 28
start local 28 192: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.memory.MemoryMapNode
dup
aload 28
invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Ljava/util/Map;
invokespecial org.graalvm.compiler.nodes.memory.MemoryMapNode.<init>:(Ljava/util/Map;)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 29
start local 29 193: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
aload 29
invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
194: aload 26
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 31
goto 199
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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:
195: aload 31
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.memory.MemoryMapNode
astore 30
start local 30 196: aload 30
aload 29
if_acmpeq 199
aload 30
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.isAlive:()Z
ifeq 199
197: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 198
aload 30
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.hasNoUsages:()Z
ifne 198
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
198: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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 30
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
end local 30 199: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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 31
invokeinterface java.util.Iterator.hasNext:()Z
ifne 195
end local 29 end local 28 200: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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 25
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 27 end local 26 end local 25 201: StackMap locals:
StackMap stack:
aload 0
aload 19
putfield org.graalvm.compiler.replacements.SnippetTemplate.sideEffectNodes:Ljava/util/ArrayList;
202: aload 0
aload 20
putfield org.graalvm.compiler.replacements.SnippetTemplate.deoptNodes:Ljava/util/ArrayList;
203: aload 0
aload 21
putfield org.graalvm.compiler.replacements.SnippetTemplate.stampNodes:Ljava/util/ArrayList;
204: 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;
205: 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 26
goto 209
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope java.util.Map jdk.vm.ci.meta.MetaAccessProvider int org.graalvm.compiler.replacements.SnippetTemplate$VarargsPlaceholderNode[] int 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:
206: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 25
start local 25 207: aload 25
aload 23
if_acmpeq 209
aload 25
aload 23
invokevirtual org.graalvm.compiler.nodes.StartNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
if_acmpeq 209
208: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
aload 25
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 25 209: StackMap locals:
StackMap stack:
aload 26
invokeinterface java.util.Iterator.hasNext:()Z
ifne 206
210: ldc "SnippetTemplateNodeCount[%#s]"
aload 3
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugCounter;
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
i2l
invokeinterface org.graalvm.compiler.debug.DebugCounter.add:(J)V
211: iconst_2
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
ldc "SnippetTemplate final state"
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;)V
end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 212: aload 12
ifnull 220
aload 12
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
goto 220
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack: java.lang.Throwable
213: astore 10
aload 12
ifnull 214
aload 12
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 12 StackMap locals:
StackMap stack:
214: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
215: astore 11
aload 10
ifnonnull 216
aload 11
astore 10
goto 217
StackMap locals:
StackMap stack:
216: aload 10
aload 11
if_acmpeq 217
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
217: aload 10
athrow
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.phases.util.Providers org.graalvm.compiler.api.replacements.SnippetReflectionProvider org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.Object[] org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.Throwable
218: astore 10
start local 10 219: aload 10
invokestatic org.graalvm.compiler.debug.Debug.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 10 220: StackMap locals:
StackMap stack:
return
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 221 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 221 1 providers Lorg/graalvm/compiler/phases/util/Providers;
0 221 2 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 221 3 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
5 221 4 constantArgs [Ljava/lang/Object;
6 221 5 snippetGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
9 221 6 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
10 221 7 signature Ljdk/vm/ci/meta/Signature;
11 221 8 phaseContext Lorg/graalvm/compiler/phases/tiers/PhaseContext;
12 221 9 snippetCopy Lorg/graalvm/compiler/nodes/StructuredGraph;
14 214 12 scope Lorg/graalvm/compiler/debug/Debug$Scope;
17 212 13 nodeReplacements Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
19 212 14 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
21 212 15 parameterCount I
22 212 16 placeholders [Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
23 45 17 i I
26 37 18 arg Ljava/lang/Object;
27 37 19 kind Ljdk/vm/ci/meta/JavaKind;
32 33 20 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
34 35 20 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
36 37 20 constantNode Lorg/graalvm/compiler/nodes/ConstantNode;
29 34 21 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
40 43 18 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
41 43 19 placeholder Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
49 91 17 i I
56 83 18 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
57 83 19 length I
58 83 20 params [Lorg/graalvm/compiler/nodes/ParameterNode;
59 83 21 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
60 68 22 j I
63 66 23 idx I
65 66 24 local Lorg/graalvm/compiler/nodes/ParameterNode;
70 83 22 placeholder Lorg/graalvm/compiler/replacements/SnippetTemplate$VarargsPlaceholderNode;
73 82 23 usage Lorg/graalvm/compiler/graph/Node;
75 79 25 loadIndexed Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
77 79 26 loadSnippetParameter Lorg/graalvm/compiler/replacements/nodes/LoadSnippetVarargParameterNode;
85 89 18 local Lorg/graalvm/compiler/nodes/ParameterNode;
92 212 17 exploded Z
94 104 18 explodeLoop Lorg/graalvm/compiler/replacements/nodes/ExplodeLoopNode;
96 104 19 loopBegin Lorg/graalvm/compiler/nodes/LoopBeginNode;
98 102 20 loop Lorg/graalvm/compiler/loop/LoopEx;
99 102 21 mark Lorg/graalvm/compiler/graph/Graph$Mark;
106 212 18 guardsStage Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
111 114 21 s Lorg/graalvm/compiler/debug/Debug$Scope;
119 120 19 e Ljava/lang/Throwable;
121 212 19 curSideEffectNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/StateSplit;>;
122 212 20 curDeoptNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/DeoptimizingNode;>;
123 212 21 curStampNodes Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/ValueNode;>;
125 138 22 node Lorg/graalvm/compiler/graph/Node;
129 134 24 stateSplit Lorg/graalvm/compiler/nodes/StateSplit;
130 134 25 frameState Lorg/graalvm/compiler/nodes/FrameState;
136 138 24 deoptNode Lorg/graalvm/compiler/nodes/DeoptimizingNode;
143 212 22 anchor Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
146 212 23 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
151 178 24 needsMemoryMaps Z
153 157 25 retNode Lorg/graalvm/compiler/nodes/ReturnNode;
154 157 27 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
160 161 25 needsAnchor Z
162 178 25 needsAnchor Z
163 172 26 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
165 170 27 retNode Lorg/graalvm/compiler/nodes/ReturnNode;
180 212 24 returnNodes Ljava/util/List<Lorg/graalvm/compiler/nodes/ReturnNode;>;
187 201 25 merge Lorg/graalvm/compiler/nodes/AbstractMergeNode;
188 201 26 memMaps Ljava/util/List<Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;>;
189 201 27 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
192 200 28 mmap Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
193 200 29 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
196 199 30 mm Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
207 209 25 node Lorg/graalvm/compiler/graph/Node;
219 220 10 ex Ljava/lang/Throwable;
Exception table:
from to target type
111 112 113 any
110 115 115 any
109 118 118 Class java.lang.Throwable
14 212 213 any
13 215 215 any
12 218 218 Class java.lang.Throwable
MethodParameters:
Name Flags
providers final
snippetReflection
args
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 Lorg/graalvm/compiler/word/WordBase;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 4
2: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 3
aload 5
instanceof jdk.vm.ci.meta.JavaConstant
ifne 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": word constant parameters must be passed boxed in a Constant value: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 6
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 10
5: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 10
aload 5
ifnull 6
aload 6
invokevirtual jdk.vm.ci.meta.JavaKind.toBoxedJavaClass:()Ljava/lang/Class;
aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 10
StackMap locals:
StackMap stack:
6: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": wrong value kind for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ": expected "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", got "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: aload 5
ifnonnull 8
ldc "null"
goto 9
StackMap locals: jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature int java.lang.String java.lang.Object jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ResolvedJavaType
StackMap stack: new 6 new 6 java.lang.StringBuilder
8: aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
StackMap locals: jdk.vm.ci.meta.MetaAccessProvider jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature int java.lang.String java.lang.Object jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ResolvedJavaType
StackMap stack: new 6 new 6 java.lang.StringBuilder java.lang.String
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 11 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 11 2 signature Ljdk/vm/ci/meta/Signature;
0 11 3 i I
0 11 4 name Ljava/lang/String;
0 11 5 arg Ljava/lang/Object;
0 11 6 kind Ljdk/vm/ci/meta/JavaKind;
1 11 7 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
metaAccess
method final
signature
i
name
arg
kind
private static boolean checkVarargs(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature, int, java.lang.String, org.graalvm.compiler.replacements.SnippetTemplate$Varargs);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
iload 3
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
checkcast jdk.vm.ci.meta.ResolvedJavaType
astore 6
start local 6 1: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 2
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 2
new java.lang.AssertionError
dup
ldc "varargs parameter must be an array type"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 4
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 0
aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.componentType:Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 4
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "componentType for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not matching "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " instance: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 5
getfield org.graalvm.compiler.replacements.SnippetTemplate$Varargs.componentType:Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 5 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 2 signature Ljdk/vm/ci/meta/Signature;
0 5 3 i I
0 5 4 name Ljava/lang/String;
0 5 5 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
1 5 6 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
metaAccess
method final
signature
i
name
varargs
private java.util.Map<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;)Ljava/util/Map;
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: invokestatic org.graalvm.compiler.graph.Node.newIdentityMap:()Ljava/util/Map;
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: java.util.Map
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 java.util.Map.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 java.util.Map.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 java.util.Map 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 java.util.Map.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 java.util.Map.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 java.util.Map 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 Ljava/util/Map<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;)Ljava/util/Map<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:
new java.util.HashSet
dup
aload 2
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLocations:()Ljava/util/Collection;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 8: aload 1
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
ifeq 15
9: aload 1
checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
astore 4
start local 4 10: aload 4
invokevirtual org.graalvm.compiler.core.common.LocationIdentity.isAny:()Z
ifeq 13
11: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 12
aload 2
invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLastLocationAccess:(Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
instanceof org.graalvm.compiler.nodes.memory.MemoryAnchorNode
ifeq 12
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
12: StackMap locals: java.util.Set org.graalvm.compiler.core.common.LocationIdentity
StackMap stack:
iconst_1
ireturn
13: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 14
aload 3
aload 4
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 14
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " kills "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", but snippet doesn't contain a kill to this location"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
14: StackMap locals:
StackMap stack:
aload 3
aload 4
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
end local 4 15: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 16
aload 1
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
ifeq 16
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " multi not supported (yet)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
16: StackMap locals:
StackMap stack:
aload 2
invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
invokevirtual org.graalvm.compiler.nodes.memory.MemoryMapNode.getLastLocationAccess:(Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
instanceof org.graalvm.compiler.nodes.memory.MemoryAnchorNode
ifeq 18
17: aload 3
invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
18: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 19
aload 3
invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 19
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "snippet graph contains a kill to ANY_LOCATION, but replacee ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") doesn't kill ANY_LOCATION. kills: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.privateLocations:[Lorg/graalvm/compiler/core/common/LocationIdentity;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 23
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMapNode java.util.Set top int int org.graalvm.compiler.core.common.LocationIdentity[]
StackMap stack:
20: aload 7
iload 5
aaload
astore 4
start local 4 21: aload 3
aload 4
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
end local 4 22: iinc 5 1
StackMap locals:
StackMap stack:
23: iload 5
iload 6
if_icmplt 20
24: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 25
aload 3
invokeinterface java.util.Set.isEmpty:()Z
ifne 25
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "snippet graph kills non-private locations "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " that replacee ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") doesn't kill"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
25: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMapNode java.util.Set
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 26 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
5 26 2 memoryMap Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;
8 26 3 kills Ljava/util/Set<Lorg/graalvm/compiler/core/common/LocationIdentity;>;
10 15 4 locationIdentity Lorg/graalvm/compiler/core/common/LocationIdentity;
21 22 4 p Lorg/graalvm/compiler/core/common/LocationIdentity;
MethodParameters:
Name Flags
replacee
private void rewireMemoryGraph(org.graalvm.compiler.nodes.ValueNode, java.util.Map<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)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;Ljava/util/Map;)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 java.util.Map.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 java.util.Map.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 Ljava/util/Map<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;Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
MethodParameters:
Name Flags
replacee
duplicates
private static org.graalvm.compiler.core.common.LocationIdentity getLocationIdentity(org.graalvm.compiler.graph.Node);
descriptor: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/core/common/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:()Lorg/graalvm/compiler/core/common/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:()Lorg/graalvm/compiler/core/common/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:()Lorg/graalvm/compiler/core/common/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 16
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 16
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;)Lorg/graalvm/compiler/core/common/LocationIdentity;
astore 5
start local 5 5: aload 5
ifnull 16
6: aload 3
invokevirtual org.graalvm.compiler.graph.Node.inputPositions:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 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 org.graalvm.compiler.core.common.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 15
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 15
9: aload 2
aload 5
invokeinterface org.graalvm.compiler.nodes.memory.MemoryMap.getLastLocationAccess:(Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
astore 8
start local 8 10: aload 8
ifnonnull 14
11: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 15
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.mayRemoveLocation:Z
ifne 15
invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 15
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
getfield org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.privateLocations:[Lorg/graalvm/compiler/core/common/LocationIdentity;
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
aload 5
invokestatic java.util.function.Predicate.isEqual:(Ljava/lang/Object;)Ljava/util/function/Predicate;
invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
ifne 15
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Snippet "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: 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;
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;
13: aload 2
invokeinterface org.graalvm.compiler.nodes.memory.MemoryMap.getLocations:()Ljava/util/Collection;
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: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.MemoryMap org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.core.common.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 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 org.graalvm.compiler.core.common.LocationIdentity top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 5 end local 3 16: 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
17: 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 node Lorg/graalvm/compiler/nodes/ValueNode;
0 18 2 map Lorg/graalvm/compiler/nodes/memory/MemoryMap;
2 16 3 usage Lorg/graalvm/compiler/graph/Node;
5 16 5 location Lorg/graalvm/compiler/core/common/LocationIdentity;
8 15 6 pos Lorg/graalvm/compiler/graph/Position;
10 15 8 replacement Lorg/graalvm/compiler/nodes/memory/MemoryNode;
MethodParameters:
Name Flags
node
map
public java.util.Map<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;)Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=23, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 1
aload 0
aload 2
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.assertSnippetKills:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aconst_null
astore 5
aconst_null
astore 6
2: 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/DebugTimer;
invokeinterface org.graalvm.compiler.debug.DebugTimer.start:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 7
start local 7 3: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.instantiationTimer:Lorg/graalvm/compiler/debug/DebugTimer;
invokeinterface org.graalvm.compiler.debug.DebugTimer.start:()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/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
5: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.instantiationCounter:Lorg/graalvm/compiler/debug/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
6: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 9
start local 9 7: aload 9
invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 10
start local 10 8: aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 11
start local 11 9: aload 0
aload 11
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;)Ljava/util/Map;
astore 12
start local 12 10: aload 12
aload 9
aload 2
invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 11
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 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addDuplicates:(Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph;ILjava/util/Map;)Ljava/util/Map;
astore 13
start local 13 12: iconst_2
aload 11
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;
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
13: aload 13
aload 10
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 14
start local 14 14: aload 2
aload 14
invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
15: aload 0
aload 2
aload 13
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)V
16: aload 2
instanceof org.graalvm.compiler.nodes.DeoptimizingNode
ifeq 53
17: aload 2
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 15
start local 15 18: aconst_null
astore 16
start local 16 19: aconst_null
astore 17
start local 17 20: aconst_null
astore 18
start local 18 21: aload 15
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 28
22: aload 15
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
ifeq 24
23: aload 15
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
astore 16
24: 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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph java.util.Map java.util.Map org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState
StackMap stack:
aload 15
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
ifeq 26
25: aload 15
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
astore 17
26: StackMap locals:
StackMap stack:
aload 15
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
ifeq 28
27: aload 15
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
astore 18
28: 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 20
goto 52
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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph java.util.Map java.util.Map org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
29: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 19
start local 19 30: aload 13
aload 19
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
astore 21
start local 21 31: aload 21
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
ifeq 52
32: aload 21
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
ifeq 34
33: aload 21
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore
aload 16
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptBefore.setStateBefore:(Lorg/graalvm/compiler/nodes/FrameState;)V
34: 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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph java.util.Map java.util.Map org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.DeoptimizingNode java.util.Iterator org.graalvm.compiler.nodes.DeoptimizingNode
StackMap stack:
aload 21
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
ifeq 45
35: aload 21
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
astore 22
start local 22 36: aload 17
ifnull 39
37: aload 22
aload 17
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
38: goto 45
StackMap locals: org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring
StackMap stack:
39: aload 18
ifnull 42
40: aload 22
aload 18
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.computeStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
41: goto 45
StackMap locals:
StackMap stack:
42: aload 16
ifnull 45
43: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 44
aload 22
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.hasSideEffect:()Z
ifeq 44
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 22
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
44: StackMap locals:
StackMap stack:
aload 22
aload 16
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptDuring.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 22 45: StackMap locals:
StackMap stack:
aload 21
instanceof org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
ifeq 52
46: aload 21
checkcast org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
astore 22
start local 22 47: aload 18
ifnull 50
48: aload 22
aload 18
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
49: goto 52
50: StackMap locals: org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 51
aload 22
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.hasSideEffect:()Z
ifeq 51
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 22
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
51: StackMap locals:
StackMap stack:
aload 22
aload 16
invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode$DeoptAfter.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
end local 22 end local 21 end local 19 52: 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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph java.util.Map java.util.Map org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.DeoptimizingNode org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
end local 18 end local 17 end local 16 end local 15 53: 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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph java.util.Map java.util.Map org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 0
aload 2
aload 13
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)V
54: getstatic org.graalvm.compiler.core.common.GraalOptions.UseGraalInstrumentation:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 60
55: aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/debug/instrumentation/InstrumentationNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 16
goto 59
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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph java.util.Map java.util.Map org.graalvm.compiler.nodes.FixedNode top java.util.Iterator
StackMap stack:
56: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.debug.instrumentation.InstrumentationNode
astore 15
start local 15 57: aload 15
invokevirtual org.graalvm.compiler.nodes.debug.instrumentation.InstrumentationNode.getTarget:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 59
58: aload 15
aload 2
aload 14
invokevirtual org.graalvm.compiler.nodes.debug.instrumentation.InstrumentationNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
end local 15 59: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 56
60: 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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StructuredGraph java.util.Map java.util.Map org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 0
aload 2
aload 13
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireMemoryGraph:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)V
61: aconst_null
astore 15
start local 15 62: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
ifnull 77
aload 2
instanceof org.graalvm.compiler.nodes.ControlSinkNode
ifne 77
63: aload 13
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 16
start local 16 64: aload 16
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 15
65: aload 15
ifnonnull 68
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 68
aload 2
instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint
ifeq 68
66: 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
67: goto 70
68: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ReturnNode
StackMap stack:
getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 69
aload 15
ifnonnull 69
aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.hasNoUsages:()Z
ifne 69
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
69: StackMap locals:
StackMap stack:
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
70: StackMap locals:
StackMap stack:
aload 16
invokevirtual org.graalvm.compiler.nodes.ReturnNode.isAlive:()Z
ifeq 77
71: aconst_null
astore 17
start local 17 72: aload 2
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 76
73: aload 2
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 18
start local 18 74: aload 18
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 17
75: aload 18
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 18 76: StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 16
aload 17
invokevirtual org.graalvm.compiler.nodes.ReturnNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 17 end local 16 77: StackMap locals:
StackMap stack:
aload 2
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
78: iconst_2
aload 11
ldc "After lowering %s with %s"
aload 2
aload 0
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
79: aload 13
80: aload 8
ifnull 81
aload 8
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
StackMap locals:
StackMap stack: java.util.Map
81: aload 7
ifnull 82
aload 7
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
82: StackMap locals:
StackMap stack: java.util.Map
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
83: astore 5
84: aload 8
ifnull 85
aload 8
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 8 StackMap locals:
StackMap stack:
85: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
86: astore 6
aload 5
ifnonnull 87
aload 6
astore 5
goto 88
StackMap locals:
StackMap stack:
87: aload 5
aload 6
if_acmpeq 88
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
88: aload 7
ifnull 89
aload 7
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 7 StackMap locals:
StackMap stack:
89: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
90: astore 6
aload 5
ifnonnull 91
aload 6
astore 5
goto 92
StackMap locals:
StackMap stack:
91: aload 5
aload 6
if_acmpeq 92
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
92: aload 5
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 93 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 93 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 93 2 replacee Lorg/graalvm/compiler/nodes/FixedNode;
0 93 3 replacer Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
0 93 4 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
3 89 7 a Lorg/graalvm/compiler/debug/DebugCloseable;
4 85 8 b Lorg/graalvm/compiler/debug/DebugCloseable;
7 83 9 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
8 83 10 firstCFGNode Lorg/graalvm/compiler/nodes/FixedNode;
9 83 11 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
10 83 12 replacements Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
12 83 13 duplicates Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
14 83 14 firstCFGNodeDuplicate Lorg/graalvm/compiler/nodes/FixedNode;
18 53 15 replaceeDeopt Lorg/graalvm/compiler/nodes/DeoptimizingNode;
19 53 16 stateBefore Lorg/graalvm/compiler/nodes/FrameState;
20 53 17 stateDuring Lorg/graalvm/compiler/nodes/FrameState;
21 53 18 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
30 52 19 deoptNode Lorg/graalvm/compiler/nodes/DeoptimizingNode;
31 52 21 deoptDup Lorg/graalvm/compiler/nodes/DeoptimizingNode;
36 45 22 deoptDupDuring Lorg/graalvm/compiler/nodes/DeoptimizingNode$DeoptDuring;
47 52 22 deoptDupAfter Lorg/graalvm/compiler/nodes/DeoptimizingNode$DeoptAfter;
57 59 15 instrumentation Lorg/graalvm/compiler/nodes/debug/instrumentation/InstrumentationNode;
62 83 15 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
64 77 16 returnDuplicate Lorg/graalvm/compiler/nodes/ReturnNode;
72 77 17 next Lorg/graalvm/compiler/nodes/FixedNode;
74 76 18 fwn Lorg/graalvm/compiler/nodes/FixedWithNextNode;
Exception table:
from to target type
4 80 83 any
3 81 86 any
83 86 86 any
2 82 90 any
83 90 90 any
Signature: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
MethodParameters:
Name Flags
metaAccess
replacee
replacer
args
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, java.util.Map<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)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.stampNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode java.util.Map 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 java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 5
start local 5 3: aload 5
checkcast org.graalvm.compiler.nodes.ValueNode
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.nodes.ValueNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
end local 5 end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: 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 12
StackMap locals:
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ParameterNode
astore 3
start local 3 7: 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 11
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode java.util.Map org.graalvm.compiler.nodes.ParameterNode java.util.Iterator top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 5
start local 5 9: aload 2
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 7
start local 7 10: aload 0
aload 7
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.propagateStamp:(Lorg/graalvm/compiler/graph/Node;)V
end local 7 end local 5 11: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 3 12: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode java.util.Map top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 14 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
0 14 2 duplicates Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
2 4 3 stampNode Lorg/graalvm/compiler/nodes/ValueNode;
3 4 5 stampDup Lorg/graalvm/compiler/graph/Node;
7 12 3 paramNode Lorg/graalvm/compiler/nodes/ParameterNode;
9 11 5 usage Lorg/graalvm/compiler/graph/Node;
10 11 7 usageDup Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
MethodParameters:
Name Flags
replacee
duplicates
public org.graalvm.compiler.nodes.StructuredGraph copySpecializedGraph();
descriptor: ()Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.copy:()Lorg/graalvm/compiler/graph/Graph;
checkcast org.graalvm.compiler.nodes.StructuredGraph
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
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=5, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 1
aload 0
aload 2
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.assertSnippetKills:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aconst_null
astore 6
aconst_null
astore 7
2: 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/DebugTimer;
invokeinterface org.graalvm.compiler.debug.DebugTimer.start:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 8
start local 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.instantiationCounter:Lorg/graalvm/compiler/debug/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
4: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.instantiationCounter:Lorg/graalvm/compiler/debug/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()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: aload 9
invokevirtual org.graalvm.compiler.nodes.StartNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 10
start local 10 7: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 11
start local 11 8: aload 0
aload 11
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;)Ljava/util/Map;
astore 12
start local 12 9: aload 12
aload 9
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 java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 11
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 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addDuplicates:(Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph;ILjava/util/Map;)Ljava/util/Map;
astore 13
start local 13 11: iconst_2
aload 11
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;
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
12: aload 4
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
astore 14
start local 14 13: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 15
aload 14
ifnull 14
aload 14
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.isAlive:()Z
ifne 15
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 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 java.util.Map java.util.Map org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
14: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 11
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 14
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:
StackMap stack:
aload 14
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 15
start local 15 16: aload 14
aconst_null
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
17: aload 13
aload 10
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.FixedNode
astore 16
start local 16 18: aload 11
aload 14
aload 16
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
19: aload 0
aload 2
aload 13
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)V
20: aload 0
aload 2
aload 13
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)V
21: aload 0
aload 2
aload 13
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireMemoryGraph:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)V
22: aload 13
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 17
start local 17 23: aload 17
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 18
start local 18 24: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 25
aload 18
ifnonnull 25
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.FloatingNode.hasNoUsages:()Z
ifne 25
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
25: StackMap locals: org.graalvm.compiler.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 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 java.util.Map java.util.Map org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ReturnNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 3
aload 2
aload 18
invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
26: aload 17
invokevirtual org.graalvm.compiler.nodes.ReturnNode.isAlive:()Z
ifeq 28
27: aload 17
aload 15
invokevirtual org.graalvm.compiler.nodes.ReturnNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
28: StackMap locals:
StackMap stack:
iconst_2
aload 11
ldc "After lowering %s with %s"
aload 2
aload 0
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
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 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.nodes.spi.LoweringTool org.graalvm.compiler.replacements.SnippetTemplate$Arguments 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 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
0 36 5 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
3 31 8 a Lorg/graalvm/compiler/debug/DebugCloseable;
6 29 9 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
7 29 10 firstCFGNode Lorg/graalvm/compiler/nodes/FixedNode;
8 29 11 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
9 29 12 replacements Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
11 29 13 duplicates Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
13 29 14 lastFixedNode Lorg/graalvm/compiler/nodes/FixedWithNextNode;
16 29 15 next Lorg/graalvm/compiler/nodes/FixedNode;
18 29 16 firstCFGNodeDuplicate Lorg/graalvm/compiler/nodes/FixedNode;
23 29 17 returnDuplicate Lorg/graalvm/compiler/nodes/ReturnNode;
24 29 18 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
Exception table:
from to target type
3 29 30 any
2 32 32 any
MethodParameters:
Name Flags
metaAccess
replacee
replacer
tool
args
public void instantiate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.nodes.calc.FloatingNode, org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer, org.graalvm.compiler.replacements.SnippetTemplate$Arguments);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 1
aload 0
aload 2
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.assertSnippetKills:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aconst_null
astore 5
aconst_null
astore 6
2: 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/DebugTimer;
invokeinterface org.graalvm.compiler.debug.DebugTimer.start:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 7
start local 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.instantiationCounter:Lorg/graalvm/compiler/debug/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
4: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.instantiationCounter:Lorg/graalvm/compiler/debug/DebugCounter;
invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()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 8
start local 8 6: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 9
aload 8
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 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 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 8
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 9
start local 9 10: aload 0
aload 9
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;)Ljava/util/Map;
astore 10
start local 10 11: aconst_null
astore 11
start local 11 12: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
ifnull 15
13: aload 9
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 11
14: aload 10
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.memoryAnchor:Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
aload 11
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.util.Map 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 12
start local 12 16: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.nodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 14
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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.StructuredGraph java.util.Map org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List top java.util.Iterator
StackMap stack:
17: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 13
start local 13 18: aload 13
aload 8
if_acmpeq 20
aload 13
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.returnNode:Lorg/graalvm/compiler/nodes/ReturnNode;
if_acmpeq 20
19: aload 12
aload 13
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 13 20: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
21: aload 9
aload 12
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 12
invokeinterface java.util.List.size:()I
aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addDuplicates:(Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph;ILjava/util/Map;)Ljava/util/Map;
astore 13
start local 13 22: iconst_2
aload 9
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;
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
23: aload 0
aload 2
aload 13
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireFrameStates:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)V
24: aload 0
aload 2
aload 13
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.updateStamps:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)V
25: aload 0
aload 2
aload 13
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.rewireMemoryGraph:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)V
26: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 27
aload 11
ifnull 27
aload 11
invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.isDeleted:()Z
ifne 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
27: 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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StartNode org.graalvm.compiler.nodes.StructuredGraph java.util.Map org.graalvm.compiler.nodes.memory.MemoryAnchorNode java.util.List java.util.Map
StackMap stack:
aload 13
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 java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 14
start local 14 28: aload 3
aload 2
aload 14
invokeinterface org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer.replace:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
29: iconst_2
aload 9
ldc "After lowering %s with %s"
aload 2
aload 0
invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 30: aload 7
ifnull 36
aload 7
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 36
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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
31: astore 5
aload 7
ifnull 32
aload 7
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 7 StackMap locals:
StackMap stack:
32: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
33: astore 6
aload 5
ifnonnull 34
aload 6
astore 5
goto 35
StackMap locals:
StackMap stack:
34: aload 5
aload 6
if_acmpeq 35
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
35: aload 5
athrow
36: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 37 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 37 2 replacee Lorg/graalvm/compiler/nodes/calc/FloatingNode;
0 37 3 replacer Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
0 37 4 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
3 32 7 a Lorg/graalvm/compiler/debug/DebugCloseable;
6 30 8 entryPointNode Lorg/graalvm/compiler/nodes/StartNode;
10 30 9 replaceeGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
11 30 10 replacements Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
12 30 11 anchorDuplicate Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
16 30 12 floatingNodes Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
18 20 13 n Lorg/graalvm/compiler/graph/Node;
22 30 13 duplicates Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
28 30 14 returnValue Lorg/graalvm/compiler/nodes/ValueNode;
Exception table:
from to target type
3 30 31 any
2 33 33 any
MethodParameters:
Name Flags
metaAccess
replacee
replacer
args
protected void rewireFrameStates(org.graalvm.compiler.nodes.ValueNode, java.util.Map<org.graalvm.compiler.graph.Node, org.graalvm.compiler.graph.Node>);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.graalvm.compiler.nodes.StateSplit
ifeq 7
1: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.sideEffectNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode java.util.Map 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 java.util.Map org.graalvm.compiler.nodes.StateSplit java.util.Iterator
StackMap stack:
aload 2
aload 3
invokeinterface java.util.Map.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 java.util.Map top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate org.graalvm.compiler.nodes.ValueNode java.util.Map
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 8 1 replacee Lorg/graalvm/compiler/nodes/ValueNode;
0 8 2 duplicates Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
3 6 3 sideEffectNode Lorg/graalvm/compiler/nodes/StateSplit;
5 6 5 sideEffectDup Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/Map<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;)V
MethodParameters:
Name Flags
replacee
duplicates
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.snippet:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.toString:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
astore 1
start local 1 1: ldc ""
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 27
4: StackMap locals: java.lang.StringBuilder java.lang.String int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 5: aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
iload 3
aaload
astore 5
start local 5 6: aload 1
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: ldc ", "
astore 2
8: aload 5
ifnonnull 11
9: aload 1
ldc "<null> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: goto 26
StackMap locals: java.lang.String java.lang.Object
StackMap stack:
11: aload 5
getstatic org.graalvm.compiler.replacements.SnippetTemplate.UNUSED_PARAMETER:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 1
ldc "<unused> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: goto 26
StackMap locals:
StackMap stack:
14: aload 5
getstatic org.graalvm.compiler.replacements.SnippetTemplate.CONSTANT_PARAMETER:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 17
15: aload 1
ldc "<constant> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: goto 26
StackMap locals:
StackMap stack:
17: aload 5
instanceof org.graalvm.compiler.nodes.ParameterNode
ifeq 21
18: aload 5
checkcast org.graalvm.compiler.nodes.ParameterNode
astore 6
start local 6 19: aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 20: goto 26
21: StackMap locals:
StackMap stack:
aload 5
checkcast org.graalvm.compiler.nodes.ParameterNode[]
astore 6
start local 6 22: aload 6
arraylength
ifne 23
ldc "?"
goto 24
StackMap locals: org.graalvm.compiler.nodes.ParameterNode[]
StackMap stack:
23: aload 6
iconst_0
aaload
invokevirtual org.graalvm.compiler.nodes.ParameterNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
24: astore 7
start local 7 25: aload 1
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 6
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 7 end local 6 end local 5 end local 4 26: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
27: iload 3
aload 0
getfield org.graalvm.compiler.replacements.SnippetTemplate.parameters:[Ljava/lang/Object;
arraylength
if_icmplt 4
end local 3 28: aload 1
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
1 29 1 buf Ljava/lang/StringBuilder;
2 29 2 sep Ljava/lang/String;
3 28 3 i I
5 26 4 name Ljava/lang/String;
6 26 5 value Ljava/lang/Object;
19 20 6 param Lorg/graalvm/compiler/nodes/ParameterNode;
22 26 6 params [Lorg/graalvm/compiler/nodes/ParameterNode;
25 26 7 kind Ljava/lang/String;
private static boolean checkTemplate(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.replacements.SnippetTemplate$Arguments, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.Signature);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 10
2: StackMap locals: int
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isConstantParameter:(I)Z
ifeq 5
3: aload 3
iload 4
invokeinterface jdk.vm.ci.meta.Signature.getParameterKind:(I)Ljdk/vm/ci/meta/JavaKind;
astore 5
start local 5 4: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 9
aload 0
aload 2
aload 3
iload 4
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 4
aaload
aload 5
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkConstantArgument:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Ljava/lang/Object;Ljdk/vm/ci/meta/JavaKind;)Z
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 5 5: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.isVarargsParameter:(I)Z
ifeq 9
6: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 7
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 4
aaload
instanceof org.graalvm.compiler.replacements.SnippetTemplate$Varargs
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.values:[Ljava/lang/Object;
iload 4
aaload
checkcast org.graalvm.compiler.replacements.SnippetTemplate$Varargs
astore 5
start local 5 8: getstatic org.graalvm.compiler.replacements.SnippetTemplate.$assertionsDisabled:Z
ifne 9
aload 0
aload 2
aload 3
iload 4
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
iload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterName:(I)Ljava/lang/String;
aload 5
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.checkVarargs:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/Signature;ILjava/lang/String;Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;)Z
ifne 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 5 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 1
getfield org.graalvm.compiler.replacements.SnippetTemplate$Arguments.info:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.getParameterCount:()I
if_icmplt 2
end local 4 11: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 12 1 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 12 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 12 3 signature Ljdk/vm/ci/meta/Signature;
1 11 4 i I
4 5 5 kind Ljdk/vm/ci/meta/JavaKind;
8 9 5 varargs Lorg/graalvm/compiler/replacements/SnippetTemplate$Varargs;
MethodParameters:
Name Flags
metaAccess
args
method
signature
public void setMayRemoveLocation(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.graalvm.compiler.replacements.SnippetTemplate.mayRemoveLocation:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/SnippetTemplate;
0 2 1 mayRemoveLocation Z
MethodParameters:
Name Flags
mayRemoveLocation
}
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.Debug$Scope of org.graalvm.compiler.debug.Debug
public Mark = org.graalvm.compiler.graph.Graph$Mark of org.graalvm.compiler.graph.Graph
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 AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions 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