]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
JIT: For now, always distrust (=indirect memory) on 64-bit Windows
authorFrode Solheim <frode@fs-uae.net>
Wed, 16 Sep 2015 19:15:11 +0000 (21:15 +0200)
committerFrode Solheim <frode@fs-uae.net>
Thu, 17 Sep 2015 17:18:09 +0000 (19:18 +0200)
jit/compemu.h
jit/compemu_support.cpp

index acf0dfce4814232bf45bcbae388a6819f36ca207..15335bdfa3133d6e7421ebf403319e956f2c4c4b 100644 (file)
@@ -456,6 +456,10 @@ typedef struct {
 } regacc;
 
 #define JIT_EXCEPTION_HANDLER
+#ifdef _WIN64
+/* Direct addressing currently causes crash on 64-bit Windows. */
+#define JIT_ALWAYS_DISTRUST
+#endif
 
 /* ARAnyM uses fpu_register name, used in scratch_t */
 /* FIXME: check that no ARAnyM code assumes different floating point type */
index e7696ac3162f9ee5289c21e7a5c0524d761155ac..6b6dd17c49f9445d05ac9a0f9418a54b4e3e3947 100644 (file)
@@ -124,24 +124,36 @@ extern bool canbang;
 static inline int distrust_byte(void)
 {
        int distrust = currprefs.comptrustbyte;
+#ifdef JIT_ALWAYS_DISTRUST
+       distrust = 1;
+#endif
        return distrust;
 }
 
 static inline int distrust_word(void)
 {
        int distrust = currprefs.comptrustword;
+#ifdef JIT_ALWAYS_DISTRUST
+       distrust = 1;
+#endif
        return distrust;
 }
 
 static inline int distrust_long(void)
 {
        int distrust = currprefs.comptrustlong;
+#ifdef JIT_ALWAYS_DISTRUST
+       distrust = 1;
+#endif
        return distrust;
 }
 
 static inline int distrust_addr(void)
 {
        int distrust = currprefs.comptrustnaddr;
+#ifdef JIT_ALWAYS_DISTRUST
+       distrust = 1;
+#endif
        return distrust;
 }