Mercurial > hg > graal-jvmci-8
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 } |