| 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_CRANKSHAFT_LITHIUM_H_ | 5 #ifndef V8_CRANKSHAFT_LITHIUM_H_ |
| 6 #define V8_CRANKSHAFT_LITHIUM_H_ | 6 #define V8_CRANKSHAFT_LITHIUM_H_ |
| 7 | 7 |
| 8 #include <set> | 8 #include <set> |
| 9 | 9 |
| 10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
| (...skipping 727 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 738 | 738 |
| 739 bool is_unused() const { return status_ == UNUSED; } | 739 bool is_unused() const { return status_ == UNUSED; } |
| 740 bool is_building() const { return status_ == BUILDING; } | 740 bool is_building() const { return status_ == BUILDING; } |
| 741 bool is_done() const { return status_ == DONE; } | 741 bool is_done() const { return status_ == DONE; } |
| 742 bool is_aborted() const { return status_ == ABORTED; } | 742 bool is_aborted() const { return status_ == ABORTED; } |
| 743 | 743 |
| 744 // An input operand in register, stack slot or a constant operand. | 744 // An input operand in register, stack slot or a constant operand. |
| 745 // Will not be moved to a register even if one is freely available. | 745 // Will not be moved to a register even if one is freely available. |
| 746 virtual MUST_USE_RESULT LOperand* UseAny(HValue* value) = 0; | 746 virtual MUST_USE_RESULT LOperand* UseAny(HValue* value) = 0; |
| 747 | 747 |
| 748 // Constructs proper environment for a lazy bailout point after call, creates |
| 749 // LLazyBailout instruction and adds it to current block. |
| 750 void CreateLazyBailoutForCall(HBasicBlock* current_block, LInstruction* instr, |
| 751 HInstruction* hydrogen_val); |
| 752 |
| 748 // Assigns given environment to an instruction. An instruction which can | 753 // Assigns given environment to an instruction. An instruction which can |
| 749 // deoptimize must have an environment. | 754 // deoptimize must have an environment. |
| 750 LInstruction* AssignEnvironment(LInstruction* instr, | 755 LInstruction* AssignEnvironment(LInstruction* instr, |
| 751 HEnvironment* hydrogen_env); | 756 HEnvironment* hydrogen_env); |
| 752 | 757 |
| 753 LEnvironment* CreateEnvironment(HEnvironment* hydrogen_env, | 758 LEnvironment* CreateEnvironment(HEnvironment* hydrogen_env, |
| 754 int* argument_index_accumulator, | 759 int* argument_index_accumulator, |
| 755 ZoneList<HValue*>* objects_to_materialize); | 760 ZoneList<HValue*>* objects_to_materialize); |
| 756 void AddObjectToMaterialize(HValue* value, | 761 void AddObjectToMaterialize(HValue* value, |
| 757 ZoneList<HValue*>* objects_to_materialize, | 762 ZoneList<HValue*>* objects_to_materialize, |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 842 InputIterator input_iterator_; | 847 InputIterator input_iterator_; |
| 843 DeepIterator env_iterator_; | 848 DeepIterator env_iterator_; |
| 844 }; | 849 }; |
| 845 | 850 |
| 846 class LInstruction; | 851 class LInstruction; |
| 847 class LCodeGen; | 852 class LCodeGen; |
| 848 } // namespace internal | 853 } // namespace internal |
| 849 } // namespace v8 | 854 } // namespace v8 |
| 850 | 855 |
| 851 #endif // V8_CRANKSHAFT_LITHIUM_H_ | 856 #endif // V8_CRANKSHAFT_LITHIUM_H_ |
| OLD | NEW |