| 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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 scratch_register_acquired_ = false; | 63 scratch_register_acquired_ = false; |
| 64 #endif | 64 #endif |
| 65 } | 65 } |
| 66 bool pending() { return pending_ != kNone; } | 66 bool pending() { return pending_ != kNone; } |
| 67 | 67 |
| 68 // Extra layer over the macro-assembler instructions (which emits the | 68 // Extra layer over the macro-assembler instructions (which emits the |
| 69 // potential pending instruction). | 69 // potential pending instruction). |
| 70 inline void Mov(const Register& rd, | 70 inline void Mov(const Register& rd, |
| 71 const Operand& operand, | 71 const Operand& operand, |
| 72 DiscardMoveMode discard_mode = kDontDiscardForSameWReg); | 72 DiscardMoveMode discard_mode = kDontDiscardForSameWReg); |
| 73 inline void Fmov(FPRegister fd, FPRegister fn); | 73 inline void Fmov(VRegister fd, VRegister fn); |
| 74 inline void Fmov(FPRegister fd, double imm); | 74 inline void Fmov(VRegister fd, double imm); |
| 75 inline void LoadObject(Register result, Handle<Object> object); | 75 inline void LoadObject(Register result, Handle<Object> object); |
| 76 // Instructions which try to merge which the pending instructions. | 76 // Instructions which try to merge which the pending instructions. |
| 77 void StackSlotMove(LOperand* src, LOperand* dst); | 77 void StackSlotMove(LOperand* src, LOperand* dst); |
| 78 // StoreConstant can only be used if the scratch register is not acquired. | 78 // StoreConstant can only be used if the scratch register is not acquired. |
| 79 void StoreConstant(uint64_t value, const MemOperand& operand); | 79 void StoreConstant(uint64_t value, const MemOperand& operand); |
| 80 void Load(const CPURegister& rd, const MemOperand& operand); | 80 void Load(const CPURegister& rd, const MemOperand& operand); |
| 81 void Store(const CPURegister& rd, const MemOperand& operand); | 81 void Store(const CPURegister& rd, const MemOperand& operand); |
| 82 // Emit the potential pending instruction. | 82 // Emit the potential pending instruction. |
| 83 void EmitPending(); | 83 void EmitPending(); |
| 84 // Reset the pending state. | 84 // Reset the pending state. |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 // If true, the scratch register has been acquired outside this class. The | 156 // If true, the scratch register has been acquired outside this class. The |
| 157 // scratch register can no longer be used for constants. | 157 // scratch register can no longer be used for constants. |
| 158 bool scratch_register_acquired_; | 158 bool scratch_register_acquired_; |
| 159 #endif | 159 #endif |
| 160 }; | 160 }; |
| 161 | 161 |
| 162 } // namespace internal | 162 } // namespace internal |
| 163 } // namespace v8 | 163 } // namespace v8 |
| 164 | 164 |
| 165 #endif // V8_CRANKSHAFT_ARM64_DELAYED_MASM_ARM64_H_ | 165 #endif // V8_CRANKSHAFT_ARM64_DELAYED_MASM_ARM64_H_ |
| OLD | NEW |