From 8fb0dd826d50b85fd4ca727dbcd0751e26377634 Mon Sep 17 00:00:00 2001 From: SimoneN64 Date: Tue, 6 Jun 2023 10:59:25 +0200 Subject: [PATCH] more inlined stuff --- src/backend/Scheduler.cpp | 16 ---------------- src/backend/Scheduler.hpp | 19 ++++++++++++++++--- src/backend/core/Mem.hpp | 2 +- 3 files changed, 17 insertions(+), 20 deletions(-) diff --git a/src/backend/Scheduler.cpp b/src/backend/Scheduler.cpp index d6cbf0b6..4bb88d36 100644 --- a/src/backend/Scheduler.cpp +++ b/src/backend/Scheduler.cpp @@ -3,19 +3,3 @@ #include Scheduler scheduler; - -void Scheduler::enqueueRelative(const Event& event) { - enqueueAbsolute({event.time + ticks, event.handler}); -} - -void Scheduler::enqueueAbsolute(const Event& e) { - events.push(e); -} - -void Scheduler::tick(u64 t, n64::Mem& mem, n64::Registers& regs) { - ticks += t; - while(ticks >= events.top().time) { - events.top().handler(mem, regs); - events.pop(); - } -} diff --git a/src/backend/Scheduler.hpp b/src/backend/Scheduler.hpp index c5137910..43bf45bb 100644 --- a/src/backend/Scheduler.hpp +++ b/src/backend/Scheduler.hpp @@ -32,9 +32,22 @@ struct Scheduler { Util::panic("How the fuck did we get here?!"); }}); } - void enqueueRelative(const Event&); - void enqueueAbsolute(const Event&); - void tick(u64, n64::Mem&, n64::Registers&); + + FORCE_INLINE void enqueueRelative(const Event& event) { + enqueueAbsolute({event.time + ticks, event.handler}); + } + + FORCE_INLINE void enqueueAbsolute(const Event& e) { + events.push(e); + } + + FORCE_INLINE void tick(u64 t, n64::Mem& mem, n64::Registers& regs) { + ticks += t; + while(ticks >= events.top().time) { + events.top().handler(mem, regs); + events.pop(); + } + } std::priority_queue, std::greater<>> events; u64 ticks = 0; u8 index = 0; diff --git a/src/backend/core/Mem.hpp b/src/backend/core/Mem.hpp index 6da90bf6..c5c1b485 100644 --- a/src/backend/core/Mem.hpp +++ b/src/backend/core/Mem.hpp @@ -101,7 +101,7 @@ private: u8* sram; u8 isviewer[ISVIEWER_SIZE]{}; - bool IsROMPAL() { + FORCE_INLINE bool IsROMPAL() { static const char pal_codes[] = {'D', 'F', 'I', 'P', 'S', 'U', 'X', 'Y'}; return std::any_of(std::begin(pal_codes), std::end(pal_codes), [this](char a) { return rom.cart[0x3d] == a;