tcg: Pass TCGHelperInfo to tcg_gen_callN
authorRichard Henderson <richard.henderson@linaro.org>
Fri, 31 Mar 2023 17:37:04 +0000 (10:37 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Mon, 5 Jun 2023 19:04:29 +0000 (12:04 -0700)
commitd53106c997e5c8e61e37ae9ff9f0e1f243b03968
tree4de92bccaed083434fefc464ac43101dab97d3b4
parent0f4e14c25a1900ee77ce29060adbaede1367bd3d
tcg: Pass TCGHelperInfo to tcg_gen_callN

In preparation for compiling tcg/ only once, eliminate
the all_helpers array.  Instantiate the info structs for
the generic helpers in accel/tcg/, and the structs for
the target-specific helpers in each translate.c.

Since we don't see all of the info structs at startup,
initialize at first use, using g_once_init_* to make
sure we don't race while doing so.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
31 files changed:
MAINTAINERS
accel/tcg/plugin-gen.c
accel/tcg/tcg-runtime.c
include/exec/helper-gen.h
include/exec/helper-info.c.inc [new file with mode: 0644]
include/exec/helper-tcg.h [deleted file]
include/qemu/typedefs.h
include/tcg/helper-info.h
include/tcg/tcg.h
target/alpha/translate.c
target/arm/tcg/translate.c
target/avr/translate.c
target/cris/translate.c
target/hexagon/translate.c
target/hppa/translate.c
target/i386/tcg/translate.c
target/loongarch/translate.c
target/m68k/translate.c
target/microblaze/translate.c
target/mips/tcg/translate.c
target/nios2/translate.c
target/openrisc/translate.c
target/ppc/translate.c
target/riscv/translate.c
target/rx/translate.c
target/s390x/tcg/translate.c
target/sh4/translate.c
target/sparc/translate.c
target/tricore/translate.c
target/xtensa/translate.c
tcg/tcg.c