aboutsummaryrefslogtreecommitdiff
path: root/libjava/include/javaprims.h
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/include/javaprims.h')
-rw-r--r--libjava/include/javaprims.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/libjava/include/javaprims.h b/libjava/include/javaprims.h
index 9d8c0a6..ef87519 100644
--- a/libjava/include/javaprims.h
+++ b/libjava/include/javaprims.h
@@ -261,6 +261,27 @@ extern "C" void _Jv_Free (void*);
typedef unsigned short _Jv_ushort __attribute__((__mode__(__HI__)));
typedef unsigned int _Jv_uint __attribute__((__mode__(__SI__)));
+typedef union {
+ jobject o;
+ jint i; // Also stores smaller integral types.
+ jfloat f;
+ jint ia[1]; // Half of _Jv_word2.
+ void* p;
+
+ // these are things we will store in the constant
+ jclass clazz;
+ jstring string;
+ struct _Jv_Field *field;
+ struct _Jv_Utf8Const *utf8;
+ struct _Jv_ResolvedMethod *rmethod;
+} _Jv_word;
+
+typedef union {
+ jint ia[2];
+ jlong l;
+ jdouble d;
+} _Jv_word2;
+
struct _Jv_Utf8Const
{
_Jv_ushort hash;