aboutsummaryrefslogtreecommitdiff
path: root/tcg/tcg.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2021-03-18 16:40:07 -0600
committerRichard Henderson <richard.henderson@linaro.org>2021-06-19 08:51:11 -0700
commitfa52e660620fbb2418868e337aee06427ceafdbb (patch)
tree62adbaaac54297c5518db952c933d539b68826f5 /tcg/tcg.c
parent3e92aa34434bbcf88e5cc0a8334946216dcaf233 (diff)
downloadqemu-fa52e660620fbb2418868e337aee06427ceafdbb.zip
qemu-fa52e660620fbb2418868e337aee06427ceafdbb.tar.gz
qemu-fa52e660620fbb2418868e337aee06427ceafdbb.tar.bz2
tcg: Add tcg_call_func
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg/tcg.c')
-rw-r--r--tcg/tcg.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 0dc99cc..8f4f171 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -1740,7 +1740,7 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs)
}
} else if (c == INDEX_op_call) {
const TCGHelperInfo *info = tcg_call_info(op);
- void *func;
+ void *func = tcg_call_func(op);
/* variable number of arguments */
nb_oargs = TCGOP_CALLO(op);
@@ -1754,7 +1754,6 @@ static void tcg_dump_ops(TCGContext *s, bool have_prefs)
* Note that plugins have a template function for the info,
* but the actual function pointer comes from the plugin.
*/
- func = (void *)(uintptr_t)op->args[nb_oargs + nb_iargs];
if (func == info->func) {
col += qemu_log("%s", info->name);
} else {
@@ -3789,7 +3788,7 @@ static void tcg_reg_alloc_call(TCGContext *s, TCGOp *op)
int allocate_args;
TCGRegSet allocated_regs;
- func_addr = (tcg_insn_unit *)(intptr_t)op->args[nb_oargs + nb_iargs];
+ func_addr = tcg_call_func(op);
flags = tcg_call_flags(op);
nb_regs = ARRAY_SIZE(tcg_target_call_iarg_regs);