public class org.graalvm.compiler.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.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 arraycopyExactSnippet;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo arraycopyExactStubCallSnippet;
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 final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo exactArraycopyWithSlowPathWork;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean useOriginalArraycopy;
descriptor: Z
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.replacements.arraycopy.ArrayCopySnippets$Counters counters;
descriptor: Lorg/graalvm/compiler/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/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.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets, org.graalvm.compiler.options.OptionValues, java.lang.Iterable<org.graalvm.compiler.debug.DebugHandlersFactory>, org.graalvm.compiler.replacements.SnippetCounter$Group$Factory, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider, jdk.vm.ci.code.TargetDescription);
descriptor: (Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 2
aload 3
aload 5
aload 6
aload 7
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
new org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Counters
dup
aload 4
invokespecial org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Counters.<init>:(Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;)V
putfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.counters:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Counters;
2: aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets.useOriginalArraycopy:()Z
putfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.useOriginalArraycopy:Z
3: aload 0
aload 0
aload 1
ldc "arraycopyGenericSnippet"
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyGenericSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
4: aload 0
aload 0
aload 1
ldc "arraycopyExactSnippet"
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
5: aload 0
aload 0
aload 1
ldc "arraycopyExactStubCallSnippet"
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactStubCallSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
6: aload 0
aload 0
aload 1
ldc "arraycopyCheckcastSnippet"
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyCheckcastSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
7: aload 0
aload 0
aconst_null
ldc "arraycopyNativeSnippet"
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyNativeSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
8: aload 0
aload 0
aload 1
ldc "checkcastArraycopyWithSlowPathWork"
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.checkcastArraycopyWithSlowPathWork:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
9: aload 0
aload 0
aload 1
ldc "genericArraycopyWithSlowPathWork"
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.genericArraycopyWithSlowPathWork:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
10: aload 0
aload 0
aload 1
ldc "exactArraycopyWithSlowPathWork"
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.exactArraycopyWithSlowPathWork:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
11: return
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 12 0 this Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
0 12 1 receiver Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;
0 12 2 options Lorg/graalvm/compiler/options/OptionValues;
0 12 3 factories Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
0 12 4 factory Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;
0 12 5 providers Lorg/graalvm/compiler/phases/util/Providers;
0 12 6 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 12 7 target Ljdk/vm/ci/code/TargetDescription;
Signature: (Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
MethodParameters:
Name Flags
receiver
options
factories
factory
providers
snippetReflection
target
protected org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo snippet(org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets, java.lang.String);
descriptor: (Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;Ljava/lang/String;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;
aload 2
aload 0
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.originalArraycopy:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
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.replacements.arraycopy.ArrayCopySnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 3
start local 3 1: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
0 2 1 receiver Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets;
0 2 2 methodName Ljava/lang/String;
1 2 3 info Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
MethodParameters:
Name Flags
receiver
methodName
public void lower(org.graalvm.compiler.replacements.arraycopy.ArrayCopyNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
aload 2
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.lower:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyNode;ZLorg/graalvm/compiler/nodes/spi/LoweringTool;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
0 2 1 arraycopy Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyNode;
0 2 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
MethodParameters:
Name Flags
arraycopy
tool
public void lower(org.graalvm.compiler.replacements.arraycopy.ArrayCopyNode, boolean, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyNode;ZLorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic org.graalvm.compiler.replacements.arraycopy.ArrayCopy.selectComponentKind:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopy;)Ljdk/vm/ci/meta/JavaKind;
astore 4
start local 4 1: aload 1
invokevirtual org.graalvm.compiler.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 7
start local 7 2: aload 1
invokevirtual org.graalvm.compiler.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 8
start local 8 3: aload 7
invokestatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.canBeArray:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 4
aload 8
invokestatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.canBeArray:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 7
4: StackMap locals: org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates org.graalvm.compiler.replacements.arraycopy.ArrayCopyNode int 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.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyNativeSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 5
start local 5 5: getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.UNDEFINED_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 6
start local 6 6: goto 44
end local 6 end local 5 7: StackMap locals:
StackMap stack:
aload 7
ifnonnull 8
aconst_null
goto 9
StackMap locals:
StackMap stack:
8: aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.ResolvedJavaType
9: astore 9
start local 9 10: aload 8
ifnonnull 11
aconst_null
goto 12
StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
11: aload 8
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.ResolvedJavaType
12: astore 10
start local 10 13: aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyNode.isExact:()Z
ifeq 17
14: aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactStubCallSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 5
start local 5 15: getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.NO_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 6
start local 6 16: goto 44
end local 6 end local 5 StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
17: aload 9
ifnonnull 21
aload 10
ifnonnull 21
18: aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyGenericSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 5
start local 5 19: getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.NO_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 6
start local 6 20: goto 44
end local 6 end local 5 StackMap locals:
StackMap stack:
21: getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.options:Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 25
22: aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyGenericSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 5
start local 5 23: getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.NO_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 6
start local 6 24: goto 44
end local 6 end local 5 StackMap locals:
StackMap stack:
25: aload 9
ifnull 34
aload 10
ifnull 34
26: aload 9
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
ifne 30
aload 10
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
ifne 30
27: aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyCheckcastSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 5
start local 5 28: getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.NO_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 6
start local 6 29: goto 44
end local 6 end local 5 30: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 31
aload 9
aload 10
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 31
new java.lang.AssertionError
dup
ldc "must be handled by arraycopy.isExact()"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
31: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyNativeSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 5
start local 5 32: getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.UNDEFINED_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 6
start local 6 33: goto 44
end local 6 end local 5 34: StackMap locals:
StackMap stack:
aload 9
ifnull 35
aload 9
goto 36
StackMap locals:
StackMap stack:
35: aload 10
StackMap locals:
StackMap stack: jdk.vm.ci.meta.ResolvedJavaType
36: astore 11
start local 11 37: aload 11
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
ifeq 42
38: aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactStubCallSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 5
start local 5 39: getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.HUB_BASED_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 6
start local 6 40: aload 11
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
astore 4
41: goto 44
end local 6 end local 5 42: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyCheckcastSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 5
start local 5 43: getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.LAYOUT_HELPER_BASED_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
astore 6
end local 11 end local 10 end local 9 start local 6 44: StackMap locals: org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates org.graalvm.compiler.replacements.arraycopy.ArrayCopyNode int org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.JavaKind org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
iload 2
ifeq 46
aload 5
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactStubCallSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpne 46
45: aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 5
46: StackMap locals:
StackMap stack:
new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 5
aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 3
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 9
start local 9 47: aload 9
ldc "src"
aload 1
invokevirtual org.graalvm.compiler.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
48: aload 9
ldc "srcPos"
aload 1
invokevirtual org.graalvm.compiler.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
49: aload 9
ldc "dest"
aload 1
invokevirtual org.graalvm.compiler.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
50: aload 9
ldc "destPos"
aload 1
invokevirtual org.graalvm.compiler.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
51: aload 9
ldc "length"
aload 1
invokevirtual org.graalvm.compiler.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
52: aload 5
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyNativeSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpeq 55
53: getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 54
aload 6
getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck.UNDEFINED_ARRAY_TYPE_CHECK:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
if_acmpne 54
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
54: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate$Arguments
StackMap stack:
aload 9
ldc "arrayTypeCheck"
aload 6
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
55: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyNode.killsAnyLocation:()Z
ifeq 56
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
goto 57
StackMap locals:
StackMap stack:
56: aload 4
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
StackMap locals:
StackMap stack: jdk.internal.vm.compiler.word.LocationIdentity
57: astore 10
start local 10 58: aload 5
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactStubCallSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpeq 59
aload 5
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyExactSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpne 65
59: StackMap locals: java.lang.Object
StackMap stack:
getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 60
aload 4
ifnonnull 60
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
60: StackMap locals:
StackMap stack:
aload 9
ldc "workSnippet"
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.exactArraycopyWithSlowPathWork: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
61: aload 9
ldc "elementKind"
aload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
62: aload 9
ldc "locationIdentity"
aload 10
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
63: aload 9
ldc "elementKindCounter"
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.counters:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Counters;
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Counters.arraycopyCallCounters:Ljava/util/EnumMap;
aload 4
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: aload 9
ldc "elementKindCopiedCounter"
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.counters:Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Counters;
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Counters.arraycopyCallCopiedCounters:Ljava/util/EnumMap;
aload 4
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
65: StackMap locals:
StackMap stack:
aload 9
ldc "counters"
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.counters:Lorg/graalvm/compiler/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
66: aload 5
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyCheckcastSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpne 69
67: aload 9
ldc "workSnippet"
aload 0
getfield org.graalvm.compiler.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
68: aload 9
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
69: StackMap locals:
StackMap stack:
aload 5
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.arraycopyGenericSnippet:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpne 72
70: aload 9
ldc "workSnippet"
aload 0
getfield org.graalvm.compiler.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
71: aload 9
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
72: StackMap locals:
StackMap stack:
aload 0
aload 9
aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.instantiate:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Lorg/graalvm/compiler/replacements/nodes/BasicArrayCopyNode;)V
73: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 74 0 this Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
0 74 1 arraycopy Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyNode;
0 74 2 mayExpandThisArraycopy Z
0 74 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 74 4 elementKind Ljdk/vm/ci/meta/JavaKind;
5 7 5 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
15 17 5 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
19 21 5 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
23 25 5 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
28 30 5 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
32 34 5 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
39 42 5 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
43 74 5 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
6 7 6 arrayTypeCheck Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
16 17 6 arrayTypeCheck Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
20 21 6 arrayTypeCheck Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
24 25 6 arrayTypeCheck Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
29 30 6 arrayTypeCheck Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
33 34 6 arrayTypeCheck Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
40 42 6 arrayTypeCheck Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
44 74 6 arrayTypeCheck Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$ArrayCopyTypeCheck;
2 74 7 srcType Ljdk/vm/ci/meta/ResolvedJavaType;
3 74 8 destType Ljdk/vm/ci/meta/ResolvedJavaType;
10 44 9 srcComponentType Ljdk/vm/ci/meta/ResolvedJavaType;
13 44 10 destComponentType Ljdk/vm/ci/meta/ResolvedJavaType;
37 44 11 nonNullComponentType Ljdk/vm/ci/meta/ResolvedJavaType;
47 74 9 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
58 74 10 locationIdentity Ljava/lang/Object;
MethodParameters:
Name Flags
arraycopy
mayExpandThisArraycopy
tool
public void lower(org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyWithDelayedLoweringNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
aload 2
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.lower:(Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyWithDelayedLoweringNode;ZLorg/graalvm/compiler/nodes/spi/LoweringTool;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
0 2 1 arraycopy Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyWithDelayedLoweringNode;
0 2 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
MethodParameters:
Name Flags
arraycopy
tool
public void lower(org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode, boolean, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyWithDelayedLoweringNode;ZLorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 1: aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.getSnippet:()Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.exactArraycopyWithSlowPathWork:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
if_acmpne 4
iload 2
ifeq 4
2: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areDeoptsFixed:()Z
ifne 6
3: return
4: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
ifne 6
5: return
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.getSnippet:()Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 5
start local 5 7: new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 5
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 3
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 6
start local 6 8: aload 6
ldc "src"
aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.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
9: aload 6
ldc "srcPos"
aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.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
10: aload 6
ldc "dest"
aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.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
11: aload 6
ldc "destPos"
aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.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
12: aload 6
ldc "length"
aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.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
13: aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.getElementKind:()Ljdk/vm/ci/meta/JavaKind;
astore 7
start local 7 14: aload 6
ldc "elementKind"
aload 7
ifnonnull 15
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
goto 16
StackMap locals: org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode int org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$Arguments jdk.vm.ci.meta.JavaKind
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String
15: aload 7
StackMap locals: org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode int org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$Arguments jdk.vm.ci.meta.JavaKind
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String jdk.vm.ci.meta.JavaKind
16: invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
17: aload 7
ifnonnull 18
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
goto 19
StackMap locals:
StackMap stack:
18: aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.getElementKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
StackMap locals:
StackMap stack: jdk.internal.vm.compiler.word.LocationIdentity
19: astore 8
start local 8 20: aload 6
ldc "arrayLocation"
aload 8
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
21: aload 6
ldc "counters"
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.counters:Lorg/graalvm/compiler/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
22: aload 0
aload 6
aload 1
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.instantiate:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;Lorg/graalvm/compiler/replacements/nodes/BasicArrayCopyNode;)V
23: 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 24 0 this Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
0 24 1 arraycopy Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyWithDelayedLoweringNode;
0 24 2 mayExpandArraycopyLoops Z
0 24 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 24 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
7 24 5 snippetInfo Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
8 24 6 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
14 24 7 elementKind Ljdk/vm/ci/meta/JavaKind;
20 24 8 locationIdentity Ljava/lang/Object;
MethodParameters:
Name Flags
arraycopy
mayExpandArraycopyLoops
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
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=10, 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.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.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 28
StackMap locals: org.graalvm.compiler.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.InvokeNode
ifeq 20
6: aload 5
aload 6
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.InvokeNode
astore 8
start local 8 7: getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 8
aload 8
invokevirtual org.graalvm.compiler.nodes.InvokeNode.asNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.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.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.InvokeNode
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.nodes.InvokeNode.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.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 8
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.getBci:()I
invokevirtual org.graalvm.compiler.nodes.InvokeNode.setBci:(I)V
12: aload 8
aconst_null
invokevirtual org.graalvm.compiler.nodes.InvokeNode.setStateDuring:(Lorg/graalvm/compiler/nodes/FrameState;)V
13: aload 8
aconst_null
invokevirtual org.graalvm.compiler.nodes.InvokeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
14: aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 17
15: aload 8
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
16: goto 28
17: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 18
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 18
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
18: StackMap locals:
StackMap stack:
aload 8
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
end local 9 end local 8 19: goto 28
StackMap locals:
StackMap stack:
20: aload 6
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 22
21: new org.graalvm.compiler.debug.GraalError
dup
ldc "unexpected invoke with exception %s in snippet"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
22: StackMap locals:
StackMap stack:
aload 6
instanceof org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode
ifeq 28
23: aload 5
aload 6
invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableEconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode
astore 8
start local 8 24: getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 25
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 25
new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
25: StackMap locals: org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode
StackMap stack:
getstatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.$assertionsDisabled:Z
ifne 27
aload 8
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
if_acmpeq 27
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "States do not match for slowpath="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and array copy="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " slowPathState="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: aload 8
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and arraycopyState="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
27: StackMap locals:
StackMap stack:
aload 8
aload 2
invokevirtual org.graalvm.compiler.replacements.nodes.BasicArrayCopyNode.getBci:()I
invokevirtual org.graalvm.compiler.replacements.arraycopy.ArrayCopyWithDelayedLoweringNode.setBci:(I)V
end local 8 end local 6 28: StackMap locals: org.graalvm.compiler.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
29: aload 2
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
30: 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 31 0 this Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
0 31 1 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
0 31 2 arraycopy Lorg/graalvm/compiler/replacements/nodes/BasicArrayCopyNode;
1 31 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 31 4 template Lorg/graalvm/compiler/replacements/SnippetTemplate;
3 31 5 replacements Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;>;
5 28 6 originalNode Lorg/graalvm/compiler/graph/Node;
7 19 8 invoke Lorg/graalvm/compiler/nodes/InvokeNode;
9 19 9 call Lorg/graalvm/compiler/nodes/CallTargetNode;
24 28 8 slowPath Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopyWithDelayedLoweringNode;
MethodParameters:
Name Flags
args
arraycopy
private jdk.vm.ci.meta.ResolvedJavaMethod originalArraycopy();
descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.useOriginalArraycopy:Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.originalArraycopy:Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnonnull 7
3: aload 0
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Ljava/lang/System;
ldc "arraycopy"
invokestatic org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.findMethod:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljava/lang/Class;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
putfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.originalArraycopy:Ljdk/vm/ci/meta/ResolvedJavaMethod;
4: goto 7
StackMap locals:
StackMap stack: java.lang.SecurityException
5: astore 1
start local 1 6: new org.graalvm.compiler.debug.GraalError
dup
aload 1
invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates.originalArraycopy:Ljdk/vm/ci/meta/ResolvedJavaMethod;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets$Templates;
6 7 1 e Ljava/lang/SecurityException;
Exception table:
from to target type
3 4 5 Class java.lang.SecurityException
Exceptions:
throws org.graalvm.compiler.debug.GraalError
}
SourceFile: "ArrayCopySnippets.java"
NestHost: org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets
InnerClasses:
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
private final ArrayCopyTypeCheck = org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$ArrayCopyTypeCheck of org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets
protected Counters = org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Counters of org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets
public Templates = org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets$Templates of org.graalvm.compiler.replacements.arraycopy.ArrayCopySnippets