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 748 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
759 const ZoneVector<TopLevelLiveRange*>& live_ranges() const { | 759 const ZoneVector<TopLevelLiveRange*>& live_ranges() const { |
760 return live_ranges_; | 760 return live_ranges_; |
761 } | 761 } |
762 ZoneVector<TopLevelLiveRange*>& live_ranges() { return live_ranges_; } | 762 ZoneVector<TopLevelLiveRange*>& live_ranges() { return live_ranges_; } |
763 const ZoneVector<TopLevelLiveRange*>& fixed_live_ranges() const { | 763 const ZoneVector<TopLevelLiveRange*>& fixed_live_ranges() const { |
764 return fixed_live_ranges_; | 764 return fixed_live_ranges_; |
765 } | 765 } |
766 ZoneVector<TopLevelLiveRange*>& fixed_live_ranges() { | 766 ZoneVector<TopLevelLiveRange*>& fixed_live_ranges() { |
767 return fixed_live_ranges_; | 767 return fixed_live_ranges_; |
768 } | 768 } |
769 ZoneVector<TopLevelLiveRange*>& fixed_float_live_ranges() { | |
770 return fixed_float_live_ranges_; | |
771 } | |
772 const ZoneVector<TopLevelLiveRange*>& fixed_float_live_ranges() const { | |
773 return fixed_float_live_ranges_; | |
774 } | |
775 ZoneVector<TopLevelLiveRange*>& fixed_double_live_ranges() { | 769 ZoneVector<TopLevelLiveRange*>& fixed_double_live_ranges() { |
776 return fixed_double_live_ranges_; | 770 return fixed_double_live_ranges_; |
777 } | 771 } |
778 const ZoneVector<TopLevelLiveRange*>& fixed_double_live_ranges() const { | 772 const ZoneVector<TopLevelLiveRange*>& fixed_double_live_ranges() const { |
779 return fixed_double_live_ranges_; | 773 return fixed_double_live_ranges_; |
780 } | 774 } |
781 ZoneVector<TopLevelLiveRange*>& fixed_simd128_live_ranges() { | |
782 return fixed_simd128_live_ranges_; | |
783 } | |
784 const ZoneVector<TopLevelLiveRange*>& fixed_simd128_live_ranges() const { | |
785 return fixed_simd128_live_ranges_; | |
786 } | |
787 ZoneVector<BitVector*>& live_in_sets() { return live_in_sets_; } | 775 ZoneVector<BitVector*>& live_in_sets() { return live_in_sets_; } |
788 ZoneVector<BitVector*>& live_out_sets() { return live_out_sets_; } | 776 ZoneVector<BitVector*>& live_out_sets() { return live_out_sets_; } |
789 ZoneVector<SpillRange*>& spill_ranges() { return spill_ranges_; } | 777 ZoneVector<SpillRange*>& spill_ranges() { return spill_ranges_; } |
790 DelayedReferences& delayed_references() { return delayed_references_; } | 778 DelayedReferences& delayed_references() { return delayed_references_; } |
791 InstructionSequence* code() const { return code_; } | 779 InstructionSequence* code() const { return code_; } |
792 // This zone is for data structures only needed during register allocation | 780 // This zone is for data structures only needed during register allocation |
793 // phases. | 781 // phases. |
794 Zone* allocation_zone() const { return allocation_zone_; } | 782 Zone* allocation_zone() const { return allocation_zone_; } |
795 // This zone is for InstructionOperands and moves that live beyond register | 783 // This zone is for InstructionOperands and moves that live beyond register |
796 // allocation. | 784 // allocation. |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
838 Zone* const allocation_zone_; | 826 Zone* const allocation_zone_; |
839 Frame* const frame_; | 827 Frame* const frame_; |
840 InstructionSequence* const code_; | 828 InstructionSequence* const code_; |
841 const char* const debug_name_; | 829 const char* const debug_name_; |
842 const RegisterConfiguration* const config_; | 830 const RegisterConfiguration* const config_; |
843 PhiMap phi_map_; | 831 PhiMap phi_map_; |
844 ZoneVector<BitVector*> live_in_sets_; | 832 ZoneVector<BitVector*> live_in_sets_; |
845 ZoneVector<BitVector*> live_out_sets_; | 833 ZoneVector<BitVector*> live_out_sets_; |
846 ZoneVector<TopLevelLiveRange*> live_ranges_; | 834 ZoneVector<TopLevelLiveRange*> live_ranges_; |
847 ZoneVector<TopLevelLiveRange*> fixed_live_ranges_; | 835 ZoneVector<TopLevelLiveRange*> fixed_live_ranges_; |
848 ZoneVector<TopLevelLiveRange*> fixed_float_live_ranges_; | |
849 ZoneVector<TopLevelLiveRange*> fixed_double_live_ranges_; | 836 ZoneVector<TopLevelLiveRange*> fixed_double_live_ranges_; |
850 ZoneVector<TopLevelLiveRange*> fixed_simd128_live_ranges_; | |
851 ZoneVector<SpillRange*> spill_ranges_; | 837 ZoneVector<SpillRange*> spill_ranges_; |
852 DelayedReferences delayed_references_; | 838 DelayedReferences delayed_references_; |
853 BitVector* assigned_registers_; | 839 BitVector* assigned_registers_; |
854 BitVector* assigned_double_registers_; | 840 BitVector* assigned_double_registers_; |
855 int virtual_register_count_; | 841 int virtual_register_count_; |
856 RangesWithPreassignedSlots preassigned_slot_ranges_; | 842 RangesWithPreassignedSlots preassigned_slot_ranges_; |
857 | 843 |
858 DISALLOW_COPY_AND_ASSIGN(RegisterAllocationData); | 844 DISALLOW_COPY_AND_ASSIGN(RegisterAllocationData); |
859 }; | 845 }; |
860 | 846 |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1182 RegisterAllocationData* const data_; | 1168 RegisterAllocationData* const data_; |
1183 | 1169 |
1184 DISALLOW_COPY_AND_ASSIGN(LiveRangeConnector); | 1170 DISALLOW_COPY_AND_ASSIGN(LiveRangeConnector); |
1185 }; | 1171 }; |
1186 | 1172 |
1187 } // namespace compiler | 1173 } // namespace compiler |
1188 } // namespace internal | 1174 } // namespace internal |
1189 } // namespace v8 | 1175 } // namespace v8 |
1190 | 1176 |
1191 #endif // V8_REGISTER_ALLOCATOR_H_ | 1177 #endif // V8_REGISTER_ALLOCATOR_H_ |
OLD | NEW |