From 58e5c89c151a224dd96a62e01493848a22623a9c Mon Sep 17 00:00:00 2001 From: iris Date: Mon, 1 Jun 2026 19:28:34 +0200 Subject: [PATCH] Fix compilation issue on my machine (no idea) --- src/backend/core/Interpreter.cpp | 2 +- src/backend/core/Interpreter.hpp | 4 ++-- src/backend/core/JITUtils.hpp | 5 ++--- src/backend/core/interpreter/instructions.cpp | 4 ++-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/backend/core/Interpreter.cpp b/src/backend/core/Interpreter.cpp index 54ccaf6..0038fd8 100644 --- a/src/backend/core/Interpreter.cpp +++ b/src/backend/core/Interpreter.cpp @@ -141,7 +141,7 @@ u32 Interpreter::ExecuteCached() { auto &blocks = cachedState.blocks; if (!blocks[CACHE_GET_BLOCK(addr)]) { - blocks[CACHE_GET_BLOCK(addr)] = new CachedBlock(); + blocks[CACHE_GET_BLOCK(addr)] = new CachedBlock(cachedState.MAX_LINES / 4); return CacheBlock(addr); } diff --git a/src/backend/core/Interpreter.hpp b/src/backend/core/Interpreter.hpp index 79657b7..d7a5665 100644 --- a/src/backend/core/Interpreter.hpp +++ b/src/backend/core/Interpreter.hpp @@ -38,8 +38,8 @@ struct Interpreter final { u32 rspSyncCount = 0; bool Fetch(Instruction &, u64); - void CacheTypeData(u8, u64, u32, u32); - void CacheTypeInstruction(u8, u64, u32, u32); + // void CacheTypeData(u8, u64, u32, u32); + // void CacheTypeInstruction(u8, u64, u32, u32); [[nodiscard]] bool ShouldServiceInterrupt() const; void UpdateCompareInterrupt() const; diff --git a/src/backend/core/JITUtils.hpp b/src/backend/core/JITUtils.hpp index e63977a..46afced 100644 --- a/src/backend/core/JITUtils.hpp +++ b/src/backend/core/JITUtils.hpp @@ -16,16 +16,15 @@ struct CachedLine { u32 cycles = 0; }; -template struct CachedBlock { - CachedBlock() { lines.resize(lineAmount); } + CachedBlock(u32 lineAmount) { lines.resize(lineAmount); } std::vector lines = {}; }; template struct CachedState { static constexpr u32 MAX_LINES = 1 << blockBits; - std::vector *> blocks = {}; + std::vector blocks = {}; bool exception = false; void EvictCachedBlock(u32 addr) { blocks[addr / MAX_LINES] = {}; } diff --git a/src/backend/core/interpreter/instructions.cpp b/src/backend/core/interpreter/instructions.cpp index 4259029..c56e1f6 100644 --- a/src/backend/core/interpreter/instructions.cpp +++ b/src/backend/core/interpreter/instructions.cpp @@ -861,7 +861,7 @@ void Interpreter::dmfc2(const Instruction instr) { regs.Write(instr.rt(), cop2La void Interpreter::ctc2(const Instruction) {} void Interpreter::cfc2(const Instruction) {} - +/* void Interpreter::cache(const Instruction instr) { u8 type = instr.op() & 3; const u8 op = (instr.op() >> 2) & 7; @@ -943,5 +943,5 @@ void Interpreter::CacheTypeData(const u8 op, const u64 vaddr, const u32 paddr, c default: panic("Unimplemented dcache op 0b{:03b}", op); } -} +}*/ } // namespace n64