| 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_LITHIUM_ALLOCATOR_H_ | 5 #ifndef V8_LITHIUM_ALLOCATOR_H_ |
| 6 #define V8_LITHIUM_ALLOCATOR_H_ | 6 #define V8_LITHIUM_ALLOCATOR_H_ |
| 7 | 7 |
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/lithium.h" | 9 #include "src/lithium.h" |
| 10 #include "src/zone.h" | 10 #include "src/zone.h" |
| (...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 LPlatformChunk* chunk_; | 513 LPlatformChunk* chunk_; |
| 514 | 514 |
| 515 // During liveness analysis keep a mapping from block id to live_in sets | 515 // During liveness analysis keep a mapping from block id to live_in sets |
| 516 // for blocks already analyzed. | 516 // for blocks already analyzed. |
| 517 ZoneList<BitVector*> live_in_sets_; | 517 ZoneList<BitVector*> live_in_sets_; |
| 518 | 518 |
| 519 // Liveness analysis results. | 519 // Liveness analysis results. |
| 520 ZoneList<LiveRange*> live_ranges_; | 520 ZoneList<LiveRange*> live_ranges_; |
| 521 | 521 |
| 522 // Lists of live ranges | 522 // Lists of live ranges |
| 523 EmbeddedVector<LiveRange*, Register::kMaxNumAllocatableRegisters> | 523 EmbeddedVector<LiveRange*, Register::kNumRegisters> fixed_live_ranges_; |
| 524 fixed_live_ranges_; | 524 EmbeddedVector<LiveRange*, DoubleRegister::kMaxNumRegisters> |
| 525 EmbeddedVector<LiveRange*, DoubleRegister::kMaxNumAllocatableRegisters> | |
| 526 fixed_double_live_ranges_; | 525 fixed_double_live_ranges_; |
| 527 ZoneList<LiveRange*> unhandled_live_ranges_; | 526 ZoneList<LiveRange*> unhandled_live_ranges_; |
| 528 ZoneList<LiveRange*> active_live_ranges_; | 527 ZoneList<LiveRange*> active_live_ranges_; |
| 529 ZoneList<LiveRange*> inactive_live_ranges_; | 528 ZoneList<LiveRange*> inactive_live_ranges_; |
| 530 ZoneList<LiveRange*> reusable_slots_; | 529 ZoneList<LiveRange*> reusable_slots_; |
| 531 | 530 |
| 532 // Next virtual register number to be assigned to temporaries. | 531 // Next virtual register number to be assigned to temporaries. |
| 533 int next_virtual_register_; | 532 int next_virtual_register_; |
| 534 int first_artificial_register_; | 533 int first_artificial_register_; |
| 535 GrowableBitVector double_artificial_registers_; | 534 GrowableBitVector double_artificial_registers_; |
| 536 | 535 |
| 537 RegisterKind mode_; | 536 RegisterKind mode_; |
| 538 int num_registers_; | 537 int num_registers_; |
| 538 const int* allocatable_register_codes_; |
| 539 | 539 |
| 540 BitVector* assigned_registers_; | 540 BitVector* assigned_registers_; |
| 541 BitVector* assigned_double_registers_; | 541 BitVector* assigned_double_registers_; |
| 542 | 542 |
| 543 HGraph* graph_; | 543 HGraph* graph_; |
| 544 | 544 |
| 545 bool has_osr_entry_; | 545 bool has_osr_entry_; |
| 546 | 546 |
| 547 // Indicates success or failure during register allocation. | 547 // Indicates success or failure during register allocation. |
| 548 bool allocation_ok_; | 548 bool allocation_ok_; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 565 size_t allocator_zone_start_allocation_size_; | 565 size_t allocator_zone_start_allocation_size_; |
| 566 | 566 |
| 567 DISALLOW_COPY_AND_ASSIGN(LAllocatorPhase); | 567 DISALLOW_COPY_AND_ASSIGN(LAllocatorPhase); |
| 568 }; | 568 }; |
| 569 | 569 |
| 570 | 570 |
| 571 } // namespace internal | 571 } // namespace internal |
| 572 } // namespace v8 | 572 } // namespace v8 |
| 573 | 573 |
| 574 #endif // V8_LITHIUM_ALLOCATOR_H_ | 574 #endif // V8_LITHIUM_ALLOCATOR_H_ |
| OLD | NEW |