| Index: src/compiler/instruction-selector-impl.h
|
| diff --git a/src/compiler/instruction-selector-impl.h b/src/compiler/instruction-selector-impl.h
|
| index ecda4533517e8a21fbcf7a9741f8cf443ec498d0..5a2ebc597067193db126ebd8d1a8e5f637660975 100644
|
| --- a/src/compiler/instruction-selector-impl.h
|
| +++ b/src/compiler/instruction-selector-impl.h
|
| @@ -50,8 +50,13 @@ class OperandGenerator {
|
| }
|
|
|
| InstructionOperand DefineAsFixed(Node* node, Register reg) {
|
| - return Define(node, UnallocatedOperand(UnallocatedOperand::FIXED_REGISTER,
|
| - reg.code(), GetVReg(node)));
|
| + UnallocatedOperand op = DefineAsFixedForVreg(GetVReg(node), reg);
|
| + return Define(node, op);
|
| + }
|
| +
|
| + UnallocatedOperand DefineAsFixedForVreg(int vreg, Register reg) {
|
| + return UnallocatedOperand(UnallocatedOperand::FIXED_REGISTER, reg.code(),
|
| + vreg);
|
| }
|
|
|
| template <typename FPRegType>
|
| @@ -188,10 +193,15 @@ class OperandGenerator {
|
| return UnallocatedOperand(UnallocatedOperand::SAME_AS_FIRST_INPUT, vreg);
|
| }
|
|
|
| - InstructionOperand DefineAsRegistertForVreg(int vreg) {
|
| + InstructionOperand DefineAsRegisterForVreg(int vreg) {
|
| return UnallocatedOperand(UnallocatedOperand::MUST_HAVE_REGISTER, vreg);
|
| }
|
|
|
| + InstructionOperand UseFixedForVreg(int vreg, Register reg) {
|
| + return UnallocatedOperand(UnallocatedOperand::FIXED_REGISTER, reg.code(),
|
| + vreg);
|
| + }
|
| +
|
| InstructionOperand UseRegisterForVreg(int vreg) {
|
| return UnallocatedOperand(UnallocatedOperand::MUST_HAVE_REGISTER,
|
| UnallocatedOperand::USED_AT_START, vreg);
|
|
|