Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(209)

Side by Side Diff: src/compiler/register-allocator.h

Issue 1536523003: [turbofan] removed some dead code. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/compiler/register-allocator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 401 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 412
413 static const int kInvalidSize = -1; 413 static const int kInvalidSize = -1;
414 static const float kInvalidWeight; 414 static const float kInvalidWeight;
415 static const float kMaxWeight; 415 static const float kMaxWeight;
416 416
417 private: 417 private:
418 friend class TopLevelLiveRange; 418 friend class TopLevelLiveRange;
419 explicit LiveRange(int relative_id, MachineRepresentation rep, 419 explicit LiveRange(int relative_id, MachineRepresentation rep,
420 TopLevelLiveRange* top_level); 420 TopLevelLiveRange* top_level);
421 421
422 void AppendAsChild(TopLevelLiveRange* other);
423 void UpdateParentForAllChildren(TopLevelLiveRange* new_top_level); 422 void UpdateParentForAllChildren(TopLevelLiveRange* new_top_level);
424 423
425 void set_spilled(bool value) { bits_ = SpilledField::update(bits_, value); } 424 void set_spilled(bool value) { bits_ = SpilledField::update(bits_, value); }
426 425
427 UseInterval* FirstSearchIntervalForPosition(LifetimePosition position) const; 426 UseInterval* FirstSearchIntervalForPosition(LifetimePosition position) const;
428 void AdvanceLastProcessedMarker(UseInterval* to_start_of, 427 void AdvanceLastProcessedMarker(UseInterval* to_start_of,
429 LifetimePosition but_not_past) const; 428 LifetimePosition but_not_past) const;
430 429
431 typedef BitField<bool, 0, 1> SpilledField; 430 typedef BitField<bool, 0, 1> SpilledField;
432 typedef BitField<int32_t, 6, 6> AssignedRegisterField; 431 typedef BitField<int32_t, 6, 6> AssignedRegisterField;
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 598
600 bool IsSpilledOnlyInDeferredBlocks() const { 599 bool IsSpilledOnlyInDeferredBlocks() const {
601 return spilled_in_deferred_blocks_; 600 return spilled_in_deferred_blocks_;
602 } 601 }
603 602
604 struct SpillMoveInsertionList; 603 struct SpillMoveInsertionList;
605 604
606 SpillMoveInsertionList* spill_move_insertion_locations() const { 605 SpillMoveInsertionList* spill_move_insertion_locations() const {
607 return spill_move_insertion_locations_; 606 return spill_move_insertion_locations_;
608 } 607 }
609 void set_last_child(LiveRange* range) { last_child_ = range; }
610 LiveRange* last_child() const { return last_child_; }
611 TopLevelLiveRange* splinter() const { return splinter_; } 608 TopLevelLiveRange* splinter() const { return splinter_; }
612 void SetSplinter(TopLevelLiveRange* splinter) { 609 void SetSplinter(TopLevelLiveRange* splinter) {
613 DCHECK_NULL(splinter_); 610 DCHECK_NULL(splinter_);
614 DCHECK_NOT_NULL(splinter); 611 DCHECK_NOT_NULL(splinter);
615 612
616 splinter_ = splinter; 613 splinter_ = splinter;
617 splinter->relative_id_ = GetNextChildId(); 614 splinter->relative_id_ = GetNextChildId();
618 splinter->set_spill_type(spill_type()); 615 splinter->set_spill_type(spill_type());
619 splinter->SetSplinteredFrom(this); 616 splinter->SetSplinteredFrom(this);
620 } 617 }
(...skipping 15 matching lines...) Expand all
636 union { 633 union {
637 // Correct value determined by spill_type() 634 // Correct value determined by spill_type()
638 InstructionOperand* spill_operand_; 635 InstructionOperand* spill_operand_;
639 SpillRange* spill_range_; 636 SpillRange* spill_range_;
640 }; 637 };
641 SpillMoveInsertionList* spill_move_insertion_locations_; 638 SpillMoveInsertionList* spill_move_insertion_locations_;
642 // TODO(mtrofin): generalize spilling after definition, currently specialized 639 // TODO(mtrofin): generalize spilling after definition, currently specialized
643 // just for spill in a single deferred block. 640 // just for spill in a single deferred block.
644 bool spilled_in_deferred_blocks_; 641 bool spilled_in_deferred_blocks_;
645 int spill_start_index_; 642 int spill_start_index_;
646 LiveRange* last_child_;
647 UsePosition* last_pos_; 643 UsePosition* last_pos_;
648 TopLevelLiveRange* splinter_; 644 TopLevelLiveRange* splinter_;
649 bool has_preassigned_slot_; 645 bool has_preassigned_slot_;
650 646
651 DISALLOW_COPY_AND_ASSIGN(TopLevelLiveRange); 647 DISALLOW_COPY_AND_ASSIGN(TopLevelLiveRange);
652 }; 648 };
653 649
654 650
655 struct PrintableLiveRange { 651 struct PrintableLiveRange {
656 const RegisterConfiguration* register_configuration_; 652 const RegisterConfiguration* register_configuration_;
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
1155 RegisterAllocationData* const data_; 1151 RegisterAllocationData* const data_;
1156 1152
1157 DISALLOW_COPY_AND_ASSIGN(LiveRangeConnector); 1153 DISALLOW_COPY_AND_ASSIGN(LiveRangeConnector);
1158 }; 1154 };
1159 1155
1160 } // namespace compiler 1156 } // namespace compiler
1161 } // namespace internal 1157 } // namespace internal
1162 } // namespace v8 1158 } // namespace v8
1163 1159
1164 #endif // V8_REGISTER_ALLOCATOR_H_ 1160 #endif // V8_REGISTER_ALLOCATOR_H_
OLDNEW
« no previous file with comments | « no previous file | src/compiler/register-allocator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698