aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/gcj/javaprims.h1
-rw-r--r--libjava/interpret.cc6
3 files changed, 10 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index c3ceb5c..2e33fe9 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2003-10-14 Paolo Bonzini <bonzini@gnu.org>
+
+ * interpret.cc (_Jv_InterpMethod::run): Don't
+ use libffi types, they were meant to be internal.
+ * gcj/javaprims.h (_Jv_ulong): New typedef.
+
2003-10-13 Tom Tromey <tromey@redhat.com>
* java/lang/natClassLoader.cc (_Jv_InitNewClassFields): Removed.
diff --git a/libjava/gcj/javaprims.h b/libjava/gcj/javaprims.h
index b88b3fe..4420f64 100644
--- a/libjava/gcj/javaprims.h
+++ b/libjava/gcj/javaprims.h
@@ -496,6 +496,7 @@ extern "C" void _Jv_RegisterClassHookDefault (jclass);
typedef unsigned short _Jv_ushort __attribute__((__mode__(__HI__)));
typedef unsigned int _Jv_uint __attribute__((__mode__(__SI__)));
+typedef unsigned int _Jv_ulong __attribute__((__mode__(__DI__)));
struct _Jv_Utf8Const
{
diff --git a/libjava/interpret.cc b/libjava/interpret.cc
index 43d6279..5fd2c2b 100644
--- a/libjava/interpret.cc
+++ b/libjava/interpret.cc
@@ -1898,7 +1898,7 @@ _Jv_InterpMethod::run (void *retp, ffi_raw *args)
insn_iushr:
{
jint shift = (POPI() & 0x1f);
- UINT32 value = (UINT32) POPI();
+ _Jv_uint value = (_Jv_uint) POPI();
PUSHI ((jint) (value >> shift));
}
NEXT_INSN;
@@ -1906,8 +1906,8 @@ _Jv_InterpMethod::run (void *retp, ffi_raw *args)
insn_lushr:
{
jint shift = (POPI() & 0x3f);
- UINT64 value = (UINT64) POPL();
- PUSHL ((value >> shift));
+ _Jv_ulong value = (_Jv_ulong) POPL();
+ PUSHL ((jlong) (value >> shift));
}
NEXT_INSN;