From: Frode Solheim Date: Mon, 7 Sep 2015 19:26:08 +0000 (+0200) Subject: JIT: use correct offset (for 64-bit) for read/writemem_special X-Git-Tag: 3200~70^2~18 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=f9900ed8ba03e0437eeacdd3720fee29b1b71d7c;p=francis%2Fwinuae.git JIT: use correct offset (for 64-bit) for read/writemem_special --- diff --git a/jit/compemu_support.cpp b/jit/compemu_support.cpp index df80a41d..b9d6fd90 100644 --- a/jit/compemu_support.cpp +++ b/jit/compemu_support.cpp @@ -2933,7 +2933,7 @@ static inline void writemem(int address, int source, int offset, int size, int t void writebyte(int address, int source, int tmp) { if ((special_mem & S_WRITE) || distrust_byte()) - writemem_special(address,source,20,1,tmp); + writemem_special(address, source, 5 * SIZEOF_VOID_P, 1, tmp); else writemem_real(address,source,1,tmp,0); } @@ -2942,7 +2942,7 @@ static inline void writeword_general(int address, int source, int tmp, int clobber) { if ((special_mem & S_WRITE) || distrust_word()) - writemem_special(address,source,16,2,tmp); + writemem_special(address, source, 4 * SIZEOF_VOID_P, 2, tmp); else writemem_real(address,source,2,tmp,clobber); } @@ -2961,7 +2961,7 @@ static inline void writelong_general(int address, int source, int tmp, int clobber) { if ((special_mem & S_WRITE) || distrust_long()) - writemem_special(address,source,12,4,tmp); + writemem_special(address, source, 3 * SIZEOF_VOID_P, 4, tmp); else writemem_real(address,source,4,tmp,clobber); } @@ -3034,7 +3034,7 @@ static inline void readmem(int address, int dest, int offset, int size, int tmp) void readbyte(int address, int dest, int tmp) { if ((special_mem & S_READ) || distrust_byte()) - readmem_special(address,dest,8,1,tmp); + readmem_special(address, dest, 2 * SIZEOF_VOID_P, 1, tmp); else readmem_real(address,dest,1,tmp); } @@ -3042,7 +3042,7 @@ void readbyte(int address, int dest, int tmp) void readword(int address, int dest, int tmp) { if ((special_mem & S_READ) || distrust_word()) - readmem_special(address,dest,4,2,tmp); + readmem_special(address, dest, 1 * SIZEOF_VOID_P, 2, tmp); else readmem_real(address,dest,2,tmp); } @@ -3050,7 +3050,7 @@ void readword(int address, int dest, int tmp) void readlong(int address, int dest, int tmp) { if ((special_mem & S_READ) || distrust_long()) - readmem_special(address,dest,0,4,tmp); + readmem_special(address, dest, 0 * SIZEOF_VOID_P, 4, tmp); else readmem_real(address,dest,4,tmp); } @@ -3059,7 +3059,7 @@ void get_n_addr(int address, int dest, int tmp) { if (special_mem || distrust_addr()) { /* This one might appear a bit odd... */ - readmem(address,dest,24,4,tmp); + readmem(address, dest, 6 * SIZEOF_VOID_P, 4, tmp); return; }