1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 22:07:34 +00:00

Kernel: Look for a user region first

We're far more likely to be looking for a user region than otherwise, so
optimize for that case.
This commit is contained in:
Sergey Bugaev 2020-05-20 15:02:43 +03:00 committed by Andreas Kling
parent d2b500fbcb
commit 0dd68a2949

View file

@ -295,16 +295,16 @@ Region* MemoryManager::user_region_from_vaddr(Process& process, VirtualAddress v
Region* MemoryManager::region_from_vaddr(Process& process, VirtualAddress vaddr) Region* MemoryManager::region_from_vaddr(Process& process, VirtualAddress vaddr)
{ {
if (auto* region = kernel_region_from_vaddr(vaddr)) if (auto* region = user_region_from_vaddr(process, vaddr))
return region; return region;
return user_region_from_vaddr(process, vaddr); return kernel_region_from_vaddr(vaddr);
} }
const Region* MemoryManager::region_from_vaddr(const Process& process, VirtualAddress vaddr) const Region* MemoryManager::region_from_vaddr(const Process& process, VirtualAddress vaddr)
{ {
if (auto* region = kernel_region_from_vaddr(vaddr)) if (auto* region = user_region_from_vaddr(const_cast<Process&>(process), vaddr))
return region; return region;
return user_region_from_vaddr(const_cast<Process&>(process), vaddr); return kernel_region_from_vaddr(vaddr);
} }
Region* MemoryManager::region_from_vaddr(VirtualAddress vaddr) Region* MemoryManager::region_from_vaddr(VirtualAddress vaddr)