aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2001-11-16 01:28:55 +0000
committerTom Tromey <tromey@gcc.gnu.org>2001-11-16 01:28:55 +0000
commitf50e7a2d92218d935970483c33c61c8566840f6b (patch)
tree5683ad24f4c9b70a7388119c6aee38df984c789a
parent9f1a9740d4be2ced310548d845ac1d5d9a5d1fa5 (diff)
downloadgcc-f50e7a2d92218d935970483c33c61c8566840f6b.zip
gcc-f50e7a2d92218d935970483c33c61c8566840f6b.tar.gz
gcc-f50e7a2d92218d935970483c33c61c8566840f6b.tar.bz2
verify.cc (type::compatible): Use _Jv_IsAssignableFrom.
* verify.cc (type::compatible): Use _Jv_IsAssignableFrom. (type::merge): Likewise. From-SVN: r47077
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/verify.cc8
2 files changed, 11 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index c62f850..d6c3dac 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2001-11-15 Tom Tromey <tromey@redhat.com>
+
+ * verify.cc (type::compatible): Use _Jv_IsAssignableFrom.
+ (type::merge): Likewise.
+
2001-11-14 Hans Boehm <Hans_Boehm@hp.com>
* java/lang/natString.cc: correct argument order for
diff --git a/libjava/verify.cc b/libjava/verify.cc
index 6deb80b..2691ed3 100644
--- a/libjava/verify.cc
+++ b/libjava/verify.cc
@@ -373,7 +373,9 @@ private:
// We must resolve both types and check assignability.
resolve ();
k.resolve ();
- return data.klass->isAssignableFrom (k.data.klass);
+ // Use _Jv_IsAssignableFrom to avoid premature class
+ // initialization.
+ return _Jv_IsAssignableFrom (data.klass, k.data.klass);
}
bool isvoid () const
@@ -537,7 +539,9 @@ private:
// This loop will end when we hit Object.
while (true)
{
- if (k->isAssignableFrom (oldk))
+ // Use _Jv_IsAssignableFrom to avoid premature
+ // class initialization.
+ if (_Jv_IsAssignableFrom (k, oldk))
break;
k = k->getSuperclass ();
changed = true;