diff options
author | Tom Tromey <tromey@gcc.gnu.org> | 2000-03-26 20:33:04 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2000-03-26 20:33:04 +0000 |
commit | 99444711eb29bad45ee68377af044e4a4568a217 (patch) | |
tree | 316c5bb1d7d3464e8a5a904b6040f521f3b9a97f /libjava/resolve.cc | |
parent | 71c9404e8b052c072f44a55e1c85014a031d7611 (diff) | |
download | gcc-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/resolve.cc')
-rw-r--r-- | libjava/resolve.cc | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/libjava/resolve.cc b/libjava/resolve.cc index c0f51c9..ab1fafb 100644 --- a/libjava/resolve.cc +++ b/libjava/resolve.cc @@ -1045,6 +1045,13 @@ init_cif (_Jv_Utf8Const* signature, return item_count; } +#if FFI_NATIVE_RAW_API +# define FFI_PREP_RAW_CLOSURE ffi_prep_raw_closure +# define FFI_RAW_SIZE ffi_raw_size +#else +# define FFI_PREP_RAW_CLOSURE ffi_prep_java_raw_closure +# define FFI_RAW_SIZE ffi_java_raw_size +#endif /* we put this one here, and not in interpret.cc because it * calls the utility routines count_arguments @@ -1083,7 +1090,7 @@ _Jv_InterpMethod::ncode () ffi_closure_fun fun; - args_raw_size = ffi_raw_size (&closure->cif); + args_raw_size = FFI_RAW_SIZE (&closure->cif); JvAssert ((self->accflags & Modifier::NATIVE) == 0); @@ -1099,10 +1106,10 @@ _Jv_InterpMethod::ncode () fun = (ffi_closure_fun)&_Jv_InterpMethod::run_normal; } - ffi_prep_raw_closure (&closure->closure, - &closure->cif, - fun, - (void*) this); + FFI_PREP_RAW_CLOSURE (&closure->closure, + &closure->cif, + fun, + (void*)this); self->ncode = (void*)closure; return self->ncode; @@ -1134,7 +1141,7 @@ _Jv_JNIMethod::ncode () ffi_closure_fun fun; - args_raw_size = ffi_raw_size (&closure->cif); + args_raw_size = FFI_RAW_SIZE (&closure->cif); // Initialize the argument types and CIF that represent the actual // underlying JNI function. @@ -1161,7 +1168,7 @@ _Jv_JNIMethod::ncode () // interpreted code use JNI. fun = (ffi_closure_fun) &_Jv_JNIMethod::call; - ffi_prep_raw_closure (&closure->closure, + FFI_PREP_RAW_CLOSURE (&closure->closure, &closure->cif, fun, (void*) this); |