Home | History | Annotate | Download | only in src

Lines Matching defs:LifetimePosition

38 class LifetimePosition {
42 static LifetimePosition FromInstructionIndex(int index) {
43 return LifetimePosition(index * kStep);
66 LifetimePosition InstructionStart() const {
68 return LifetimePosition(value_ & ~(kStep - 1));
73 LifetimePosition InstructionEnd() const {
75 return LifetimePosition(InstructionStart().Value() + kStep/2);
79 LifetimePosition NextInstruction() const {
81 return LifetimePosition(InstructionStart().Value() + kStep);
86 LifetimePosition PrevInstruction() const {
89 return LifetimePosition(InstructionStart().Value() - kStep);
94 LifetimePosition() : value_(-1) {}
100 static inline LifetimePosition Invalid() { return LifetimePosition(); }
102 static inline LifetimePosition MaxPosition() {
105 return LifetimePosition(kMaxInt);
114 explicit LifetimePosition(int value) : value_(value) { }
123 UseInterval(LifetimePosition start, LifetimePosition end)
128 LifetimePosition start() const { return start_; }
129 LifetimePosition end() const { return end_; }
134 void SplitAt(LifetimePosition pos, Zone* zone);
138 LifetimePosition Intersect(const UseInterval* other) const {
141 return LifetimePosition::Invalid();
144 bool Contains(LifetimePosition point) const {
149 void set_start(LifetimePosition start) { start_ = start; }
152 LifetimePosition start_;
153 LifetimePosition end_;
162 UsePosition(LifetimePosition pos, LOperand* operand, LOperand* hint);
172 LifetimePosition pos() const { return 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 {
261 LifetimePosition End() const {
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 LifetimePosition pos);
493 HBasicBlock* GetBlock(LifetimePosition pos);
553 LifetimePosition allocation_finger_;