diff options
author | B3n30 <bene_thomas@web.de> | 2017-09-25 08:29:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-25 08:29:32 +0200 |
commit | d881dee818e7e59b72cb11cea634eb70bdcd3d35 (patch) | |
tree | 4f9b241fb63b90647e2992e83d83de7d25bb5d42 /src/core/arm/dynarmic/arm_dynarmic.h | |
parent | Merge pull request #2951 from huwpascoe/perf-4 (diff) | |
parent | ARM_Interface: Implement PageTableChanged (diff) | |
download | yuzu-d881dee818e7e59b72cb11cea634eb70bdcd3d35.tar yuzu-d881dee818e7e59b72cb11cea634eb70bdcd3d35.tar.gz yuzu-d881dee818e7e59b72cb11cea634eb70bdcd3d35.tar.bz2 yuzu-d881dee818e7e59b72cb11cea634eb70bdcd3d35.tar.lz yuzu-d881dee818e7e59b72cb11cea634eb70bdcd3d35.tar.xz yuzu-d881dee818e7e59b72cb11cea634eb70bdcd3d35.tar.zst yuzu-d881dee818e7e59b72cb11cea634eb70bdcd3d35.zip |
Diffstat (limited to 'src/core/arm/dynarmic/arm_dynarmic.h')
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic.h b/src/core/arm/dynarmic/arm_dynarmic.h index 834dc989e..96148a1a5 100644 --- a/src/core/arm/dynarmic/arm_dynarmic.h +++ b/src/core/arm/dynarmic/arm_dynarmic.h @@ -4,12 +4,17 @@ #pragma once +#include <map> #include <memory> #include <dynarmic/dynarmic.h> #include "common/common_types.h" #include "core/arm/arm_interface.h" #include "core/arm/skyeye_common/armstate.h" +namespace Memory { +struct PageTable; +} // namespace Memory + class ARM_Dynarmic final : public ARM_Interface { public: ARM_Dynarmic(PrivilegeMode initial_mode); @@ -36,8 +41,11 @@ public: void ExecuteInstructions(int num_instructions) override; void ClearInstructionCache() override; + void PageTableChanged() override; private: - std::unique_ptr<Dynarmic::Jit> jit; + Dynarmic::Jit* jit = nullptr; + Memory::PageTable* current_page_table = nullptr; + std::map<Memory::PageTable*, std::unique_ptr<Dynarmic::Jit>> jits; std::shared_ptr<ARMul_State> interpreter_state; }; |