diff --git a/CMakeLists.txt b/CMakeLists.txt index c97c312a..c2bedc3e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 diff --git a/src/backend/core/BaseCPU.hpp b/src/backend/core/BaseCPU.hpp index 3857276f..a596a492 100644 --- a/src/backend/core/BaseCPU.hpp +++ b/src/backend/core/BaseCPU.hpp @@ -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 Serialize() = 0; virtual void Deserialize(const std::vector &) = 0; virtual Mem &GetMem() = 0; diff --git a/src/backend/core/Interpreter.hpp b/src/backend/core/Interpreter.hpp index 89c906a8..8bd23cbf 100644 --- a/src/backend/core/Interpreter.hpp +++ b/src/backend/core/Interpreter.hpp @@ -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 Serialize() override; void Deserialize(const std::vector &) override; diff --git a/src/backend/core/JIT.hpp b/src/backend/core/JIT.hpp index 6db9c75f..489cae4e 100644 --- a/src/backend/core/JIT.hpp +++ b/src/backend/core/JIT.hpp @@ -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 Serialize() override; void Deserialize(const std::vector &) override; u32 FetchInstruction();