public class org.graalvm.compiler.core.aarch64.AArch64MoveFactory implements org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.core.aarch64.AArch64MoveFactory
super_class: java.lang.Object
{
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/core/aarch64/AArch64MoveFactory;
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.core.aarch64.AArch64MoveFactory.$assertionsDisabled:Z
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 java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64MoveFactory;
public org.graalvm.compiler.lir.LIRInstruction createMove(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.Value);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/LIRInstruction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
istore 3
start local 3 1: aload 1
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
istore 4
start local 4 2: aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
ifeq 4
3: aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.lir.LIRValueUtil.asConstant:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Constant;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64MoveFactory.createLoad:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;)Lorg/graalvm/compiler/lir/LIRInstruction;
areturn
4: StackMap locals: int int
StackMap stack:
aload 2
instanceof org.graalvm.compiler.lir.aarch64.AArch64AddressValue
ifeq 6
5: new org.graalvm.compiler.lir.aarch64.AArch64Move$LoadAddressOp
dup
aload 1
aload 2
checkcast org.graalvm.compiler.lir.aarch64.AArch64AddressValue
invokespecial org.graalvm.compiler.lir.aarch64.AArch64Move$LoadAddressOp.<init>:(Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/aarch64/AArch64AddressValue;)V
areturn
6: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64MoveFactory.$assertionsDisabled:Z
ifne 7
aload 2
instanceof jdk.vm.ci.meta.AllocatableValue
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
iload 3
ifeq 9
iload 4
ifeq 9
8: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
9: StackMap locals:
StackMap stack:
new org.graalvm.compiler.lir.aarch64.AArch64Move$Move
dup
aload 1
aload 2
checkcast jdk.vm.ci.meta.AllocatableValue
invokespecial org.graalvm.compiler.lir.aarch64.AArch64Move$Move.<init>:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/core/aarch64/AArch64MoveFactory;
0 10 1 dst Ljdk/vm/ci/meta/AllocatableValue;
0 10 2 src Ljdk/vm/ci/meta/Value;
1 10 3 srcIsSlot Z
2 10 4 dstIsSlot Z
MethodParameters:
Name Flags
dst
src
public org.graalvm.compiler.lir.LIRInstruction createStackMove(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.AllocatableValue);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/LIRInstruction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.lir.aarch64.AArch64Move$Move
dup
aload 1
aload 2
invokespecial org.graalvm.compiler.lir.aarch64.AArch64Move$Move.<init>:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64MoveFactory;
0 1 1 result Ljdk/vm/ci/meta/AllocatableValue;
0 1 2 input Ljdk/vm/ci/meta/AllocatableValue;
MethodParameters:
Name Flags
result
input
public org.graalvm.compiler.lir.LIRInstruction createLoad(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.Constant);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;)Lorg/graalvm/compiler/lir/LIRInstruction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof jdk.vm.ci.meta.JavaConstant
ifeq 5
1: aload 2
checkcast jdk.vm.ci.meta.JavaConstant
astore 3
start local 3 2: aload 0
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64MoveFactory.canInlineConstant:(Ljdk/vm/ci/meta/Constant;)Z
ifeq 4
3: new org.graalvm.compiler.lir.aarch64.AArch64Move$LoadInlineConstant
dup
aload 3
aload 1
invokespecial org.graalvm.compiler.lir.aarch64.AArch64Move$LoadInlineConstant.<init>:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/AllocatableValue;)V
areturn
4: StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
new org.graalvm.compiler.lir.aarch64.AArch64Move$LoadInlineConstant
dup
aload 3
aload 1
invokespecial org.graalvm.compiler.lir.aarch64.AArch64Move$LoadInlineConstant.<init>:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/AllocatableValue;)V
areturn
end local 3 5: StackMap locals:
StackMap stack:
aload 2
instanceof org.graalvm.compiler.core.common.type.DataPointerConstant
ifeq 7
6: new org.graalvm.compiler.lir.aarch64.AArch64Move$LoadDataOp
dup
aload 1
aload 2
checkcast org.graalvm.compiler.core.common.type.DataPointerConstant
invokespecial org.graalvm.compiler.lir.aarch64.AArch64Move$LoadDataOp.<init>:(Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/core/common/type/DataPointerConstant;)V
areturn
7: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:()Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/core/aarch64/AArch64MoveFactory;
0 8 1 dst Ljdk/vm/ci/meta/AllocatableValue;
0 8 2 src Ljdk/vm/ci/meta/Constant;
2 5 3 javaConstant Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
dst
src
public org.graalvm.compiler.lir.LIRInstruction createStackLoad(jdk.vm.ci.meta.AllocatableValue, jdk.vm.ci.meta.Constant);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;)Lorg/graalvm/compiler/lir/LIRInstruction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64MoveFactory.createLoad:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Constant;)Lorg/graalvm/compiler/lir/LIRInstruction;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64MoveFactory;
0 1 1 result Ljdk/vm/ci/meta/AllocatableValue;
0 1 2 input Ljdk/vm/ci/meta/Constant;
MethodParameters:
Name Flags
result
input
public boolean canInlineConstant(jdk.vm.ci.meta.Constant);
descriptor: (Ljdk/vm/ci/meta/Constant;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof jdk.vm.ci.meta.JavaConstant
ifeq 7
1: aload 1
checkcast jdk.vm.ci.meta.JavaConstant
astore 2
start local 2 2: invokestatic org.graalvm.compiler.core.aarch64.AArch64MoveFactory.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 2
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 9
1: 3
2: 3
3: 3
4: 3
5: 3
6: 6
7: 4
8: 6
9: 5
default: 6
}
3: StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
aload 2
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
i2l
invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isMovableImmediate:(J)Z
ireturn
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isMovableImmediate:(J)Z
ireturn
5: StackMap locals:
StackMap stack:
aload 2
invokeinterface jdk.vm.ci.meta.JavaConstant.isNull:()Z
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/core/aarch64/AArch64MoveFactory;
0 8 1 con Ljdk/vm/ci/meta/Constant;
2 7 2 c Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
con
public boolean allowConstantToStackMove(jdk.vm.ci.meta.Constant);
descriptor: (Ljdk/vm/ci/meta/Constant;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64MoveFactory;
0 1 1 value Ljdk/vm/ci/meta/Constant;
MethodParameters:
Name Flags
value
static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.core.aarch64.AArch64MoveFactory.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 8
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 11
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic org.graalvm.compiler.core.aarch64.AArch64MoveFactory.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
}
SourceFile: "AArch64MoveFactory.java"
InnerClasses:
public LoadAddressOp = org.graalvm.compiler.lir.aarch64.AArch64Move$LoadAddressOp of org.graalvm.compiler.lir.aarch64.AArch64Move
public LoadDataOp = org.graalvm.compiler.lir.aarch64.AArch64Move$LoadDataOp of org.graalvm.compiler.lir.aarch64.AArch64Move
public LoadInlineConstant = org.graalvm.compiler.lir.aarch64.AArch64Move$LoadInlineConstant of org.graalvm.compiler.lir.aarch64.AArch64Move
public Move = org.graalvm.compiler.lir.aarch64.AArch64Move$Move of org.graalvm.compiler.lir.aarch64.AArch64Move
public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool