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 // Assigns given environment to an instruction. An instruction which can | |
749 // deoptimize must have an environment. | |
750 LInstruction* AssignEnvironment(LInstruction* instr, | |
751 HEnvironment* hydrogen_env); | |
752 | |
753 LEnvironment* CreateEnvironment(HEnvironment* hydrogen_env, | 748 LEnvironment* CreateEnvironment(HEnvironment* hydrogen_env, |
754 int* argument_index_accumulator, | 749 int* argument_index_accumulator, |
755 ZoneList<HValue*>* objects_to_materialize); | 750 ZoneList<HValue*>* objects_to_materialize); |
756 void AddObjectToMaterialize(HValue* value, | 751 void AddObjectToMaterialize(HValue* value, |
757 ZoneList<HValue*>* objects_to_materialize, | 752 ZoneList<HValue*>* objects_to_materialize, |
758 LEnvironment* result); | 753 LEnvironment* result); |
759 | 754 |
760 Zone* zone() const { return zone_; } | 755 Zone* zone() const { return zone_; } |
761 | 756 |
762 int argument_count_; | 757 int argument_count_; |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
842 InputIterator input_iterator_; | 837 InputIterator input_iterator_; |
843 DeepIterator env_iterator_; | 838 DeepIterator env_iterator_; |
844 }; | 839 }; |
845 | 840 |
846 class LInstruction; | 841 class LInstruction; |
847 class LCodeGen; | 842 class LCodeGen; |
848 } // namespace internal | 843 } // namespace internal |
849 } // namespace v8 | 844 } // namespace v8 |
850 | 845 |
851 #endif // V8_CRANKSHAFT_LITHIUM_H_ | 846 #endif // V8_CRANKSHAFT_LITHIUM_H_ |
OLD | NEW |