Mercurial > hg > truffle
diff graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java @ 19526:8fc336a04d77
Create TYPE fields for LIRInstruction and CompositeValue. Renaming NodeClass#get to NodeClass#create.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Fri, 20 Feb 2015 22:22:55 +0100 |
parents | 5e80dd2f1783 |
children | 96ab2078eeaf |
line wrap: on
line diff
--- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java Fri Feb 20 18:08:53 2015 +0100 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java Fri Feb 20 22:22:55 2015 +0100 @@ -56,13 +56,15 @@ /** * Unary operation with separate source and destination operand. */ - public static class Unary2Op extends SPARCLIRInstruction implements SPARCTailDelayedLIRInstruction { + public static final class Unary2Op extends SPARCLIRInstruction implements SPARCTailDelayedLIRInstruction { + public static final LIRInstructionClass<Unary2Op> TYPE = LIRInstructionClass.create(Unary2Op.class); @Opcode private final SPARCArithmetic opcode; @Def({REG, HINT}) protected AllocatableValue result; @Use({REG}) protected AllocatableValue x; public Unary2Op(SPARCArithmetic opcode, AllocatableValue result, AllocatableValue x) { + super(TYPE); this.opcode = opcode; this.result = result; this.x = x; @@ -78,7 +80,8 @@ * Binary operation with two operands. The first source operand is combined with the * destination. The second source operand must be a register. */ - public static class BinaryRegReg extends SPARCLIRInstruction implements SPARCTailDelayedLIRInstruction { + public static final class BinaryRegReg extends SPARCLIRInstruction implements SPARCTailDelayedLIRInstruction { + public static final LIRInstructionClass<BinaryRegReg> TYPE = LIRInstructionClass.create(BinaryRegReg.class); @Opcode private final SPARCArithmetic opcode; @Def({REG, HINT}) protected Value result; @@ -91,6 +94,7 @@ } public BinaryRegReg(SPARCArithmetic opcode, Value result, Value x, Value y, LIRFrameState state) { + super(TYPE); this.opcode = opcode; this.result = result; this.x = x; @@ -113,7 +117,8 @@ /** * Binary operation with single source/destination operand and one constant. */ - public static class BinaryRegConst extends SPARCLIRInstruction implements SPARCTailDelayedLIRInstruction { + public static final class BinaryRegConst extends SPARCLIRInstruction implements SPARCTailDelayedLIRInstruction { + public static final LIRInstructionClass<BinaryRegConst> TYPE = LIRInstructionClass.create(BinaryRegConst.class); @Opcode private final SPARCArithmetic opcode; @Def({REG, HINT}) protected AllocatableValue result; @@ -126,6 +131,7 @@ } public BinaryRegConst(SPARCArithmetic opcode, AllocatableValue result, Value x, JavaConstant y, LIRFrameState state) { + super(TYPE); this.opcode = opcode; this.result = result; this.x = x; @@ -148,7 +154,8 @@ /** * Special LIR instruction as it requires a bunch of scratch registers. */ - public static class RemOp extends SPARCLIRInstruction implements SPARCTailDelayedLIRInstruction { + public static final class RemOp extends SPARCLIRInstruction implements SPARCTailDelayedLIRInstruction { + public static final LIRInstructionClass<RemOp> TYPE = LIRInstructionClass.create(RemOp.class); @Opcode private final SPARCArithmetic opcode; @Def({REG}) protected Value result; @@ -159,6 +166,7 @@ @State protected LIRFrameState state; public RemOp(SPARCArithmetic opcode, Value result, Value x, Value y, LIRFrameState state, LIRGeneratorTool gen) { + super(TYPE); this.opcode = opcode; this.result = result; this.x = x; @@ -183,7 +191,8 @@ /** * Calculates the product and condition code for long multiplication of long values. */ - public static class SPARCLMulccOp extends SPARCLIRInstruction { + public static final class SPARCLMulccOp extends SPARCLIRInstruction { + public static final LIRInstructionClass<SPARCLMulccOp> TYPE = LIRInstructionClass.create(SPARCLMulccOp.class); @Def({REG}) protected Value result; @Alive({REG}) protected Value x; @Alive({REG}) protected Value y; @@ -191,6 +200,7 @@ @Temp({REG}) protected Value scratch2; public SPARCLMulccOp(Value result, Value x, Value y, LIRGeneratorTool gen) { + super(TYPE); this.result = result; this.x = x; this.y = y; @@ -835,7 +845,8 @@ } } - public static class MulHighOp extends SPARCLIRInstruction { + public static final class MulHighOp extends SPARCLIRInstruction { + public static final LIRInstructionClass<MulHighOp> TYPE = LIRInstructionClass.create(MulHighOp.class); @Opcode private final SPARCArithmetic opcode; @Def({REG}) public AllocatableValue result; @@ -844,6 +855,7 @@ @Temp({REG}) public AllocatableValue scratch; public MulHighOp(SPARCArithmetic opcode, AllocatableValue x, AllocatableValue y, AllocatableValue result, AllocatableValue scratch) { + super(TYPE); this.opcode = opcode; this.x = x; this.y = y;