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 |