mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
tcg: Pass function pointer to tcg_gen_call*
For normal helpers, read the function pointer from the structure earlier. For plugins, this will allow the function pointer to come from elsewhere. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
ed30e7b1d9
commit
83a0ad2673
3 changed files with 52 additions and 38 deletions
|
@ -852,19 +852,22 @@ typedef struct TCGTargetOpDef {
|
|||
|
||||
bool tcg_op_supported(TCGOpcode op);
|
||||
|
||||
void tcg_gen_call0(TCGHelperInfo *, TCGTemp *ret);
|
||||
void tcg_gen_call1(TCGHelperInfo *, TCGTemp *ret, TCGTemp *);
|
||||
void tcg_gen_call2(TCGHelperInfo *, TCGTemp *ret, TCGTemp *, TCGTemp *);
|
||||
void tcg_gen_call3(TCGHelperInfo *, TCGTemp *ret, TCGTemp *,
|
||||
void tcg_gen_call0(void *func, TCGHelperInfo *, TCGTemp *ret);
|
||||
void tcg_gen_call1(void *func, TCGHelperInfo *, TCGTemp *ret, TCGTemp *);
|
||||
void tcg_gen_call2(void *func, TCGHelperInfo *, TCGTemp *ret,
|
||||
TCGTemp *, TCGTemp *);
|
||||
void tcg_gen_call4(TCGHelperInfo *, TCGTemp *ret, TCGTemp *, TCGTemp *,
|
||||
TCGTemp *, TCGTemp *);
|
||||
void tcg_gen_call5(TCGHelperInfo *, TCGTemp *ret, TCGTemp *, TCGTemp *,
|
||||
void tcg_gen_call3(void *func, TCGHelperInfo *, TCGTemp *ret,
|
||||
TCGTemp *, TCGTemp *, TCGTemp *);
|
||||
void tcg_gen_call6(TCGHelperInfo *, TCGTemp *ret, TCGTemp *, TCGTemp *,
|
||||
void tcg_gen_call4(void *func, TCGHelperInfo *, TCGTemp *ret,
|
||||
TCGTemp *, TCGTemp *, TCGTemp *, TCGTemp *);
|
||||
void tcg_gen_call7(TCGHelperInfo *, TCGTemp *ret, TCGTemp *, TCGTemp *,
|
||||
void tcg_gen_call5(void *func, TCGHelperInfo *, TCGTemp *ret,
|
||||
TCGTemp *, TCGTemp *, TCGTemp *, TCGTemp *, TCGTemp *);
|
||||
void tcg_gen_call6(void *func, TCGHelperInfo *, TCGTemp *ret,
|
||||
TCGTemp *, TCGTemp *, TCGTemp *, TCGTemp *,
|
||||
TCGTemp *, TCGTemp *);
|
||||
void tcg_gen_call7(void *func, TCGHelperInfo *, TCGTemp *ret,
|
||||
TCGTemp *, TCGTemp *, TCGTemp *, TCGTemp *,
|
||||
TCGTemp *, TCGTemp *, TCGTemp *);
|
||||
|
||||
TCGOp *tcg_emit_op(TCGOpcode opc, unsigned nargs);
|
||||
void tcg_op_remove(TCGContext *s, TCGOp *op);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue