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_MIPS_LITHIUM_MIPS_H_ | 5 #ifndef V8_MIPS_LITHIUM_MIPS_H_ |
6 #define V8_MIPS_LITHIUM_MIPS_H_ | 6 #define V8_MIPS_LITHIUM_MIPS_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 2774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2785 | 2785 |
2786 // By default we assume that instruction sequences generated for calls | 2786 // By default we assume that instruction sequences generated for calls |
2787 // cannot deoptimize eagerly and we do not attach environment to this | 2787 // cannot deoptimize eagerly and we do not attach environment to this |
2788 // instruction. | 2788 // instruction. |
2789 LInstruction* MarkAsCall( | 2789 LInstruction* MarkAsCall( |
2790 LInstruction* instr, | 2790 LInstruction* instr, |
2791 HInstruction* hinstr, | 2791 HInstruction* hinstr, |
2792 CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY); | 2792 CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY); |
2793 | 2793 |
2794 void VisitInstruction(HInstruction* current); | 2794 void VisitInstruction(HInstruction* current); |
| 2795 void CheckAndAddInstruction(LInstruction* instr, HInstruction* current); |
2795 | 2796 |
2796 void DoBasicBlock(HBasicBlock* block, HBasicBlock* next_block); | 2797 void DoBasicBlock(HBasicBlock* block, HBasicBlock* next_block); |
2797 LInstruction* DoBit(Token::Value op, HBitwiseBinaryOperation* instr); | 2798 LInstruction* DoBit(Token::Value op, HBitwiseBinaryOperation* instr); |
2798 LInstruction* DoShift(Token::Value op, HBitwiseBinaryOperation* instr); | 2799 LInstruction* DoShift(Token::Value op, HBitwiseBinaryOperation* instr); |
2799 LInstruction* DoArithmeticD(Token::Value op, | 2800 LInstruction* DoArithmeticD(Token::Value op, |
2800 HArithmeticBinaryOperation* instr); | 2801 HArithmeticBinaryOperation* instr); |
2801 LInstruction* DoArithmeticT(Token::Value op, | 2802 LInstruction* DoArithmeticT(Token::Value op, |
2802 HBinaryOperation* instr); | 2803 HBinaryOperation* instr); |
2803 | 2804 |
2804 LPlatformChunk* chunk_; | 2805 LPlatformChunk* chunk_; |
2805 CompilationInfo* info_; | 2806 CompilationInfo* info_; |
2806 HGraph* const graph_; | 2807 HGraph* const graph_; |
2807 Status status_; | 2808 Status status_; |
2808 HInstruction* current_instruction_; | 2809 HInstruction* current_instruction_; |
2809 HBasicBlock* current_block_; | 2810 HBasicBlock* current_block_; |
2810 HBasicBlock* next_block_; | 2811 HBasicBlock* next_block_; |
2811 LAllocator* allocator_; | 2812 LAllocator* allocator_; |
2812 | 2813 |
2813 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2814 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2814 }; | 2815 }; |
2815 | 2816 |
2816 #undef DECLARE_HYDROGEN_ACCESSOR | 2817 #undef DECLARE_HYDROGEN_ACCESSOR |
2817 #undef DECLARE_CONCRETE_INSTRUCTION | 2818 #undef DECLARE_CONCRETE_INSTRUCTION |
2818 | 2819 |
2819 } } // namespace v8::internal | 2820 } } // namespace v8::internal |
2820 | 2821 |
2821 #endif // V8_MIPS_LITHIUM_MIPS_H_ | 2822 #endif // V8_MIPS_LITHIUM_MIPS_H_ |
OLD | NEW |