2 typedef size_t regmask_t
;
7 /* This is used only for allocating spill slots with GC tracking */
9 /* Ditto for managed pointers */
15 #ifdef MONO_ARCH_NEED_SIMD_BANK
16 #define MONO_NUM_REGBANKS 5
18 #define MONO_NUM_REGBANKS 4
22 /* symbolic registers */
26 regmask_t free_mask
[MONO_NUM_REGBANKS
];
28 /* symbolic -> hard register assignment */
30 * If the register is spilled, then this contains -spill - 1, where 'spill'
31 * is the index of the spill variable.
35 /* hard -> symbolic */
36 int isymbolic
[MONO_MAX_IREGS
];
37 int fsymbolic
[MONO_MAX_FREGS
];
38 #ifdef MONO_ARCH_NEED_SIMD_BANK
39 int xsymbolic
[MONO_MAX_XREGS
];
41 /* Points to the arrays above */
42 int *symbolic
[MONO_NUM_REGBANKS
];
47 MonoRegState
* mono_regstate_new (void) MONO_INTERNAL
;
49 void mono_regstate_free (MonoRegState
*rs
) MONO_INTERNAL
;