[xbuild] Make Engine.DefaultToolsVersion 2.0 .
[mono.git] / mono / mini / regalloc.h
index 566e0cc4b270b8975dc26b30e4ced58a16ef1546..f043ddd6d55402ab6a17fb6d5d48293693da53af 100644 (file)
@@ -4,14 +4,18 @@ typedef size_t regmask_t;
 enum {
        MONO_REG_INT,
        MONO_REG_DOUBLE,
+       /* This is used only for allocating spill slots with GC tracking */
+       MONO_REG_INT_REF,
+       /* Ditto for managed pointers */
+       MONO_REG_INT_MP,
        MONO_REG_SIMD
 };
 
  
 #ifdef MONO_ARCH_NEED_SIMD_BANK
-#define MONO_NUM_REGBANKS 3
+#define MONO_NUM_REGBANKS 5
 #else
-#define MONO_NUM_REGBANKS 2
+#define MONO_NUM_REGBANKS 4
 #endif
 
 typedef struct {
@@ -26,7 +30,7 @@ typedef struct {
         * If the register is spilled, then this contains -spill - 1, where 'spill'
         * is the index of the spill variable.
         */
-       gint16 *vassign;
+       gint32 *vassign;
 
        /* hard -> symbolic */
        int isymbolic [MONO_MAX_IREGS];