Small optimizations: Enable LTO + don't make those two functions virtual in CPU. Around 3 fps improvement
This commit is contained in:
@@ -15,6 +15,7 @@ endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 23)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||
|
||||
include_directories(
|
||||
src/frontend
|
||||
|
||||
@@ -8,8 +8,6 @@ struct BaseCPU {
|
||||
virtual ~BaseCPU() = default;
|
||||
virtual int Step() = 0;
|
||||
virtual void Reset() = 0;
|
||||
[[nodiscard]] virtual bool ShouldServiceInterrupt() const = 0;
|
||||
virtual void CheckCompareInterrupt() = 0;
|
||||
virtual std::vector<u8> Serialize() = 0;
|
||||
virtual void Deserialize(const std::vector<u8> &) = 0;
|
||||
virtual Mem &GetMem() = 0;
|
||||
|
||||
@@ -29,8 +29,8 @@ private:
|
||||
friend struct Cop1;
|
||||
#define check_address_error(mask, vaddr) \
|
||||
(((!regs.cop0.is64BitAddressing) && (s32)(vaddr) != (vaddr)) || (((vaddr) & (mask)) != 0))
|
||||
bool ShouldServiceInterrupt() const override;
|
||||
void CheckCompareInterrupt() override;
|
||||
bool ShouldServiceInterrupt() const;
|
||||
void CheckCompareInterrupt();
|
||||
std::vector<u8> Serialize() override;
|
||||
void Deserialize(const std::vector<u8> &) override;
|
||||
|
||||
|
||||
@@ -143,8 +143,8 @@ private:
|
||||
#define check_address_error(mask, vaddr) \
|
||||
(((!regs.cop0.is64BitAddressing) && (s32)(vaddr) != (vaddr)) || (((vaddr) & (mask)) != 0))
|
||||
|
||||
[[nodiscard]] bool ShouldServiceInterrupt() const override;
|
||||
void CheckCompareInterrupt() override;
|
||||
[[nodiscard]] bool ShouldServiceInterrupt() const;
|
||||
void CheckCompareInterrupt();
|
||||
std::vector<u8> Serialize() override;
|
||||
void Deserialize(const std::vector<u8> &) override;
|
||||
u32 FetchInstruction();
|
||||
|
||||
Reference in New Issue
Block a user