| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_CRANKSHAFT_ARM64_DELAYED_MASM_ARM64_H_ | 5 #ifndef V8_CRANKSHAFT_ARM64_DELAYED_MASM_ARM64_H_ |
| 6 #define V8_CRANKSHAFT_ARM64_DELAYED_MASM_ARM64_H_ | 6 #define V8_CRANKSHAFT_ARM64_DELAYED_MASM_ARM64_H_ |
| 7 | 7 |
| 8 #include "src/crankshaft/lithium.h" | 8 #include "src/crankshaft/lithium.h" |
| 9 | 9 |
| 10 namespace v8 { | 10 namespace v8 { |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 scratch_register_acquired_ = false; | 54 scratch_register_acquired_ = false; |
| 55 #endif | 55 #endif |
| 56 } | 56 } |
| 57 bool pending() { return pending_ != kNone; } | 57 bool pending() { return pending_ != kNone; } |
| 58 | 58 |
| 59 // Extra layer over the macro-assembler instructions (which emits the | 59 // Extra layer over the macro-assembler instructions (which emits the |
| 60 // potential pending instruction). | 60 // potential pending instruction). |
| 61 inline void Mov(const Register& rd, | 61 inline void Mov(const Register& rd, |
| 62 const Operand& operand, | 62 const Operand& operand, |
| 63 DiscardMoveMode discard_mode = kDontDiscardForSameWReg); | 63 DiscardMoveMode discard_mode = kDontDiscardForSameWReg); |
| 64 inline void Fmov(FPRegister fd, FPRegister fn); | 64 inline void Fmov(VRegister fd, VRegister fn); |
| 65 inline void Fmov(FPRegister fd, double imm); | 65 inline void Fmov(VRegister fd, double imm); |
| 66 inline void LoadObject(Register result, Handle<Object> object); | 66 inline void LoadObject(Register result, Handle<Object> object); |
| 67 // Instructions which try to merge which the pending instructions. | 67 // Instructions which try to merge which the pending instructions. |
| 68 void StackSlotMove(LOperand* src, LOperand* dst); | 68 void StackSlotMove(LOperand* src, LOperand* dst); |
| 69 // StoreConstant can only be used if the scratch register is not acquired. | 69 // StoreConstant can only be used if the scratch register is not acquired. |
| 70 void StoreConstant(uint64_t value, const MemOperand& operand); | 70 void StoreConstant(uint64_t value, const MemOperand& operand); |
| 71 void Load(const CPURegister& rd, const MemOperand& operand); | 71 void Load(const CPURegister& rd, const MemOperand& operand); |
| 72 void Store(const CPURegister& rd, const MemOperand& operand); | 72 void Store(const CPURegister& rd, const MemOperand& operand); |
| 73 // Emit the potential pending instruction. | 73 // Emit the potential pending instruction. |
| 74 void EmitPending(); | 74 void EmitPending(); |
| 75 // Reset the pending state. | 75 // Reset the pending state. |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 // If true, the scratch register has been acquired outside this class. The | 145 // If true, the scratch register has been acquired outside this class. The |
| 146 // scratch register can no longer be used for constants. | 146 // scratch register can no longer be used for constants. |
| 147 bool scratch_register_acquired_; | 147 bool scratch_register_acquired_; |
| 148 #endif | 148 #endif |
| 149 }; | 149 }; |
| 150 | 150 |
| 151 } // namespace internal | 151 } // namespace internal |
| 152 } // namespace v8 | 152 } // namespace v8 |
| 153 | 153 |
| 154 #endif // V8_CRANKSHAFT_ARM64_DELAYED_MASM_ARM64_H_ | 154 #endif // V8_CRANKSHAFT_ARM64_DELAYED_MASM_ARM64_H_ |
| OLD | NEW |