diff options
| author | 2019-12-31 00:11:45 +0100 | |
|---|---|---|
| committer | 2020-01-01 12:24:54 +0100 | |
| commit | 0986caa8d82f1fd46e4805dc54d7b782ed682255 (patch) | |
| tree | 10c29205ec68fadf624351d0cb5901a7aefa56e5 /src/core/arm | |
| parent | Merge pull request #3239 from ReinUsesLisp/p2r (diff) | |
| download | yuzu-0986caa8d82f1fd46e4805dc54d7b782ed682255.tar.gz yuzu-0986caa8d82f1fd46e4805dc54d7b782ed682255.tar.xz yuzu-0986caa8d82f1fd46e4805dc54d7b782ed682255.zip | |
core/memory + arm/dynarmic: Use a global offset within our arm page table.
This saves us two x64 instructions per load/store instruction.
TODO: Clean up our memory code. We can use this optimization here as well.
Diffstat (limited to 'src/core/arm')
| -rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp index f8c7f0efd..e825c0526 100644 --- a/src/core/arm/dynarmic/arm_dynarmic.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic.cpp | |||
| @@ -141,6 +141,7 @@ std::unique_ptr<Dynarmic::A64::Jit> ARM_Dynarmic::MakeJit(Common::PageTable& pag | |||
| 141 | config.page_table = reinterpret_cast<void**>(page_table.pointers.data()); | 141 | config.page_table = reinterpret_cast<void**>(page_table.pointers.data()); |
| 142 | config.page_table_address_space_bits = address_space_bits; | 142 | config.page_table_address_space_bits = address_space_bits; |
| 143 | config.silently_mirror_page_table = false; | 143 | config.silently_mirror_page_table = false; |
| 144 | config.absolute_offset_page_table = true; | ||
| 144 | 145 | ||
| 145 | // Multi-process state | 146 | // Multi-process state |
| 146 | config.processor_id = core_index; | 147 | config.processor_id = core_index; |