Fixes PR130 (os::scandir invocation).
[cacao.git] / src / vm / global.h
index a9ec8c8f9735521260e13f68e49252f7054c9f8c..33b7fb1e7ecd32cae73c00b1d1155bc902e12e16 100644 (file)
@@ -230,10 +230,12 @@ typedef struct java_objectarray_t java_objectarray_t;
 #define HDRFLAG_HASH_ATTACHED 0x20
 #define HDRFLAG_REFERENCING   0x40
 
+#include "threads/lockword.hpp"
+
 struct java_object_t {                 /* header for all objects              */
        struct _vftbl *vftbl;              /* pointer to virtual function table   */
 #if defined(ENABLE_THREADS)
-       uintptr_t      lockword;
+       Lockword       lockword;
 #endif
 #if defined(ENABLE_GC_CACAO)
        uintptr_t      hdrflags;           /* word containing the GC bits         */
@@ -321,32 +323,17 @@ struct java_objectarray_t {
 
 *******************************************************************************/
 
-#if defined(ENABLE_HANDLES)
-typedef struct java_handle_t {
-       java_object_t *heap_object;
-} 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;
-typedef java_booleanarray_t java_handle_booleanarray_t;
-typedef java_bytearray_t    java_handle_bytearray_t;
-typedef java_chararray_t    java_handle_chararray_t;
-typedef java_shortarray_t   java_handle_shortarray_t;
-typedef java_intarray_t     java_handle_intarray_t;
-typedef java_longarray_t    java_handle_longarray_t;
-typedef java_floatarray_t   java_handle_floatarray_t;
-typedef java_doublearray_t  java_handle_doublearray_t;
-#endif
+typedef java_handle_t       java_handle_array_t;
+typedef java_handle_array_t java_handle_objectarray_t;
+typedef java_handle_array_t java_handle_booleanarray_t;
+typedef java_handle_array_t java_handle_bytearray_t;
+typedef java_handle_array_t java_handle_chararray_t;
+typedef java_handle_array_t java_handle_shortarray_t;
+typedef java_handle_array_t java_handle_intarray_t;
+typedef java_handle_array_t java_handle_longarray_t;
+typedef java_handle_array_t java_handle_floatarray_t;
+typedef java_handle_array_t java_handle_doublearray_t;
 
 
 /* global constants related to the verifier ***********************************/