diff options
author | bunnei <bunneidev@gmail.com> | 2018-03-24 05:47:42 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-24 05:47:42 -0400 |
commit | 46945b5c962e680d8fe963bbff9663f44c2a3ab2 (patch) | |
tree | c395ba2775c49754ef05222d2bb097131412d0d6 /src | |
parent | 31816aac385b886055b5bbca545d1eb43e3a0d2b (diff) | |
parent | 88c9608eacd2851ecbe9ceb634a64309789108e7 (diff) |
Merge pull request #275 from MerryMage/addticks-dynarmic
arm_dynarmic: Fix timing
Diffstat (limited to 'src')
-rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic.cpp b/src/core/arm/dynarmic/arm_dynarmic.cpp index 7d83f9717..6afad0e0c 100644 --- a/src/core/arm/dynarmic/arm_dynarmic.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic.cpp @@ -86,21 +86,17 @@ public: } void AddTicks(u64 ticks) override { - if (ticks > ticks_remaining) { - ticks_remaining = 0; - return; - } - ticks -= ticks_remaining; + CoreTiming::AddTicks(ticks - num_interpreted_instructions); + num_interpreted_instructions = 0; } u64 GetTicksRemaining() override { - return ticks_remaining; + return std::max(CoreTiming::GetDowncount(), 0); } u64 GetCNTPCT() override { return CoreTiming::GetTicks(); } ARM_Dynarmic& parent; - size_t ticks_remaining = 0; size_t num_interpreted_instructions = 0; u64 tpidrro_el0 = 0; u64 tpidr_el0 = 0; |