Lines Matching defs:LiveRange
242 friend class LiveRange; // Assigns to start_.
272 friend class LiveRange;
277 class LiveRange: public ZoneObject {
281 explicit LiveRange(int id);
285 LiveRange* parent() const { return parent_; }
286 LiveRange* TopLevel() { return (parent_ == NULL) ? this : parent_; }
287 LiveRange* next() const { return next_; }
320 void SplitAt(LifetimePosition position, LiveRange* result);
353 bool ShouldBeAllocatedBefore(const LiveRange* other) const;
356 LifetimePosition FirstIntersection(LiveRange* other);
385 LiveRange* parent_;
386 LiveRange* next_;
454 const ZoneList<LiveRange*>* live_ranges() const { return &live_ranges_; }
455 const Vector<LiveRange*>* fixed_live_ranges() const {
458 const Vector<LiveRange*>* fixed_double_live_ranges() const {
503 LiveRange* LiveRangeFor(LOperand* operand);
512 void AddToActive(LiveRange* range);
513 void AddToInactive(LiveRange* range);
514 void AddToUnhandledSorted(LiveRange* range);
515 void AddToUnhandledUnsorted(LiveRange* range);
518 void ActiveToHandled(LiveRange* range);
519 void ActiveToInactive(LiveRange* range);
520 void InactiveToHandled(LiveRange* range);
521 LiveRange* range);
522 void FreeSpillSlot(LiveRange* range);
523 LOperand* TryReuseSpillSlot(LiveRange* range);
526 bool TryAllocateFreeReg(LiveRange* range);
527 void AllocateBlockedReg(LiveRange* range);
537 LiveRange* SplitAt(LiveRange* range, LifetimePosition pos);
540 LiveRange* SplitBetween(LiveRange* range,
551 void SpillAfter(LiveRange* range, LifetimePosition pos);
554 void SpillBetween(LiveRange* range,
558 void SplitAndSpillIntersecting(LiveRange* range);
560 void Spill(LiveRange* range);
564 void ResolveControlFlow(LiveRange* range,
579 LiveRange* FixedLiveRangeFor(int index);
580 LiveRange* FixedDoubleLiveRangeFor(int index);
581 LiveRange* LiveRangeFor(int index);
600 ZoneList<LiveRange*> live_ranges_;
603 EmbeddedVector<LiveRange*, Register::kNumAllocatableRegisters>
605 EmbeddedVector<LiveRange*, DoubleRegister::kNumAllocatableRegisters>
607 ZoneList<LiveRange*> unhandled_live_ranges_;
608 ZoneList<LiveRange*> active_live_ranges_;
609 ZoneList<LiveRange*> inactive_live_ranges_;
610 ZoneList<LiveRange*> reusable_slots_;