diff --git a/src/common/x64/native_clock.cpp b/src/common/x64/native_clock.cpp index 0b89f9ed2..488c8c905 100644 --- a/src/common/x64/native_clock.cpp +++ b/src/common/x64/native_clock.cpp @@ -90,7 +90,7 @@ u64 NativeClock::GetRTSC() { } while (!time_point.compare_exchange_weak( current_time_point, new_time_point, std::memory_order_release, std::memory_order_acquire)); /// The clock cannot be more precise than the guest timer, remove the lower bits - return new_time_point.accumulated_ticks & inaccuracy_mask; + return new_time_point.accumulated_ticks; } void NativeClock::Pause(bool is_paused) { diff --git a/src/common/x64/native_clock.h b/src/common/x64/native_clock.h index e57446cb9..046cea095 100644 --- a/src/common/x64/native_clock.h +++ b/src/common/x64/native_clock.h @@ -34,11 +34,6 @@ private: u64 accumulated_ticks{}; }; - /// value used to reduce the native clocks accuracy as some apss rely on - /// undefined behavior where the level of accuracy in the clock shouldn't - /// be higher. - static constexpr u64 inaccuracy_mask = ~(UINT64_C(0x400) - 1); - std::atomic time_point; // factors u64 clock_rtsc_factor{};