RFR(S): 8134974: 8130847 broken with loop predicates
roland.westrelin at oracle.com
Fri Sep 4 07:31:55 UTC 2015
At a deoptimization point, loads that capture the state of an eliminated allocation which is the destination of an arraycopy are pinned on the uncommon trap path. If that uncommon trap is for loop predicates then pinning the loads on that path may lead to a broken graph: the allocation may be eliminated as early as right after escape analysis, following loop optimizations may add predicates which require a new region to be added and then the control of the loads no longer dominates the uncommon trap.
More information about the hotspot-compiler-dev