[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 15/47] tcg: Adjust tcg_out_label for const
From: |
Richard Henderson |
Subject: |
[PULL 15/47] tcg: Adjust tcg_out_label for const |
Date: |
Thu, 7 Jan 2021 10:14:16 -1000 |
Simplify the arguments to always use s->code_ptr instead of
take it as an argument. That makes it easy to ensure that
the value_ptr is always the rx version.
Reviewed-by: Joelle van Dyne <j@getutm.app>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
tcg/tcg.c | 6 +++---
tcg/i386/tcg-target.c.inc | 10 +++++-----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/tcg/tcg.c b/tcg/tcg.c
index a34d2e5bb7..898c4bd1b6 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -302,11 +302,11 @@ static void tcg_out_reloc(TCGContext *s, tcg_insn_unit
*code_ptr, int type,
QSIMPLEQ_INSERT_TAIL(&l->relocs, r, next);
}
-static void tcg_out_label(TCGContext *s, TCGLabel *l, tcg_insn_unit *ptr)
+static void tcg_out_label(TCGContext *s, TCGLabel *l)
{
tcg_debug_assert(!l->has_value);
l->has_value = 1;
- l->u.value_ptr = tcg_splitwx_to_rx(ptr);
+ l->u.value_ptr = tcg_splitwx_to_rx(s->code_ptr);
}
TCGLabel *gen_new_label(void)
@@ -4329,7 +4329,7 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb)
break;
case INDEX_op_set_label:
tcg_reg_alloc_bb_end(s, s->reserved_regs);
- tcg_out_label(s, arg_label(op->args[0]), s->code_ptr);
+ tcg_out_label(s, arg_label(op->args[0]));
break;
case INDEX_op_call:
tcg_reg_alloc_call(s, op);
diff --git a/tcg/i386/tcg-target.c.inc b/tcg/i386/tcg-target.c.inc
index 9e4053f4e7..197e3006c8 100644
--- a/tcg/i386/tcg-target.c.inc
+++ b/tcg/i386/tcg-target.c.inc
@@ -1461,7 +1461,7 @@ static void tcg_out_brcond2(TCGContext *s, const TCGArg
*args,
default:
tcg_abort();
}
- tcg_out_label(s, label_next, s->code_ptr);
+ tcg_out_label(s, label_next);
}
#endif
@@ -1503,10 +1503,10 @@ static void tcg_out_setcond2(TCGContext *s, const
TCGArg *args,
tcg_out_movi(s, TCG_TYPE_I32, args[0], 0);
tcg_out_jxx(s, JCC_JMP, label_over, 1);
- tcg_out_label(s, label_true, s->code_ptr);
+ tcg_out_label(s, label_true);
tcg_out_movi(s, TCG_TYPE_I32, args[0], 1);
- tcg_out_label(s, label_over, s->code_ptr);
+ tcg_out_label(s, label_over);
} else {
/* When the destination does not overlap one of the arguments,
clear the destination first, jump if cond false, and emit an
@@ -1520,7 +1520,7 @@ static void tcg_out_setcond2(TCGContext *s, const TCGArg
*args,
tcg_out_brcond2(s, new_args, const_args+1, 1);
tgen_arithi(s, ARITH_ADD, args[0], 1, 0);
- tcg_out_label(s, label_over, s->code_ptr);
+ tcg_out_label(s, label_over);
}
}
#endif
@@ -1534,7 +1534,7 @@ static void tcg_out_cmov(TCGContext *s, TCGCond cond, int
rexw,
TCGLabel *over = gen_new_label();
tcg_out_jxx(s, tcg_cond_to_jcc[tcg_invert_cond(cond)], over, 1);
tcg_out_mov(s, TCG_TYPE_I32, dest, v1);
- tcg_out_label(s, over, s->code_ptr);
+ tcg_out_label(s, over);
}
}
--
2.25.1
- [PULL 05/47] util/oslib: Assert qemu_try_memalign() alignment is a power of 2, (continued)
- [PULL 05/47] util/oslib: Assert qemu_try_memalign() alignment is a power of 2, Richard Henderson, 2021/01/07
- [PULL 06/47] tcg: Do not flush icache for interpreter, Richard Henderson, 2021/01/07
- [PULL 07/47] util: Enhance flush_icache_range with separate data pointer, Richard Henderson, 2021/01/07
- [PULL 08/47] util: Specialize flush_idcache_range for aarch64, Richard Henderson, 2021/01/07
- [PULL 09/47] tcg: Move tcg prologue pointer out of TCGContext, Richard Henderson, 2021/01/07
- [PULL 10/47] tcg: Move tcg epilogue pointer out of TCGContext, Richard Henderson, 2021/01/07
- [PULL 12/47] tcg: Introduce tcg_splitwx_to_{rx,rw}, Richard Henderson, 2021/01/07
- [PULL 14/47] tcg: Adjust tcg_out_call for const, Richard Henderson, 2021/01/07
- [PULL 13/47] tcg: Adjust TCGLabel for const, Richard Henderson, 2021/01/07
- [PULL 11/47] tcg: Add in_code_gen_buffer, Richard Henderson, 2021/01/07
- [PULL 15/47] tcg: Adjust tcg_out_label for const,
Richard Henderson <=
- [PULL 16/47] tcg: Adjust tcg_register_jit for const, Richard Henderson, 2021/01/07
- [PULL 17/47] tcg: Adjust tb_target_set_jmp_target for split-wx, Richard Henderson, 2021/01/07
- [PULL 19/47] tcg: Make tb arg to synchronize_from_tb const, Richard Henderson, 2021/01/07
- [PULL 18/47] tcg: Make DisasContextBase.tb const, Richard Henderson, 2021/01/07
- [PULL 25/47] tcg/i386: Support split-wx code generation, Richard Henderson, 2021/01/07
- [PULL 23/47] accel/tcg: Support split-wx for darwin/iOS with vm_remap, Richard Henderson, 2021/01/07
- [PULL 24/47] tcg: Return the TB pointer from the rx region from exit_tb, Richard Henderson, 2021/01/07
- [PULL 21/47] tcg: Add --accel tcg,split-wx property, Richard Henderson, 2021/01/07
- [PULL 22/47] accel/tcg: Support split-wx for linux with memfd, Richard Henderson, 2021/01/07
- [PULL 27/47] tcg/aarch64: Support split-wx code generation, Richard Henderson, 2021/01/07