diff -r 2bb754abd467 -r 0ffb4e86fcc9 kernel/eka/memmodel/epoc/flexible/mmu/mpagearray.h --- a/kernel/eka/memmodel/epoc/flexible/mmu/mpagearray.h Mon Jun 21 17:12:14 2010 +0300 +++ b/kernel/eka/memmodel/epoc/flexible/mmu/mpagearray.h Thu Jul 15 20:11:42 2010 +0300 @@ -165,18 +165,6 @@ } /** - Page moving has ended so set the page back to committed if no other - operation has occurred/is occurring. - - @param aEntry A reference to the entry to update. - */ - static FORCE_INLINE void MovePageEnd(TPhysAddr& aEntry) - { - if (State(aEntry) == EMoving) - aEntry = (aEntry & ~EStateMask) | ECommitted; - } - - /** Update the physical address in the array entry \a aEntry. @param aEntry A reference to the entry to update. @param aPhysAddr The new physical address. @@ -416,6 +404,17 @@ */ TPhysAddr* MovePageStart(TUint aIndex, TIter& aPageList); + + /** + Page moving has ended so set the page back to committed if no other + operation has occurred/is occurring. + + @param aEntry A reference to the entry to update. + @param aIndex The index of the page that was moved. + */ + void MovePageEnd(TPhysAddr& aEntry, TUint aIndex); + + /** Return the array entry for index \a aIndex. */ @@ -861,4 +860,12 @@ MmuLock::Unlock(); } +FORCE_INLINE void RPageArray::MovePageEnd(TPhysAddr& aEntry, TUint aIndex) + { + __NK_ASSERT_DEBUG(PageEntry(aIndex) == &aEntry); + if (State(aEntry) == EMoving) + aEntry = (aEntry & ~EStateMask) | ECommitted; + ReleasePage(aIndex, 0); + } + #endif