Mercurial > hg > truffle
comparison src/share/vm/opto/memnode.cpp @ 247:02a35ad4adf8
6723160: Nightly failure: Error: meet not symmetric
Summary: Add missing _instance_id settings and other EA fixes.
Reviewed-by: rasbold
author | kvn |
---|---|
date | Wed, 16 Jul 2008 16:04:39 -0700 |
parents | 9c2ecc2ffb12 |
children | b0fe4deeb9fb |
comparison
equal
deleted
inserted
replaced
246:9b66e6287f4a | 247:02a35ad4adf8 |
---|---|
133 PhiNode *mphi = result->as_Phi(); | 133 PhiNode *mphi = result->as_Phi(); |
134 assert(mphi->bottom_type() == Type::MEMORY, "memory phi required"); | 134 assert(mphi->bottom_type() == Type::MEMORY, "memory phi required"); |
135 const TypePtr *t = mphi->adr_type(); | 135 const TypePtr *t = mphi->adr_type(); |
136 if (t == TypePtr::BOTTOM || t == TypeRawPtr::BOTTOM || | 136 if (t == TypePtr::BOTTOM || t == TypeRawPtr::BOTTOM || |
137 t->isa_oopptr() && !t->is_oopptr()->is_known_instance() && | 137 t->isa_oopptr() && !t->is_oopptr()->is_known_instance() && |
138 t->is_oopptr()->cast_to_instance_id(t_oop->instance_id()) == t_oop) { | 138 t->is_oopptr()->cast_to_exactness(true) |
139 ->is_oopptr()->cast_to_ptr_type(t_oop->ptr()) | |
140 ->is_oopptr()->cast_to_instance_id(t_oop->instance_id()) == t_oop) { | |
139 // clone the Phi with our address type | 141 // clone the Phi with our address type |
140 result = mphi->split_out_instance(t_adr, igvn); | 142 result = mphi->split_out_instance(t_adr, igvn); |
141 } else { | 143 } else { |
142 assert(phase->C->get_alias_index(t) == phase->C->get_alias_index(t_adr), "correct memory chain"); | 144 assert(phase->C->get_alias_index(t) == phase->C->get_alias_index(t_adr), "correct memory chain"); |
143 } | 145 } |