Mercurial > hg > CbC > old > device
diff mc-code.h @ 107:06f72222d6b5
prevent destorying function argument (incomeplete)
author | kono |
---|---|
date | Tue, 18 Mar 2003 12:41:32 +0900 |
parents | 7e3d59e56a53 |
children | 69e2e763cce5 |
line wrap: on
line diff
--- a/mc-code.h Tue Mar 18 11:00:04 2003 +0900 +++ b/mc-code.h Tue Mar 18 12:41:32 2003 +0900 @@ -26,33 +26,32 @@ extern int get_fregister_var(NMTBL *n); extern int get_input_register_var(int,NMTBL *); extern int get_input_fregister_var(int,NMTBL *); -extern void emit_push(void); -extern void emit_push_x(int xreg); +extern void emit_push(); extern int emit_pop(int type); extern void gexpr_code_init(); extern int code_csvalue(); extern void code_cmpdimm(int e, int csreg); -extern void code_gvar(int e1); -extern void code_rgvar(int e1); -extern void code_crgvar(int e1); -extern void code_lvar(int e2); -extern void code_register(int e2); +extern void code_gvar(int e1,int reg); +extern void code_rgvar(int e1,int reg); +extern void code_crgvar(int e1,int reg); +extern void code_lvar(int e2,int reg); +extern void code_register(int e2,int reg); extern void code_rlvar(int e2,int reg); extern void code_crlvar(int e2,int reg); -extern void code_fname(char *e2); -extern void code_const(int e2); -extern void code_neg(); -extern void code_not(); -extern void code_lnot(); -extern void code_preinc(int e1,int e2); -extern void code_postinc(int e1,int e2); -extern void code_cpostinc(int e1,int e2); -extern void code_cpreinc(int e1,int e2); -extern void code_cpostdec(int e1,int e2); -extern void code_cpredec(int e1,int e2); -extern void code_return(); -extern void code_environment(); -extern void code_bool(int e1); +extern void code_fname(char *e2,int reg); +extern void code_const(int e2,int reg); +extern void code_neg(int reg); +extern void code_not(int reg); +extern void code_lnot(int reg); +extern void code_preinc(int e1,int e2,int reg); +extern void code_postinc(int e1,int e2,int reg); +extern void code_cpostinc(int e1,int e2,int reg); +extern void code_cpreinc(int e1,int e2,int reg); +extern void code_cpostdec(int e1,int e2,int reg); +extern void code_cpredec(int e1,int e2,int reg); +extern void code_return(int reg); +extern void code_environment(int reg); +extern void code_bool(int e1,int reg); extern char *code_gt(int cond); extern char *code_ugt(int cond); extern char *code_ge(int cond); @@ -63,7 +62,7 @@ extern void code_cmp_rgvar(int e1); extern void code_cmp_rlvar(int e1); extern void code_cmp_register(int e2); -extern void string(int e1); +extern void code_string(int e1,int reg); extern void emit_copy(int from,int to,int length,int offset,int value,int det); extern int function(int e1); extern void code_frame_pointer(int e3); @@ -85,6 +84,7 @@ extern void jcond(int l, char cond); extern void jmp(int l); extern void code_set_fixed_creg(int mode); +extern void code_set_return_register(int mode); extern void text_mode(void); extern void global_table(void); extern int lvar(int l); @@ -95,27 +95,27 @@ extern int dpop_register(); extern int emit_dpop(int); -extern void code_fregister(int e2); +extern void code_fregister(int e2,int reg); extern void code_cmp_fregister(int); extern void code_cmp_drgvar(int); extern void code_cmp_drlvar(int); extern void code_dassign(int,int,int); extern void code_dassign_gvar(int,int,int); extern void code_dassign_lvar(int,int,int); -extern void code_dconst(int); -extern void code_dneg(); -extern void code_drgvar(int,int); -extern void code_drlvar(int,int); +extern void code_dconst(int,int); +extern void code_dneg(int); +extern void code_drgvar(int,int,int); +extern void code_drlvar(int,int,int); extern void dtosop(int,int); extern void emit_dpop_free(int); extern void emit_dpush(); -extern void code_i2d(); -extern void code_d2i(); -extern void code_u2d(); -extern void code_d2u(); +extern void code_i2d(int,int); +extern void code_d2i(int,int); +extern void code_u2d(int,int); +extern void code_d2u(int,int); -extern void code_dpreinc(int e1,int e2,int d); -extern void code_dpostinc(int e1,int e2,int d); +extern void code_dpreinc(int e1,int e2,int d,int reg); +extern void code_dpostinc(int e1,int e2,int d,int reg); extern void code_dassop(int op,int d); extern void code_arg_register(int);