/* src/vm/jit/reg.h - register allocator header
- Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
- C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
- E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
- J. Wenninger, Institut f. Computersprachen - TU Wien
+ Copyright (C) 1996-2005, 2006, 2007, 2008
+ CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
This file is part of CACAO.
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Contact: cacao@cacaojvm.org
-
- Authors: Christian Thalinger
-
- Changes: Christian Ullrich
- Edwin Steiner
-
- $Id: reg.h 5708 2006-10-06 22:37:13Z edwin $
-
*/
#include "arch.h"
-#include "vm/jit/jit.h"
-#include "vm/jit/verify/typeinfo.h"
+#include "vm/jit/jit.hpp"
+#include "vm/jit/verify/typeinfo.hpp"
/************************* pseudo variable structure **************************/
float f;
double d;
basicblock *retaddr;
+ s4 ii[2];
} vv;
#if defined(ENABLE_VERIFIER)
- typeinfo typeinfo; /* type info for reference types */
+ typeinfo_t typeinfo; /* type info for reference types */
#endif
};
int intreg_ret; /* register to return integer values */
int fltreg_ret; /* register for return float values */
- int *argintregs; /* argument integer registers */
int *tmpintregs; /* scratch integer registers */
int *savintregs; /* saved integer registers */
- int *argfltregs; /* argument float registers */
int *tmpfltregs; /* scratch float registers */
int *savfltregs; /* saved float registers */
int *freeargintregs; /* free argument integer registers */
int freeargadrtop; /* free argument address register count */
#endif
-#if defined(HAS_4BYTE_STACKSLOT)
- int *freemem_2;
- int freememtop_2;
-#endif
int *freemem; /* free scratch memory */
int freememtop; /* free memory count */
/* function prototypes ********************************************************/
+#ifdef __cplusplus
+extern "C" {
+#endif
+
void reg_setup(jitdata *jd);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _REG_H */