diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-04-28 01:15:21 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-04-28 01:15:21 +0200 |
| commit | c172abfb53e664b1f1e2cd11c6dfb99e6202553e (patch) | |
| tree | fad6039f23893dff0ff242e34d6bae2c752590e8 /src/common/page_table.h | |
| parent | d33dc16820d4405852f64fdd579ecbcce6d192de (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.h | 6 |
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{}; }; |
