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/zone-containers.h" | 9 #include "src/zone-containers.h" |
10 | 10 |
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
601 return inactive_live_ranges_; | 601 return inactive_live_ranges_; |
602 } | 602 } |
603 ZoneVector<SpillRange*>& spill_ranges() { return spill_ranges_; } | 603 ZoneVector<SpillRange*>& spill_ranges() { return spill_ranges_; } |
604 | 604 |
605 struct PhiMapValue { | 605 struct PhiMapValue { |
606 PhiMapValue(PhiInstruction* phi, const InstructionBlock* block) | 606 PhiMapValue(PhiInstruction* phi, const InstructionBlock* block) |
607 : phi(phi), block(block) {} | 607 : phi(phi), block(block) {} |
608 PhiInstruction* const phi; | 608 PhiInstruction* const phi; |
609 const InstructionBlock* const block; | 609 const InstructionBlock* const block; |
610 }; | 610 }; |
611 typedef std::map<int, PhiMapValue, std::less<int>, | 611 typedef ZoneMap<int, PhiMapValue> PhiMap; |
612 zone_allocator<std::pair<int, PhiMapValue>>> PhiMap; | |
613 | 612 |
614 Zone* const local_zone_; | 613 Zone* const local_zone_; |
615 Frame* const frame_; | 614 Frame* const frame_; |
616 InstructionSequence* const code_; | 615 InstructionSequence* const code_; |
617 const char* const debug_name_; | 616 const char* const debug_name_; |
618 | 617 |
619 const RegisterConfiguration* config_; | 618 const RegisterConfiguration* config_; |
620 InstructionOperandCache* const operand_cache_; | 619 InstructionOperandCache* const operand_cache_; |
621 PhiMap phi_map_; | 620 PhiMap phi_map_; |
622 | 621 |
(...skipping 23 matching lines...) Expand all Loading... |
646 #endif | 645 #endif |
647 | 646 |
648 DISALLOW_COPY_AND_ASSIGN(RegisterAllocator); | 647 DISALLOW_COPY_AND_ASSIGN(RegisterAllocator); |
649 }; | 648 }; |
650 | 649 |
651 } // namespace compiler | 650 } // namespace compiler |
652 } // namespace internal | 651 } // namespace internal |
653 } // namespace v8 | 652 } // namespace v8 |
654 | 653 |
655 #endif // V8_REGISTER_ALLOCATOR_H_ | 654 #endif // V8_REGISTER_ALLOCATOR_H_ |
OLD | NEW |