hotspot/src/share/vm/opto/subnode.cpp
changeset 2335 e1965d139bb7
parent 1432 44f076e3d2a4
child 2870 52b70541d4d3
--- 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