mirror of https://github.com/xemu-project/xemu.git
tcg: Introduce TCGCallReturnKind and TCGCallArgumentKind
Prepare to replace a bunch of separate ifdefs with a consistent way to describe the ABI of a function call. 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
31c9641746
commit
18ff36ab71
|
@ -27,6 +27,21 @@
|
|||
|
||||
#define TCG_HIGHWATER 1024
|
||||
|
||||
/*
|
||||
* Describe the calling convention of a given argument type.
|
||||
*/
|
||||
typedef enum {
|
||||
TCG_CALL_RET_NORMAL, /* by registers */
|
||||
} TCGCallReturnKind;
|
||||
|
||||
typedef enum {
|
||||
TCG_CALL_ARG_NORMAL, /* by registers (continuing onto stack) */
|
||||
TCG_CALL_ARG_EVEN, /* like normal, but skipping odd slots */
|
||||
TCG_CALL_ARG_EXTEND, /* for i32, as a sign/zero-extended i64 */
|
||||
TCG_CALL_ARG_EXTEND_U, /* ... as a zero-extended i64 */
|
||||
TCG_CALL_ARG_EXTEND_S, /* ... as a sign-extended i64 */
|
||||
} TCGCallArgumentKind;
|
||||
|
||||
typedef struct TCGHelperInfo {
|
||||
void *func;
|
||||
const char *name;
|
||||
|
|
Loading…
Reference in New Issue