Mercurial > repos > blastem
comparison gen.h @ 1298:d5a47597b61f
Prevent blowing past our native translated instruction size of 255 bytes when translating movem with a large register list. Fixes bug in which Fantastic Dizzy was completely broken on 32-bit builds
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 25 Mar 2017 00:21:32 -0700 |
parents | 2ec5e6eaf81d |
children |
comparison
equal
deleted
inserted
replaced
1297:71b1a080b30c | 1298:d5a47597b61f |
---|---|
22 | 22 |
23 void init_code_info(code_info *code); | 23 void init_code_info(code_info *code); |
24 void call(code_info *code, code_ptr fun); | 24 void call(code_info *code, code_ptr fun); |
25 void jmp(code_info *code, code_ptr dest); | 25 void jmp(code_info *code, code_ptr dest); |
26 void jmp_r(code_info *code, uint8_t dst); | 26 void jmp_r(code_info *code, uint8_t dst); |
27 //standard return from subroutine instruction | |
28 void rts(code_info *code); | |
27 //call a function and put the arguments in the appropriate place according to the host ABI | 29 //call a function and put the arguments in the appropriate place according to the host ABI |
28 void call_args(code_info *code, code_ptr fun, uint32_t num_args, ...); | 30 void call_args(code_info *code, code_ptr fun, uint32_t num_args, ...); |
29 //like the above, but call a function pointer stored in a register | 31 //like the above, but call a function pointer stored in a register |
30 void call_args_r(code_info *code, uint8_t fun_reg, uint32_t num_args, ...); | 32 void call_args_r(code_info *code, uint8_t fun_reg, uint32_t num_args, ...); |
31 //like the above, but follows other aspects of the ABI like stack alignment | 33 //like the above, but follows other aspects of the ABI like stack alignment |