Mercurial > hg > CbC > old > device
diff mc-code-ia32.c @ 676:5e71527f9fd6
*** empty log message ***
author | kono |
---|---|
date | Sun, 06 May 2007 18:48:13 +0900 |
parents | ba7110017db5 |
children | 83459d1afa0d |
line wrap: on
line diff
--- a/mc-code-ia32.c Sat May 05 14:50:39 2007 +0900 +++ b/mc-code-ia32.c Sun May 06 18:48:13 2007 +0900 @@ -71,7 +71,6 @@ #define __FLT_EPSILON__ 1.19209290e-7F\n\ #define __LDBL_MIN__ 3.36210314311209350626e-4932L\n\ #define __strong \n\ -#define __APPLE__ 1\n\ #define __DECIMAL_DIG__ 21\n\ #define __LDBL_HAS_QUIET_NAN__ 1\n\ #define __DYNAMIC__ 1\n\ @@ -409,14 +408,14 @@ #define round4(i) ((i+0x3)&~0x3) -#define func_disp_offset (8) -#define code_disp_offset (8) +#define func_disp_offset (16) +#define code_disp_offset (16) #define arg_offset 8 #define arg_offset1 0 #define ARG_LVAR_OFFSET 0x10000000 -#define code_disp_offset0 (-8) +#define code_disp_offset0 (-16) // disp_offset int disp_offset = code_disp_offset0; @@ -462,8 +461,7 @@ int l; #endif int code_f = is_code(fnptr); - int lvar_offsetv = - round16(-disp); + int lvar_offsetv = round16(-disp); int r1_offsetv = round16(lvar_offsetv+max_func_args*SIZE_OF_INT+func_disp_offset)+8; if (code_f) { @@ -1833,9 +1831,6 @@ /* now all input register vars are free */ code_save_stacks(); -#if FLOAT_CODE - code_save_fstacks(); -#endif // set_lreg(LREG_LREGISTER,0); set_freg(FREG_FREGISTER,0); @@ -3395,6 +3390,9 @@ if (regs[reg]!=REG_VAR) free_register(reg); } } +#if FLOAT_CODE + code_save_fstacks(); +#endif } static void