Common: Refactor & Document Wall clock.

This commit is contained in:
Fernando Sahmkow 2020-02-10 11:20:40 -04:00
parent 234b5ff6a9
commit e3524d1142
6 changed files with 50 additions and 51 deletions

View file

@ -58,7 +58,7 @@ private:
#ifdef ARCHITECTURE_x86_64
WallClock* CreateBestMatchingClock(u32 emulated_cpu_frequency, u32 emulated_clock_frequency) {
std::unique_ptr<WallClock> CreateBestMatchingClock(u32 emulated_cpu_frequency, u32 emulated_clock_frequency) {
const auto& caps = GetCPUCaps();
u64 rtsc_frequency = 0;
if (caps.invariant_tsc) {
@ -70,19 +70,16 @@ WallClock* CreateBestMatchingClock(u32 emulated_cpu_frequency, u32 emulated_cloc
}
}
if (rtsc_frequency == 0) {
return static_cast<WallClock*>(
new StandardWallClock(emulated_cpu_frequency, emulated_clock_frequency));
return std::make_unique<StandardWallClock>(emulated_cpu_frequency, emulated_clock_frequency);
} else {
return static_cast<WallClock*>(
new X64::NativeClock(emulated_cpu_frequency, emulated_clock_frequency, rtsc_frequency));
return std::make_unique<X64::NativeClock>(emulated_cpu_frequency, emulated_clock_frequency, rtsc_frequency);
}
}
#else
WallClock* CreateBestMatchingClock(u32 emulated_cpu_frequency, u32 emulated_clock_frequency) {
return static_cast<WallClock*>(
new StandardWallClock(emulated_cpu_frequency, emulated_clock_frequency));
std::unique_ptr<WallClock> CreateBestMatchingClock(u32 emulated_cpu_frequency, u32 emulated_clock_frequency) {
return std::make_unique<StandardWallClock>(emulated_cpu_frequency, emulated_clock_frequency);
}
#endif