public class org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest 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.hotspot.test.ArrayCopyIntrinsificationTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
boolean mustIntrinsify;
descriptor: Z
flags: (0x0000)
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/test/ArrayCopyIntrinsificationTest;
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.test.ArrayCopyIntrinsificationTest.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
1: aload 0
iconst_1
putfield org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.mustIntrinsify:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
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=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
ifnonnull 1
aload 0
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.parseForCompile:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph;
goto 2
StackMap locals:
StackMap stack:
1: aload 2
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
2: astore 6
start local 6 3: aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
istore 7
start local 7 4: aload 0
aload 1
aload 6
iload 3
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;
astore 8
start local 8 5: iload 7
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
if_icmpeq 6
iconst_1
goto 7
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 9
start local 9 8: iload 9
ifeq 38
9: aload 0
getfield org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.mustIntrinsify:Z
ifeq 25
10: aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 11
goto 23
StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int top java.util.Iterator
StackMap stack:
11: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 10
start local 10 12: aload 10
instanceof org.graalvm.compiler.nodes.Invoke
ifeq 23
13: aload 10
checkcast org.graalvm.compiler.nodes.Invoke
astore 12
start local 12 14: aload 12
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
instanceof org.graalvm.compiler.nodes.DirectCallTargetNode
invokestatic org.junit.Assert.assertTrue:(Z)V
15: aload 12
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.LoweredCallTargetNode
astore 13
start local 13 16: aload 13
invokevirtual org.graalvm.compiler.nodes.LoweredCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 14
start local 14 17: aload 14
invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
aload 0
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Ljava/lang/System;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 18
aload 14
invokeinterface jdk.vm.ci.meta.JavaMethod.getName:()Ljava/lang/String;
ldc "arraycopy"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
18: StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.LoweredCallTargetNode jdk.vm.ci.meta.JavaMethod
StackMap stack:
aload 14
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 14
invokeinterface jdk.vm.ci.meta.JavaMethod.getName:()Ljava/lang/String;
ldc "<init>"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
19: aload 0
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Ljava/lang/ArrayIndexOutOfBoundsException;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
aload 14
invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 21
20: aload 0
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Ljava/lang/NullPointerException;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
aload 14
invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 21
iconst_0
goto 22
StackMap locals:
StackMap stack:
21: iconst_1
22: StackMap locals:
StackMap stack: int
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 14 end local 13 end local 12 end local 10 23: StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
24: goto 38
25: StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int
StackMap stack:
iconst_0
istore 10
start local 10 26: aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 12
goto 36
StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int int top java.util.Iterator
StackMap stack:
27: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 11
start local 11 28: aload 11
instanceof org.graalvm.compiler.nodes.Invoke
ifeq 36
29: aload 11
checkcast org.graalvm.compiler.nodes.Invoke
astore 13
start local 13 30: aload 13
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.LoweredCallTargetNode
astore 14
start local 14 31: aload 14
invokevirtual org.graalvm.compiler.nodes.LoweredCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 15
start local 15 32: aload 15
invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
aload 0
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Ljava/lang/System;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 35
aload 15
invokeinterface jdk.vm.ci.meta.JavaMethod.getName:()Ljava/lang/String;
ldc "arraycopy"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
33: iconst_1
istore 10
34: goto 36
35: StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int int org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.LoweredCallTargetNode jdk.vm.ci.meta.JavaMethod
StackMap stack:
new java.lang.StringBuilder
dup
ldc "found invoke to some method other than arraycopy: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.fail:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 15 end local 14 end local 13 end local 11 36: StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int int top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
37: ldc "did not find invoke to arraycopy"
iload 10
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
end local 10 38: StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int
StackMap stack:
aload 8
areturn
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 39 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
0 39 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 39 2 g Lorg/graalvm/compiler/nodes/StructuredGraph;
0 39 3 forceCompile Z
0 39 4 installAsDefault Z
0 39 5 options Lorg/graalvm/compiler/options/OptionValues;
3 39 6 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 39 7 nodeCount I
5 39 8 result Ljdk/vm/ci/code/InstalledCode;
8 39 9 graphWasProcessed Z
12 23 10 node Lorg/graalvm/compiler/graph/Node;
14 23 12 invoke Lorg/graalvm/compiler/nodes/Invoke;
16 23 13 directCall Lorg/graalvm/compiler/nodes/LoweredCallTargetNode;
17 23 14 callee Ljdk/vm/ci/meta/JavaMethod;
26 38 10 found Z
28 36 11 node Lorg/graalvm/compiler/graph/Node;
30 36 13 invoke Lorg/graalvm/compiler/nodes/Invoke;
31 36 14 directCall Lorg/graalvm/compiler/nodes/LoweredCallTargetNode;
32 36 15 callee Ljdk/vm/ci/meta/JavaMethod;
MethodParameters:
Name Flags
method
g
forceCompile
installAsDefault
options
public void test0();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
ldc "genericArraycopy"
iconst_5
anewarray java.lang.Object
dup
iconst_0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_0
anewarray java.lang.Object
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
1: aload 0
ldc "genericArraycopy"
iconst_5
anewarray java.lang.Object
dup
iconst_0
iconst_0
anewarray java.lang.Object
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void test1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: ldc "intArraycopy"
astore 1
start local 1 1: bipush 8
newarray 10
dup
iconst_0
sipush 234
iastore
dup
iconst_1
sipush 5345
iastore
dup
iconst_2
sipush 756
iastore
dup
iconst_3
bipush 23
iastore
dup
iconst_4
bipush 8
iastore
dup
iconst_5
sipush 345
iastore
dup
bipush 6
sipush 873
iastore
dup
bipush 7
sipush 440
iastore
astore 2
start local 2 2: aload 0
aload 1
iconst_5
anewarray java.lang.Object
dup
iconst_0
aconst_null
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
3: aload 0
aload 1
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aconst_null
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: aload 0
aload 1
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
5: aload 0
aload 1
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
aload 2
arraylength
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 7 1 name Ljava/lang/String;
2 7 2 src [I
RuntimeVisibleAnnotations:
org.junit.Test()
public void testByte();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: bipush 6
newarray 8
dup
iconst_0
iconst_m1
bastore
dup
iconst_2
iconst_1
bastore
dup
iconst_3
iconst_2
bastore
dup
iconst_4
iconst_3
bastore
dup
iconst_5
iconst_4
bastore
astore 1
start local 1 1: aload 0
ldc "byteArraycopy"
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 3 1 src [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void testChar();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: ldc "some string of chars"
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 1: aload 0
ldc "charArraycopy"
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 3 1 src [C
RuntimeVisibleAnnotations:
org.junit.Test()
public void testShort();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: bipush 8
newarray 9
dup
iconst_0
sipush 234
sastore
dup
iconst_1
sipush 5345
sastore
dup
iconst_2
sipush 756
sastore
dup
iconst_3
bipush 23
sastore
dup
iconst_4
bipush 8
sastore
dup
iconst_5
sipush 345
sastore
dup
bipush 6
sipush 873
sastore
dup
bipush 7
sipush 440
sastore
astore 1
start local 1 1: aload 0
ldc "shortArraycopy"
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 3 1 src [S
RuntimeVisibleAnnotations:
org.junit.Test()
public void testInt();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: bipush 8
newarray 10
dup
iconst_0
sipush 234
iastore
dup
iconst_1
sipush 5345
iastore
dup
iconst_2
sipush 756
iastore
dup
iconst_3
bipush 23
iastore
dup
iconst_4
bipush 8
iastore
dup
iconst_5
sipush 345
iastore
dup
bipush 6
sipush 873
iastore
dup
bipush 7
sipush 440
iastore
astore 1
start local 1 1: aload 0
ldc "intArraycopy"
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 3 1 src [I
RuntimeVisibleAnnotations:
org.junit.Test()
public void testFloat();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: bipush 8
newarray 6
dup
iconst_0
ldc 234.0
fastore
dup
iconst_1
ldc 5345.0
fastore
dup
iconst_2
ldc 756.0
fastore
dup
iconst_3
ldc 23.0
fastore
dup
iconst_4
ldc 8.0
fastore
dup
iconst_5
ldc 345.0
fastore
dup
bipush 6
ldc 873.0
fastore
dup
bipush 7
ldc 440.0
fastore
astore 1
start local 1 1: aload 0
ldc "floatArraycopy"
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 3 1 src [F
RuntimeVisibleAnnotations:
org.junit.Test()
public void testLong();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: bipush 8
newarray 11
dup
iconst_0
ldc 234
lastore
dup
iconst_1
ldc 5345
lastore
dup
iconst_2
ldc 756
lastore
dup
iconst_3
ldc 23
lastore
dup
iconst_4
ldc 8
lastore
dup
iconst_5
ldc 345
lastore
dup
bipush 6
ldc 873
lastore
dup
bipush 7
ldc 440
lastore
astore 1
start local 1 1: aload 0
ldc "longArraycopy"
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 3 1 src [J
RuntimeVisibleAnnotations:
org.junit.Test()
public void testDouble();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: bipush 8
newarray 7
dup
iconst_0
ldc 234.0
dastore
dup
iconst_1
ldc 5345.0
dastore
dup
iconst_2
ldc 756.0
dastore
dup
iconst_3
ldc 23.0
dastore
dup
iconst_4
ldc 8.0
dastore
dup
iconst_5
ldc 345.0
dastore
dup
bipush 6
ldc 873.0
dastore
dup
bipush 7
ldc 440.0
dastore
astore 1
start local 1 1: aload 0
ldc "doubleArraycopy"
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 3 1 src [D
RuntimeVisibleAnnotations:
org.junit.Test()
public void testObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: iconst_5
anewarray java.lang.Object
dup
iconst_0
ldc "one"
aastore
dup
iconst_1
ldc "two"
aastore
dup
iconst_2
ldc "three"
aastore
dup
iconst_3
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
aastore
dup
iconst_4
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
aastore
astore 1
start local 1 1: aload 0
ldc "objectArraycopy"
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 3 1 src [Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testArrayStoreException();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: iconst_5
anewarray java.lang.Object
dup
iconst_0
ldc "one"
aastore
dup
iconst_1
ldc "two"
aastore
dup
iconst_2
ldc "three"
aastore
dup
iconst_3
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
aastore
dup
iconst_4
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
aastore
astore 1
start local 1 1: aload 1
arraylength
anewarray java.lang.CharSequence
astore 2
start local 2 2: aload 0
ldc "objectArraycopy"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
aload 1
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 4 1 src [Ljava/lang/Object;
2 4 2 dst [Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testDisjointObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: iconst_4
anewarray java.lang.Integer
dup
iconst_0
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
astore 1
start local 1 1: aload 0
ldc "objectArraycopy"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 1
aastore
dup
iconst_3
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
aload 1
arraylength
iconst_1
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: iconst_4
anewarray java.lang.Integer
dup
iconst_0
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
astore 2
start local 2 3: aload 0
ldc "objectArraycopy"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
aload 2
arraylength
iconst_1
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 5 1 src1 [Ljava/lang/Integer;
3 5 2 src2 [Ljava/lang/Integer;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testObjectExact();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: iconst_4
anewarray java.lang.Integer
dup
iconst_0
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
astore 1
start local 1 1: aload 0
ldc "objectArraycopyExact"
aload 1
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 3 1 src [Ljava/lang/Integer;
RuntimeVisibleAnnotations:
org.junit.Test()
private static java.lang.Object newArray(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.$assertionsDisabled:Z
ifne 1
aload 0
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
iload 1
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 proto Ljava/lang/Object;
0 3 1 length I
MethodParameters:
Name Flags
proto
length
private void testHelper(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
istore 3
start local 3 1: aload 0
aload 1
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
iload 3
invokestatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.newArray:(Ljava/lang/Object;I)Ljava/lang/Object;
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: iconst_4
newarray 10
dup
iconst_1
iconst_1
iastore
dup
iconst_2
iload 3
iconst_1
isub
iastore
dup
iconst_3
iload 3
iastore
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 8
StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest java.lang.String java.lang.Object int top int int int[]
StackMap stack:
3: aload 7
iload 5
iaload
istore 4
start local 4 4: aload 0
aload 1
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
iload 4
invokestatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.newArray:(Ljava/lang/Object;I)Ljava/lang/Object;
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
5: aload 0
aload 1
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iload 3
iload 4
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
iload 4
invokestatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.newArray:(Ljava/lang/Object;I)Ljava/lang/Object;
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
6: aload 0
aload 1
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
iload 3
invokestatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.newArray:(Ljava/lang/Object;I)Ljava/lang/Object;
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
end local 4 7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 6
if_icmplt 3
9: iload 3
iconst_1
if_icmple 11
10: aload 0
aload 1
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iload 3
iconst_1
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
11: StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest java.lang.String java.lang.Object int
StackMap stack:
return
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/hotspot/test/ArrayCopyIntrinsificationTest;
0 12 1 name Ljava/lang/String;
0 12 2 src Ljava/lang/Object;
1 12 3 srcLength I
4 7 4 length I
MethodParameters:
Name Flags
name
src
public static java.lang.Object genericArraycopy(java.lang.Object, int, java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;II)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 2
areturn
end local 4 end local 3 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 srcPos I
0 2 2 dst Ljava/lang/Object;
0 2 3 dstPos I
0 2 4 length I
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static java.lang.Object genericArraycopyCatchNullException(java.lang.Object, int, java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;II)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: goto 5
StackMap locals: java.lang.Object int java.lang.Object int int int
StackMap stack: java.lang.NullPointerException
3: pop
4: iconst_1
istore 5
5: StackMap locals:
StackMap stack:
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
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 6 0 src Ljava/lang/Object;
0 6 1 srcPos I
0 6 2 dst Ljava/lang/Object;
0 6 3 dstPos I
0 6 4 length I
1 6 5 caught Z
Exception table:
from to target type
1 2 3 Class java.lang.NullPointerException
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static java.lang.Object genericArraycopyCatchArrayStoreException(java.lang.Object, int, java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;II)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: goto 5
StackMap locals: java.lang.Object int java.lang.Object int int int
StackMap stack: java.lang.ArrayStoreException
3: pop
4: iconst_1
istore 5
5: StackMap locals:
StackMap stack:
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
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 6 0 src Ljava/lang/Object;
0 6 1 srcPos I
0 6 2 dst Ljava/lang/Object;
0 6 3 dstPos I
0 6 4 length I
1 6 5 caught Z
Exception table:
from to target type
1 2 3 Class java.lang.ArrayStoreException
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static java.lang.Object genericArraycopyCatchArrayIndexException(java.lang.Object, int, java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;II)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: goto 5
StackMap locals: java.lang.Object int java.lang.Object int int int
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
3: pop
4: iconst_1
istore 5
5: StackMap locals:
StackMap stack:
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
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 6 0 src Ljava/lang/Object;
0 6 1 srcPos I
0 6 2 dst Ljava/lang/Object;
0 6 3 dstPos I
0 6 4 length I
1 6 5 caught Z
Exception table:
from to target type
1 2 3 Class java.lang.ArrayIndexOutOfBoundsException
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static java.lang.Object[] objectArraycopy(java.lang.Object[], int, java.lang.Object[], int, int);
descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;II)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 2
areturn
end local 4 end local 3 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 srcPos I
0 2 2 dst [Ljava/lang/Object;
0 2 3 dstPos I
0 2 4 length I
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static java.lang.Object objectArraycopyCatchNullException(java.lang.Object[], int, java.lang.Object[], int, int);
descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: goto 5
StackMap locals: java.lang.Object[] int java.lang.Object[] int int int
StackMap stack: java.lang.NullPointerException
3: pop
4: iconst_1
istore 5
5: StackMap locals:
StackMap stack:
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
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 6 0 src [Ljava/lang/Object;
0 6 1 srcPos I
0 6 2 dst [Ljava/lang/Object;
0 6 3 dstPos I
0 6 4 length I
1 6 5 caught Z
Exception table:
from to target type
1 2 3 Class java.lang.NullPointerException
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static java.lang.Object objectArraycopyCatchArrayStoreException(java.lang.Object[], int, java.lang.Object[], int, int);
descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: goto 5
StackMap locals: java.lang.Object[] int java.lang.Object[] int int int
StackMap stack: java.lang.ArrayStoreException
3: pop
4: iconst_1
istore 5
5: StackMap locals:
StackMap stack:
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
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 6 0 src [Ljava/lang/Object;
0 6 1 srcPos I
0 6 2 dst [Ljava/lang/Object;
0 6 3 dstPos I
0 6 4 length I
1 6 5 caught Z
Exception table:
from to target type
1 2 3 Class java.lang.ArrayStoreException
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static java.lang.Object objectArraycopyCatchArrayIndexException(java.lang.Object[], int, java.lang.Object[], int, int);
descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: goto 5
StackMap locals: java.lang.Object[] int java.lang.Object[] int int int
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
3: pop
4: iconst_1
istore 5
5: StackMap locals:
StackMap stack:
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
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 6 0 src [Ljava/lang/Object;
0 6 1 srcPos I
0 6 2 dst [Ljava/lang/Object;
0 6 3 dstPos I
0 6 4 length I
1 6 5 caught Z
Exception table:
from to target type
1 2 3 Class java.lang.ArrayIndexOutOfBoundsException
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static java.lang.Object[] objectArraycopyExact(java.lang.Integer[], int, java.lang.Integer[], int, int);
descriptor: ([Ljava/lang/Integer;I[Ljava/lang/Integer;II)[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src [Ljava/lang/Integer;
0 2 1 srcPos I
0 2 2 dst [Ljava/lang/Integer;
0 2 3 dstPos I
0 2 4 length I
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static boolean[] booleanArraycopy(boolean[], int, boolean[], int, int);
descriptor: ([ZI[ZII)[Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src [Z
0 2 1 srcPos I
0 2 2 dst [Z
0 2 3 dstPos I
0 2 4 length I
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static byte[] byteArraycopy(byte[], int, byte[], int, int);
descriptor: ([BI[BII)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src [B
0 2 1 srcPos I
0 2 2 dst [B
0 2 3 dstPos I
0 2 4 length I
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static char[] charArraycopy(char[], int, char[], int, int);
descriptor: ([CI[CII)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src [C
0 2 1 srcPos I
0 2 2 dst [C
0 2 3 dstPos I
0 2 4 length I
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static short[] shortArraycopy(short[], int, short[], int, int);
descriptor: ([SI[SII)[S
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src [S
0 2 1 srcPos I
0 2 2 dst [S
0 2 3 dstPos I
0 2 4 length I
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static int[] intArraycopy(int[], int, int[], int, int);
descriptor: ([II[III)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src [I
0 2 1 srcPos I
0 2 2 dst [I
0 2 3 dstPos I
0 2 4 length I
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static float[] floatArraycopy(float[], int, float[], int, int);
descriptor: ([FI[FII)[F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src [F
0 2 1 srcPos I
0 2 2 dst [F
0 2 3 dstPos I
0 2 4 length I
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static long[] longArraycopy(long[], int, long[], int, int);
descriptor: ([JI[JII)[J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src [J
0 2 1 srcPos I
0 2 2 dst [J
0 2 3 dstPos I
0 2 4 length I
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public static double[] doubleArraycopy(double[], int, double[], int, int);
descriptor: ([DI[DII)[D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src [D
0 2 1 srcPos I
0 2 2 dst [D
0 2 3 dstPos I
0 2 4 length I
MethodParameters:
Name Flags
src
srcPos
dst
dstPos
length
public void testCopyRows();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: iconst_3
anewarray java.lang.Object[]
dup
iconst_0
iconst_4
anewarray java.lang.Object
dup
iconst_0
ldc "a1"
aastore
dup
iconst_1
ldc "a2"
aastore
dup
iconst_2
ldc "a3"
aastore
dup
iconst_3
ldc "a4"
aastore
aastore
dup
iconst_1
iconst_4
anewarray java.lang.Object
dup
iconst_0
ldc "b1"
aastore
dup
iconst_1
ldc "b2"
aastore
dup
iconst_2
ldc "b3"
aastore
dup
iconst_3
ldc "b4"
aastore
aastore
dup
iconst_2
iconst_4
anewarray java.lang.Object
dup
iconst_0
ldc "c1"
aastore
dup
iconst_1
ldc "c2"
aastore
dup
iconst_2
ldc "c3"
aastore
dup
iconst_3
ldc "c4"
aastore
aastore
astore 1
start local 1 1: aload 0
ldc "copyRows"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 1
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 3 1 rows [[Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
public static java.lang.Object[][] copyRows(java.lang.Object[][], int, java.lang.Integer);
descriptor: ([[Ljava/lang/Object;ILjava/lang/Integer;)[[Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
multianewarray [[Ljava/lang/Object; 2
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: java.lang.Object[][] int
StackMap stack:
aload 0
iload 4
aaload
iconst_0
aload 3
iload 4
aaload
iconst_0
aload 0
iload 4
aaload
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
aload 2
invokevirtual java.lang.Integer.intValue:()I
if_icmplt 3
end local 4 6: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 rows [[Ljava/lang/Object;
0 7 1 rowSize I
0 7 2 rowCount Ljava/lang/Integer;
1 7 3 copy [[Ljava/lang/Object;
2 6 4 i I
MethodParameters:
Name Flags
rows
rowSize
rowCount
public void testGenericExceptions();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
ldc "genericArraycopyCatchNullException"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aconst_null
aastore
dup
iconst_1
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
sipush 128
newarray 8
aastore
dup
iconst_3
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
1: aload 0
ldc "genericArraycopyCatchNullException"
iconst_5
anewarray java.lang.Object
dup
iconst_0
sipush 128
newarray 8
aastore
dup
iconst_1
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aconst_null
aastore
dup
iconst_3
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: sipush 128
anewarray java.lang.Integer
astore 1
start local 1 3: sipush 128
anewarray java.lang.Object
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: java.lang.Object[] java.lang.Object[] int
StackMap stack:
aload 2
iload 3
iload 3
i2l
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 2
arraylength
if_icmplt 6
end local 3 9: aload 0
ldc "genericArraycopyCatchArrayStoreException"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 1
aastore
dup
iconst_3
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
10: aload 0
ldc "genericArraycopyCatchArrayIndexException"
iconst_5
anewarray java.lang.Object
dup
iconst_0
sipush 128
newarray 10
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
sipush 128
newarray 10
aastore
dup
iconst_3
ldc 2147483647
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
3 12 1 integerDest [Ljava/lang/Object;
4 12 2 longSource [Ljava/lang/Object;
5 9 3 i I
RuntimeVisibleAnnotations:
org.junit.Test()
public void testObjectArrayExceptions();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
ldc "objectArraycopyCatchNullException"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aconst_null
aastore
dup
iconst_1
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
sipush 128
anewarray java.lang.Byte
aastore
dup
iconst_3
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
1: aload 0
ldc "objectArraycopyCatchNullException"
iconst_5
anewarray java.lang.Object
dup
iconst_0
sipush 128
anewarray java.lang.Byte
aastore
dup
iconst_1
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aconst_null
aastore
dup
iconst_3
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: sipush 128
anewarray java.lang.Integer
astore 1
start local 1 3: sipush 128
anewarray java.lang.Object
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: java.lang.Object[] java.lang.Object[] int
StackMap stack:
aload 2
iload 3
iload 3
i2l
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 2
arraylength
if_icmplt 6
end local 3 9: aload 0
ldc "objectArraycopyCatchArrayStoreException"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 1
aastore
dup
iconst_3
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
10: aload 0
ldc "objectArraycopyCatchArrayIndexException"
iconst_5
anewarray java.lang.Object
dup
iconst_0
sipush 128
anewarray java.lang.Integer
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
sipush 128
anewarray java.lang.Integer
aastore
dup
iconst_3
ldc 2147483647
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
3 12 1 integerDest [Ljava/lang/Object;
4 12 2 longSource [Ljava/lang/Object;
5 9 3 i I
RuntimeVisibleAnnotations:
org.junit.Test()
public void testArraycopyDeoptWithSideEffect();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest.lambda$0()Ljava/lang/Object; (6)
()Ljava/lang/Object;
astore 1
start local 1 1: iconst_4
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_1
iastore
dup
iconst_2
iconst_1
iastore
dup
iconst_3
iconst_1
iastore
astore 2
start local 2 2: iconst_4
newarray 10
dup
iconst_0
iconst_2
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
iconst_2
iastore
dup
iconst_3
iconst_2
iastore
astore 3
start local 3 3: aload 0
ldc "arraycopyAndDeopt"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
1 5 1 s Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
2 5 2 b [I
3 5 3 c [I
RuntimeVisibleAnnotations:
org.junit.Test()
public static int[] arraycopyAndDeopt(int[], int[], int[]);
descriptor: ([I[I[I)[I
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
iaload
ifne 4
1: aload 1
iconst_0
aload 0
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.deoptimize:()V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 2
iconst_0
aload 0
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 a [I
0 6 1 b [I
0 6 2 c [I
MethodParameters:
Name Flags
a
b
c
private static java.lang.Object lambda$0();
descriptor: ()Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: iconst_4
newarray 10
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ArrayCopyIntrinsificationTest.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest