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 |