X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fregalloc.h;h=f043ddd6d55402ab6a17fb6d5d48293693da53af;hb=cb4dfb5d9803365b73db03e34dc9900301b19a80;hp=566e0cc4b270b8975dc26b30e4ced58a16ef1546;hpb=a5e40870bd3bb18e1681afed6c71e7edfdb80534;p=mono.git diff --git a/mono/mini/regalloc.h b/mono/mini/regalloc.h index 566e0cc4b27..f043ddd6d55 100644 --- a/mono/mini/regalloc.h +++ b/mono/mini/regalloc.h @@ -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];