hotspot/src/share/vm/opto/parse2.cpp
changeset 13204 589e566a5ca8
parent 12945 e63d6176cbd1
child 13728 882756847a04
--- a/hotspot/src/share/vm/opto/parse2.cpp	Mon Jul 02 09:58:06 2012 +0200
+++ b/hotspot/src/share/vm/opto/parse2.cpp	Mon Jul 02 12:59:43 2012 -0700
@@ -1278,9 +1278,9 @@
        // or the narrowOop equivalent.
        const Type* obj_type = _gvn.type(obj);
        const TypeOopPtr* tboth = obj_type->join(con_type)->isa_oopptr();
-       if (tboth != NULL && tboth != obj_type && tboth->higher_equal(obj_type)) {
+       if (tboth != NULL && tboth->klass_is_exact() && tboth != obj_type &&
+           tboth->higher_equal(obj_type)) {
           // obj has to be of the exact type Foo if the CmpP succeeds.
-          assert(tboth->klass_is_exact(), "klass should be exact");
           int obj_in_map = map()->find_edge(obj);
           JVMState* jvms = this->jvms();
           if (obj_in_map >= 0 &&