* src/vm/jit/codegen-common.h (codegen_start_native_call): Changed signature.
[cacao.git] / src / vm / global.h
index e462ba259cbec8f0044182857ced2c4b09fdd768..24cd4fb9595fb8ddd32627238570105c5616ee72 100644 (file)
@@ -22,8 +22,6 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   $Id: global.h 8318 2007-08-16 10:05:34Z michi $
-
 */
 
 
@@ -177,14 +175,16 @@ typedef struct java_objectarray_t java_objectarray_t;
 
 #define ACC_CLASS_REFLECT_MASK      0x0000ffff/* flags reported by reflection */
 
-#define ACC_CLASS_PRIMITIVE         0x00010000/* class is a primitive class   */
+#define ACC_CLASS_PRIMITIVE         0x00010000
+#define ACC_CLASS_MEMBER            0x00020000
+#define ACC_CLASS_ANONYMOUS         0x00040000
 
-#define ACC_CLASS_HAS_POINTERS      0x00020000/* instance contains pointers   */
+#define ACC_CLASS_HAS_POINTERS      0x00080000/* instance contains pointers   */
 
-#define ACC_CLASS_REFERENCE_MASK    0x001c0000
-#define ACC_CLASS_REFERENCE_SOFT    0x00040000
-#define ACC_CLASS_REFERENCE_WEAK    0x00080000
-#define ACC_CLASS_REFERENCE_PHANTOM 0x00100000
+#define ACC_CLASS_REFERENCE_MASK    0x00700000
+#define ACC_CLASS_REFERENCE_SOFT    0x00100000
+#define ACC_CLASS_REFERENCE_WEAK    0x00200000
+#define ACC_CLASS_REFERENCE_PHANTOM 0x00400000
 
 
 /* special flags used in methodinfo *******************************************/
@@ -205,7 +205,13 @@ typedef struct java_objectarray_t java_objectarray_t;
 
 *******************************************************************************/
 
-#define HDRFLAG_FLC 0x01
+#define HDRFLAG_FLC           0x01
+#define HDRFLAG_MARK1         0x02
+#define HDRFLAG_MARK2         0x04
+#define HDRFLAG_UNCOLLECTABLE 0x08
+#define HDRFLAG_HASH_TAKEN    0x10
+#define HDRFLAG_HASH_ATTACHED 0x20
+#define HDRFLAG_REFERENCING   0x40
 
 struct java_object_t {                 /* header for all objects              */
        struct _vftbl            *vftbl;   /* pointer to virtual function table   */
@@ -293,15 +299,20 @@ struct java_objectarray_t {
 
 *******************************************************************************/
 
-#if 0
+#if defined(ENABLE_HANDLES)
 typedef struct java_handle_t {
        java_object_t *heap_object;
 } java_handle_t;
-#elseif 0
-typedef union {
-       java_object_t    object;
-       java_array_t     array;
-} java_handle_t;
+
+typedef struct java_handle_objectarray_t  { java_objectarray_t  *heap_object; } java_handle_objectarray_t;
+typedef struct java_handle_booleanarray_t { java_booleanarray_t *heap_object; } java_handle_booleanarray_t;
+typedef struct java_handle_bytearray_t    { java_bytearray_t    *heap_object; } java_handle_bytearray_t;
+typedef struct java_handle_chararray_t    { java_chararray_t    *heap_object; } java_handle_chararray_t;
+typedef struct java_handle_shortarray_t   { java_shortarray_t   *heap_object; } java_handle_shortarray_t;
+typedef struct java_handle_intarray_t     { java_intarray_t     *heap_object; } java_handle_intarray_t;
+typedef struct java_handle_longarray_t    { java_longarray_t    *heap_object; } java_handle_longarray_t;
+typedef struct java_handle_floatarray_t   { java_floatarray_t   *heap_object; } java_handle_floatarray_t;
+typedef struct java_handle_doublearray_t  { java_doublearray_t  *heap_object; } java_handle_doublearray_t;
 #else
 typedef java_object_t       java_handle_t;
 typedef java_objectarray_t  java_handle_objectarray_t;