Philipp Tomsich
Edwin Steiner
- $Id: global.h 1297 2004-07-10 17:04:43Z stefan $
+ $Id: global.h 1377 2004-08-01 22:01:00Z stefan $
*/
#if defined(USE_THREADS) && defined(NATIVE_THREADS)
#include <pthread.h>
+#include <semaphore.h>
#endif
#define STATISTICS /* if enabled collects program statistics */
* 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
#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 */
struct java_objectheader { /* header for all objects */
vftbl_t *vftbl; /* pointer to virtual function table */
#if defined(USE_THREADS) && defined(NATIVE_THREADS)
- long monitorBits;
+ void *monitorPtr;
#endif
};
/* 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 */