mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-26 07:39:56 -06:00
Exclude JIT-related declarations more aggressively
This commit is contained in:

committed by
Nadia Holmquist Pedersen

parent
733769303c
commit
53e5aa6298
58
src/ARMJIT.h
58
src/ARMJIT.h
@ -23,7 +23,10 @@
|
||||
#include <optional>
|
||||
#include <memory>
|
||||
#include "types.h"
|
||||
#include "MemConstants.h"
|
||||
#include "Args.h"
|
||||
|
||||
#ifdef JIT_ENABLED
|
||||
#include "ARMJIT_Memory.h"
|
||||
#include "JitBlock.h"
|
||||
|
||||
@ -32,8 +35,6 @@
|
||||
#endif
|
||||
|
||||
#include "ARMJIT_Compiler.h"
|
||||
#include "Args.h"
|
||||
#include "MemConstants.h"
|
||||
|
||||
namespace melonDS
|
||||
{
|
||||
@ -52,17 +53,16 @@ public:
|
||||
BranchOptimizations(jit.has_value() ? jit->BranchOptimizations : false),
|
||||
FastMemory(jit.has_value() ? jit->FastMemory : false)
|
||||
{}
|
||||
~ARMJIT() noexcept NOOP_IF_NO_JIT;
|
||||
void InvalidateByAddr(u32) noexcept NOOP_IF_NO_JIT;
|
||||
void CheckAndInvalidateWVRAM(int) noexcept NOOP_IF_NO_JIT;
|
||||
void CheckAndInvalidateITCM() noexcept NOOP_IF_NO_JIT;
|
||||
void Reset() noexcept NOOP_IF_NO_JIT;
|
||||
void JitEnableWrite() noexcept NOOP_IF_NO_JIT;
|
||||
void JitEnableExecute() noexcept NOOP_IF_NO_JIT;
|
||||
void CompileBlock(ARM* cpu) noexcept NOOP_IF_NO_JIT;
|
||||
void ResetBlockCache() noexcept NOOP_IF_NO_JIT;
|
||||
~ARMJIT() noexcept;
|
||||
void InvalidateByAddr(u32) noexcept;
|
||||
void CheckAndInvalidateWVRAM(int) noexcept;
|
||||
void CheckAndInvalidateITCM() noexcept;
|
||||
void Reset() noexcept;
|
||||
void JitEnableWrite() noexcept;
|
||||
void JitEnableExecute() noexcept;
|
||||
void CompileBlock(ARM* cpu) noexcept;
|
||||
void ResetBlockCache() noexcept;
|
||||
|
||||
#ifdef JIT_ENABLED
|
||||
template <u32 num, int region>
|
||||
void CheckAndInvalidate(u32 addr) noexcept
|
||||
{
|
||||
@ -73,10 +73,6 @@ public:
|
||||
JitBlockEntry LookUpBlock(u32 num, u64* entries, u32 offset, u32 addr) noexcept;
|
||||
bool SetupExecutableRegion(u32 num, u32 blockAddr, u64*& entry, u32& start, u32& size) noexcept;
|
||||
u32 LocaliseCodeAddress(u32 num, u32 addr) const noexcept;
|
||||
#else
|
||||
template <u32, int>
|
||||
void CheckAndInvalidate(u32) noexcept {}
|
||||
#endif
|
||||
|
||||
ARMJIT_Memory Memory;
|
||||
private:
|
||||
@ -185,5 +181,33 @@ public:
|
||||
|
||||
// Defined in assembly
|
||||
extern "C" void ARM_Dispatch(melonDS::ARM* cpu, melonDS::JitBlockEntry entry);
|
||||
#else
|
||||
namespace melonDS
|
||||
{
|
||||
class ARM;
|
||||
|
||||
// This version is a stub; the methods all do nothing,
|
||||
// but there's still a Memory member.
|
||||
class ARMJIT
|
||||
{
|
||||
public:
|
||||
ARMJIT(melonDS::NDS& nds, std::optional<JITArgs>) noexcept : Memory(nds) {}
|
||||
~ARMJIT() noexcept {}
|
||||
void InvalidateByAddr(u32) noexcept {}
|
||||
void CheckAndInvalidateWVRAM(int) noexcept {}
|
||||
void CheckAndInvalidateITCM() noexcept {}
|
||||
void Reset() noexcept {}
|
||||
void JitEnableWrite() noexcept {}
|
||||
void JitEnableExecute() noexcept {}
|
||||
void CompileBlock(ARM*) noexcept {}
|
||||
void ResetBlockCache() noexcept {}
|
||||
template <u32, int>
|
||||
void CheckAndInvalidate(u32 addr) noexcept {}
|
||||
|
||||
ARMJIT_Memory Memory;
|
||||
};
|
||||
}
|
||||
#endif // JIT_ENABLED
|
||||
|
||||
#endif // ARMJIT_H
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user