6820510: assertion failure with unloaded class in subnode.cpp
authornever
Tue Mar 24 15:09:52 2009 -0700 (11 months ago)
changeset 66890a66aa50514
parent 66778af5ae8e731
child 670c7bbabdcadfb
child 671d0994e5bebce
6820510: assertion failure with unloaded class in subnode.cpp
Reviewed-by: kvn
src/share/vm/opto/subnode.cpp
--- a/src/share/vm/opto/subnode.cpp Tue Mar 24 12:19:47 2009 -0700
+++ b/src/share/vm/opto/subnode.cpp Tue Mar 24 15:09:52 2009 -0700
@@ -639,8 +639,8 @@ const Type *CmpPNode::sub( const Type *t
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