comparison src/share/vm/opto/parse1.cpp @ 17799:752ba2e5f6d0

Merge
author kvn
date Tue, 25 Feb 2014 15:11:18 -0800
parents a9becfeecd1b de95063c0e34
children 3edd4a71588b 4ca6dc0799b6 62c54fcc0a35
comparison
equal deleted inserted replaced
17798:f040cf9fc9c0 17799:752ba2e5f6d0
1654 // Phis of pointers cannot lose the basic pointer type. 1654 // Phis of pointers cannot lose the basic pointer type.
1655 debug_only(const Type* bt1 = phi->bottom_type()); 1655 debug_only(const Type* bt1 = phi->bottom_type());
1656 assert(bt1 != Type::BOTTOM, "should not be building conflict phis"); 1656 assert(bt1 != Type::BOTTOM, "should not be building conflict phis");
1657 map()->set_req(j, _gvn.transform_no_reclaim(phi)); 1657 map()->set_req(j, _gvn.transform_no_reclaim(phi));
1658 debug_only(const Type* bt2 = phi->bottom_type()); 1658 debug_only(const Type* bt2 = phi->bottom_type());
1659 assert(bt2->higher_equal(bt1), "must be consistent with type-flow"); 1659 assert(bt2->higher_equal_speculative(bt1), "must be consistent with type-flow");
1660 record_for_igvn(phi); 1660 record_for_igvn(phi);
1661 } 1661 }
1662 } 1662 }
1663 } // End of for all values to be merged 1663 } // End of for all values to be merged
1664 1664
2027 const TypeInstPtr *tp = value->bottom_type()->isa_instptr(); 2027 const TypeInstPtr *tp = value->bottom_type()->isa_instptr();
2028 if (tp && tp->klass()->is_loaded() && 2028 if (tp && tp->klass()->is_loaded() &&
2029 !tp->klass()->is_interface()) { 2029 !tp->klass()->is_interface()) {
2030 // sharpen the type eagerly; this eases certain assert checking 2030 // sharpen the type eagerly; this eases certain assert checking
2031 if (tp->higher_equal(TypeInstPtr::NOTNULL)) 2031 if (tp->higher_equal(TypeInstPtr::NOTNULL))
2032 tr = tr->join(TypeInstPtr::NOTNULL)->is_instptr(); 2032 tr = tr->join_speculative(TypeInstPtr::NOTNULL)->is_instptr();
2033 value = _gvn.transform(new (C) CheckCastPPNode(0,value,tr)); 2033 value = _gvn.transform(new (C) CheckCastPPNode(0,value,tr));
2034 } 2034 }
2035 } 2035 }
2036 phi->add_req(value); 2036 phi->add_req(value);
2037 } 2037 }