diff options
author | Bryce McKinlay <bryce@gcc.gnu.org> | 2001-05-18 07:29:11 +0100 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2001-05-18 07:29:11 +0100 |
commit | ca1906ff9add634551e681cdd94259401542e814 (patch) | |
tree | 0ced9189dbcd2b7509625083e75951dca7a938c4 /libjava/java | |
parent | 6fd72f814a8d33fdf72485f2fefcb793ce4e60c5 (diff) | |
download | gcc-ca1906ff9add634551e681cdd94259401542e814.zip gcc-ca1906ff9add634551e681cdd94259401542e814.tar.gz gcc-ca1906ff9add634551e681cdd94259401542e814.tar.bz2 |
[multiple changes]
2001-05-18 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* include/jvm.h: Move "#pragma GCC java_exceptions" to ...
* gcj/javaprims.h: ... here.
* gnu/gcj/io/shs.cc: Add "#pragma GCC java_exceptions".
2001-05-17 Martin Kahlert <martin.kahlert@infineon.com>
* java/lang/natClass.cc (_Jv_FindIIndex): Fix an off by one error
with length of ioffset table.
(_Jv_IsAssignableFrom): Likewise.
From-SVN: r42248
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/lang/natClass.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index d7c2a54..e88bd83 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -936,7 +936,7 @@ _Jv_IsAssignableFrom (jclass target, jclass source) if (__builtin_expect ((if_idt == NULL), false)) return false; // No class implementing TARGET has been loaded. jshort cl_iindex = cl_idt->cls.iindex; - if (cl_iindex <= if_idt->iface.ioffsets[0]) + if (cl_iindex < if_idt->iface.ioffsets[0]) { jshort offset = if_idt->iface.ioffsets[cl_iindex]; if (offset < cl_idt->cls.itable_length @@ -1181,8 +1181,7 @@ _Jv_GenerateITable (jclass klass, _Jv_ifaces *ifaces, jshort *itable_offsets) { jclass iface = ifaces->list[i]; itable_offsets[i] = itable_pos; - itable_pos = _Jv_AppendPartialITable (klass, iface, itable, - itable_pos); + itable_pos = _Jv_AppendPartialITable (klass, iface, itable, itable_pos); /* Create interface dispatch table for iface */ if (iface->idt == NULL) @@ -1325,7 +1324,7 @@ _Jv_FindIIndex (jclass *ifaces, jshort *offsets, jshort num) { if (j >= num) goto found; - if (i > ifaces[j]->idt->iface.ioffsets[0]) + if (i >= ifaces[j]->idt->iface.ioffsets[0]) continue; int ioffset = ifaces[j]->idt->iface.ioffsets[i]; /* We can potentially share this position with another class. */ |