On 6/1/21 5:00 PM, Richard Henderson wrote:
> This operation is critical to staying within the interpretation
> loop longer, which avoids the overhead of setup and teardown for
> many TBs.
> 
> The check in tcg_prologue_init is disabled because TCI does
> want to use NULL to indicate exit, as opposed to branching to
> a real epilogue.
> 
> Tested-by: Philippe Mathieu-Daudé <f4...@amsat.org>
> Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
> ---
>  tcg/tci/tcg-target-con-set.h |  1 +
>  tcg/tci/tcg-target.h         |  2 +-
>  tcg/tcg.c                    |  2 ++
>  tcg/tci.c                    | 19 +++++++++++++++++++
>  tcg/tci/tcg-target.c.inc     | 16 ++++++++++++++++
>  5 files changed, 39 insertions(+), 1 deletion(-)

> diff --git a/tcg/tcg.c b/tcg/tcg.c
> index c8e6dfb845..3d856371a1 100644
> --- a/tcg/tcg.c
> +++ b/tcg/tcg.c
> @@ -1353,10 +1353,12 @@ void tcg_prologue_init(TCGContext *s)
>      }
>  #endif
>  
> +#ifndef CONFIG_TCG_INTERPRETER
>      /* Assert that goto_ptr is implemented completely.  */

Maybe expand the comment briefly explaining the TCI case?

Otherwise:
Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org>

>      if (TCG_TARGET_HAS_goto_ptr) {
>          tcg_debug_assert(tcg_code_gen_epilogue != NULL);
>      }
> +#endif
>  }

Reply via email to