MediumLine* Deallocator::allocateMediumLine() { if (!m_mediumLineCache.size()) { std::lock_guard<StaticMutex> lock(PerProcess<Heap>::mutex()); Heap* heap = PerProcess<Heap>::getFastCase(); while (m_mediumLineCache.size() != m_mediumLineCache.capacity()) m_mediumLineCache.push(heap->allocateMediumLine(lock)); } return m_mediumLineCache.pop(); }