public class org.graalvm.compiler.replacements.test.SystemArrayCopyTest extends org.graalvm.compiler.core.test.GraalCompilerTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.test.SystemArrayCopyTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
public java.lang.Object src;
descriptor: Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 0)
public java.lang.Object dst;
descriptor: Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 1)
public int len;
descriptor: I
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 2)
public java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 3)
private static final int PARAMETER_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private java.lang.Object[] argsToBind;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
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/test/SystemArrayCopyTest;
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.test.SystemArrayCopyTest.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/SystemArrayCopyTest;
public static java.util.Collection<java.lang.Object[]> data();
descriptor: ()Ljava/util/Collection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=16, args_size=0
0: bipush 7
anewarray java.lang.Object
dup
iconst_0
iconst_4
newarray 10
aastore
dup
iconst_1
iconst_4
newarray 7
aastore
dup
iconst_2
iconst_4
anewarray java.lang.Integer
aastore
dup
iconst_3
iconst_4
anewarray java.lang.Number
aastore
dup
iconst_4
iconst_4
anewarray java.lang.String
aastore
dup
iconst_5
iconst_4
anewarray java.lang.Object
dup
iconst_0
ldc "Graal"
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
aastore
dup
bipush 6
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
aastore
astore 0
start local 0 1: iconst_2
anewarray java.lang.Object
dup
iconst_0
iconst_4
newarray 10
aastore
dup
iconst_1
iconst_4
anewarray java.lang.Number
aastore
astore 1
start local 1 2: iconst_4
newarray 10
dup
iconst_0
iconst_m1
iastore
dup
iconst_2
iconst_2
iastore
dup
iconst_3
bipush 8
iastore
astore 2
start local 2 3: new java.util.ArrayList
dup
aload 0
arraylength
aload 1
arraylength
imul
aload 2
arraylength
imul
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 4: aload 0
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 16
StackMap locals: java.lang.Object[] java.lang.Object[] int[] java.util.ArrayList top int int java.lang.Object[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: aload 1
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 14
StackMap locals: java.lang.Object[] java.lang.Object[] int[] java.util.ArrayList java.lang.Object int int java.lang.Object[] top int int java.lang.Object[]
StackMap stack:
7: aload 11
iload 9
aaload
astore 8
start local 8 8: aload 2
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 12
StackMap locals: java.lang.Object[] java.lang.Object[] int[] java.util.ArrayList java.lang.Object int int java.lang.Object[] java.lang.Object int int java.lang.Object[] top int int int[]
StackMap stack:
9: aload 15
iload 13
iaload
istore 12
start local 12 10: aload 3
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 8
aastore
dup
iconst_2
iload 12
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
new java.lang.StringBuilder
dup
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", 0, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", 0, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 12
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 12 11: iinc 13 1
StackMap locals:
StackMap stack:
12: iload 13
iload 14
if_icmplt 9
end local 8 13: iinc 9 1
StackMap locals: java.lang.Object[] java.lang.Object[] int[] java.util.ArrayList java.lang.Object int int java.lang.Object[] top int int java.lang.Object[]
StackMap stack:
14: iload 9
iload 10
if_icmplt 7
end local 4 15: iinc 5 1
StackMap locals: java.lang.Object[] java.lang.Object[] int[] java.util.ArrayList top int int java.lang.Object[]
StackMap stack:
16: iload 5
iload 6
if_icmplt 5
17: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 18 0 srcs [Ljava/lang/Object;
2 18 1 dsts [Ljava/lang/Object;
3 18 2 lens [I
4 18 3 ret Ljava/util/ArrayList<[Ljava/lang/Object;>;
6 15 4 src Ljava/lang/Object;
8 13 8 dst Ljava/lang/Object;
10 11 12 length I
Signature: ()Ljava/util/Collection<[Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameters(name = "{3}")
public static void testArrayCopySnippet(java.lang.Object, java.lang.Object, int);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
aload 1
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src Ljava/lang/Object;
0 2 1 dst Ljava/lang/Object;
0 2 2 length I
MethodParameters:
Name Flags
src
dst
length
public void testArrayCopy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
ldc "testArrayCopySnippet"
invokevirtual org.graalvm.compiler.replacements.test.SystemArrayCopyTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 1
start local 1 1: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifeq 2
aconst_null
goto 3
StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
2: aload 0
StackMap locals:
StackMap stack: org.graalvm.compiler.replacements.test.SystemArrayCopyTest
3: astore 2
start local 2 4: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.replacements.test.SystemArrayCopyTest.src:Ljava/lang/Object;
aastore
dup
iconst_1
aload 0
getfield org.graalvm.compiler.replacements.test.SystemArrayCopyTest.dst:Ljava/lang/Object;
aastore
dup
iconst_2
aload 0
getfield org.graalvm.compiler.replacements.test.SystemArrayCopyTest.len:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
astore 3
start local 3 5: aload 0
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.replacements.test.SystemArrayCopyTest.executeExpected:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
astore 4
start local 4 6: aload 0
aload 1
aload 4
aload 2
aload 3
invokevirtual org.graalvm.compiler.replacements.test.SystemArrayCopyTest.testAgainstExpected:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;Ljava/lang/Object;[Ljava/lang/Object;)V
7: iconst_1
istore 5
start local 5 8: goto 18
9: StackMap locals: org.graalvm.compiler.replacements.test.SystemArrayCopyTest jdk.vm.ci.meta.ResolvedJavaMethod java.lang.Object java.lang.Object[] org.graalvm.compiler.core.test.GraalCompilerTest$Result int
StackMap stack:
aload 0
iconst_3
anewarray java.lang.Object
putfield org.graalvm.compiler.replacements.test.SystemArrayCopyTest.argsToBind:[Ljava/lang/Object;
10: iconst_0
istore 6
start local 6 11: goto 15
12: StackMap locals: int
StackMap stack:
iload 5
iconst_1
iload 6
ishl
iand
ifeq 14
13: aload 0
getfield org.graalvm.compiler.replacements.test.SystemArrayCopyTest.argsToBind:[Ljava/lang/Object;
iload 6
aload 3
iload 6
aaload
aastore
14: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
iconst_3
if_icmplt 12
end local 6 16: aload 0
aload 1
aload 4
aload 2
aload 3
invokevirtual org.graalvm.compiler.replacements.test.SystemArrayCopyTest.testAgainstExpected:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;Ljava/lang/Object;[Ljava/lang/Object;)V
17: iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
bipush 8
if_icmplt 9
end local 5 19: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/graalvm/compiler/replacements/test/SystemArrayCopyTest;
1 20 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
4 20 2 receiver Ljava/lang/Object;
5 20 3 args [Ljava/lang/Object;
6 20 4 expect Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
8 19 5 i I
11 16 6 j I
RuntimeVisibleAnnotations:
org.junit.Test()
protected org.graalvm.compiler.nodes.StructuredGraph parse(org.graalvm.compiler.nodes.StructuredGraph$Builder, org.graalvm.compiler.phases.PhaseSuite<org.graalvm.compiler.phases.tiers.HighTierContext>);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;Lorg/graalvm/compiler/phases/PhaseSuite;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.parse:(Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;Lorg/graalvm/compiler/phases/PhaseSuite;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 0
getfield org.graalvm.compiler.replacements.test.SystemArrayCopyTest.argsToBind:[Ljava/lang/Object;
ifnull 17
2: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 4
start local 4 3: aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 4
aconst_null
goto 5
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
4: aload 0
StackMap locals:
StackMap stack: org.graalvm.compiler.replacements.test.SystemArrayCopyTest
5: astore 5
start local 5 6: aload 0
aload 5
aload 0
getfield org.graalvm.compiler.replacements.test.SystemArrayCopyTest.argsToBind:[Ljava/lang/Object;
invokevirtual org.graalvm.compiler.replacements.test.SystemArrayCopyTest.argsWithReceiver:(Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
astore 6
start local 6 7: aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.toParameterTypes:()[Ljdk/vm/ci/meta/JavaType;
astore 7
start local 7 8: getstatic org.graalvm.compiler.replacements.test.SystemArrayCopyTest.$assertionsDisabled:Z
ifne 9
aload 7
arraylength
aload 6
arraylength
if_icmpeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: java.lang.Object java.lang.Object[] jdk.vm.ci.meta.JavaType[]
StackMap stack:
aload 3
getstatic org.graalvm.compiler.nodes.ParameterNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 9
goto 16
StackMap locals: org.graalvm.compiler.replacements.test.SystemArrayCopyTest org.graalvm.compiler.nodes.StructuredGraph$Builder org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod java.lang.Object java.lang.Object[] jdk.vm.ci.meta.JavaType[] top java.util.Iterator
StackMap stack:
10: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ParameterNode
astore 8
start local 8 11: aload 8
invokevirtual org.graalvm.compiler.nodes.ParameterNode.index:()I
istore 10
start local 10 12: aload 6
iload 10
aaload
ifnull 16
13: aload 0
invokevirtual org.graalvm.compiler.replacements.test.SystemArrayCopyTest.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 7
iload 10
aaload
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
aload 6
iload 10
aaload
invokeinterface org.graalvm.compiler.api.replacements.SnippetReflectionProvider.forBoxed:(Ljdk/vm/ci/meta/JavaKind;Ljava/lang/Object;)Ljdk/vm/ci/meta/JavaConstant;
astore 11
start local 11 14: aload 11
aload 0
invokevirtual org.graalvm.compiler.replacements.test.SystemArrayCopyTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 3
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 12
start local 12 15: aload 8
aload 12
invokevirtual org.graalvm.compiler.nodes.ParameterNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
end local 12 end local 11 end local 10 end local 8 16: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 7 end local 6 end local 5 end local 4 17: StackMap locals: org.graalvm.compiler.replacements.test.SystemArrayCopyTest org.graalvm.compiler.nodes.StructuredGraph$Builder org.graalvm.compiler.phases.PhaseSuite org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/graalvm/compiler/replacements/test/SystemArrayCopyTest;
0 18 1 builder Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
0 18 2 graphBuilderSuite Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;
1 18 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 17 4 m Ljdk/vm/ci/meta/ResolvedJavaMethod;
6 17 5 receiver Ljava/lang/Object;
7 17 6 args [Ljava/lang/Object;
8 17 7 parameterTypes [Ljdk/vm/ci/meta/JavaType;
11 16 8 param Lorg/graalvm/compiler/nodes/ParameterNode;
12 16 10 index I
14 16 11 c Ljdk/vm/ci/meta/JavaConstant;
15 16 12 replacement Lorg/graalvm/compiler/nodes/ConstantNode;
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;Lorg/graalvm/compiler/phases/PhaseSuite<Lorg/graalvm/compiler/phases/tiers/HighTierContext;>;)Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
builder
graphBuilderSuite
protected jdk.vm.ci.code.InstalledCode getCode(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.StructuredGraph, boolean, boolean, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;ZZLorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/code/InstalledCode;
flags: (0x0004) ACC_PROTECTED
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
iconst_1
iload 4
aload 5
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;ZZLorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/code/InstalledCode;
areturn
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 1 0 this Lorg/graalvm/compiler/replacements/test/SystemArrayCopyTest;
0 1 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 3 forceCompile Z
0 1 4 installAsDefault Z
0 1 5 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
method
graph
forceCompile
installAsDefault
options
}
SourceFile: "SystemArrayCopyTest.java"
InnerClasses:
public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
public Builder = org.graalvm.compiler.nodes.StructuredGraph$Builder of org.graalvm.compiler.nodes.StructuredGraph
public abstract Parameter = org.junit.runners.Parameterized$Parameter of org.junit.runners.Parameterized
public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
RuntimeVisibleAnnotations:
org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)