tcg: Adjust TCGContext.temps_in_use check
Change the temps_in_use check to use assert not fprintf. Move the assert for double-free before the check for count, since that is the more immediate problem. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
640be074fa
commit
0ef3d7045b
12
tcg/tcg.c
12
tcg/tcg.c
@ -1374,16 +1374,14 @@ void tcg_temp_free_internal(TCGTemp *ts)
|
|||||||
g_assert_not_reached();
|
g_assert_not_reached();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_DEBUG_TCG)
|
|
||||||
s->temps_in_use--;
|
|
||||||
if (s->temps_in_use < 0) {
|
|
||||||
fprintf(stderr, "More temporaries freed than allocated!\n");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
tcg_debug_assert(ts->temp_allocated != 0);
|
tcg_debug_assert(ts->temp_allocated != 0);
|
||||||
ts->temp_allocated = 0;
|
ts->temp_allocated = 0;
|
||||||
|
|
||||||
|
#if defined(CONFIG_DEBUG_TCG)
|
||||||
|
assert(s->temps_in_use > 0);
|
||||||
|
s->temps_in_use--;
|
||||||
|
#endif
|
||||||
|
|
||||||
idx = temp_idx(ts);
|
idx = temp_idx(ts);
|
||||||
k = ts->base_type + (ts->kind == TEMP_NORMAL ? 0 : TCG_TYPE_COUNT);
|
k = ts->base_type + (ts->kind == TEMP_NORMAL ? 0 : TCG_TYPE_COUNT);
|
||||||
set_bit(idx, s->free_temps[k].l);
|
set_bit(idx, s->free_temps[k].l);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user