Merged with tip.
[cacao.git] / src / vm / global.h
index aa4d400ea9ae512fac1d78066a9cc2b66f9d83d1..2a09e47c1fdafb958d9fedf361c010c83051c87d 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "config.h"
 
+#include <stdbool.h>
 #include <stdint.h>
 
 #include "vm/types.h"
@@ -39,11 +40,6 @@ 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 */
@@ -211,6 +207,10 @@ typedef struct java_objectarray_t java_objectarray_t;
 #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 **************************************/
@@ -239,6 +239,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
 };