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 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
473 void AllocateGeneralRegisters(); | 473 void AllocateGeneralRegisters(); |
474 void AllocateDoubleRegisters(); | 474 void AllocateDoubleRegisters(); |
475 | 475 |
476 // Phase 5: assign spill splots. | 476 // Phase 5: assign spill splots. |
477 void AssignSpillSlots(); | 477 void AssignSpillSlots(); |
478 | 478 |
479 // Phase 6: commit assignment. | 479 // Phase 6: commit assignment. |
480 void CommitAssignment(); | 480 void CommitAssignment(); |
481 | 481 |
482 // Phase 7: compute values for pointer maps. | 482 // Phase 7: compute values for pointer maps. |
483 void PopulatePointerMaps(); // TODO(titzer): rename to PopulateReferenceMaps. | 483 void PopulateReferenceMaps(); |
484 | 484 |
485 // Phase 8: reconnect split ranges with moves. | 485 // Phase 8: reconnect split ranges with moves. |
486 void ConnectRanges(); | 486 void ConnectRanges(); |
487 | 487 |
488 // Phase 9: insert moves to connect ranges across basic blocks. | 488 // Phase 9: insert moves to connect ranges across basic blocks. |
489 void ResolveControlFlow(); | 489 void ResolveControlFlow(); |
490 | 490 |
491 private: | 491 private: |
492 int GetVirtualRegister() { return code()->NextVirtualRegister(); } | 492 int GetVirtualRegister() { return code()->NextVirtualRegister(); } |
493 | 493 |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 #endif | 685 #endif |
686 | 686 |
687 DISALLOW_COPY_AND_ASSIGN(RegisterAllocator); | 687 DISALLOW_COPY_AND_ASSIGN(RegisterAllocator); |
688 }; | 688 }; |
689 | 689 |
690 } // namespace compiler | 690 } // namespace compiler |
691 } // namespace internal | 691 } // namespace internal |
692 } // namespace v8 | 692 } // namespace v8 |
693 | 693 |
694 #endif // V8_REGISTER_ALLOCATOR_H_ | 694 #endif // V8_REGISTER_ALLOCATOR_H_ |
OLD | NEW |