public class org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest extends org.graalvm.compiler.core.aarch64.test.AArch64MatchRuleTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest
super_class: org.graalvm.compiler.core.aarch64.test.AArch64MatchRuleTest
{
private static final java.util.function.Predicate<org.graalvm.compiler.lir.LIRInstruction> predicate;
descriptor: Ljava/util/function/Predicate;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Predicate<Lorg/graalvm/compiler/lir/LIRInstruction;>;
private static final org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest$Frame[] frameCache;
descriptor: [Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest$Frame;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static java.util.Set<java.lang.Long> allBarcodes;
descriptor: Ljava/util/Set;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/Set<Ljava/lang/Long;>;
static java.util.Set<java.lang.Long> localBarcodes;
descriptor: Ljava/util/Set;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/Set<Ljava/lang/Long;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest.lambda$0(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
putstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
1: sipush 256
anewarray org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest$Frame
putstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.frameCache:[Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest$Frame;
2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.allBarcodes:Ljava/util/Set;
3: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.localBarcodes:Ljava/util/Set;
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.aarch64.test.AArch64MatchRuleTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
public static byte loadByte(byte[], int);
descriptor: ([BI)B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
baload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arr [B
0 1 1 n I
MethodParameters:
Name Flags
arr
n
public void testLoadByte();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 6
newarray 8
dup
iconst_0
iconst_3
bastore
dup
iconst_1
iconst_4
bastore
dup
iconst_2
iconst_5
bastore
dup
iconst_3
bipush 6
bastore
dup
iconst_4
bipush 7
bastore
dup
iconst_5
bipush 8
bastore
astore 1
start local 1 1: aload 0
ldc "loadByte"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "loadByte"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;II)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 4 1 arr [B
RuntimeVisibleAnnotations:
org.junit.Test()
public static char loadChar(char[], int);
descriptor: ([CI)C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
caload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arr [C
0 1 1 n I
MethodParameters:
Name Flags
arr
n
public void testLoadChar();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 7
newarray 5
dup
iconst_0
bipush 97
castore
dup
iconst_1
bipush 98
castore
dup
iconst_2
bipush 99
castore
dup
iconst_3
bipush 100
castore
dup
iconst_4
bipush 101
castore
dup
iconst_5
bipush 102
castore
dup
bipush 6
bipush 103
castore
astore 1
start local 1 1: aload 0
ldc "loadChar"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "loadChar"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;II)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 4 1 arr [C
RuntimeVisibleAnnotations:
org.junit.Test()
public static short loadShort(short[], int);
descriptor: ([SI)S
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
saload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arr [S
0 1 1 n I
MethodParameters:
Name Flags
arr
n
public void testLoadShort();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 6
newarray 9
dup
iconst_0
iconst_3
sastore
dup
iconst_1
iconst_4
sastore
dup
iconst_2
iconst_5
sastore
dup
iconst_3
bipush 6
sastore
dup
iconst_4
bipush 7
sastore
dup
iconst_5
bipush 8
sastore
astore 1
start local 1 1: aload 0
ldc "loadShort"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "loadShort"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;II)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 4 1 arr [S
RuntimeVisibleAnnotations:
org.junit.Test()
public static int loadInt(int[], int);
descriptor: ([II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arr [I
0 1 1 n I
MethodParameters:
Name Flags
arr
n
public void testLoadInt();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 6
newarray 10
dup
iconst_0
iconst_3
iastore
dup
iconst_1
iconst_4
iastore
dup
iconst_2
iconst_5
iastore
dup
iconst_3
bipush 6
iastore
dup
iconst_4
bipush 7
iastore
dup
iconst_5
bipush 8
iastore
astore 1
start local 1 1: aload 0
ldc "loadInt"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "loadInt"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;II)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 4 1 arr [I
RuntimeVisibleAnnotations:
org.junit.Test()
public static long loadLong(long[], int);
descriptor: ([JI)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
laload
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arr [J
0 1 1 n I
MethodParameters:
Name Flags
arr
n
public void testLoadLong();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 6
newarray 11
dup
iconst_0
ldc 3
lastore
dup
iconst_1
ldc 4
lastore
dup
iconst_2
ldc 5
lastore
dup
iconst_3
ldc 6
lastore
dup
iconst_4
ldc 7
lastore
dup
iconst_5
ldc 8
lastore
astore 1
start local 1 1: aload 0
ldc "loadLong"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "loadLong"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;II)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 4 1 arr [J
RuntimeVisibleAnnotations:
org.junit.Test()
public static float loadFloat(float[], int);
descriptor: ([FI)F
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
faload
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arr [F
0 1 1 n I
MethodParameters:
Name Flags
arr
n
public void testLoadFloat();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 6
newarray 6
dup
iconst_0
ldc 3.0
fastore
dup
iconst_1
ldc 4.0
fastore
dup
iconst_2
ldc 5.0
fastore
dup
iconst_3
ldc 6.0
fastore
dup
iconst_4
ldc 7.0
fastore
dup
iconst_5
ldc 8.0
fastore
astore 1
start local 1 1: aload 0
ldc "loadFloat"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "loadFloat"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;II)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 4 1 arr [F
RuntimeVisibleAnnotations:
org.junit.Test()
public static double loadDouble(double[], int);
descriptor: ([DI)D
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
daload
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arr [D
0 1 1 n I
MethodParameters:
Name Flags
arr
n
public void testLoadDouble();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 6
newarray 7
dup
iconst_0
ldc 3.0
dastore
dup
iconst_1
ldc 4.0
dastore
dup
iconst_2
ldc 5.0
dastore
dup
iconst_3
ldc 6.0
dastore
dup
iconst_4
ldc 7.0
dastore
dup
iconst_5
ldc 8.0
dastore
astore 1
start local 1 1: aload 0
ldc "loadDouble"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "loadDouble"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_1
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;II)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 4 1 arr [D
RuntimeVisibleAnnotations:
org.junit.Test()
public static java.lang.String loadObject(java.lang.String[], int);
descriptor: ([Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arr [Ljava/lang/String;
0 1 1 n I
MethodParameters:
Name Flags
arr
n
public void testLoadObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 6
anewarray java.lang.String
dup
iconst_0
ldc "ac"
aastore
dup
iconst_1
ldc "ad"
aastore
dup
iconst_2
ldc "ew"
aastore
dup
iconst_3
ldc "asf"
aastore
dup
iconst_4
ldc "sdad"
aastore
dup
iconst_5
ldc "aff"
aastore
astore 1
start local 1 1: aload 0
ldc "loadObject"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "loadObject"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIRforAll:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 4 1 arr [Ljava/lang/String;
RuntimeVisibleAnnotations:
org.junit.Test()
public static int storeInt(int[], int);
descriptor: ([II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iload 1
iload 1
imul
iastore
1: aload 0
iload 1
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 arr [I
0 2 1 n I
MethodParameters:
Name Flags
arr
n
public void testStoreInt();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 6
newarray 10
dup
iconst_0
iconst_3
iastore
dup
iconst_1
iconst_4
iastore
dup
iconst_2
iconst_5
iastore
dup
iconst_3
bipush 6
iastore
dup
iconst_4
bipush 7
iastore
dup
iconst_5
bipush 8
iastore
astore 1
start local 1 1: aload 0
ldc "storeInt"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "storeInt"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIRforAll:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 4 1 arr [I
RuntimeVisibleAnnotations:
org.junit.Test()
public static java.lang.Integer loadAndStoreObject(java.lang.Integer[], int);
descriptor: ([Ljava/lang/Integer;I)Ljava/lang/Integer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
aaload
invokevirtual java.lang.Integer.intValue:()I
ifle 2
1: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
dup2
aaload
invokevirtual java.lang.Integer.intValue:()I
iconst_3
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
3: aload 0
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 arr [Ljava/lang/Integer;
0 4 1 i I
MethodParameters:
Name Flags
arr
i
public void testLoadAndStoreObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 10
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
dup
iconst_4
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_5
bipush 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 6
bipush 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 7
bipush 8
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 8
bipush 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 9
bipush 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
astore 1
start local 1 1: aload 0
ldc "loadAndStoreObject"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "loadAndStoreObject"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_2
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIRforAll:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 4 1 arr [Ljava/lang/Integer;
RuntimeVisibleAnnotations:
org.junit.Test()
public static int useArrayInLoop(int[]);
descriptor: ([I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: int int
StackMap stack:
iload 1
aload 0
iload 2
iaload
invokestatic org.graalvm.compiler.api.directives.GraalDirectives.opaque:(I)I
iadd
istore 1
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 arr [I
1 7 1 ret I
2 6 2 i I
MethodParameters:
Name Flags
arr
public void testUseArrayInLoop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: bipush 8
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
iconst_3
iastore
dup
iconst_3
iconst_4
iastore
dup
iconst_4
iconst_5
iastore
dup
iconst_5
bipush 6
iastore
dup
bipush 6
bipush 7
iastore
dup
bipush 7
bipush 8
iastore
astore 1
start local 1 1: aload 0
ldc "useArrayInLoop"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
2: aload 0
ldc "useArrayInLoop"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIRforAll:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 4 1 arr [I
RuntimeVisibleAnnotations:
org.junit.Test()
public static int useArrayDeque(java.util.ArrayDeque<java.lang.Integer>);
descriptor: (Ljava/util/ArrayDeque;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
1: aload 0
invokevirtual java.util.ArrayDeque.removeFirst:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 ad Ljava/util/ArrayDeque<Ljava/lang/Integer;>;
Signature: (Ljava/util/ArrayDeque<Ljava/lang/Integer;>;)I
MethodParameters:
Name Flags
ad
public void testUseArrayDeque();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 1
start local 1 1: aload 0
ldc "useArrayDeque"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.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/core/aarch64/test/AArch64ArrayAddressTest;
1 3 1 ad Ljava/util/ArrayDeque<Ljava/lang/Integer;>;
RuntimeVisibleAnnotations:
org.junit.Test()
private static org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest$Frame newFrame(byte);
descriptor: (B)Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest$Frame;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.frameCache:[Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest$Frame;
iload 0
sipush 255
iand
aaload
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data B
MethodParameters:
Name Flags
data
public static int getFrameIndex(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
i2b
invokestatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.newFrame:(B)Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest$Frame;
getfield org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest$Frame.index:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 n I
MethodParameters:
Name Flags
n
public void testGetFrameIndex();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 4
2: StackMap locals: int
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.frameCache:[Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest$Frame;
iload 1
new org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest$Frame
dup
iload 1
iload 1
imul
invokespecial org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest$Frame.<init>:(I)V
aastore
3: iinc 1 1
StackMap locals:
StackMap stack:
4: iload 1
sipush 256
if_icmplt 2
end local 1 5: aload 0
ldc "getFrameIndex"
iconst_1
anewarray java.lang.Object
dup
iconst_0
sipush 258
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
6: aload 0
ldc "getFrameIndex"
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.predicate:Ljava/util/function/Predicate;
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.checkLIRforAll:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
1 5 1 i I
RuntimeVisibleAnnotations:
org.junit.Test()
public static long useConstReferenceAsBase(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.localBarcodes:Ljava/util/Set;
lload 0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.allBarcodes:Ljava/util/Set;
lload 0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: lload 0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 l J
MethodParameters:
Name Flags
l
public void testUseConstReferenceAsBase();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
ldc "useConstReferenceAsBase"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
1: getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.localBarcodes:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
getstatic org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.allBarcodes:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
iadd
istore 1
start local 1 2: aload 0
ldc "useConstReferenceAsBase"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 1
i2l
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64ArrayAddressTest;
2 4 1 l I
RuntimeVisibleAnnotations:
org.junit.Test()
private static boolean lambda$0(org.graalvm.compiler.lir.LIRInstruction);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 op Lorg/graalvm/compiler/lir/LIRInstruction;
}
SourceFile: "AArch64ArrayAddressTest.java"
NestMembers:
org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest$Frame
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
private Frame = org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest$Frame of org.graalvm.compiler.core.aarch64.test.AArch64ArrayAddressTest
public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
public ExtendedAddSubShiftOp = org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp of org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp