public class org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates extends org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates
super_class: org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates
{
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo arraycopyGenericSnippet;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo arraycopyUnrolledSnippet;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo arraycopyExactSnippet;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo arraycopyZeroLengthSnippet;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo arraycopyCheckcastSnippet;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo arraycopyNativeSnippet;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo checkcastArraycopyWithSlowPathWork;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo genericArraycopyWithSlowPathWork;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private jdk.vm.ci.meta.ResolvedJavaMethod originalArraycopy;
descriptor: Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0002) ACC_PRIVATE
private final org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Counters counters;
descriptor: Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Counters;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets;
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.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.options.OptionValues, java.lang.Iterable<org.graalvm.compiler.debug.DebugHandlersFactory>, org.graalvm.compiler.replacements.SnippetCounter$Group$Factory, org.graalvm.compiler.hotspot.meta.HotSpotProviders, jdk.vm.ci.code.TargetDescription);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 4
aload 4
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 5
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
1: aload 0
aload 0
ldc "arraycopyGenericSnippet"
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyGenericSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
2: aload 0
aload 0
ldc "arraycopyUnrolledSnippet"
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyUnrolledSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
3: aload 0
aload 0
ldc "arraycopyExactSnippet"
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
4: aload 0
aload 0
ldc "arraycopyZeroLengthSnippet"
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyZeroLengthSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
5: aload 0
aload 0
ldc "arraycopyCheckcastSnippet"
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyCheckcastSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
6: aload 0
aload 0
ldc "arraycopyNativeSnippet"
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyNativeSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
7: aload 0
aload 0
ldc "checkcastArraycopyWithSlowPathWork"
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.checkcastArraycopyWithSlowPathWork:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
8: aload 0
aload 0
ldc "genericArraycopyWithSlowPathWork"
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.genericArraycopyWithSlowPathWork:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
9: aload 0
new org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Counters
dup
aload 3
invokespecial org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Counters.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;)V
putfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.counters:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Counters;
10: 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 11 0 this Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Templates;
0 11 1 options Lorg/graalvm/compiler/options/OptionValues;
0 11 2 factories Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
0 11 3 factory Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;
0 11 4 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
0 11 5 target Ljdk/vm/ci/code/TargetDescription;
Signature: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
MethodParameters:
Name Flags
options
factories
factory
providers
target
protected org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo snippet(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets;
aload 1
iconst_1
anewarray jdk.internal.vm.compiler.word.LocationIdentity
dup
iconst_0
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aastore
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 2
start local 2 1: aload 2
aload 0
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.originalArraycopy:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo.setOriginalMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Templates;
0 3 1 methodName Ljava/lang/String;
1 3 2 info Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
MethodParameters:
Name Flags
methodName
public void lower(org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopyNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.selectComponentKind:(Lorg/graalvm/compiler/replacements/nodes/BasicArrayCopyNode;)Ljdk/vm/ci/meta/JavaKind;
astore 3
start local 3 1: aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.getSource:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 6
start local 6 2: aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.getDestination:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 7
start local 7 3: aload 6
invokestatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.canBeArray:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 4
aload 7
invokestatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.canBeArray:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 7
4: StackMap locals: org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.JavaKind top top jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyNativeSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 4
start local 4 5: getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.UNDEFINED_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 5
start local 5 6: goto 40
end local 5 end local 4 7: StackMap locals:
StackMap stack:
aload 6
ifnonnull 8
aconst_null
goto 9
StackMap locals:
StackMap stack:
8: aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.ResolvedJavaType
9: astore 8
start local 8 10: aload 7
ifnonnull 11
aconst_null
goto 12
StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
11: aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.ResolvedJavaType
12: astore 9
start local 9 13: aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.isExact:()Z
ifeq 17
14: aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 4
start local 4 15: getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.NO_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 5
start local 5 16: goto 40
end local 5 end local 4 StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
17: aload 8
ifnonnull 21
aload 9
ifnonnull 21
18: aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyGenericSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 4
start local 4 19: getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.NO_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 5
start local 5 20: goto 40
end local 5 end local 4 StackMap locals:
StackMap stack:
21: aload 8
ifnull 30
aload 9
ifnull 30
22: aload 8
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
ifne 26
aload 9
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
ifne 26
23: aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyCheckcastSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 4
start local 4 24: getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.NO_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 5
start local 5 25: goto 40
end local 5 end local 4 26: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 27
aload 8
aload 9
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 27
new java.lang.AssertionError
dup
ldc "must be handled by arraycopy.isExact()"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
27: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyNativeSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 4
start local 4 28: getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.UNDEFINED_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 5
start local 5 29: goto 40
end local 5 end local 4 30: StackMap locals:
StackMap stack:
aload 8
ifnull 31
aload 8
goto 32
StackMap locals:
StackMap stack:
31: aload 9
StackMap locals:
StackMap stack: jdk.vm.ci.meta.ResolvedJavaType
32: astore 10
start local 10 33: aload 10
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
ifeq 38
34: aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 4
start local 4 35: getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.HUB_BASED_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 5
start local 5 36: aload 10
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
astore 3
37: goto 40
end local 5 end local 4 38: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyCheckcastSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 4
start local 4 39: getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.LAYOUT_HELPER_BASED_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 5
end local 10 end local 9 end local 8 start local 5 40: StackMap locals: org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.JavaKind org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 4
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyNativeSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpeq 43
aload 4
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyGenericSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpeq 43
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.getLength:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 43
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.getLength:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lconst_0
lcmp
ifne 43
41: aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyZeroLengthSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 4
42: goto 45
StackMap locals:
StackMap stack:
43: aload 4
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpne 45
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.getLength:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.shouldUnroll:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 45
44: aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyUnrolledSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 4
45: StackMap locals:
StackMap stack:
new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 4
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 8
start local 8 46: aload 8
ldc "src"
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.getSource:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
47: aload 8
ldc "srcPos"
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.getSourcePosition:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
48: aload 8
ldc "dest"
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.getDestination:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
49: aload 8
ldc "destPos"
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.getDestinationPosition:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
50: aload 8
ldc "length"
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.getLength:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
51: aload 4
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyNativeSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpeq 54
52: getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 53
aload 5
getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.UNDEFINED_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
if_acmpne 53
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
53: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate$Arguments
StackMap stack:
aload 8
ldc "arrayTypeCheck"
aload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
54: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyUnrolledSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpne 59
55: aload 8
ldc "elementKind"
aload 3
ifnull 56
aload 3
goto 57
StackMap locals: org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.JavaKind org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.replacements.SnippetTemplate$Arguments
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String
56: getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
StackMap locals: org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.JavaKind org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.replacements.SnippetTemplate$Arguments
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String jdk.vm.ci.meta.JavaKind
57: invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
58: aload 8
ldc "unrolledLength"
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyNode.getLength:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
59: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpne 64
60: getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 61
aload 3
ifnonnull 61
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
61: StackMap locals:
StackMap stack:
aload 8
ldc "elementKind"
aload 3
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
62: aload 8
ldc "elementKindCounter"
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.counters:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Counters;
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Counters.arraycopyCallCounters:Ljava/util/EnumMap;
aload 3
invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
63: aload 8
ldc "elementKindCopiedCounter"
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.counters:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Counters;
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Counters.arraycopyCallCopiedCounters:Ljava/util/EnumMap;
aload 3
invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
64: StackMap locals:
StackMap stack:
aload 8
ldc "counters"
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.counters:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Counters;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
65: aload 4
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyCheckcastSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpne 68
66: aload 8
ldc "workSnippet"
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.checkcastArraycopyWithSlowPathWork:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
67: aload 8
ldc "elementKind"
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
68: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyGenericSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpne 71
69: aload 8
ldc "workSnippet"
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.genericArraycopyWithSlowPathWork:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
70: aload 8
ldc "elementKind"
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
71: StackMap locals:
StackMap stack:
aload 0
aload 8
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.instantiate:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Lorg/graalvm/compiler/replacements/nodes/BasicArrayCopyNode;)V
72: return
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 73 0 this Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Templates;
0 73 1 arraycopy Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopyNode;
0 73 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 73 3 elementKind Ljdk/vm/ci/meta/JavaKind;
5 7 4 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
15 17 4 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
19 21 4 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
24 26 4 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
28 30 4 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
35 38 4 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
39 73 4 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
6 7 5 arrayTypeCheck Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
16 17 5 arrayTypeCheck Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
20 21 5 arrayTypeCheck Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
25 26 5 arrayTypeCheck Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
29 30 5 arrayTypeCheck Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
36 38 5 arrayTypeCheck Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
40 73 5 arrayTypeCheck Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
2 73 6 srcType Ljdk/vm/ci/meta/ResolvedJavaType;
3 73 7 destType Ljdk/vm/ci/meta/ResolvedJavaType;
10 40 8 srcComponentType Ljdk/vm/ci/meta/ResolvedJavaType;
13 40 9 destComponentType Ljdk/vm/ci/meta/ResolvedJavaType;
33 40 10 nonNullComponentType Ljdk/vm/ci/meta/ResolvedJavaType;
46 73 8 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
MethodParameters:
Name Flags
arraycopy
tool
public void lower(org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopyWithSlowPathNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
ifne 3
2: return
3: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode.getSnippet:()Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 4
start local 4 4: new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 4
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 5
start local 5 5: aload 5
ldc "src"
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode.getSource:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
6: aload 5
ldc "srcPos"
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode.getSourcePosition:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
7: aload 5
ldc "dest"
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode.getDestination:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
8: aload 5
ldc "destPos"
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode.getDestinationPosition:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
9: aload 5
ldc "length"
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode.getLength:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
10: aload 5
ldc "counters"
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.counters:Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Counters;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
11: aload 0
aload 5
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.instantiate:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Lorg/graalvm/compiler/replacements/nodes/BasicArrayCopyNode;)V
12: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Templates;
0 13 1 arraycopy Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopyWithSlowPathNode;
0 13 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 13 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 13 4 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
5 13 5 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
MethodParameters:
Name Flags
arraycopy
tool
private static boolean canBeArray(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
ifne 1
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
type
public static jdk.vm.ci.meta.JavaKind selectComponentKind(org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode);
descriptor: (Lorg/graalvm/compiler/replacements/nodes/BasicArrayCopyNode;)Ljdk/vm/ci/meta/JavaKind;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.getSource:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 1
start local 1 1: aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.getDestination:()Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 2
start local 2 2: aload 1
ifnull 3
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifeq 3
aload 2
ifnull 3
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 4
3: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 6
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.isExact:()Z
ifne 8
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 arraycopy Lorg/graalvm/compiler/replacements/nodes/BasicArrayCopyNode;
1 9 1 srcType Ljdk/vm/ci/meta/ResolvedJavaType;
2 9 2 destType Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
arraycopy
private static boolean shouldUnroll(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 1
aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
bipush 8
if_icmpgt 1
aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 length Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
length
private void instantiate(org.graalvm.compiler.replacements.SnippetTemplate$Arguments, org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode);
descriptor: (Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Lorg/graalvm/compiler/replacements/nodes/BasicArrayCopyNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 0
aload 2
aload 1
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.template:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
astore 4
start local 4 2: aload 4
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 2
getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
aload 1
iconst_0
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Z)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
astore 5
start local 5 3: aload 5
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.getKeys:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 24
StackMap locals: org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.SnippetTemplate jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 6
start local 6 5: aload 6
instanceof org.graalvm.compiler.nodes.Invoke
ifeq 19
6: aload 5
aload 6
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.Invoke
astore 8
start local 8 7: getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 8
aload 8
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 3
if_acmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.SnippetTemplate jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.Invoke
StackMap stack:
aload 8
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
astore 9
start local 9 9: aload 9
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.originalArraycopy:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 11
10: new org.graalvm.compiler.debug.GraalError
dup
ldc "unexpected invoke %s in snippet"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 9
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aastore
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
11: StackMap locals: org.graalvm.compiler.nodes.CallTargetNode
StackMap stack:
aload 3
new org.graalvm.compiler.nodes.InvokeNode
dup
aload 8
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.getBci:()I
invokespecial org.graalvm.compiler.nodes.InvokeNode.<init>:(Lorg/graalvm/compiler/nodes/CallTargetNode;I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.InvokeNode
astore 10
start local 10 12: aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 15
13: aload 10
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.InvokeNode.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
14: goto 17
15: StackMap locals: org.graalvm.compiler.nodes.InvokeNode
StackMap stack:
getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 16
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 16
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
16: StackMap locals:
StackMap stack:
aload 10
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.InvokeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
17: StackMap locals:
StackMap stack:
aload 3
aload 8
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
checkcast org.graalvm.compiler.nodes.InvokeNode
aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 10 end local 9 end local 8 18: goto 24
StackMap locals:
StackMap stack:
19: aload 6
instanceof org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode
ifeq 24
20: aload 5
aload 6
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode
astore 8
start local 8 21: getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 22
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 22
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
22: StackMap locals: org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode
StackMap stack:
getstatic org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 23
aload 8
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
if_acmpeq 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals:
StackMap stack:
aload 8
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.getBci:()I
invokevirtual org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopyWithSlowPathNode.setBci:(I)V
end local 8 end local 6 24: StackMap locals: org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.SnippetTemplate jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
25: aload 2
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
26: 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 27 0 this Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Templates;
0 27 1 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 27 2 arraycopy Lorg/graalvm/compiler/replacements/nodes/BasicArrayCopyNode;
1 27 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 27 4 template Lorg/graalvm/compiler/replacements/SnippetTemplate;
3 27 5 replacements Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
5 24 6 originalNode Lorg/graalvm/compiler/graph/Node;
7 18 8 invoke Lorg/graalvm/compiler/nodes/Invoke;
9 18 9 call Lorg/graalvm/compiler/nodes/CallTargetNode;
12 18 10 newInvoke Lorg/graalvm/compiler/nodes/InvokeNode;
21 24 8 slowPath Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopyWithSlowPathNode;
MethodParameters:
Name Flags
args
arraycopy
private jdk.vm.ci.meta.ResolvedJavaMethod originalArraycopy();
descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.originalArraycopy:Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnonnull 6
1: ldc Ljava/lang/System;
ldc "arraycopy"
iconst_5
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_2
ldc Ljava/lang/Object;
aastore
dup
iconst_3
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_4
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 1
start local 1 2: goto 5
end local 1 StackMap locals:
StackMap stack: java.lang.Exception
3: astore 2
start local 2 4: new org.graalvm.compiler.debug.GraalError
dup
aload 2
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 start local 1 5: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 0
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
putfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.originalArraycopy:Ljdk/vm/ci/meta/ResolvedJavaMethod;
end local 1 6: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates.originalArraycopy:Ljdk/vm/ci/meta/ResolvedJavaMethod;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/hotspot/replacements/arraycopy/ArrayCopySnippets$Templates;
2 3 1 method Ljava/lang/reflect/Method;
5 6 1 method Ljava/lang/reflect/Method;
4 5 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.NoSuchMethodException
1 2 3 Class java.lang.SecurityException
Exceptions:
throws org.graalvm.compiler.debug.GraalError
}
SourceFile: "ArrayCopySnippets.java"
NestHost: org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets
InnerClasses:
private final ArrayCopyTypeCheck = org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck of org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets
Counters = org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Counters of org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets
public Templates = org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets$Templates of org.graalvm.compiler.hotspot.replacements.arraycopy.ArrayCopySnippets
public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
public Group = org.graalvm.compiler.replacements.SnippetCounter$Group of org.graalvm.compiler.replacements.SnippetCounter
public abstract Factory = org.graalvm.compiler.replacements.SnippetCounter$Group$Factory of org.graalvm.compiler.replacements.SnippetCounter$Group
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
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