Mercurial > hg > truffle
diff src/share/vm/opto/coalesce.cpp @ 295:ea18057223c4
6732194: Data corruption dependent on -server/-client/-Xbatch
Summary: rematerializing nodes results in incorrect inputs
Reviewed-by: rasbold
author | never |
---|---|
date | Mon, 18 Aug 2008 23:17:51 -0700 |
parents | a61af66fc99e |
children | 9ee9cf798b59 |
line wrap: on
line diff
--- a/src/share/vm/opto/coalesce.cpp Thu Aug 14 10:15:29 2008 -0700 +++ b/src/share/vm/opto/coalesce.cpp Mon Aug 18 23:17:51 2008 -0700 @@ -604,8 +604,8 @@ // If both are single def, then src_def powers one live range // and def_copy powers the other. After merging, src_def powers // the combined live range. - lrgs(lr1)._def = (lrgs(lr1)._def == NodeSentinel || - lrgs(lr2)._def == NodeSentinel ) + lrgs(lr1)._def = (lrgs(lr1).is_multidef() || + lrgs(lr2).is_multidef() ) ? NodeSentinel : src_def; lrgs(lr2)._def = NULL; // No def for lrg 2 lrgs(lr2).Clear(); // Force empty mask for LRG 2