Index: src/arm64/lithium-codegen-arm64.h |
diff --git a/src/arm64/lithium-codegen-arm64.h b/src/arm64/lithium-codegen-arm64.h |
index 1d64f861537131025a0e3c93dcba6fd7921b4831..cc936205a25075d3167dd4854726aa0bbc4392d8 100644 |
--- a/src/arm64/lithium-codegen-arm64.h |
+++ b/src/arm64/lithium-codegen-arm64.h |
@@ -75,6 +75,7 @@ class LCodeGen: public LCodeGenBase { |
// information on it. |
void FinishCode(Handle<Code> code); |
+ enum IntegerSignedness { SIGNED_INT32, UNSIGNED_INT32 }; |
// Support for converting LOperands to assembler types. |
// LOperand must be a register. |
Register ToRegister(LOperand* op) const; |
@@ -84,6 +85,17 @@ class LCodeGen: public LCodeGenBase { |
Operand ToOperand32U(LOperand* op); |
MemOperand ToMemOperand(LOperand* op) const; |
Handle<Object> ToHandle(LConstantOperand* op) const; |
+ Operand ToShiftedRightOperand32I(LOperand* right, |
+ LShiftedRightOpInterface* shift_info) { |
+ return ToShiftedRightOperand32(right, shift_info, SIGNED_INT32); |
+ } |
+ Operand ToShiftedRightOperand32U(LOperand* right, |
+ LShiftedRightOpInterface* shift_info) { |
+ return ToShiftedRightOperand32(right, shift_info, UNSIGNED_INT32); |
+ } |
+ Operand ToShiftedRightOperand32(LOperand* right, |
+ LShiftedRightOpInterface* shift_info, |
+ IntegerSignedness signedness); |
// TODO(jbramley): Examine these helpers and check that they make sense. |
// IsInteger32Constant returns true for smi constants, for example. |
@@ -114,7 +126,6 @@ class LCodeGen: public LCodeGenBase { |
Label* exit, |
Label* allocation_entry); |
- enum IntegerSignedness { SIGNED_INT32, UNSIGNED_INT32 }; |
void DoDeferredNumberTagU(LInstruction* instr, |
LOperand* value, |
LOperand* temp1, |