Philipp Tomsich
Edwin Steiner
- $Id: global.h 1296 2004-07-10 17:02:15Z stefan $
+ $Id: global.h 1415 2004-10-11 20:12:08Z jowenn $
*/
* categories for stack manipulations (POP,POP2,SWAP,DUP,DUP2,DUP_X1,
* DUP2_X1,DUP_X2,DUP2_X2).
*/
-/* #define TYPECHECK_STACK_COMPCAT */
+#define TYPECHECK_STACK_COMPCAT
/*
* Macros for configuration of the typechecking code
* TYPECHECK_VERBOSE activates all debug messages
*/
#ifdef CACAO_TYPECHECK
-/*#define TYPECHECK_STATISTICS*/
-/*#define TYPEINFO_DEBUG*/
-/*#define TYPECHECK_DEBUG*/
-/*#define TYPEINFO_DEBUG_TEST*/
-/*#define TYPECHECK_VERBOSE*/
-/*#define TYPECHECK_VERBOSE_IMPORTANT*/
+/*#define TYPECHECK_STATISTICS
+#define TYPEINFO_DEBUG
+#define TYPECHECK_DEBUG
+#define TYPEINFO_DEBUG_TEST
+#define TYPECHECK_VERBOSE
+#define TYPECHECK_VERBOSE_IMPORTANT*/
#if defined(TYPECHECK_VERBOSE) || defined(TYPECHECK_VERBOSE_IMPORTANT)
#define TYPECHECK_VERBOSE_OPT
#endif
#define true 1
#define false 0
+typedef void (*functionptr) (); /* generic function pointer */
+
/* immediate data union */
#define PRIMITIVETYPE_BOOLEAN 7
#define PRIMITIVETYPE_VOID 8
-typedef void (*functionptr) (); /* generic function pointer */
-
#define MAX_ALIGN 8 /* most generic alignment for JavaVM values */
/* methodinfo *****************************************************************/
struct methodinfo { /* method structure */
+ java_objectheader header; /* we need this in jit's monitorenter */
s4 flags; /* ACC flags */
utf *name; /* name of method */
utf *descriptor; /* JavaVM descriptor string of method */
struct registerdata *registerdata; /* struct with all regalloc stuff */
+ struct codegendata *codegendata;/* struct with codegen stuff */
+
u1 *stubroutine; /* stub for compiling or calling natives */
s4 mcodelength; /* legth of generated machine code */
u1 *mcode; /* pointer to machine code */