Lines Matching refs:free_until
669 static void FreeIfNotCoverAt(LiveInterval* interval, size_t position, size_t* free_until) { in FreeIfNotCoverAt() argument
677 free_until[interval->GetRegister()] = kMaxLifetimePosition; in FreeIfNotCoverAt()
680 free_until[interval->GetHighInterval()->GetRegister()] = kMaxLifetimePosition; in FreeIfNotCoverAt()
685 free_until[interval->GetRegister()] = interval->FirstUseAfter(position); in FreeIfNotCoverAt()
688 free_until[interval->GetHighInterval()->GetRegister()] = free_until[interval->GetRegister()]; in FreeIfNotCoverAt()
696 size_t* free_until = registers_array_; in TryAllocateFreeReg() local
700 free_until[i] = kMaxLifetimePosition; in TryAllocateFreeReg()
707 free_until[interval->GetRegister()] = 0; in TryAllocateFreeReg()
730 FreeIfNotCoverAt(interval, position, free_until); in TryAllocateFreeReg()
752 if (free_until[inactive->GetRegister()] == 0) { in TryAllocateFreeReg()
758 free_until[inactive->GetRegister()] = in TryAllocateFreeReg()
759 std::min(free_until[inactive->GetRegister()], next_intersection); in TryAllocateFreeReg()
767 if (free_until[reg] == 0) { in TryAllocateFreeReg()
774 int hint = current->FindFirstRegisterHint(free_until, liveness_); in TryAllocateFreeReg()
782 reg = FindAvailableRegisterPair(free_until, current->GetStart()); in TryAllocateFreeReg()
784 reg = FindAvailableRegister(free_until); in TryAllocateFreeReg()
790 if (free_until[reg] == 0) { in TryAllocateFreeReg()
800 if (free_until[high_reg] == 0) { in TryAllocateFreeReg()
806 if (!current->IsDeadAt(free_until[reg])) { in TryAllocateFreeReg()
810 LiveInterval* split = Split(current, free_until[reg]); in TryAllocateFreeReg()