2 typedef size_t regmask_t;
18 /* symbolic registers */
29 /* symbolic -> hard register assignment */
31 * If the register is spilled, then this contains -spill - 1, where 'spill'
32 * is the index of the spill variable.
37 /* hard -> symbolic */
38 int isymbolic [MONO_MAX_IREGS];
39 int fsymbolic [MONO_MAX_FREGS];
44 #define mono_regstate_next_int(rs) ((rs)->next_vireg++)
45 #define mono_regstate_next_float(rs) ((rs)->next_vfreg++)
48 MonoRegState* mono_regstate_new (void);
50 void mono_regstate_free (MonoRegState *rs);
51 void mono_regstate_reset (MonoRegState *rs);
52 void mono_regstate_assign (MonoRegState *rs);
53 int mono_regstate_alloc_int (MonoRegState *rs, regmask_t allow);
54 void mono_regstate_free_int (MonoRegState *rs, int reg);
55 int mono_regstate_alloc_float (MonoRegState *rs, regmask_t allow);
56 void mono_regstate_free_float (MonoRegState *rs, int reg);
57 inline int mono_regstate_next_long (MonoRegState *rs);