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

Kernel: Add some inline capacity to find_regions_intersecting

This should avoid some allocations during simple cases of munmap,
mprotect and msync, where you usually don't have a lot of regions anyway
This commit is contained in:
Hendiadyoin1 2022-06-19 15:27:35 +02:00 committed by Andreas Kling
parent c3e57bfccb
commit 66fc06001d
2 changed files with 3 additions and 3 deletions

View file

@ -253,9 +253,9 @@ Region* AddressSpace::find_region_containing(VirtualRange const& range)
return m_region_tree.find_region_containing(range);
}
ErrorOr<Vector<Region*>> AddressSpace::find_regions_intersecting(VirtualRange const& range)
ErrorOr<Vector<Region*, 4>> AddressSpace::find_regions_intersecting(VirtualRange const& range)
{
Vector<Region*> regions = {};
Vector<Region*, 4> regions = {};
size_t total_size_collected = 0;
SpinlockLocker lock(m_lock);

View file

@ -45,7 +45,7 @@ public:
Region* find_region_from_range(VirtualRange const&);
Region* find_region_containing(VirtualRange const&);
ErrorOr<Vector<Region*>> find_regions_intersecting(VirtualRange const&);
ErrorOr<Vector<Region*, 4>> find_regions_intersecting(VirtualRange const&);
bool enforces_syscall_regions() const { return m_enforces_syscall_regions; }
void set_enforces_syscall_regions(bool b) { m_enforces_syscall_regions = b; }