Lines Matching refs:LiveRange
156 friend class LiveRange; // Assigns to start_. variable
185 friend class LiveRange; variable
190 class LiveRange: public ZoneObject {
194 LiveRange(int id, Zone* zone);
198 LiveRange* parent() const { return parent_; } in parent()
199 LiveRange* TopLevel() { return (parent_ == NULL) ? this : parent_; } in TopLevel()
200 LiveRange* next() const { return next_; } in next()
237 void SplitAt(LifetimePosition position, LiveRange* result, Zone* zone);
274 bool ShouldBeAllocatedBefore(const LiveRange* other) const;
277 LifetimePosition FirstIntersection(LiveRange* other);
313 LiveRange* parent_;
314 LiveRange* next_;
341 const ZoneList<LiveRange*>* live_ranges() const { return &live_ranges_; } in live_ranges()
342 const Vector<LiveRange*>* fixed_live_ranges() const { in fixed_live_ranges()
345 const Vector<LiveRange*>* fixed_double_live_ranges() const { in fixed_double_live_ranges()
409 LiveRange* LiveRangeFor(LOperand* operand);
418 void AddToActive(LiveRange* range);
419 void AddToInactive(LiveRange* range);
420 void AddToUnhandledSorted(LiveRange* range);
421 void AddToUnhandledUnsorted(LiveRange* range);
424 void ActiveToHandled(LiveRange* range);
425 void ActiveToInactive(LiveRange* range);
426 void InactiveToHandled(LiveRange* range);
427 void InactiveToActive(LiveRange* range);
428 void FreeSpillSlot(LiveRange* range);
429 LOperand* TryReuseSpillSlot(LiveRange* range);
432 bool TryAllocateFreeReg(LiveRange* range);
433 void AllocateBlockedReg(LiveRange* range);
443 LiveRange* SplitRangeAt(LiveRange* range, LifetimePosition pos);
446 LiveRange* SplitBetween(LiveRange* range,
457 void SpillAfter(LiveRange* range, LifetimePosition pos);
460 void SpillBetween(LiveRange* range,
466 void SpillBetweenUntil(LiveRange* range,
471 void SplitAndSpillIntersecting(LiveRange* range);
475 LifetimePosition FindOptimalSpillingPos(LiveRange* range,
478 void Spill(LiveRange* range);
482 void ResolveControlFlow(LiveRange* range,
486 inline void SetLiveRangeAssignedRegister(LiveRange* range, int reg);
499 LiveRange* FixedLiveRangeFor(int index);
500 LiveRange* FixedDoubleLiveRangeFor(int index);
501 LiveRange* LiveRangeFor(int index);
522 ZoneList<LiveRange*> live_ranges_;
525 EmbeddedVector<LiveRange*, Register::kMaxNumAllocatableRegisters>
527 EmbeddedVector<LiveRange*, DoubleRegister::kMaxNumAllocatableRegisters>
529 ZoneList<LiveRange*> unhandled_live_ranges_;
530 ZoneList<LiveRange*> active_live_ranges_;
531 ZoneList<LiveRange*> inactive_live_ranges_;
532 ZoneList<LiveRange*> reusable_slots_;