[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
This commit is contained in:
parent
71c9404e8b
commit
99444711eb
8 changed files with 122 additions and 31 deletions
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue