diff options
Diffstat (limited to 'target-alpha/translate.c')
-rw-r--r-- | target-alpha/translate.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/target-alpha/translate.c b/target-alpha/translate.c index 2524662d26..eb50ec8c45 100644 --- a/target-alpha/translate.c +++ b/target-alpha/translate.c @@ -37,6 +37,16 @@ #define ALPHA_DEBUG_DISAS /* #define DO_TB_FLUSH */ + +#ifdef ALPHA_DEBUG_DISAS +# define LOG_DISAS(...) do { \ + if (logfile) \ + fprintf(logfile, ## __VA_ARGS__); \ + } while (0) +#else +# define LOG_DISAS(...) do { } while (0) +#endif + typedef struct DisasContext DisasContext; struct DisasContext { uint64_t pc; @@ -671,12 +681,8 @@ static always_inline int translate_one (DisasContext *ctx, uint32_t insn) fn7 = (insn >> 5) & 0x0000007F; fn2 = (insn >> 5) & 0x00000003; ret = 0; -#if defined ALPHA_DEBUG_DISAS - if (logfile != NULL) { - fprintf(logfile, "opc %02x ra %d rb %d rc %d disp16 %04x\n", - opc, ra, rb, rc, disp16); - } -#endif + LOG_DISAS("opc %02x ra %d rb %d rc %d disp16 %04x\n", + opc, ra, rb, rc, disp16); switch (opc) { case 0x00: /* CALL_PAL */ @@ -2386,17 +2392,13 @@ static always_inline void gen_intermediate_code_internal (CPUState *env, gen_io_start(); #if defined ALPHA_DEBUG_DISAS insn_count++; - if (logfile != NULL) { - fprintf(logfile, "pc " TARGET_FMT_lx " mem_idx %d\n", - ctx.pc, ctx.mem_idx); - } + LOG_DISAS("pc " TARGET_FMT_lx " mem_idx %d\n", + ctx.pc, ctx.mem_idx); #endif insn = ldl_code(ctx.pc); #if defined ALPHA_DEBUG_DISAS insn_count++; - if (logfile != NULL) { - fprintf(logfile, "opcode %08x %d\n", insn, insn_count); - } + LOG_DISAS("opcode %08x %d\n", insn, insn_count); #endif num_insns++; ctx.pc += 4; |