* src/vm/jit/powerpc/linux/md-abi.c (md_param_alloc): Cleaned up
[cacao.git] / src / vm / jit / reg.h
index bb3b520a115c92e83c15bc747de73da49b5ae62b..8ea1a9a3e704ffc25aa51b6b3a8694fefab4f0b2 100644 (file)
@@ -29,7 +29,7 @@
    Changes: Christian Ullrich
             Edwin Steiner
 
-   $Id: reg.h 5435 2006-09-08 18:14:50Z edwin $
+   $Id: reg.h 5549 2006-09-28 17:02:56Z edwin $
 
 */
 
@@ -49,15 +49,25 @@ typedef struct registerdata registerdata;
 #include "arch.h"
 
 #include "vm/jit/jit.h"
+#include "vm/jit/verify/typeinfo.h"
 
 
 /************************* pseudo variable structure **************************/
 
 struct varinfo {
-       int type;                   /* basic type of variable                     */
-       int flags;                  /* flags (SAVED, INMEMORY)                    */
-       int regoff;                 /* register number or memory offset           */
-       int copycount;              /* number of times this var has been dupped   */
+       s4 type;                   /* basic type of variable                     */
+       s4 flags;                  /* flags (SAVED, INMEMORY)                    */
+       union {
+               s4 regoff;             /* register number or memory offset           */
+               s4 i;
+               s8 l;
+               float f;
+               double d;
+               basicblock *retaddr;
+       } vv;
+#if defined(ENABLE_VERIFIER)
+       typeinfo typeinfo;         /* type info for reference types              */
+#endif
 };
 
 typedef struct varinfo varinfo5[5];
@@ -121,6 +131,10 @@ struct registerdata {
        int freesavinttop;              /* free saved integer register count      */
        int freetmpflttop;              /* free scratch float register count      */
        int freesavflttop;              /* free saved float register count        */
+
+       int *regcopycount;              /* counts copies of each register regoff  */
+       int *memcopycount;              /* counts copies of each INMEMORY regoff  */
+       int memcopycountsize;           /* size of memcopycount buffer            */
 };