aboutsummaryrefslogtreecommitdiff
path: root/src/CP15.cpp
diff options
context:
space:
mode:
authorRSDuck <rsduck@users.noreply.github.com>2019-07-14 19:24:00 +0200
committerRSDuck <rsduck@users.noreply.github.com>2020-06-16 11:54:03 +0200
commit86f2be7260f9a9b51efd7c795c28cdcfda775742 (patch)
treecde6dd8df1bdadb43f09ea2e11c06624142dc8c6 /src/CP15.cpp
parentfc82ca1a97ce8304bf563ca53187227e505eb54e (diff)
jit: add compile option
Diffstat (limited to 'src/CP15.cpp')
-rw-r--r--src/CP15.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/CP15.cpp b/src/CP15.cpp
index 3e1c08b..5b5f935 100644
--- a/src/CP15.cpp
+++ b/src/CP15.cpp
@@ -813,7 +813,9 @@ void ARMv5::DataWrite8(u32 addr, u8 val)
{
DataCycles = 1;
*(u8*)&ITCM[addr & 0x7FFF] = val;
+#ifdef JIT_ENABLED
ARMJIT::cache.ARM9_ITCM[(addr & 0x7FFF) >> 1] = NULL;
+#endif
return;
}
if (addr >= DTCMBase && addr < (DTCMBase + DTCMSize))
@@ -835,7 +837,9 @@ void ARMv5::DataWrite16(u32 addr, u16 val)
{
DataCycles = 1;
*(u16*)&ITCM[addr & 0x7FFF] = val;
+#ifdef JIT_ENABLED
ARMJIT::cache.ARM9_ITCM[(addr & 0x7FFF) >> 1] = NULL;
+#endif
return;
}
if (addr >= DTCMBase && addr < (DTCMBase + DTCMSize))
@@ -857,8 +861,10 @@ void ARMv5::DataWrite32(u32 addr, u32 val)
{
DataCycles = 1;
*(u32*)&ITCM[addr & 0x7FFF] = val;
+#ifdef JIT_ENABLED
ARMJIT::cache.ARM9_ITCM[(addr & 0x7FFF) >> 1] = NULL;
ARMJIT::cache.ARM9_ITCM[((addr + 2) & 0x7FFF) >> 1] = NULL;
+#endif
return;
}
if (addr >= DTCMBase && addr < (DTCMBase + DTCMSize))
@@ -880,8 +886,10 @@ void ARMv5::DataWrite32S(u32 addr, u32 val)
{
DataCycles += 1;
*(u32*)&ITCM[addr & 0x7FFF] = val;
- ARMJIT::cache.ARM9_ITCM[(addr & 0x7FFF) / 2] = NULL;
- ARMJIT::cache.ARM9_ITCM[(addr & 0x7FFF) / 2 + 1] = NULL;
+#ifdef JIT_ENABLED
+ ARMJIT::cache.ARM9_ITCM[(addr & 0x7FFF) >> 1] = NULL;
+ ARMJIT::cache.ARM9_ITCM[((addr & 0x7FFF) >> 1) + 1] = NULL;
+#endif
return;
}
if (addr >= DTCMBase && addr < (DTCMBase + DTCMSize))