New compilation engine for Mono
[mono.git] / mono / mini / regset.h
1 /*
2  * Author:
3  *   Dietmar Maurer (dietmar@ximian.com)
4  *
5  * (C) 2001 Ximian, Inc.
6  */
7
8 #ifndef _MONO_JIT_REGSET_H_
9 #define _MONO_JIT_REGSET_H_
10
11 #include <glib.h>
12
13 typedef struct {
14         int max_regs;
15         guint32 free_mask;
16         guint32 used_mask;
17         guint32 reserved_mask;
18 } MonoRegSet;
19
20 MonoRegSet *
21 mono_regset_new         (int max_regs);
22
23 void
24 mono_regset_free        (MonoRegSet *rs);
25
26 int
27 mono_regset_alloc_reg   (MonoRegSet *rs, int regnum, guint32 exclude_mask);
28
29 void
30 mono_regset_free_reg    (MonoRegSet *rs, int regnum);
31
32 void
33 mono_regset_reserve_reg (MonoRegSet *rs, int regnum);
34
35 gboolean
36 mono_regset_reg_used    (MonoRegSet *rs, int regnum);
37
38 #endif