aboutsummaryrefslogtreecommitdiff
path: root/libjava/include
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>2000-04-20 22:24:33 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-04-20 22:24:33 +0000
commit18fcc4961b6dc27d676b02c1147feaf852d88dca (patch)
treebf01d84615ecaa704bfb1be6fcee5c450d365a49 /libjava/include
parentdea4b2db61b4c3da88ca546997d1dff589c2ac5e (diff)
downloadgcc-18fcc4961b6dc27d676b02c1147feaf852d88dca.zip
gcc-18fcc4961b6dc27d676b02c1147feaf852d88dca.tar.gz
gcc-18fcc4961b6dc27d676b02c1147feaf852d88dca.tar.bz2
re GNATS libgcj/212 (build is broken on Linux/Alpha)
Fix for PR libgcj/212: * gcj/javaprims.h (_Jv_word, _Jv_word2): Removed definitions. * include/jvm.h (_Jv_word, _Jv_word2): Define. * java/lang/Class.h (_Jv_word): Declare. From-SVN: r33292
Diffstat (limited to 'libjava/include')
-rw-r--r--libjava/include/jvm.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h
index 625a11e..c9cae93 100644
--- a/libjava/include/jvm.h
+++ b/libjava/include/jvm.h
@@ -31,6 +31,35 @@ struct _Jv_VTable
void *method[1];
};
+union _Jv_word
+{
+ jobject o;
+ jint i; // Also stores smaller integral types.
+ jfloat f;
+ jint ia[1]; // Half of _Jv_word2.
+ void* p;
+
+#if SIZEOF_VOID_P == 8
+ // We can safely put a long or a double in here without increasing
+ // the size of _Jv_Word; we take advantage of this in the interpreter.
+ jlong l;
+ jdouble d;
+#endif
+
+ jclass clazz;
+ jstring string;
+ struct _Jv_Field *field;
+ struct _Jv_Utf8Const *utf8;
+ struct _Jv_ResolvedMethod *rmethod;
+};
+
+union _Jv_word2
+{
+ jint ia[2];
+ jlong l;
+ jdouble d;
+};
+
/* Extract a character from a Java-style Utf8 string.
* PTR points to the current character.
* LIMIT points to the end of the Utf8 string.