| 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,
|
|
|