comparison src/share/vm/opto/cfgnode.cpp @ 1335:ae4032fb0a5b

6894807: No ClassCastException for HashAttributeSet constructors if run with -Xcomp Summary: Return interface klass type if it is exact. Reviewed-by: never
author kvn
date Thu, 21 Jan 2010 10:07:59 -0800
parents ce590301ae2a
children 1a1603f975b5
comparison
equal deleted inserted replaced
1334:b5d78a3b8843 1335:ae4032fb0a5b
954 jt = ft; 954 jt = ft;
955 } 955 }
956 } 956 }
957 if( jtkp && ttkp ) { 957 if( jtkp && ttkp ) {
958 if( jtkp->is_loaded() && jtkp->klass()->is_interface() && 958 if( jtkp->is_loaded() && jtkp->klass()->is_interface() &&
959 !jtkp->klass_is_exact() && // Keep exact interface klass (6894807)
959 ttkp->is_loaded() && !ttkp->klass()->is_interface() ) { 960 ttkp->is_loaded() && !ttkp->klass()->is_interface() ) {
960 assert(ft == ttkp->cast_to_ptr_type(jtkp->ptr()) || 961 assert(ft == ttkp->cast_to_ptr_type(jtkp->ptr()) ||
961 ft->isa_narrowoop() && ft->make_ptr() == ttkp->cast_to_ptr_type(jtkp->ptr()), ""); 962 ft->isa_narrowoop() && ft->make_ptr() == ttkp->cast_to_ptr_type(jtkp->ptr()), "");
962 jt = ft; 963 jt = ft;
963 } 964 }