public abstract class org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp extends org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp
super_class: org.graalvm.compiler.lir.amd64.AMD64LIRInstruction
{
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 input;
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.amd64.AMD64MathIntrinsicUnaryOp>, 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.amd64.AMD64LIRInstruction.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
1: aload 0
getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
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.amd64.AMD64MathIntrinsicUnaryOp.input:Ljdk/vm/ci/meta/Value;
2: aload 0
getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.amd64.AMD64Kind.DOUBLE:Ljdk/vm/ci/amd64/AMD64Kind;
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.amd64.AMD64MathIntrinsicUnaryOp.output:Ljdk/vm/ci/meta/Value;
3: aload 0
aload 2
invokestatic org.graalvm.compiler.lir.amd64.AMD64HotSpotHelper.registersToValues:([Ljdk/vm/ci/code/Register;)[Ljdk/vm/ci/meta/Value;
putfield org.graalvm.compiler.lir.amd64.AMD64MathIntrinsicUnaryOp.temps:[Ljdk/vm/ci/meta/Value;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp;
0 5 1 type Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp;>;
0 5 2 registers [Ljdk/vm/ci/code/Register;
Signature: (Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp;>;[Ljdk/vm/ci/code/Register;)V
MethodParameters:
Name Flags
type
registers
public final org.graalvm.compiler.lir.Variable emitLIRWrapper(org.graalvm.compiler.lir.gen.LIRGeneratorTool, jdk.vm.ci.meta.Value);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
anewarray jdk.vm.ci.meta.Value
dup
iconst_0
aload 2
aastore
invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 3
start local 3 1: getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
aload 3
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 4
start local 4 2: aload 1
aload 4
aload 2
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
3: aload 1
aload 0
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
4: aload 1
aload 3
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 5
start local 5 5: aload 1
aload 5
aload 4
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.emitMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
6: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/lir/amd64/AMD64MathIntrinsicUnaryOp;
0 7 1 gen Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
0 7 2 value Ljdk/vm/ci/meta/Value;
1 7 3 kind Lorg/graalvm/compiler/core/common/LIRKind;
2 7 4 xmm0Value Ljdk/vm/ci/code/RegisterValue;
5 7 5 result Lorg/graalvm/compiler/lir/Variable;
MethodParameters:
Name Flags
gen
value
}
SourceFile: "AMD64MathIntrinsicUnaryOp.java"
InnerClasses:
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