OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_ARM_LITHIUM_ARM_H_ | 5 #ifndef V8_ARM_LITHIUM_ARM_H_ |
6 #define V8_ARM_LITHIUM_ARM_H_ | 6 #define V8_ARM_LITHIUM_ARM_H_ |
7 | 7 |
8 #include "hydrogen.h" | 8 #include "hydrogen.h" |
9 #include "lithium-allocator.h" | 9 #include "lithium-allocator.h" |
10 #include "lithium.h" | 10 #include "lithium.h" |
(...skipping 2790 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2801 | 2801 |
2802 // An input operand in a constant operand. | 2802 // An input operand in a constant operand. |
2803 MUST_USE_RESULT LOperand* UseConstant(HValue* value); | 2803 MUST_USE_RESULT LOperand* UseConstant(HValue* value); |
2804 | 2804 |
2805 // An input operand in register, stack slot or a constant operand. | 2805 // An input operand in register, stack slot or a constant operand. |
2806 // Will not be moved to a register even if one is freely available. | 2806 // Will not be moved to a register even if one is freely available. |
2807 virtual MUST_USE_RESULT LOperand* UseAny(HValue* value) V8_OVERRIDE; | 2807 virtual MUST_USE_RESULT LOperand* UseAny(HValue* value) V8_OVERRIDE; |
2808 | 2808 |
2809 // Temporary operand that must be in a register. | 2809 // Temporary operand that must be in a register. |
2810 MUST_USE_RESULT LUnallocated* TempRegister(); | 2810 MUST_USE_RESULT LUnallocated* TempRegister(); |
| 2811 MUST_USE_RESULT LUnallocated* TempDoubleRegister(); |
2811 MUST_USE_RESULT LOperand* FixedTemp(Register reg); | 2812 MUST_USE_RESULT LOperand* FixedTemp(Register reg); |
2812 MUST_USE_RESULT LOperand* FixedTemp(DoubleRegister reg); | 2813 MUST_USE_RESULT LOperand* FixedTemp(DoubleRegister reg); |
2813 | 2814 |
2814 // Methods for setting up define-use relationships. | 2815 // Methods for setting up define-use relationships. |
2815 // Return the same instruction that they are passed. | 2816 // Return the same instruction that they are passed. |
2816 LInstruction* Define(LTemplateResultInstruction<1>* instr, | 2817 LInstruction* Define(LTemplateResultInstruction<1>* instr, |
2817 LUnallocated* result); | 2818 LUnallocated* result); |
2818 LInstruction* DefineAsRegister(LTemplateResultInstruction<1>* instr); | 2819 LInstruction* DefineAsRegister(LTemplateResultInstruction<1>* instr); |
2819 LInstruction* DefineAsSpilled(LTemplateResultInstruction<1>* instr, | 2820 LInstruction* DefineAsSpilled(LTemplateResultInstruction<1>* instr, |
2820 int index); | 2821 int index); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2857 | 2858 |
2858 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2859 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2859 }; | 2860 }; |
2860 | 2861 |
2861 #undef DECLARE_HYDROGEN_ACCESSOR | 2862 #undef DECLARE_HYDROGEN_ACCESSOR |
2862 #undef DECLARE_CONCRETE_INSTRUCTION | 2863 #undef DECLARE_CONCRETE_INSTRUCTION |
2863 | 2864 |
2864 } } // namespace v8::internal | 2865 } } // namespace v8::internal |
2865 | 2866 |
2866 #endif // V8_ARM_LITHIUM_ARM_H_ | 2867 #endif // V8_ARM_LITHIUM_ARM_H_ |
OLD | NEW |