Patchwork [v6,02/20] tcg: Log the contents of the prologue with -d out_asm

login
register
mail settings
Submitter Richard Henderson
Date April 23, 2013, 8:46 p.m.
Message ID <1366750012-25015-3-git-send-email-rth@twiddle.net>
Download mbox | patch
Permalink /patch/238995/
State New
Headers show

Comments

Richard Henderson - April 23, 2013, 8:46 p.m.
This makes it easier to verify changes to the code
generating the prologue.

Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 tcg/tcg.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
Aurelien Jarno - April 26, 2013, 5:27 a.m.
On Tue, Apr 23, 2013 at 01:46:34PM -0700, Richard Henderson wrote:
> This makes it easier to verify changes to the code
> generating the prologue.
> 
> Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
>  tcg/tcg.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/tcg/tcg.c b/tcg/tcg.c
> index 1d8265e..de68c16 100644
> --- a/tcg/tcg.c
> +++ b/tcg/tcg.c
> @@ -268,6 +268,16 @@ void tcg_prologue_init(TCGContext *s)
>      tcg_target_qemu_prologue(s);
>      flush_icache_range((tcg_target_ulong)s->code_buf,
>                         (tcg_target_ulong)s->code_ptr);
> +
> +#ifdef DEBUG_DISAS
> +    if (qemu_loglevel_mask(CPU_LOG_TB_OUT_ASM)) {
> +        size_t size = s->code_ptr - s->code_buf;
> +        qemu_log("PROLOGUE: [size=%d]\n", size);

This part doesn't compile on 64-bit hosts, where size_t is 64-bit.

> +        log_disas(s->code_buf, size);
> +        qemu_log("\n");
> +        qemu_log_flush();
> +    }
> +#endif
>  }
>  
>  void tcg_set_frame(TCGContext *s, int reg,
> -- 
> 1.8.1.4
> 
> 
>

Patch

diff --git a/tcg/tcg.c b/tcg/tcg.c
index 1d8265e..de68c16 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -268,6 +268,16 @@  void tcg_prologue_init(TCGContext *s)
     tcg_target_qemu_prologue(s);
     flush_icache_range((tcg_target_ulong)s->code_buf,
                        (tcg_target_ulong)s->code_ptr);
+
+#ifdef DEBUG_DISAS
+    if (qemu_loglevel_mask(CPU_LOG_TB_OUT_ASM)) {
+        size_t size = s->code_ptr - s->code_buf;
+        qemu_log("PROLOGUE: [size=%d]\n", size);
+        log_disas(s->code_buf, size);
+        qemu_log("\n");
+        qemu_log_flush();
+    }
+#endif
 }
 
 void tcg_set_frame(TCGContext *s, int reg,