/* Define printf formats which change size between 32- and 64-bit. */
#if SIZEOF_VOID_P == 8
+# define PRINTF_FORMAT_INTPTR_T "0x%016lx"
# define PRINTF_FORMAT_INT64_T "%ld"
#else
+# define PRINTF_FORMAT_INTPTR_T "0x%08lx"
# define PRINTF_FORMAT_INT64_T "%lld"
#endif
#define STR(a) #a
+/* There are multiple definitions of MIN out there, but we cannot be sure. */
+
+#ifndef MIN
+# define MIN(a,b) (((a) < (b)) ? (a) : (b))
+#endif
+
+#ifndef MAX
+# define MAX(a,b) (((a) > (b)) ? (a) : (b))
+#endif
+
/* forward typedefs ***********************************************************/
*******************************************************************************/
-#if defined(ENABLE_HANDLES)
-typedef struct java_handle_t {
- java_object_t *heap_object;
-} java_handle_t;
-
-typedef struct java_handle_array_t { java_array_t *heap_object; } java_handle_array_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_array_t java_handle_array_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 ***********************************/