aboutsummaryrefslogtreecommitdiff
path: root/src/common/page_table.h
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-04-28 01:15:21 +0200
committercrueter <crueter@eden-emu.dev>2026-04-28 01:15:21 +0200
commitc172abfb53e664b1f1e2cd11c6dfb99e6202553e (patch)
treefad6039f23893dff0ff242e34d6bae2c752590e8 /src/common/page_table.h
parentd33dc16820d4405852f64fdd579ecbcce6d192de (diff)
[hle] reuse previous pagetable when initializing new processes on the same KProcessPageTable (#3891)
VirtualBuffer<> would be recreated each time due to the `operator=()` from the unique_ptr<> when initializing a new process, this change makes it so said thing doesn't happen (instead it resizes the existing buffer) this means that consecutive launches of the same process that happen to have the same process page table (or reuse it) will no longer incur a ctor/dtor path for VirtualBuffer and instead just resize the existing one Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3891 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Diffstat (limited to 'src/common/page_table.h')
-rw-r--r--src/common/page_table.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/common/page_table.h b/src/common/page_table.h
index 3124b4a7fb..0dfd152331 100644
--- a/src/common/page_table.h
+++ b/src/common/page_table.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
@@ -142,10 +142,8 @@ struct PageTable {
VirtualBuffer<PageEntryData> entries;
static_assert(sizeof(PageEntryData) == 32);
- std::size_t current_address_space_width_in_bits{};
-
u8* fastmem_arena{};
-
+ std::size_t current_address_space_width_in_bits{};
std::size_t page_size{};
};