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