tcg: Push tcg_ctx into tcg_gen_callN
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
		
							parent
							
								
									b7e8b17a77
								
							
						
					
					
						commit
						960c50e077
					
				@ -9,7 +9,7 @@
 | 
				
			|||||||
#define DEF_HELPER_FLAGS_0(name, flags, ret)                            \
 | 
					#define DEF_HELPER_FLAGS_0(name, flags, ret)                            \
 | 
				
			||||||
static inline void glue(gen_helper_, name)(dh_retvar_decl0(ret))        \
 | 
					static inline void glue(gen_helper_, name)(dh_retvar_decl0(ret))        \
 | 
				
			||||||
{                                                                       \
 | 
					{                                                                       \
 | 
				
			||||||
  tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 0, NULL);       \
 | 
					  tcg_gen_callN(HELPER(name), dh_retvar(ret), 0, NULL);                 \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DEF_HELPER_FLAGS_1(name, flags, ret, t1)                        \
 | 
					#define DEF_HELPER_FLAGS_1(name, flags, ret, t1)                        \
 | 
				
			||||||
@ -17,7 +17,7 @@ static inline void glue(gen_helper_, name)(dh_retvar_decl(ret)          \
 | 
				
			|||||||
    dh_arg_decl(t1, 1))                                                 \
 | 
					    dh_arg_decl(t1, 1))                                                 \
 | 
				
			||||||
{                                                                       \
 | 
					{                                                                       \
 | 
				
			||||||
  TCGArg args[1] = { dh_arg(t1, 1) };                                   \
 | 
					  TCGArg args[1] = { dh_arg(t1, 1) };                                   \
 | 
				
			||||||
  tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 1, args);       \
 | 
					  tcg_gen_callN(HELPER(name), dh_retvar(ret), 1, args);                 \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DEF_HELPER_FLAGS_2(name, flags, ret, t1, t2)                    \
 | 
					#define DEF_HELPER_FLAGS_2(name, flags, ret, t1, t2)                    \
 | 
				
			||||||
@ -25,7 +25,7 @@ static inline void glue(gen_helper_, name)(dh_retvar_decl(ret)          \
 | 
				
			|||||||
    dh_arg_decl(t1, 1), dh_arg_decl(t2, 2))                             \
 | 
					    dh_arg_decl(t1, 1), dh_arg_decl(t2, 2))                             \
 | 
				
			||||||
{                                                                       \
 | 
					{                                                                       \
 | 
				
			||||||
  TCGArg args[2] = { dh_arg(t1, 1), dh_arg(t2, 2) };                    \
 | 
					  TCGArg args[2] = { dh_arg(t1, 1), dh_arg(t2, 2) };                    \
 | 
				
			||||||
  tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 2, args);       \
 | 
					  tcg_gen_callN(HELPER(name), dh_retvar(ret), 2, args);                 \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DEF_HELPER_FLAGS_3(name, flags, ret, t1, t2, t3)                \
 | 
					#define DEF_HELPER_FLAGS_3(name, flags, ret, t1, t2, t3)                \
 | 
				
			||||||
@ -33,7 +33,7 @@ static inline void glue(gen_helper_, name)(dh_retvar_decl(ret)          \
 | 
				
			|||||||
    dh_arg_decl(t1, 1), dh_arg_decl(t2, 2), dh_arg_decl(t3, 3))         \
 | 
					    dh_arg_decl(t1, 1), dh_arg_decl(t2, 2), dh_arg_decl(t3, 3))         \
 | 
				
			||||||
{                                                                       \
 | 
					{                                                                       \
 | 
				
			||||||
  TCGArg args[3] = { dh_arg(t1, 1), dh_arg(t2, 2), dh_arg(t3, 3) };     \
 | 
					  TCGArg args[3] = { dh_arg(t1, 1), dh_arg(t2, 2), dh_arg(t3, 3) };     \
 | 
				
			||||||
  tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 3, args);       \
 | 
					  tcg_gen_callN(HELPER(name), dh_retvar(ret), 3, args);                 \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DEF_HELPER_FLAGS_4(name, flags, ret, t1, t2, t3, t4)            \
 | 
					#define DEF_HELPER_FLAGS_4(name, flags, ret, t1, t2, t3, t4)            \
 | 
				
			||||||
@ -43,7 +43,7 @@ static inline void glue(gen_helper_, name)(dh_retvar_decl(ret)          \
 | 
				
			|||||||
{                                                                       \
 | 
					{                                                                       \
 | 
				
			||||||
  TCGArg args[4] = { dh_arg(t1, 1), dh_arg(t2, 2),                      \
 | 
					  TCGArg args[4] = { dh_arg(t1, 1), dh_arg(t2, 2),                      \
 | 
				
			||||||
                     dh_arg(t3, 3), dh_arg(t4, 4) };                    \
 | 
					                     dh_arg(t3, 3), dh_arg(t4, 4) };                    \
 | 
				
			||||||
  tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 4, args);       \
 | 
					  tcg_gen_callN(HELPER(name), dh_retvar(ret), 4, args);                 \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define DEF_HELPER_FLAGS_5(name, flags, ret, t1, t2, t3, t4, t5)        \
 | 
					#define DEF_HELPER_FLAGS_5(name, flags, ret, t1, t2, t3, t4, t5)        \
 | 
				
			||||||
@ -53,7 +53,7 @@ static inline void glue(gen_helper_, name)(dh_retvar_decl(ret)          \
 | 
				
			|||||||
{                                                                       \
 | 
					{                                                                       \
 | 
				
			||||||
  TCGArg args[5] = { dh_arg(t1, 1), dh_arg(t2, 2), dh_arg(t3, 3),       \
 | 
					  TCGArg args[5] = { dh_arg(t1, 1), dh_arg(t2, 2), dh_arg(t3, 3),       \
 | 
				
			||||||
                     dh_arg(t4, 4), dh_arg(t5, 5) };                    \
 | 
					                     dh_arg(t4, 4), dh_arg(t5, 5) };                    \
 | 
				
			||||||
  tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 5, args);       \
 | 
					  tcg_gen_callN(HELPER(name), dh_retvar(ret), 5, args);                 \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "helper.h"
 | 
					#include "helper.h"
 | 
				
			||||||
 | 
				
			|||||||
@ -974,9 +974,9 @@ bool tcg_op_supported(TCGOpcode op)
 | 
				
			|||||||
/* Note: we convert the 64 bit args to 32 bit and do some alignment
 | 
					/* Note: we convert the 64 bit args to 32 bit and do some alignment
 | 
				
			||||||
   and endian swap. Maybe it would be better to do the alignment
 | 
					   and endian swap. Maybe it would be better to do the alignment
 | 
				
			||||||
   and endian swap in tcg_reg_alloc_call(). */
 | 
					   and endian swap in tcg_reg_alloc_call(). */
 | 
				
			||||||
void tcg_gen_callN(TCGContext *s, void *func, TCGArg ret,
 | 
					void tcg_gen_callN(void *func, TCGArg ret, int nargs, TCGArg *args)
 | 
				
			||||||
                   int nargs, TCGArg *args)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    TCGContext *s = &tcg_ctx;
 | 
				
			||||||
    int i, real_args, nb_rets, pi;
 | 
					    int i, real_args, nb_rets, pi;
 | 
				
			||||||
    unsigned sizemask, flags;
 | 
					    unsigned sizemask, flags;
 | 
				
			||||||
    TCGHelperInfo *info;
 | 
					    TCGHelperInfo *info;
 | 
				
			||||||
 | 
				
			|||||||
@ -951,8 +951,7 @@ do {\
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
bool tcg_op_supported(TCGOpcode op);
 | 
					bool tcg_op_supported(TCGOpcode op);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void tcg_gen_callN(TCGContext *s, void *func,
 | 
					void tcg_gen_callN(void *func, TCGArg ret, int nargs, TCGArg *args);
 | 
				
			||||||
                   TCGArg ret, int nargs, TCGArg *args);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
void tcg_op_remove(TCGContext *s, TCGOp *op);
 | 
					void tcg_op_remove(TCGContext *s, TCGOp *op);
 | 
				
			||||||
TCGOp *tcg_op_insert_before(TCGContext *s, TCGOp *op, TCGOpcode opc, int narg);
 | 
					TCGOp *tcg_op_insert_before(TCGContext *s, TCGOp *op, TCGOpcode opc, int narg);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user