projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[runtime] Ignore ResetAbort when the current appdomain is unloading
[mono.git]
/
mono
/
mini
/
regalloc.h
diff --git
a/mono/mini/regalloc.h
b/mono/mini/regalloc.h
index 566e0cc4b270b8975dc26b30e4ced58a16ef1546..c0aa5fdf64a8a37f27bbaced10183f224d0d42ed 100644
(file)
--- a/
mono/mini/regalloc.h
+++ b/
mono/mini/regalloc.h
@@
-1,17
+1,24
@@
+/**
+ * \file
+ */
typedef size_t regmask_t;
enum {
MONO_REG_INT,
MONO_REG_DOUBLE,
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
MONO_REG_SIMD
};
#ifdef MONO_ARCH_NEED_SIMD_BANK
-#define MONO_NUM_REGBANKS
3
+#define MONO_NUM_REGBANKS
5
#else
#else
-#define MONO_NUM_REGBANKS
2
+#define MONO_NUM_REGBANKS
4
#endif
typedef struct {
#endif
typedef struct {
@@
-26,7
+33,7
@@
typedef struct {
* If the register is spilled, then this contains -spill - 1, where 'spill'
* is the index of the spill variable.
*/
* If the register is spilled, then this contains -spill - 1, where 'spill'
* is the index of the spill variable.
*/
- gint
16
*vassign;
+ gint
32
*vassign;
/* hard -> symbolic */
int isymbolic [MONO_MAX_IREGS];
/* hard -> symbolic */
int isymbolic [MONO_MAX_IREGS];
@@
-40,6
+47,6
@@
typedef struct {
int vassign_size;
} MonoRegState;
int vassign_size;
} MonoRegState;
-MonoRegState* mono_regstate_new (void)
MONO_INTERNAL
;
+MonoRegState* mono_regstate_new (void);
-void mono_regstate_free (MonoRegState *rs)
MONO_INTERNAL
;
+void mono_regstate_free (MonoRegState *rs);