--- a/hotspot/src/share/vm/opto/cfgnode.cpp Mon Apr 05 10:17:15 2010 -0700
+++ b/hotspot/src/share/vm/opto/cfgnode.cpp Wed May 19 10:22:39 2010 -0700
@@ -956,6 +956,7 @@
}
if( jtkp && ttkp ) {
if( jtkp->is_loaded() && jtkp->klass()->is_interface() &&
+ !jtkp->klass_is_exact() && // Keep exact interface klass (6894807)
ttkp->is_loaded() && !ttkp->klass()->is_interface() ) {
assert(ft == ttkp->cast_to_ptr_type(jtkp->ptr()) ||
ft->isa_narrowoop() && ft->make_ptr() == ttkp->cast_to_ptr_type(jtkp->ptr()), "");