comparison gen.h @ 803:236a184bf6f0

Merge
author Michael Pavone <pavone@retrodev.com>
date Sun, 26 Jul 2015 16:51:03 -0700
parents d0943769353b
children a7774fc2de4b
comparison
equal deleted inserted replaced
802:6811f601008f 803:236a184bf6f0
15 typedef struct { 15 typedef struct {
16 code_ptr cur; 16 code_ptr cur;
17 code_ptr last; 17 code_ptr last;
18 } code_info; 18 } code_info;
19 19
20 void check_alloc_code(code_info *code, uint32_t inst_size);
21
20 void init_code_info(code_info *code); 22 void init_code_info(code_info *code);
21 void call(code_info *code, code_ptr fun); 23 void call(code_info *code, code_ptr fun);
22 void jmp(code_info *code, code_ptr dest); 24 void jmp(code_info *code, code_ptr dest);
23 void jmp_r(code_info *code, uint8_t dst); 25 void jmp_r(code_info *code, uint8_t dst);
26 //call a function and put the arguments in the appropriate place according to the host ABI
27 void call_args(code_info *code, code_ptr fun, uint32_t num_args, ...);
28 //like the above, but follows other aspects of the ABI like stack alignment
29 void call_args_abi(code_info *code, code_ptr fun, uint32_t num_args, ...);
30 void save_callee_save_regs(code_info *code);
31 void restore_callee_save_regs(code_info *code);
24 32
25 #endif //GEN_H_ 33 #endif //GEN_H_