Lines Matching refs:LifetimePosition

36 class LifetimePosition {
40 static LifetimePosition FromInstructionIndex(int index) { in FromInstructionIndex()
41 return LifetimePosition(index * kStep); in FromInstructionIndex()
64 LifetimePosition InstructionStart() const { in InstructionStart()
66 return LifetimePosition(value_ & ~(kStep - 1)); in InstructionStart()
71 LifetimePosition InstructionEnd() const { in InstructionEnd()
73 return LifetimePosition(InstructionStart().Value() + kStep/2); in InstructionEnd()
77 LifetimePosition NextInstruction() const { in NextInstruction()
79 return LifetimePosition(InstructionStart().Value() + kStep); in NextInstruction()
84 LifetimePosition PrevInstruction() const { in PrevInstruction()
87 return LifetimePosition(InstructionStart().Value() - kStep); in PrevInstruction()
92 LifetimePosition() : value_(-1) {} in LifetimePosition() function
98 static inline LifetimePosition Invalid() { return LifetimePosition(); } in Invalid()
100 static inline LifetimePosition MaxPosition() { in MaxPosition()
103 return LifetimePosition(kMaxInt); in MaxPosition()
112 explicit LifetimePosition(int value) : value_(value) { } in LifetimePosition() function
121 UseInterval(LifetimePosition start, LifetimePosition end) in UseInterval()
126 LifetimePosition start() const { return start_; } in start()
127 LifetimePosition end() const { return end_; } in end()
132 void SplitAt(LifetimePosition pos, Zone* zone);
136 LifetimePosition Intersect(const UseInterval* other) const { in Intersect()
139 return LifetimePosition::Invalid(); in Intersect()
142 bool Contains(LifetimePosition point) const { in Contains()
147 void set_start(LifetimePosition start) { start_ = start; } in set_start()
150 LifetimePosition start_;
151 LifetimePosition end_;
160 UsePosition(LifetimePosition pos, LOperand* operand, LOperand* hint);
170 LifetimePosition pos() const { return pos_; } in pos()
178 LifetimePosition const pos_;
212 UsePosition* NextUsePosition(LifetimePosition start);
217 UsePosition* NextRegisterPosition(LifetimePosition start);
222 UsePosition* NextUsePositionRegisterIsBeneficial(LifetimePosition start);
226 UsePosition* PreviousUsePositionRegisterIsBeneficial(LifetimePosition start);
229 bool CanBeSpilled(LifetimePosition pos);
235 void SplitAt(LifetimePosition position, LiveRange* result, Zone* zone);
254 LifetimePosition Start() const { in Start()
259 LifetimePosition End() const { in End()
273 bool CanCover(LifetimePosition position) const;
274 bool Covers(LifetimePosition position);
275 LifetimePosition FirstIntersection(LiveRange* other);
278 void EnsureInterval(LifetimePosition start,
279 LifetimePosition end,
281 void AddUseInterval(LifetimePosition start,
282 LifetimePosition end,
284 void AddUsePosition(LifetimePosition pos,
290 void ShortenTo(LifetimePosition start);
300 UseInterval* FirstSearchIntervalForPosition(LifetimePosition position) const;
302 LifetimePosition but_not_past) const;
408 void Define(LifetimePosition position, LOperand* operand, LOperand* hint);
409 void Use(LifetimePosition block_start,
410 LifetimePosition position,
441 LiveRange* SplitRangeAt(LiveRange* range, LifetimePosition pos);
445 LifetimePosition start,
446 LifetimePosition end);
451 LifetimePosition FindOptimalSplitPos(LifetimePosition start,
452 LifetimePosition end);
455 void SpillAfter(LiveRange* range, LifetimePosition pos);
459 LifetimePosition start,
460 LifetimePosition end);
465 LifetimePosition start,
466 LifetimePosition until,
467 LifetimePosition end);
473 LifetimePosition FindOptimalSpillingPos(LiveRange* range,
474 LifetimePosition pos);
477 bool IsBlockBoundary(LifetimePosition pos);
488 LParallelMove* GetConnectingParallelMove(LifetimePosition pos);
491 HBasicBlock* GetBlock(LifetimePosition pos);
551 LifetimePosition allocation_finger_;