changeset 1375:b68732dcbf00

Avoid splitting m68k_check_cycles_int_latch code across memory chunks since it expects a byte-sized jump offset. Avoid an unnecessary m68k_check_cycles_int_latch for register to register moves
author Michael Pavone <pavone@retrodev.com>
date Fri, 26 May 2017 19:18:19 -0700
parents 8f404b1fa572
children 70d88d9bfe13
files m68k_core_x86.c
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/m68k_core_x86.c	Tue May 23 23:47:40 2017 -0700
+++ b/m68k_core_x86.c	Fri May 26 19:18:19 2017 -0700
@@ -353,6 +353,7 @@
 void m68k_check_cycles_int_latch(m68k_options *opts)
 {
 	code_info *code = &opts->gen.code;
+	check_alloc_code(code, 3*MAX_INST_LEN);
 	uint8_t cc;
 	if (opts->gen.limit < 0) {
 		cmp_ir(code, 1, opts->gen.cycles, SZ_D);
@@ -728,7 +729,7 @@
 			inc_amount = inst->extra.size == OPSIZE_WORD ? 2 : (inst->extra.size == OPSIZE_LONG ? 4 : (inst->dst.params.regs.pri == 7 ? 2 : 1));
 			addi_areg(opts, inc_amount, inst->dst.params.regs.pri);
 		}
-	} else {
+	} else if (needs_int_latch) {
 		m68k_check_cycles_int_latch(opts);
 	}