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 2819 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2830 | 2830 |
2831 // By default we assume that instruction sequences generated for calls | 2831 // By default we assume that instruction sequences generated for calls |
2832 // cannot deoptimize eagerly and we do not attach environment to this | 2832 // cannot deoptimize eagerly and we do not attach environment to this |
2833 // instruction. | 2833 // instruction. |
2834 LInstruction* MarkAsCall( | 2834 LInstruction* MarkAsCall( |
2835 LInstruction* instr, | 2835 LInstruction* instr, |
2836 HInstruction* hinstr, | 2836 HInstruction* hinstr, |
2837 CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY); | 2837 CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY); |
2838 | 2838 |
2839 void VisitInstruction(HInstruction* current); | 2839 void VisitInstruction(HInstruction* current); |
| 2840 void CheckAndAddInstruction(LInstruction* instr, HInstruction* current); |
2840 | 2841 |
2841 void DoBasicBlock(HBasicBlock* block, HBasicBlock* next_block); | 2842 void DoBasicBlock(HBasicBlock* block, HBasicBlock* next_block); |
2842 LInstruction* DoShift(Token::Value op, HBitwiseBinaryOperation* instr); | 2843 LInstruction* DoShift(Token::Value op, HBitwiseBinaryOperation* instr); |
2843 LInstruction* DoArithmeticD(Token::Value op, | 2844 LInstruction* DoArithmeticD(Token::Value op, |
2844 HArithmeticBinaryOperation* instr); | 2845 HArithmeticBinaryOperation* instr); |
2845 LInstruction* DoArithmeticT(Token::Value op, | 2846 LInstruction* DoArithmeticT(Token::Value op, |
2846 HBinaryOperation* instr); | 2847 HBinaryOperation* instr); |
2847 | 2848 |
2848 LPlatformChunk* chunk_; | 2849 LPlatformChunk* chunk_; |
2849 CompilationInfo* info_; | 2850 CompilationInfo* info_; |
2850 HGraph* const graph_; | 2851 HGraph* const graph_; |
2851 Status status_; | 2852 Status status_; |
2852 HInstruction* current_instruction_; | 2853 HInstruction* current_instruction_; |
2853 HBasicBlock* current_block_; | 2854 HBasicBlock* current_block_; |
2854 HBasicBlock* next_block_; | 2855 HBasicBlock* next_block_; |
2855 LAllocator* allocator_; | 2856 LAllocator* allocator_; |
2856 | 2857 |
2857 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2858 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2858 }; | 2859 }; |
2859 | 2860 |
2860 #undef DECLARE_HYDROGEN_ACCESSOR | 2861 #undef DECLARE_HYDROGEN_ACCESSOR |
2861 #undef DECLARE_CONCRETE_INSTRUCTION | 2862 #undef DECLARE_CONCRETE_INSTRUCTION |
2862 | 2863 |
2863 } } // namespace v8::internal | 2864 } } // namespace v8::internal |
2864 | 2865 |
2865 #endif // V8_ARM_LITHIUM_ARM_H_ | 2866 #endif // V8_ARM_LITHIUM_ARM_H_ |
OLD | NEW |