Lines Matching refs:LifetimePosition
38 class LifetimePosition {
42 static LifetimePosition FromInstructionIndex(int index) { in FromInstructionIndex()
43 return LifetimePosition(index * kStep); in FromInstructionIndex()
66 LifetimePosition InstructionStart() const { in InstructionStart()
68 return LifetimePosition(value_ & ~(kStep - 1)); in InstructionStart()
73 LifetimePosition InstructionEnd() const { in InstructionEnd()
75 return LifetimePosition(InstructionStart().Value() + kStep/2); in InstructionEnd()
79 LifetimePosition NextInstruction() const { in NextInstruction()
81 return LifetimePosition(InstructionStart().Value() + kStep); in NextInstruction()
86 LifetimePosition PrevInstruction() const { in PrevInstruction()
89 return LifetimePosition(InstructionStart().Value() - kStep); in PrevInstruction()
94 LifetimePosition() : value_(-1) {} in LifetimePosition() function
100 static inline LifetimePosition Invalid() { return LifetimePosition(); } in Invalid()
102 static inline LifetimePosition MaxPosition() { in MaxPosition()
105 return LifetimePosition(kMaxInt); in MaxPosition()
114 explicit LifetimePosition(int value) : value_(value) { } in LifetimePosition() function
123 UseInterval(LifetimePosition start, LifetimePosition end) in UseInterval()
128 LifetimePosition start() const { return start_; } in start()
129 LifetimePosition end() const { return end_; } in end()
134 void SplitAt(LifetimePosition pos, Zone* zone);
138 LifetimePosition Intersect(const UseInterval* other) const { in Intersect()
141 return LifetimePosition::Invalid(); in Intersect()
144 bool Contains(LifetimePosition point) const { in Contains()
149 void set_start(LifetimePosition start) { start_ = start; } in set_start()
152 LifetimePosition start_;
153 LifetimePosition end_;
162 UsePosition(LifetimePosition pos, LOperand* operand, LOperand* hint);
172 LifetimePosition pos() const { return pos_; } in pos()
180 LifetimePosition const pos_;
214 UsePosition* NextUsePosition(LifetimePosition start);
219 UsePosition* NextRegisterPosition(LifetimePosition start);
224 UsePosition* NextUsePositionRegisterIsBeneficial(LifetimePosition start);
228 UsePosition* PreviousUsePositionRegisterIsBeneficial(LifetimePosition start);
231 bool CanBeSpilled(LifetimePosition pos);
237 void SplitAt(LifetimePosition position, LiveRange* result, Zone* zone);
256 LifetimePosition Start() const { in Start()
261 LifetimePosition End() const { in End()
275 bool CanCover(LifetimePosition position) const;
276 bool Covers(LifetimePosition position);
277 LifetimePosition FirstIntersection(LiveRange* other);
280 void EnsureInterval(LifetimePosition start,
281 LifetimePosition end,
283 void AddUseInterval(LifetimePosition start,
284 LifetimePosition end,
286 void AddUsePosition(LifetimePosition pos,
292 void ShortenTo(LifetimePosition start);
302 UseInterval* FirstSearchIntervalForPosition(LifetimePosition position) const;
304 LifetimePosition but_not_past) const;
410 void Define(LifetimePosition position, LOperand* operand, LOperand* hint);
411 void Use(LifetimePosition block_start,
412 LifetimePosition position,
443 LiveRange* SplitRangeAt(LiveRange* range, LifetimePosition pos);
447 LifetimePosition start,
448 LifetimePosition end);
453 LifetimePosition FindOptimalSplitPos(LifetimePosition start,
454 LifetimePosition end);
457 void SpillAfter(LiveRange* range, LifetimePosition pos);
461 LifetimePosition start,
462 LifetimePosition end);
467 LifetimePosition start,
468 LifetimePosition until,
469 LifetimePosition end);
475 LifetimePosition FindOptimalSpillingPos(LiveRange* range,
476 LifetimePosition pos);
479 bool IsBlockBoundary(LifetimePosition pos);
490 LParallelMove* GetConnectingParallelMove(LifetimePosition pos);
493 HBasicBlock* GetBlock(LifetimePosition pos);
553 LifetimePosition allocation_finger_;