[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 05/27] tcg: Split out tcg_raise_tb_overflow
From: |
Richard Henderson |
Subject: |
[PULL 05/27] tcg: Split out tcg_raise_tb_overflow |
Date: |
Sat, 6 Mar 2021 13:35:51 -0800 |
Allow other places in tcg to restart with a smaller tb.
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
tcg/tcg.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 63a12b197b..bbe3dcee03 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -346,6 +346,12 @@ static void set_jmp_reset_offset(TCGContext *s, int which)
s->tb_jmp_reset_offset[which] = tcg_current_code_size(s);
}
+/* Signal overflow, starting over with fewer guest insns. */
+static void QEMU_NORETURN tcg_raise_tb_overflow(TCGContext *s)
+{
+ siglongjmp(s->jmp_trans, -2);
+}
+
#define C_PFX1(P, A) P##A
#define C_PFX2(P, A, B) P##A##_##B
#define C_PFX3(P, A, B, C) P##A##_##B##_##C
@@ -1310,8 +1316,7 @@ static TCGTemp *tcg_temp_alloc(TCGContext *s)
int n = s->nb_temps++;
if (n >= TCG_MAX_TEMPS) {
- /* Signal overflow, starting over with fewer guest insns. */
- siglongjmp(s->jmp_trans, -2);
+ tcg_raise_tb_overflow(s);
}
return memset(&s->temps[n], 0, sizeof(TCGTemp));
}
--
2.25.1
- [PULL 02/27] tcg/aarch64: Fix I3617_CMLE0, (continued)
- [PULL 02/27] tcg/aarch64: Fix I3617_CMLE0, Richard Henderson, 2021/03/06
- [PULL 03/27] tcg/aarch64: Fix generation of "scalar" vector operations, Richard Henderson, 2021/03/06
- [PULL 09/27] tcg/tci: Merge identical cases in generation (deposit opcode), Richard Henderson, 2021/03/06
- [PULL 04/27] tcg/tci: Use exec/cpu_ldst.h interfaces, Richard Henderson, 2021/03/06
- [PULL 12/27] tcg/tci: Remove tci_read_r8, Richard Henderson, 2021/03/06
- [PULL 08/27] tcg/tci: Merge identical cases in generation (exchange opcodes), Richard Henderson, 2021/03/06
- [PULL 11/27] tcg/tci: Merge identical cases in generation (load/store opcodes), Richard Henderson, 2021/03/06
- [PULL 13/27] tcg/tci: Remove tci_read_r8s, Richard Henderson, 2021/03/06
- [PULL 14/27] tcg/tci: Remove tci_read_r16, Richard Henderson, 2021/03/06
- [PULL 15/27] tcg/tci: Remove tci_read_r16s, Richard Henderson, 2021/03/06
- [PULL 05/27] tcg: Split out tcg_raise_tb_overflow,
Richard Henderson <=
- [PULL 07/27] tcg/tci: Merge identical cases in generation (arithmetic opcodes), Richard Henderson, 2021/03/06
- [PULL 06/27] tcg: Manage splitwx in tc_ptr_to_region_tree by hand, Richard Henderson, 2021/03/06
- [PULL 17/27] tcg/tci: Remove tci_read_r32s, Richard Henderson, 2021/03/06
- [PULL 18/27] tcg/tci: Reduce use of tci_read_r64, Richard Henderson, 2021/03/06
- [PULL 10/27] tcg/tci: Merge identical cases in generation (conditional opcodes), Richard Henderson, 2021/03/06
- [PULL 16/27] tcg/tci: Remove tci_read_r32, Richard Henderson, 2021/03/06
- [PULL 21/27] tcg/tci: Merge bswap operations, Richard Henderson, 2021/03/06
- [PULL 20/27] tcg/tci: Merge extension operations, Richard Henderson, 2021/03/06
- [PULL 19/27] tcg/tci: Merge basic arithmetic operations, Richard Henderson, 2021/03/06
- [PULL 22/27] tcg/tci: Merge mov, not and neg operations, Richard Henderson, 2021/03/06