Mercurial > hg > truffle
diff src/share/vm/opto/ifnode.cpp @ 12956:3213ba4d3dff
8024069: replace_in_map() should operate on parent maps
Summary: type information gets lost because replace_in_map() doesn't update parent maps
Reviewed-by: kvn, twisti
author | roland |
---|---|
date | Sat, 19 Oct 2013 12:16:43 +0200 |
parents | 46ef27bcacb3 |
children | de6a9e811145 |
line wrap: on
line diff
--- a/src/share/vm/opto/ifnode.cpp Fri Oct 18 12:15:32 2013 -0700 +++ b/src/share/vm/opto/ifnode.cpp Sat Oct 19 12:16:43 2013 +0200 @@ -1019,7 +1019,7 @@ // be skipped. For example, range check predicate has two checks // for lower and upper bounds. ProjNode* unc_proj = proj_out(1 - prev_dom->as_Proj()->_con)->as_Proj(); - if (PhaseIdealLoop::is_uncommon_trap_proj(unc_proj, Deoptimization::Reason_predicate)) + if (unc_proj->is_uncommon_trap_proj(Deoptimization::Reason_predicate)) prev_dom = idom; // Now walk the current IfNode's projections.