about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-02-27 17:13:11 +0100
committerptitSeb <sebastien.chev@gmail.com>2022-02-27 17:13:11 +0100
commit7a539e4ef750978a7f5ac7bd8e6287113ad23492 (patch)
tree1f036cf5cfbd6b6cf28e992cc96642ae67406de9 /src
parentbfd89b404a726778739325a1d77b8fb07bc92bf5 (diff)
downloadbox64-7a539e4ef750978a7f5ac7bd8e6287113ad23492.tar.gz
box64-7a539e4ef750978a7f5ac7bd8e6287113ad23492.zip
[DYNAREC] And yet more multiarch changes
Diffstat (limited to 'src')
-rwxr-xr-xsrc/dynarec/arm64/dynarec_arm64_private.h8
-rwxr-xr-xsrc/dynarec/dynarec_native_pass.c7
2 files changed, 9 insertions, 6 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_private.h b/src/dynarec/arm64/dynarec_arm64_private.h
index 252901a9..b8a19756 100755
--- a/src/dynarec/arm64/dynarec_arm64_private.h
+++ b/src/dynarec/arm64/dynarec_arm64_private.h
@@ -61,4 +61,12 @@ int is_instructions(dynarec_arm_t *dyn, uintptr_t addr, int n);
 
 int Table64(dynarec_arm_t *dyn, uint64_t val);  // add a value to etable64 (if needed) and gives back the imm19 to use in LDR_literal
 
+#define GO_TRACE() \
+    GETIP(ip);              \
+    MOVx_REG(x1, xRIP);     \
+    STORE_XEMU_CALL(xRIP);  \
+    MOV32w(x2, 1);          \
+    CALL(PrintTrace, -1);   \
+    LOAD_XEMU_CALL(xRIP)
+
 #endif //__DYNAREC_ARM_PRIVATE_H_
diff --git a/src/dynarec/dynarec_native_pass.c b/src/dynarec/dynarec_native_pass.c
index be29102a..24690250 100755
--- a/src/dynarec/dynarec_native_pass.c
+++ b/src/dynarec/dynarec_native_pass.c
@@ -58,12 +58,7 @@ uintptr_t native_pass(dynarec_native_t* dyn, uintptr_t addr)
             || ((ip >= trace_start) && (ip < trace_end)))  {
                 MESSAGE(LOG_DUMP, "TRACE ----\n");
                 fpu_reflectcache(dyn, ninst, x1, x2, x3);
-                GETIP(ip);
-                MOVx_REG(x1, xRIP);
-                STORE_XEMU_CALL(xRIP);
-                MOV32w(x2, 1);
-                CALL(PrintTrace, -1);
-                LOAD_XEMU_CALL(xRIP);
+                GO_TRACE();
                 MESSAGE(LOG_DUMP, "----------\n");
             }
         }