The changes for JDK-8333393 and JDK-8351833 in rare cases result in temporary but excessive numbers of live nodes within IGVN runs when compiling methods with a large number of alias types. This issue proposes investigating if having such a large number of alias types is motivated in such cases, and, if not, introduce some form of limit related to alias types. Two ideas:
1. After we reach a limit for the number of alias types, retry compilation without aliasing (i.e., with only the global AliasIdxBot alias type).
2. Make it possible for memory operations to "share" alias types after reaching some limit on the number of alias types. The result is then a middle ground between no aliasing and the approach we use today (full aliasing).
1. After we reach a limit for the number of alias types, retry compilation without aliasing (i.e., with only the global AliasIdxBot alias type).
2. Make it possible for memory operations to "share" alias types after reaching some limit on the number of alias types. The result is then a middle ground between no aliasing and the approach we use today (full aliasing).
- relates to
-
JDK-8333393 PhaseCFG::insert_anti_dependences can fail to raise LCAs and to add necessary anti-dependence edges
-
- Resolved
-
-
JDK-8351833 Unexpected increase in live nodes when splitting Phis through MergeMems in PhiNode::Ideal
-
- Resolved
-