c89 fix.
[cacao.git] / src / vm / jit / reg.inc
index 5ac3b37b7d89ac1b0bda05135aa053e3d7a37ac5..0a67f9959261753a7eba2e9086e34de6a429acd6 100644 (file)
@@ -30,7 +30,7 @@
    Changes: Stefan Ring
             Christian Thalinger
 
-   $Id: reg.inc 1456 2004-11-05 14:33:14Z twisti $
+   $Id: reg.inc 1466 2004-11-08 11:24:50Z twisti $
 
 */
 
@@ -88,14 +88,14 @@ void reg_setup(methodinfo *m, registerdata *rd, t_inlining_globals *id)
                }
        }
 
-       rd->argintregs = MNEW(s4, rd->intreg_argnum);
-       rd->tmpintregs = MNEW(s4, rd->tmpintregcnt);
-       rd->savintregs = MNEW(s4, rd->savintregcnt);
-       rd->freeargintregs = MNEW(s4, rd->intreg_argnum);
-       rd->freetmpintregs = MNEW(s4, rd->tmpintregcnt);
-       rd->freesavintregs = MNEW(s4, rd->savintregcnt);
+       rd->argintregs = DMNEW(s4, rd->intreg_argnum);
+       rd->tmpintregs = DMNEW(s4, rd->tmpintregcnt);
+       rd->savintregs = DMNEW(s4, rd->savintregcnt);
+       rd->freeargintregs = DMNEW(s4, rd->intreg_argnum);
+       rd->freetmpintregs = DMNEW(s4, rd->tmpintregcnt);
+       rd->freesavintregs = DMNEW(s4, rd->savintregcnt);
 #ifdef USETWOREGS
-       rd->secondregs = MNEW(s4, rd->intregsnum);
+       rd->secondregs = DMNEW(s4, rd->intregsnum);
 #endif
 
        rd->intreg_argnum = 0;
@@ -121,16 +121,6 @@ void reg_setup(methodinfo *m, registerdata *rd, t_inlining_globals *id)
                }
        }
 
-#if defined(__I386__)
-       /* 
-          this assumes that we have 3 tmp regs (%ecx, %edx, %ebx) 
-          sort to [ %ebx, %edx, %ecx ]
-        */
-       i = rd->tmpintregs[0];
-       rd->tmpintregs[0] = rd->tmpintregs[2];
-       rd->tmpintregs[2] = i;
-#endif
-
 #if defined(__X86_64__)
        /* 
         * on x86_64 the argument registers are not in ascending order 
@@ -178,12 +168,12 @@ void reg_setup(methodinfo *m, registerdata *rd, t_inlining_globals *id)
                }
        }
 
-       rd->argfltregs = MNEW(s4, rd->fltreg_argnum);
-       rd->tmpfltregs = MNEW(s4, rd->tmpfltregcnt);
-       rd->savfltregs = MNEW(s4, rd->savfltregcnt);
-       rd->freeargfltregs = MNEW(s4, rd->fltreg_argnum);
-       rd->freetmpfltregs = MNEW(s4, rd->tmpfltregcnt);
-       rd->freesavfltregs = MNEW(s4, rd->savfltregcnt);
+       rd->argfltregs = DMNEW(s4, rd->fltreg_argnum);
+       rd->tmpfltregs = DMNEW(s4, rd->tmpfltregcnt);
+       rd->savfltregs = DMNEW(s4, rd->savfltregcnt);
+       rd->freeargfltregs = DMNEW(s4, rd->fltreg_argnum);
+       rd->freetmpfltregs = DMNEW(s4, rd->tmpfltregcnt);
+       rd->freesavfltregs = DMNEW(s4, rd->savfltregcnt);
 
        rd->fltreg_argnum = 0;
        rd->argfltreguse = 0;
@@ -209,9 +199,9 @@ void reg_setup(methodinfo *m, registerdata *rd, t_inlining_globals *id)
        }
 
 
-       rd->freemem    = MNEW(s4, id->cummaxstack);
-       rd->locals     = MNEW(varinfo5, id->cumlocals);
-       rd->interfaces = MNEW(varinfo5, id->cummaxstack);
+       rd->freemem    = DMNEW(s4, id->cummaxstack);
+       rd->locals     = DMNEW(varinfo5, id->cumlocals);
+       rd->interfaces = DMNEW(varinfo5, id->cummaxstack);
 
        for (v = rd->locals, i = id->cumlocals; i > 0; v++, i--) {
                v[0][TYPE_INT].type = -1;
@@ -244,27 +234,7 @@ void reg_setup(methodinfo *m, registerdata *rd, t_inlining_globals *id)
 
 void reg_free(methodinfo *m, registerdata *rd)
 {
-       if (rd->argintregs) MFREE(rd->argintregs, s4, rd->intreg_argnum);
-       if (rd->argfltregs) MFREE(rd->argfltregs, s4, rd->fltreg_argnum);
-       if (rd->tmpintregs) MFREE(rd->tmpintregs, s4, rd->tmpintregcnt);
-       if (rd->savintregs) MFREE(rd->savintregs, s4, rd->savintregcnt);
-       if (rd->tmpfltregs) MFREE(rd->tmpfltregs, s4, rd->tmpfltregcnt);
-       if (rd->savfltregs) MFREE(rd->savfltregs, s4, rd->savfltregcnt);
-
-       if (rd->freeargintregs) MFREE(rd->freeargintregs, s4, rd->intreg_argnum);
-       if (rd->freeargfltregs) MFREE(rd->freeargfltregs, s4, rd->fltreg_argnum);
-       if (rd->freetmpintregs) MFREE(rd->freetmpintregs, s4, rd->tmpintregcnt);
-       if (rd->freesavintregs) MFREE(rd->freesavintregs, s4, rd->savintregcnt);
-       if (rd->freetmpfltregs) MFREE(rd->freetmpfltregs, s4, rd->tmpfltregcnt);
-       if (rd->freesavfltregs) MFREE(rd->freesavfltregs, s4, rd->savfltregcnt);
-
-#ifdef USETWOREGS
-       if (rd->secondregs) MFREE(rd->secondregs, s4, rd->intregsnum);
-#endif
-
-       if (rd->freemem) MFREE(rd->freemem, s4, m->maxstack);
-       if (rd->locals)  MFREE(rd->locals, varinfo5, m->maxlocals);
-       if (rd->interfaces) MFREE(rd->interfaces, varinfo5, m->maxstack);
+       /* void */
 }
 
 
@@ -288,20 +258,9 @@ void reg_close()
        
 void regalloc(methodinfo *m, codegendata *cd, registerdata *rd)
 {
-#if defined(__I386__)
-       /* remove %ecx and/or %edx from tmpintregs */
-       int origtmpintregcnt = m->registerdata->tmpintregcnt;
-       if (method_uses_ecx) m->registerdata->tmpintregcnt--;
-       if (method_uses_edx) m->registerdata->tmpintregcnt--;
-#endif
-
        interface_regalloc(m, cd, rd);
        allocate_scratch_registers(m, rd);
        local_regalloc(m, cd, rd);
-
-#if defined(__I386__)
-       m->registerdata->tmpintregcnt = origtmpintregcnt;
-#endif
 }