* src/vm/jit/asmpart.h (vm/linker.h): Removed.
[cacao.git] / src / vm / global.h
index c0fe462a21d6ecd52c6f96c0b7ec65e1d86e1ded..a9ec8c8f9735521260e13f68e49252f7054c9f8c 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "config.h"
 
+#include <stdbool.h>
 #include <stdint.h>
 
 #include "vm/types.h"
 
 /* additional data types ******************************************************/
 
-typedef void *voidptr;                  /* generic pointer                    */
 typedef void (*functionptr) (void);     /* generic function pointer           */
 typedef u1* methodptr;
 
-typedef unsigned int bool;              /* boolean data type                  */
-
-#define true         1
-#define false        0
-
 #if defined(ENABLE_SSA)
 /* immediate to get an addidional target Local Var Index */
 /* for IINC in Combination with SSA */
@@ -210,6 +205,11 @@ typedef struct java_objectarray_t java_objectarray_t;
 #define ACC_METHOD_BUILTIN     0x00010000     /* use for descriptor parsing   */
 #define ACC_METHOD_IMPLEMENTED 0x00020000     /* there is an implementation   */
 #define ACC_METHOD_MONOMORPHIC 0x00040000     /* currently monomorphic method */
+#define ACC_METHOD_EA          0x00080000     /* method being escape analyzed */
+#define ACC_METHOD_MONOMORPHY_USED \
+                               0x00100000
+#define ACC_METHOD_PARENT_MONOMORPHY_USED \
+                               0x00200000
 
 
 /* data structures of the runtime system **************************************/
@@ -238,6 +238,11 @@ struct java_object_t {                 /* header for all objects              */
 #if defined(ENABLE_GC_CACAO)
        uintptr_t      hdrflags;           /* word containing the GC bits         */
 #endif
+#if defined(ENABLE_ESCAPE_CHECK)
+       void *method;
+       void *thread;
+       uintptr_t escape;
+#endif
 };