aboutsummaryrefslogtreecommitdiff
path: root/src/ARMJIT.h
diff options
context:
space:
mode:
authorRSDuck <rsduck@users.noreply.github.com>2020-04-25 13:40:51 +0200
committerRSDuck <rsduck@users.noreply.github.com>2020-04-26 13:05:17 +0200
commit3787bab1f69ae22d3e8106d70598ce923e5efe70 (patch)
tree33f1f2133832cc75e4d82b0c75c4268441c6c0cf /src/ARMJIT.h
parent5d0f244f3c86c2b1c65566bffa3972ae1dbac27b (diff)
implement block linking + some refactoring
currently only supported for x64
Diffstat (limited to 'src/ARMJIT.h')
-rw-r--r--src/ARMJIT.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/ARMJIT.h b/src/ARMJIT.h
index 09cc463..cab385f 100644
--- a/src/ARMJIT.h
+++ b/src/ARMJIT.h
@@ -32,7 +32,6 @@ extern u32 AddrTranslate9[0x2000];
extern u32 AddrTranslate7[0x4000];
const u32 ExeMemSpaceSize = 0x518000; // I hate you C++, sometimes I really hate you...
-extern JitBlockEntry FastBlockAccess[ExeMemSpaceSize / 2];
template <u32 num>
inline bool IsMapped(u32 addr)
@@ -52,11 +51,8 @@ inline u32 TranslateAddr(u32 addr)
return AddrTranslate7[(addr & 0xFFFFFFF) >> 14] + (addr & 0x3FFF);
}
-template <u32 num>
-inline JitBlockEntry LookUpBlock(u32 addr)
-{
- return FastBlockAccess[TranslateAddr<num>(addr) / 2];
-}
+JitBlockEntry LookUpBlockEntry(u32 addr);
+
void Init();
void DeInit();
@@ -73,4 +69,6 @@ void ResetBlockCache();
}
+extern "C" void ARM_Dispatch(ARM* cpu, ARMJIT::JitBlockEntry entry);
+
#endif \ No newline at end of file