diff -r f040cf9fc9c0 -r 752ba2e5f6d0 src/share/vm/opto/parse1.cpp --- a/src/share/vm/opto/parse1.cpp Wed Feb 19 20:12:43 2014 -0800 +++ b/src/share/vm/opto/parse1.cpp Tue Feb 25 15:11:18 2014 -0800 @@ -1656,7 +1656,7 @@ assert(bt1 != Type::BOTTOM, "should not be building conflict phis"); map()->set_req(j, _gvn.transform_no_reclaim(phi)); debug_only(const Type* bt2 = phi->bottom_type()); - assert(bt2->higher_equal(bt1), "must be consistent with type-flow"); + assert(bt2->higher_equal_speculative(bt1), "must be consistent with type-flow"); record_for_igvn(phi); } } @@ -2029,7 +2029,7 @@ !tp->klass()->is_interface()) { // sharpen the type eagerly; this eases certain assert checking if (tp->higher_equal(TypeInstPtr::NOTNULL)) - tr = tr->join(TypeInstPtr::NOTNULL)->is_instptr(); + tr = tr->join_speculative(TypeInstPtr::NOTNULL)->is_instptr(); value = _gvn.transform(new (C) CheckCastPPNode(0,value,tr)); } }