From e9dd9d1f2c2ba9a117671bd93c046451a8e7bcb6 Mon Sep 17 00:00:00 2001 From: Daniel Bertalan Date: Wed, 28 Jul 2021 17:30:20 +0200 Subject: [PATCH] UserspaceEmulator: Use `for_each_region_of_type` in `find_text_region` Since we now have this helper template, we can make our code cleaner. --- Userland/DevTools/UserspaceEmulator/Emulator.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Userland/DevTools/UserspaceEmulator/Emulator.cpp b/Userland/DevTools/UserspaceEmulator/Emulator.cpp index 76ba17fabe..85b0d84234 100644 --- a/Userland/DevTools/UserspaceEmulator/Emulator.cpp +++ b/Userland/DevTools/UserspaceEmulator/Emulator.cpp @@ -378,13 +378,10 @@ Vector Emulator::raw_backtrace() MmapRegion const* Emulator::find_text_region(FlatPtr address) { MmapRegion const* matching_region = nullptr; - mmu().for_each_region([&](auto& region) { - if (!is(region)) + mmu().for_each_region_of_type([&](auto& region) { + if (!(region.is_executable() && address >= region.base() && address < region.base() + region.size())) return IterationDecision::Continue; - auto const& mmap_region = static_cast(region); - if (!(mmap_region.is_executable() && address >= mmap_region.base() && address < mmap_region.base() + mmap_region.size())) - return IterationDecision::Continue; - matching_region = &mmap_region; + matching_region = ®ion; return IterationDecision::Break; }); return matching_region;