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

login
register
mail settings
Submitter Richard Henderson
Date March 31, 2013, 10:34 p.m.
Message ID <1364769305-3687-3-git-send-email-rth@twiddle.net>
Download mbox | patch
Permalink /patch/232635/
State New
Headers show

Comments

Richard Henderson - March 31, 2013, 10:34 p.m.
This makes it easier to verify changes to the code
generating the prologue.

Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 tcg/tcg.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
Aurelien Jarno - April 21, 2013, 10:22 a.m.
On Sun, Mar 31, 2013 at 03:34:48PM -0700, Richard Henderson wrote:
> This makes it easier to verify changes to the code
> generating the prologue.
> 
> 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);
> +        log_disas(s->code_buf, size);
> +        qemu_log("\n");
> +        qemu_log_flush();
> +    }
> +#endif
>  }
>  
>  void tcg_set_frame(TCGContext *s, int reg,

Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>

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,