public class org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest 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.AArch64MergeNarrowWithAddSubTest
super_class: org.graalvm.compiler.core.aarch64.test.AArch64MatchRuleTest
{
private static final java.util.function.Predicate<org.graalvm.compiler.lir.LIRInstruction> PRED_EXTEND_ADD_SHIFT;
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 java.util.function.Predicate<org.graalvm.compiler.lir.LIRInstruction> PRED_EXTEND_SUB_SHIFT;
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 java.lang.Long[] LONG_VALUES;
descriptor: [Ljava/lang/Long;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Integer[] INT_VALUES;
descriptor: [Ljava/lang/Integer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, 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/AArch64MergeNarrowWithAddSubTest.lambda$0(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
putstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
1: 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/AArch64MergeNarrowWithAddSubTest.lambda$1(Lorg/graalvm/compiler/lir/LIRInstruction;)Z (6)
(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
putstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
2: bipush 8
anewarray java.lang.Long
dup
iconst_0
ldc -1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
ldc 1311768465173141112
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_3
ldc 4294967295
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_4
ldc 18
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_5
ldc 4660
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
bipush 6
ldc -9223372036854775808
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
bipush 7
ldc 9223372036854775807
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
putstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
3: bipush 6
anewarray java.lang.Integer
dup
iconst_0
iconst_m1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
sipush 4660
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
ldc 305419896
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
ldc -2147483648
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_5
ldc 2147483647
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
putstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
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/AArch64MergeNarrowWithAddSubTest;
private <T> void predicateExist(java.lang.String[], T[], java.util.function.Predicate<org.graalvm.compiler.lir.LIRInstruction>);
descriptor: ([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 9
StackMap locals: org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest java.lang.String[] java.lang.Object[] java.util.function.Predicate top int int java.lang.String[]
StackMap stack:
1: aload 7
iload 5
aaload
astore 4
start local 4 2: aload 2
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 7
StackMap locals: org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest java.lang.String[] java.lang.Object[] java.util.function.Predicate java.lang.String int int java.lang.String[] top int int java.lang.Object[]
StackMap stack:
3: aload 11
iload 9
aaload
astore 8
start local 8 4: aload 0
aload 4
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
dup
iconst_1
aload 8
aastore
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
5: aload 0
aload 4
aload 3
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.checkLIR:(Ljava/lang/String;Ljava/util/function/Predicate;I)V
end local 8 6: iinc 9 1
StackMap locals:
StackMap stack:
7: iload 9
iload 10
if_icmplt 3
end local 4 8: iinc 5 1
StackMap locals: org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest java.lang.String[] java.lang.Object[] java.util.function.Predicate top int int java.lang.String[]
StackMap stack:
9: iload 5
iload 6
if_icmplt 1
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 11 1 testCases [Ljava/lang/String;
0 11 2 values [Ljava/lang/Object;
0 11 3 predicate Ljava/util/function/Predicate<Lorg/graalvm/compiler/lir/LIRInstruction;>;
2 8 4 t Ljava/lang/String;
4 6 8 value TT;
Signature: <T:Ljava/lang/Object;>([Ljava/lang/String;[TT;Ljava/util/function/Predicate<Lorg/graalvm/compiler/lir/LIRInstruction;>;)V
MethodParameters:
Name Flags
testCases
values
predicate
public int addIB(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
sipush 255
iand
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public int addIH(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
ldc 65535
iand
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long addLB(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 255
land
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long addLH(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 65535
land
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long addLW(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 4294967295
land
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void mergeDowncastIntoAdd();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "addIB"
aastore
dup
iconst_1
ldc "addIH"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "addLB"
aastore
dup
iconst_1
ldc "addLH"
aastore
dup
iconst_2
ldc "addLW"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public int subIB(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
sipush 255
iand
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public int subIH(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
ldc 65535
iand
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long subLB(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 255
land
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long subLH(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 65535
land
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long subLW(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 4294967295
land
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void mergeDowncastIntoSub();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "subIB"
aastore
dup
iconst_1
ldc "subIH"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "subLB"
aastore
dup
iconst_1
ldc "subLH"
aastore
dup
iconst_2
ldc "subLW"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public int addIBShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
sipush 255
iand
iconst_3
ishl
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public int addIHShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
ldc 65535
iand
iconst_3
ishl
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long addLBShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 255
land
iconst_3
lshl
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long addLHShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 65535
land
iconst_3
lshl
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long addLWShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 4294967295
land
iconst_3
lshl
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void mergeShiftDowncastIntoAdd();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "addIBShift"
aastore
dup
iconst_1
ldc "addIHShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "addLBShift"
aastore
dup
iconst_1
ldc "addLHShift"
aastore
dup
iconst_2
ldc "addLWShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public int subIBShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
sipush 255
iand
iconst_3
ishl
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public int subIHShift(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
ldc 65535
iand
iconst_3
ishl
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long subLBShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 255
land
iconst_3
lshl
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long subLHShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 65535
land
iconst_3
lshl
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long subLWShift(long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
ldc 4294967295
land
iconst_3
lshl
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void mergeShiftDowncastIntoSub();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "subIBShift"
aastore
dup
iconst_1
ldc "subIHShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "subLBShift"
aastore
dup
iconst_1
ldc "subLHShift"
aastore
dup
iconst_2
ldc "subLWShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 16
ishl
bipush 16
ishr
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 24
ishl
bipush 24
ishr
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 32
lshl
bipush 32
lshr
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 48
lshl
bipush 48
lshr
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 56
lshl
bipush 56
lshr
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "addIntExtractShort"
aastore
dup
iconst_1
ldc "addIntExtractByte"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "addLongExtractInt"
aastore
dup
iconst_1
ldc "addLongExtractShort"
aastore
dup
iconst_2
ldc "addLongExtractByte"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 16
ishl
bipush 16
ishr
iconst_3
ishl
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 24
ishl
bipush 24
ishr
iconst_3
ishl
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 32
lshl
bipush 32
lshr
iconst_3
lshl
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 48
lshl
bipush 48
lshr
iconst_3
lshl
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 56
lshl
bipush 56
lshr
iconst_3
lshl
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "addIntExtractShortByShift"
aastore
dup
iconst_1
ldc "addIntExtractByteByShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "addLongExtractIntByShift"
aastore
dup
iconst_1
ldc "addLongExtractShortByShift"
aastore
dup
iconst_2
ldc "addLongExtractByteByShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 24
ishl
bipush 24
iushr
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 56
lshl
bipush 56
lushr
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "addIntUnsignedExtractByte"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "addLongUnsignedExtractByte"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 24
ishl
bipush 24
iushr
iconst_2
ishl
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 56
lshl
bipush 56
lushr
iconst_1
lshl
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "addIntUnsignedExtractByteByShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "addLongUnsignedExtractByteByShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_ADD_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 16
ishl
bipush 16
ishr
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 24
ishl
bipush 24
ishr
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 32
lshl
bipush 32
lshr
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 48
lshl
bipush 48
lshr
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 56
lshl
bipush 56
lshr
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "subIntExtractShort"
aastore
dup
iconst_1
ldc "subIntExtractByte"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "subLongExtractInt"
aastore
dup
iconst_1
ldc "subLongExtractShort"
aastore
dup
iconst_2
ldc "subLongExtractByte"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 16
ishl
bipush 16
ishr
iconst_3
ishl
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 24
ishl
bipush 24
ishr
iconst_3
ishl
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 32
lshl
bipush 32
lshr
iconst_3
lshl
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 48
lshl
bipush 48
lshr
iconst_3
lshl
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 56
lshl
bipush 56
lshr
iconst_3
lshl
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "subIntExtractShortByShift"
aastore
dup
iconst_1
ldc "subIntExtractByteByShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_3
anewarray java.lang.String
dup
iconst_0
ldc "subLongExtractIntByShift"
aastore
dup
iconst_1
ldc "subLongExtractShortByShift"
aastore
dup
iconst_2
ldc "subLongExtractByteByShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 24
ishl
bipush 24
iushr
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 56
lshl
bipush 56
lushr
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "subIntUnsignedExtractByte"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "subLongUnsignedExtractByte"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public int (int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
bipush 24
ishl
bipush 24
iushr
iconst_1
ishl
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x I
0 1 2 y I
MethodParameters:
Name Flags
x
y
public long (long, long);
descriptor: (JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lload 3
bipush 56
lshl
bipush 56
lushr
iconst_2
lshl
lsub
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
0 1 1 x J
0 1 3 y J
MethodParameters:
Name Flags
x
y
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "subIntUnsignedExtractByteByShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.INT_VALUES:[Ljava/lang/Integer;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
1: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "subLongUnsignedExtractByteByShift"
aastore
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.LONG_VALUES:[Ljava/lang/Long;
getstatic org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.PRED_EXTEND_SUB_SHIFT:Ljava/util/function/Predicate;
invokevirtual org.graalvm.compiler.core.aarch64.test.AArch64MergeNarrowWithAddSubTest.predicateExist:([Ljava/lang/String;[Ljava/lang/Object;Ljava/util/function/Predicate;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/test/AArch64MergeNarrowWithAddSubTest;
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=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp
ifeq 1
aload 0
invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
ldc "ADD"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 op Lorg/graalvm/compiler/lir/LIRInstruction;
private static boolean lambda$1(org.graalvm.compiler.lir.LIRInstruction);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp
ifeq 1
aload 0
invokevirtual org.graalvm.compiler.lir.LIRInstruction.name:()Ljava/lang/String;
ldc "SUB"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 op Lorg/graalvm/compiler/lir/LIRInstruction;
}
SourceFile: "AArch64MergeNarrowWithAddSubTest.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
public ExtendedAddSubShiftOp = org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp of org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp