Lines Matching refs:order
132 void* AllocateByOrder(s32 order) in AllocateByOrder() argument
134 NN_ASSERT(order >= 0); in AllocateByOrder()
139 Page* pPage = GetFreePage(order); in AllocateByOrder()
164 void Free(void* p, s32 order) in Free() argument
176 NN_ASSERT((GetIndexFromPage(*pPage) & ((1 << order)-1)) == 0); in Free()
180 JointBuddies(pPage, order); in Free()
384 Page* GetFreePage(s32 order) in GetFreePage() argument
386 for(s32 i = order; i < MAX_ORDER; i++) in GetFreePage()
401 DivideBuddies(pPage, order, i); in GetFreePage()
441 void JointBuddies(Page* pPage, s32 order) in JointBuddies() argument
444 while(order < MAX_ORDER - 1) in JointBuddies()
447 Page* pBuddyPage = GetBuddy(pPage, order); in JointBuddies()
450 if(m_FreeArea[order].Remove(pBuddyPage)) in JointBuddies()
455 if(!IsAlignedToOrder(pPage, order + 1)) in JointBuddies()
463 order++; in JointBuddies()
474 m_FreeArea[order].PushBack(pPage); in JointBuddies()
514 inline Page* GetBuddy(Page* pPage, s32 order) in GetBuddy() argument
517 if(IsAlignedToOrder(pPage, order + 1)) in GetBuddy()
519 return pPage + GetNumPagesByOrder(order); in GetBuddy()
523 return pPage - GetNumPagesByOrder(order); in GetBuddy()
535 inline bool IsAlignedToOrder(Page* pPage, s32 order) const in IsAlignedToOrder() argument
537 return (GetIndexFromPage(*pPage) & (GetNumPagesByOrder(order) - 1)) == 0; in IsAlignedToOrder()
547 static inline int GetNumPagesByOrder(s32 order) in GetNumPagesByOrder() argument
549 return (1 << order); in GetNumPagesByOrder()
552 inline size_t GetBytesByOrder(s32 order) const in GetBytesByOrder() argument
554 return (1 << order); in GetBytesByOrder()
559 for(int order = 0; order <= MAX_ORDER; order++) in GetNearestHigherOrder() local
561 if( numPages <= (1U << order) ) { in GetNearestHigherOrder()
562 return order; in GetNearestHigherOrder()
572 for(int order = 0; order <= MAX_ORDER; order++) in GetNearestLowerOrder() local
574 if( numPages < (1 << order) ) { in GetNearestLowerOrder()
575 return order - 1; in GetNearestLowerOrder()
632 inline void* AllocateByOrder(s32 order) in AllocateByOrder() argument
635 return Base::AllocateByOrder(order); in AllocateByOrder()
644 void Free(void* p, s32 order) in Free() argument
647 Base::Free(p, order); in Free()
702 s32 order = m_Heap->GetOrder(size); in Allocate() local
703 void* p = m_Heap->AllocateByOrder(order); in Allocate()
709 *pOutOrder = order; in Allocate()
718 inline void Free(void* p, s32 order) in Free() argument
720 m_Heap->Free(p, order); in Free()
723 inline size_t GetBytesByOrder(s32 order) const in GetBytesByOrder() argument
725 return m_Heap->GetBytesByOrder(order); in GetBytesByOrder()