Missing page access debug markers. Fixes #5359.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35398 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold 2010-02-03 21:07:23 +00:00
parent ffe8b20cda
commit 4e4cfe8f0a

View File

@ -709,6 +709,8 @@ X86VMTranslationMap::UnmapPages(VMArea* area, addr_t base, size_t size,
(oldEntry & X86_PTE_ADDRESS_MASK) / B_PAGE_SIZE);
ASSERT(page != NULL);
DEBUG_PAGE_ACCESS_START(page);
// transfer the accessed/dirty flags to the page
if ((oldEntry & X86_PTE_ACCESSED) != 0)
page->accessed = true;
@ -746,6 +748,8 @@ X86VMTranslationMap::UnmapPages(VMArea* area, addr_t base, size_t size,
vm_page_set_state(page, PAGE_STATE_CACHED);
}
}
DEBUG_PAGE_ACCESS_END(page);
}
}
@ -796,6 +800,8 @@ X86VMTranslationMap::UnmapArea(VMArea* area, bool deletingAddressSpace,
VMCache* cache = page->Cache();
DEBUG_PAGE_ACCESS_START(page);
if (page->wired_count == 0 && page->mappings.IsEmpty()) {
atomic_add(&gMappedPagesCount, -1);
@ -809,6 +815,8 @@ X86VMTranslationMap::UnmapArea(VMArea* area, bool deletingAddressSpace,
}
}
DEBUG_PAGE_ACCESS_END(page);
if (unmapPages || cache != area->cache) {
addr_t address = area->Base()
+ ((page->cache_offset * B_PAGE_SIZE) - area->cache_offset);