diff options
author | Michael Pavone <pavone@retrodev.com> | 2015-07-26 16:51:03 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2015-07-26 16:51:03 -0700 |
commit | 38c7278727cb3dd65d9e5dc98e69dd306b12c476 (patch) | |
tree | 616c527669fcab6828bcb71949e3ccd3f054c75d /gen.h | |
parent | 2c702a302754c4eb4a4c2aeabd9e533b0efd2bde (diff) | |
parent | 6cd1ab5ac4004b9e9433c5d16a6ed7fa049cf767 (diff) |
Merge
Diffstat (limited to 'gen.h')
-rw-r--r-- | gen.h | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -17,9 +17,17 @@ typedef struct { code_ptr last; } code_info; +void check_alloc_code(code_info *code, uint32_t inst_size); + void init_code_info(code_info *code); void call(code_info *code, code_ptr fun); void jmp(code_info *code, code_ptr dest); void jmp_r(code_info *code, uint8_t dst); +//call a function and put the arguments in the appropriate place according to the host ABI +void call_args(code_info *code, code_ptr fun, uint32_t num_args, ...); +//like the above, but follows other aspects of the ABI like stack alignment +void call_args_abi(code_info *code, code_ptr fun, uint32_t num_args, ...); +void save_callee_save_regs(code_info *code); +void restore_callee_save_regs(code_info *code); #endif //GEN_H_ |