public abstract class org.graalvm.compiler.lir.aarch64.AArch64MathIntrinsicBinaryOp extends org.graalvm.compiler.lir.aarch64.AArch64LIRInstruction
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.lir.aarch64.AArch64MathIntrinsicBinaryOp
super_class: org.graalvm.compiler.lir.aarch64.AArch64LIRInstruction
{
protected jdk.vm.ci.meta.Value output;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Def()
protected jdk.vm.ci.meta.Value input0;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Use()
protected jdk.vm.ci.meta.Value input1;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Use()
protected jdk.vm.ci.meta.Value[] temps;
descriptor: [Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp()
public void <init>(org.graalvm.compiler.lir.LIRInstructionClass<? extends org.graalvm.compiler.lir.aarch64.AArch64LIRInstruction>, jdk.vm.ci.code.Register[]);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstructionClass;[Ljdk/vm/ci/code/Register;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.graalvm.compiler.lir.aarch64.AArch64LIRInstruction.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
1: aload 0
getstatic jdk.vm.ci.aarch64.AArch64.v0:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.aarch64.AArch64Kind.V64_WORD:Ljdk/vm/ci/aarch64/AArch64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
putfield org.graalvm.compiler.lir.aarch64.AArch64MathIntrinsicBinaryOp.input0:Ljdk/vm/ci/meta/Value;
2: aload 0
getstatic jdk.vm.ci.aarch64.AArch64.v0:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.aarch64.AArch64Kind.V64_WORD:Ljdk/vm/ci/aarch64/AArch64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
putfield org.graalvm.compiler.lir.aarch64.AArch64MathIntrinsicBinaryOp.input1:Ljdk/vm/ci/meta/Value;
3: aload 0
getstatic jdk.vm.ci.aarch64.AArch64.v0:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.aarch64.AArch64Kind.V64_WORD:Ljdk/vm/ci/aarch64/AArch64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
putfield org.graalvm.compiler.lir.aarch64.AArch64MathIntrinsicBinaryOp.output:Ljdk/vm/ci/meta/Value;
4: aload 0
aload 2
invokestatic org.graalvm.compiler.lir.aarch64.AArch64MathIntrinsicBinaryOp.registersToValues:([Ljdk/vm/ci/code/Register;)[Ljdk/vm/ci/meta/Value;
putfield org.graalvm.compiler.lir.aarch64.AArch64MathIntrinsicBinaryOp.temps:[Ljdk/vm/ci/meta/Value;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/lir/aarch64/AArch64MathIntrinsicBinaryOp;
0 6 1 type Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/aarch64/AArch64LIRInstruction;>;
0 6 2 registers [Ljdk/vm/ci/code/Register;
Signature: (Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/aarch64/AArch64LIRInstruction;>;[Ljdk/vm/ci/code/Register;)V
MethodParameters:
Name Flags
type
registers
protected static jdk.vm.ci.meta.Value[] registersToValues(jdk.vm.ci.code.Register[]);
descriptor: ([Ljdk/vm/ci/code/Register;)[Ljdk/vm/ci/meta/Value;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
arraylength
anewarray jdk.vm.ci.meta.Value
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 12
3: StackMap locals: jdk.vm.ci.meta.Value[] int
StackMap stack:
aload 0
iload 2
aaload
astore 3
start local 3 4: getstatic jdk.vm.ci.aarch64.AArch64.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
aload 3
invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 1
iload 2
aload 3
getstatic jdk.vm.ci.aarch64.AArch64Kind.V64_WORD:Ljdk/vm/ci/aarch64/AArch64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
aastore
6: goto 11
StackMap locals: jdk.vm.ci.code.Register
StackMap stack:
7: getstatic jdk.vm.ci.aarch64.AArch64.SIMD:Ljdk/vm/ci/code/Register$RegisterCategory;
aload 3
invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
ifeq 10
8: aload 1
iload 2
aload 3
getstatic jdk.vm.ci.aarch64.AArch64Kind.V64_WORD:Ljdk/vm/ci/aarch64/AArch64Kind;
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
aastore
9: goto 11
10: StackMap locals:
StackMap stack:
ldc "Unsupported register type in math stubs."
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 3 11: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 13: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 registers [Ljdk/vm/ci/code/Register;
1 14 1 temps [Ljdk/vm/ci/meta/Value;
2 13 2 i I
4 11 3 register Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
registers
public final org.graalvm.compiler.lir.Variable emitLIRWrapper(org.graalvm.compiler.lir.gen.LIRGenerator, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGenerator;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_2
anewarray jdk.vm.ci.meta.Value
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 4
start local 4 1: getstatic jdk.vm.ci.aarch64.AArch64.v0:Ljdk/vm/ci/code/Register;
aload 4
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 5
start local 5 2: aload 1
aload 5
aload 2
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
3: getstatic jdk.vm.ci.aarch64.AArch64.v1:Ljdk/vm/ci/code/Register;
aload 4
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 6
start local 6 4: aload 1
aload 6
aload 3
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
5: aload 1
aload 0
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
6: aload 1
aload 4
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 7
start local 7 7: aload 1
aload 7
aload 5
invokevirtual org.graalvm.compiler.lir.gen.LIRGenerator.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
8: aload 7
areturn
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 9 0 this Lorg/graalvm/compiler/lir/aarch64/AArch64MathIntrinsicBinaryOp;
0 9 1 gen Lorg/graalvm/compiler/lir/gen/LIRGenerator;
0 9 2 x Ljdk/vm/ci/meta/Value;
0 9 3 y Ljdk/vm/ci/meta/Value;
1 9 4 kind Lorg/graalvm/compiler/core/common/LIRKind;
2 9 5 v0value Ljdk/vm/ci/code/RegisterValue;
4 9 6 v1value Ljdk/vm/ci/code/RegisterValue;
7 9 7 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
gen
x
y
}
SourceFile: "AArch64MathIntrinsicBinaryOp.java"
InnerClasses:
public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register
public abstract Def = org.graalvm.compiler.lir.LIRInstruction$Def of org.graalvm.compiler.lir.LIRInstruction
public abstract Temp = org.graalvm.compiler.lir.LIRInstruction$Temp of org.graalvm.compiler.lir.LIRInstruction
public abstract Use = org.graalvm.compiler.lir.LIRInstruction$Use of org.graalvm.compiler.lir.LIRInstruction