OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_REGISTER_ALLOCATOR_H_ | 5 #ifndef V8_REGISTER_ALLOCATOR_H_ |
6 #define V8_REGISTER_ALLOCATOR_H_ | 6 #define V8_REGISTER_ALLOCATOR_H_ |
7 | 7 |
8 #include "src/compiler/instruction.h" | 8 #include "src/compiler/instruction.h" |
9 #include "src/ostreams.h" | 9 #include "src/ostreams.h" |
10 #include "src/register-configuration.h" | 10 #include "src/register-configuration.h" |
(...skipping 753 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
764 const ZoneVector<TopLevelLiveRange*>& live_ranges() const { | 764 const ZoneVector<TopLevelLiveRange*>& live_ranges() const { |
765 return live_ranges_; | 765 return live_ranges_; |
766 } | 766 } |
767 ZoneVector<TopLevelLiveRange*>& live_ranges() { return live_ranges_; } | 767 ZoneVector<TopLevelLiveRange*>& live_ranges() { return live_ranges_; } |
768 const ZoneVector<TopLevelLiveRange*>& fixed_live_ranges() const { | 768 const ZoneVector<TopLevelLiveRange*>& fixed_live_ranges() const { |
769 return fixed_live_ranges_; | 769 return fixed_live_ranges_; |
770 } | 770 } |
771 ZoneVector<TopLevelLiveRange*>& fixed_live_ranges() { | 771 ZoneVector<TopLevelLiveRange*>& fixed_live_ranges() { |
772 return fixed_live_ranges_; | 772 return fixed_live_ranges_; |
773 } | 773 } |
| 774 ZoneVector<TopLevelLiveRange*>& fixed_float_live_ranges() { |
| 775 return fixed_float_live_ranges_; |
| 776 } |
| 777 const ZoneVector<TopLevelLiveRange*>& fixed_float_live_ranges() const { |
| 778 return fixed_float_live_ranges_; |
| 779 } |
774 ZoneVector<TopLevelLiveRange*>& fixed_double_live_ranges() { | 780 ZoneVector<TopLevelLiveRange*>& fixed_double_live_ranges() { |
775 return fixed_double_live_ranges_; | 781 return fixed_double_live_ranges_; |
776 } | 782 } |
777 const ZoneVector<TopLevelLiveRange*>& fixed_double_live_ranges() const { | 783 const ZoneVector<TopLevelLiveRange*>& fixed_double_live_ranges() const { |
778 return fixed_double_live_ranges_; | 784 return fixed_double_live_ranges_; |
779 } | 785 } |
| 786 ZoneVector<TopLevelLiveRange*>& fixed_simd128_live_ranges() { |
| 787 return fixed_simd128_live_ranges_; |
| 788 } |
| 789 const ZoneVector<TopLevelLiveRange*>& fixed_simd128_live_ranges() const { |
| 790 return fixed_simd128_live_ranges_; |
| 791 } |
780 ZoneVector<BitVector*>& live_in_sets() { return live_in_sets_; } | 792 ZoneVector<BitVector*>& live_in_sets() { return live_in_sets_; } |
781 ZoneVector<BitVector*>& live_out_sets() { return live_out_sets_; } | 793 ZoneVector<BitVector*>& live_out_sets() { return live_out_sets_; } |
782 ZoneVector<SpillRange*>& spill_ranges() { return spill_ranges_; } | 794 ZoneVector<SpillRange*>& spill_ranges() { return spill_ranges_; } |
783 DelayedReferences& delayed_references() { return delayed_references_; } | 795 DelayedReferences& delayed_references() { return delayed_references_; } |
784 InstructionSequence* code() const { return code_; } | 796 InstructionSequence* code() const { return code_; } |
785 // This zone is for data structures only needed during register allocation | 797 // This zone is for data structures only needed during register allocation |
786 // phases. | 798 // phases. |
787 Zone* allocation_zone() const { return allocation_zone_; } | 799 Zone* allocation_zone() const { return allocation_zone_; } |
788 // This zone is for InstructionOperands and moves that live beyond register | 800 // This zone is for InstructionOperands and moves that live beyond register |
789 // allocation. | 801 // allocation. |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
831 Zone* const allocation_zone_; | 843 Zone* const allocation_zone_; |
832 Frame* const frame_; | 844 Frame* const frame_; |
833 InstructionSequence* const code_; | 845 InstructionSequence* const code_; |
834 const char* const debug_name_; | 846 const char* const debug_name_; |
835 const RegisterConfiguration* const config_; | 847 const RegisterConfiguration* const config_; |
836 PhiMap phi_map_; | 848 PhiMap phi_map_; |
837 ZoneVector<BitVector*> live_in_sets_; | 849 ZoneVector<BitVector*> live_in_sets_; |
838 ZoneVector<BitVector*> live_out_sets_; | 850 ZoneVector<BitVector*> live_out_sets_; |
839 ZoneVector<TopLevelLiveRange*> live_ranges_; | 851 ZoneVector<TopLevelLiveRange*> live_ranges_; |
840 ZoneVector<TopLevelLiveRange*> fixed_live_ranges_; | 852 ZoneVector<TopLevelLiveRange*> fixed_live_ranges_; |
| 853 ZoneVector<TopLevelLiveRange*> fixed_float_live_ranges_; |
841 ZoneVector<TopLevelLiveRange*> fixed_double_live_ranges_; | 854 ZoneVector<TopLevelLiveRange*> fixed_double_live_ranges_; |
| 855 ZoneVector<TopLevelLiveRange*> fixed_simd128_live_ranges_; |
842 ZoneVector<SpillRange*> spill_ranges_; | 856 ZoneVector<SpillRange*> spill_ranges_; |
843 DelayedReferences delayed_references_; | 857 DelayedReferences delayed_references_; |
844 BitVector* assigned_registers_; | 858 BitVector* assigned_registers_; |
845 BitVector* assigned_double_registers_; | 859 BitVector* assigned_double_registers_; |
846 int virtual_register_count_; | 860 int virtual_register_count_; |
847 RangesWithPreassignedSlots preassigned_slot_ranges_; | 861 RangesWithPreassignedSlots preassigned_slot_ranges_; |
848 | 862 |
849 DISALLOW_COPY_AND_ASSIGN(RegisterAllocationData); | 863 DISALLOW_COPY_AND_ASSIGN(RegisterAllocationData); |
850 }; | 864 }; |
851 | 865 |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1180 RegisterAllocationData* const data_; | 1194 RegisterAllocationData* const data_; |
1181 | 1195 |
1182 DISALLOW_COPY_AND_ASSIGN(LiveRangeConnector); | 1196 DISALLOW_COPY_AND_ASSIGN(LiveRangeConnector); |
1183 }; | 1197 }; |
1184 | 1198 |
1185 } // namespace compiler | 1199 } // namespace compiler |
1186 } // namespace internal | 1200 } // namespace internal |
1187 } // namespace v8 | 1201 } // namespace v8 |
1188 | 1202 |
1189 #endif // V8_REGISTER_ALLOCATOR_H_ | 1203 #endif // V8_REGISTER_ALLOCATOR_H_ |
OLD | NEW |