src/share/vm/opto/parse2.cpp

changeset 3909
70862d781d01
parent 3834
8f6ce6f1049b
child 4037
da91efe96a93
     1.1 --- a/src/share/vm/opto/parse2.cpp	Mon Jul 02 09:58:06 2012 +0200
     1.2 +++ b/src/share/vm/opto/parse2.cpp	Mon Jul 02 12:59:43 2012 -0700
     1.3 @@ -1278,9 +1278,9 @@
     1.4         // or the narrowOop equivalent.
     1.5         const Type* obj_type = _gvn.type(obj);
     1.6         const TypeOopPtr* tboth = obj_type->join(con_type)->isa_oopptr();
     1.7 -       if (tboth != NULL && tboth != obj_type && tboth->higher_equal(obj_type)) {
     1.8 +       if (tboth != NULL && tboth->klass_is_exact() && tboth != obj_type &&
     1.9 +           tboth->higher_equal(obj_type)) {
    1.10            // obj has to be of the exact type Foo if the CmpP succeeds.
    1.11 -          assert(tboth->klass_is_exact(), "klass should be exact");
    1.12            int obj_in_map = map()->find_edge(obj);
    1.13            JVMState* jvms = this->jvms();
    1.14            if (obj_in_map >= 0 &&

mercurial