summaryrefslogtreecommitdiff
path: root/src/core/arm
diff options
context:
space:
mode:
authorGravatar Markus Wick2019-12-31 00:11:45 +0100
committerGravatar Markus Wick2020-01-01 12:24:54 +0100
commit0986caa8d82f1fd46e4805dc54d7b782ed682255 (patch)
tree10c29205ec68fadf624351d0cb5901a7aefa56e5 /src/core/arm
parentMerge pull request #3239 from ReinUsesLisp/p2r (diff)
downloadyuzu-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.cpp1
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;