aboutsummaryrefslogtreecommitdiff
path: root/libjava/include
diff options
context:
space:
mode:
authorTom Tromey <tromey@gcc.gnu.org>2000-03-26 20:33:04 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-03-26 20:33:04 +0000
commit99444711eb29bad45ee68377af044e4a4568a217 (patch)
tree316c5bb1d7d3464e8a5a904b6040f521f3b9a97f /libjava/include
parent71c9404e8b052c072f44a55e1c85014a031d7611 (diff)
downloadgcc-99444711eb29bad45ee68377af044e4a4568a217.zip
gcc-99444711eb29bad45ee68377af044e4a4568a217.tar.gz
gcc-99444711eb29bad45ee68377af044e4a4568a217.tar.bz2
[multiple changes]
2000-03-26 Tom Tromey <tromey@cygnus.com> * java/lang/mprec.h: Use SIZEOF_VOID_P. * interpret.cc: Use SIZEOF_VOID_P. * include/java-cpool.h (_Jv_storeLong): Use SIZEOF_VOID_P. (_Jv_loadLong): Likewise. (_Jv_storeDouble): Likewise. * configure: Rebuilt. * configure.in: Check size of void*. * resolve.cc (ncode): Use FFI_PREP_RAW_CLOSURE and FFI_RAW_SIZE. 2000-03-26 Hans Boehm <boehm@acm.org> * include/java-cpool.h (_Jv_storeLong, _Jv_loadLong, _Jv_storeDouble, _Jv_loadDouble): Define differently on 64 bit machine. * java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN or __IEEE_LITTLE_ENDIAN appropriately on IA64. * java/lang/mprec.h: Don't define Pack_32 on 64 bit machine. * javaprims.h (_Jv_word): Added `l' and `d' entries in 64 bit case. * resolve.cc (FFI_PREP_RAW_CLOSURE): New define. (FFI_RAW_SIZE): Likewise. (_Jv_InterpMethod::ncode): Use them. * interpret.cc (PUSHL, PUSHD, POPL, POPD, LOADL, LOADD, STOREL, STORED): Define differently on a 64 bit machine. (continue1): Use ffi_java_raw_call when appropriate. From-SVN: r32754
Diffstat (limited to 'libjava/include')
-rw-r--r--libjava/include/default-signal.h4
-rw-r--r--libjava/include/java-cpool.h18
2 files changed, 19 insertions, 3 deletions
diff --git a/libjava/include/default-signal.h b/libjava/include/default-signal.h
index 56d1cc2..0fb3d7d 100644
--- a/libjava/include/default-signal.h
+++ b/libjava/include/default-signal.h
@@ -13,8 +13,8 @@ details. */
#ifdef SJLJ_EXCEPTIONS
-#define HANDLE_SEGV
-#define HANDLE_FPE
+#define HANDLE_SEGV 1
+#define HANDLE_FPE 1
#include <signal.h>
diff --git a/libjava/include/java-cpool.h b/libjava/include/java-cpool.h
index 602de28..c636e4c 100644
--- a/libjava/include/java-cpool.h
+++ b/libjava/include/java-cpool.h
@@ -1,6 +1,6 @@
// java-cpool.h - Constant pool parsing header. -*- c++ -*-
-/* Copyright (C) 1999 Free Software Foundation
+/* Copyright (C) 1999, 2000 Free Software Foundation
This file is part of libgcj.
@@ -80,37 +80,53 @@ _Jv_loadInt (_Jv_word *data)
extern inline void
_Jv_storeLong (_Jv_word *data, jlong l)
{
+#if SIZEOF_VOID_P == 8
+ data[0].l = l;
+#else
_Jv_word2 tmp;
tmp.l = l;
data[0].ia[0] = tmp.ia[0];
data[1].ia[0] = tmp.ia[1];
+#endif
}
extern inline jlong
_Jv_loadLong (_Jv_word *data)
{
+#if SIZEOF_VOID_P == 8
+ return data -> l;
+#else
_Jv_word2 tmp;
tmp.ia[0] = data[0].ia[0];
tmp.ia[1] = data[1].ia[0];
return tmp.l;
+#endif
}
extern inline void
_Jv_storeDouble (_Jv_word *data, jdouble d)
{
+#if SIZEOF_VOID_P == 8
+ data[0].d = d;
+#else
_Jv_word2 tmp;
tmp.d = d;
data[0].ia[0] = tmp.ia[0];
data[1].ia[0] = tmp.ia[1];
+#endif
}
extern inline jdouble
_Jv_loadDouble (_Jv_word *data)
{
+#if SIZEOF_VOID_P == 8
+ return data -> d;
+#else
_Jv_word2 tmp;
tmp.ia[0] = data[0].ia[0];
tmp.ia[1] = data[1].ia[0];
return tmp.d;
+#endif
}