6820510: assertion failure with unloaded class in subnode.cpp
authornever
Tue, 24 Mar 2009 15:09:52 -0700
changeset 2335 e1965d139bb7
parent 2334 742b05aeec42
child 2337 7e04ae315178
child 2338 a8660a1b709b
6820510: assertion failure with unloaded class in subnode.cpp Reviewed-by: kvn
hotspot/src/share/vm/opto/subnode.cpp
--- a/hotspot/src/share/vm/opto/subnode.cpp	Tue Mar 24 12:19:47 2009 -0700
+++ b/hotspot/src/share/vm/opto/subnode.cpp	Tue Mar 24 15:09:52 2009 -0700
@@ -639,8 +639,8 @@
     int kps = (p0->isa_klassptr()?1:0) + (p1->isa_klassptr()?1:0);
     if (klass0 && klass1 &&
         kps != 1 &&             // both or neither are klass pointers
-        !klass0->is_interface() && // do not trust interfaces
-        !klass1->is_interface()) {
+        klass0->is_loaded() && !klass0->is_interface() && // do not trust interfaces
+        klass1->is_loaded() && !klass1->is_interface()) {
       bool unrelated_classes = false;
       // See if neither subclasses the other, or if the class on top
       // is precise.  In either of these cases, the compare is known