changeset 2512:9df8dec435b7

Fix dynarec 68K instruction size metadata edge case bug
author Michael Pavone <pavone@retrodev.com>
date Thu, 29 Aug 2024 22:14:33 -0700
parents e51b1fc0e37f
children 61645edbe30f
files m68k_core.c
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/m68k_core.c	Tue Aug 27 22:10:04 2024 -0700
+++ b/m68k_core.c	Thu Aug 29 22:14:33 2024 -0700
@@ -1278,6 +1278,8 @@
 		code_info tmp = *code;
 		*code = orig_code;
 		translate_m68k(context, &instbuf);
+		// 68K instruction may not be the same size as the one when we initial switched to a new native address
+		map_native_address(context, instbuf.address, orig_start, after_address - orig, MAX_NATIVE_SIZE);
 		orig_code = *code;
 		*code = tmp;
 		if (!m68k_is_terminal(&instbuf)) {