aboutsummaryrefslogtreecommitdiff
path: root/src/ARMJIT_x64/ARMJIT_Compiler.h
diff options
context:
space:
mode:
authorRSDuck <rsduck@users.noreply.github.com>2020-06-30 23:50:41 +0200
committerRSDuck <rsduck@users.noreply.github.com>2020-06-30 23:50:41 +0200
commitc5381d2911d47fb1fcbd6ec27a83f5da3606c4bd (patch)
tree1dbf9eb1bbe418d14f07dc3a0e30821fb5deb258 /src/ARMJIT_x64/ARMJIT_Compiler.h
parentea6d03581b689738d0d1930b28d1588019cf4077 (diff)
reconcile DSi and JIT, fastmem for x64 and Windows
Diffstat (limited to 'src/ARMJIT_x64/ARMJIT_Compiler.h')
-rw-r--r--src/ARMJIT_x64/ARMJIT_Compiler.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/ARMJIT_x64/ARMJIT_Compiler.h b/src/ARMJIT_x64/ARMJIT_Compiler.h
index d1a6c07..0fe0147 100644
--- a/src/ARMJIT_x64/ARMJIT_Compiler.h
+++ b/src/ARMJIT_x64/ARMJIT_Compiler.h
@@ -7,6 +7,8 @@
#include "../ARMJIT_Internal.h"
#include "../ARMJIT_RegisterCache.h"
+#include <unordered_map>
+
namespace ARMJIT
{
@@ -18,6 +20,13 @@ const Gen::X64Reg RSCRATCH2 = Gen::EDX;
const Gen::X64Reg RSCRATCH3 = Gen::ECX;
const Gen::X64Reg RSCRATCH4 = Gen::R8;
+struct LoadStorePatch
+{
+ void* PatchFunc;
+ s16 Offset;
+ u16 Size;
+};
+
struct Op2
{
Op2()
@@ -211,6 +220,11 @@ public:
u8* NearStart;
u8* FarStart;
+ void* PatchedStoreFuncs[2][2][3][16];
+ void* PatchedLoadFuncs[2][2][3][2][16];
+
+ std::unordered_map<u8*, LoadStorePatch> LoadStorePatches;
+
u8* ResetStart;
u32 CodeMemSize;