On 4/21/22 13:21, Max Filippov wrote:
> pc and w are allocated with tcg_const_i32 but not freed in
> gen_window_check. Add missing tcg_temp_free for pc, use tcg_constant_i32
> for w.
>
> Fixes: 2db59a76c421 ("target-xtensa: record available window in TB flags")
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> ---
> target/xtensa/translate.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
> index b1491ed625e5..f4dac27507fd 100644
> --- a/target/xtensa/translate.c
> +++ b/target/xtensa/translate.c
> @@ -572,9 +572,10 @@ static bool gen_window_check(DisasContext *dc, uint32_t mask)
>
> if (r / 4 > dc->window) {
> TCGv_i32 pc = tcg_const_i32(dc->pc);
> - TCGv_i32 w = tcg_const_i32(r / 4);
> + TCGv_i32 w = tcg_constant_i32(r / 4);
>
> gen_helper_window_check(cpu_env, pc, w);
> + tcg_temp_free(pc);
Should use tcg_constant_i32 for both of them, and not add the free for pc.
r~