aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog2
-rw-r--r--libjava/verify.cc10
2 files changed, 7 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index df1c794..be17304 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,7 @@
2002-11-25 Tom Tromey <tromey@redhat.com>
+ * verify.cc (type::compatible): Backed out broken change.
+
* verify.cc (type::compatible): Check initialization status
first.
* interpret.cc (run) [insn_invokespecial, invokespecial_resolved]:
diff --git a/libjava/verify.cc b/libjava/verify.cc
index 5917ce09..001543f 100644
--- a/libjava/verify.cc
+++ b/libjava/verify.cc
@@ -458,11 +458,6 @@ private:
if (key < reference_type || k.key < reference_type)
return key == k.key;
- // An initialized type and an uninitialized type are not
- // compatible.
- if (isinitialized () != k.isinitialized ())
- return false;
-
// The `null' type is convertible to any reference type.
if (key == null_type || k.key == null_type)
return true;
@@ -473,6 +468,11 @@ private:
&& data.klass == &java::lang::Object::class$)
return true;
+ // An initialized type and an uninitialized type are not
+ // compatible.
+ if (isinitialized () != k.isinitialized ())
+ return false;
+
// Two uninitialized objects are compatible if either:
// * The PCs are identical, or
// * One PC is UNINIT.