src/share/vm/opto/parse1.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/opto/parse1.cpp

src/share/vm/opto/parse1.cpp

Print this page
rev 5645 : 8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Summary: type methods shouldn't always operate on speculative part
Reviewed-by:

*** 1647,1657 **** // Phis of pointers cannot lose the basic pointer type. debug_only(const Type* bt1 = phi->bottom_type()); 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"); record_for_igvn(phi); } } } // End of for all values to be merged --- 1647,1657 ---- // Phis of pointers cannot lose the basic pointer type. debug_only(const Type* bt1 = phi->bottom_type()); 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, true), "must be consistent with type-flow"); record_for_igvn(phi); } } } // End of for all values to be merged
*** 2020,2030 **** const TypeInstPtr *tp = value->bottom_type()->isa_instptr(); if (tp && tp->klass()->is_loaded() && !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(); value = _gvn.transform(new (C) CheckCastPPNode(0,value,tr)); } } phi->add_req(value); } --- 2020,2030 ---- const TypeInstPtr *tp = value->bottom_type()->isa_instptr(); if (tp && tp->klass()->is_loaded() && !tp->klass()->is_interface()) { // sharpen the type eagerly; this eases certain assert checking if (tp->higher_equal(TypeInstPtr::NOTNULL)) ! tr = tr->join(TypeInstPtr::NOTNULL, true)->is_instptr(); value = _gvn.transform(new (C) CheckCastPPNode(0,value,tr)); } } phi->add_req(value); }
src/share/vm/opto/parse1.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File