Lines Matching refs:LifetimePosition
32 class LifetimePosition final {
36 static LifetimePosition GapFromInstructionIndex(int index) { in GapFromInstructionIndex()
37 return LifetimePosition(index * kStep); in GapFromInstructionIndex()
41 static LifetimePosition InstructionFromInstructionIndex(int index) { in InstructionFromInstructionIndex()
42 return LifetimePosition(index * kStep + kHalfStep); in InstructionFromInstructionIndex()
45 static bool ExistsGapPositionBetween(LifetimePosition pos1, in ExistsGapPositionBetween()
46 LifetimePosition pos2) { in ExistsGapPositionBetween()
48 LifetimePosition next(pos1.value_ + 1); in ExistsGapPositionBetween()
74 LifetimePosition Start() const { in Start()
76 return LifetimePosition(value_ & ~(kHalfStep - 1)); in Start()
80 LifetimePosition FullStart() const { in FullStart()
82 return LifetimePosition(value_ & ~(kStep - 1)); in FullStart()
86 LifetimePosition End() const { in End()
88 return LifetimePosition(Start().value_ + kHalfStep / 2); in End()
92 LifetimePosition NextStart() const { in NextStart()
94 return LifetimePosition(Start().value_ + kHalfStep); in NextStart()
98 LifetimePosition NextFullStart() const { in NextFullStart()
100 return LifetimePosition(FullStart().value_ + kStep); in NextFullStart()
104 LifetimePosition PrevStart() const { in PrevStart()
107 return LifetimePosition(Start().value_ - kHalfStep); in PrevStart()
112 LifetimePosition() : value_(-1) {} in LifetimePosition() function
118 bool operator<(const LifetimePosition& that) const {
122 bool operator<=(const LifetimePosition& that) const {
126 bool operator==(const LifetimePosition& that) const {
130 bool operator!=(const LifetimePosition& that) const {
134 bool operator>(const LifetimePosition& that) const {
138 bool operator>=(const LifetimePosition& that) const {
144 static inline LifetimePosition Invalid() { return LifetimePosition(); } in Invalid()
146 static inline LifetimePosition MaxPosition() { in MaxPosition()
149 return LifetimePosition(kMaxInt); in MaxPosition()
152 static inline LifetimePosition FromInt(int value) { in FromInt()
153 return LifetimePosition(value); in FromInt()
163 explicit LifetimePosition(int value) : value_(value) {} in LifetimePosition() function
169 std::ostream& operator<<(std::ostream& os, const LifetimePosition pos);
175 UseInterval(LifetimePosition start, LifetimePosition end) in UseInterval()
180 LifetimePosition start() const { return start_; } in start()
181 void set_start(LifetimePosition start) { start_ = start; } in set_start()
182 LifetimePosition end() const { return end_; } in end()
183 void set_end(LifetimePosition end) { end_ = end; } in set_end()
189 UseInterval* SplitAt(LifetimePosition pos, Zone* zone);
193 LifetimePosition Intersect(const UseInterval* other) const { in Intersect()
196 return LifetimePosition::Invalid(); in Intersect()
199 bool Contains(LifetimePosition point) const { in Contains()
222 LifetimePosition start_;
223 LifetimePosition end_;
251 UsePosition(LifetimePosition pos, InstructionOperand* operand, void* hint,
263 LifetimePosition pos() const { return pos_; } in pos()
293 LifetimePosition const pos_;
342 UsePosition* NextUsePosition(LifetimePosition start) const;
346 UsePosition* NextRegisterPosition(LifetimePosition start) const;
349 UsePosition* NextSlotPosition(LifetimePosition start) const;
354 LifetimePosition start) const;
359 LifetimePosition start) const;
362 bool CanBeSpilled(LifetimePosition pos) const;
371 UsePosition* DetachAt(LifetimePosition position, LiveRange* result,
376 LiveRange* SplitAt(LifetimePosition position, Zone* zone);
390 LifetimePosition Start() const { in Start()
395 LifetimePosition End() const { in End()
401 bool CanCover(LifetimePosition position) const;
402 bool Covers(LifetimePosition position) const;
403 LifetimePosition FirstIntersection(LiveRange* other) const;
427 UseInterval* FirstSearchIntervalForPosition(LifetimePosition position) const;
429 LifetimePosition but_not_past) const;
496 void EnsureInterval(LifetimePosition start, LifetimePosition end, Zone* zone);
497 void AddUseInterval(LifetimePosition start, LifetimePosition end, Zone* zone);
501 void ShortenTo(LifetimePosition start);
507 void Splinter(LifetimePosition start, LifetimePosition end, Zone* zone);
703 LifetimePosition End() const { return end_position_; } in End()
710 LifetimePosition end_position_;
824 bool IsBlockBoundary(LifetimePosition pos) const;
927 UsePosition* NewUsePosition(LifetimePosition pos, InstructionOperand* operand,
929 UsePosition* NewUsePosition(LifetimePosition pos) { in NewUsePosition()
934 UsePosition* Define(LifetimePosition position, InstructionOperand* operand,
936 void Define(LifetimePosition position, InstructionOperand* operand) { in Define()
939 UsePosition* Use(LifetimePosition block_start, LifetimePosition position,
942 void Use(LifetimePosition block_start, LifetimePosition position, in Use()
969 LifetimePosition GetSplitPositionForInstruction(const LiveRange* range,
984 LiveRange* SplitRangeAt(LiveRange* range, LifetimePosition pos);
992 LiveRange* SplitBetween(LiveRange* range, LifetimePosition start,
993 LifetimePosition end);
998 LifetimePosition FindOptimalSplitPos(LifetimePosition start,
999 LifetimePosition end);
1005 LifetimePosition FindOptimalSpillingPos(LiveRange* range,
1006 LifetimePosition pos);
1062 void SpillAfter(LiveRange* range, LifetimePosition pos);
1065 void SpillBetween(LiveRange* range, LifetimePosition start,
1066 LifetimePosition end);
1070 void SpillBetweenUntil(LiveRange* range, LifetimePosition start,
1071 LifetimePosition until, LifetimePosition end);
1080 LifetimePosition allocation_finger_;