aboutsummaryrefslogtreecommitdiff
path: root/src/ARM.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ARM.h')
-rw-r--r--src/ARM.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/ARM.h b/src/ARM.h
index b1e8053..b7f16d6 100644
--- a/src/ARM.h
+++ b/src/ARM.h
@@ -32,11 +32,14 @@ enum
RWFlags_ForceUser = (1<<21),
};
+const u32 ITCMPhysicalSize = 0x8000;
+const u32 DTCMPhysicalSize = 0x4000;
+
class ARM
{
public:
ARM(u32 num);
- ~ARM(); // destroy shit
+ virtual ~ARM(); // destroy shit
virtual void Reset();
@@ -143,6 +146,11 @@ public:
NDS::MemRegion CodeMem;
+#ifdef JIT_ENABLED
+ u32 FastBlockLookupStart = 0, FastBlockLookupSize = 0;
+ u64* FastBlockLookup;
+#endif
+
static u32 ConditionTable[16];
protected:
@@ -158,6 +166,7 @@ class ARMv5 : public ARM
{
public:
ARMv5();
+ ~ARMv5();
void Reset();
@@ -260,8 +269,8 @@ public:
u32 DTCMBase, DTCMSize;
s32 RegionCodeCycles;
- u8 ITCM[0x8000];
- u8 DTCM[0x4000];
+ u8 ITCM[ITCMPhysicalSize];
+ u8* DTCM;
u8 ICache[0x2000];
u32 ICacheTags[64*4];