RFR: 8353041: NeverBranchNode causes incorrect block frequency calculation

Tobias Hartmann thartmann at openjdk.org
Tue Apr 8 08:25:11 UTC 2025


On Wed, 2 Apr 2025 19:51:37 GMT, Dean Long <dlong at openjdk.org> wrote:

> This fixes a quality of implementation issue for infinite loops using a NeverBranch node.  We need Block::succ_prob() to return 1.0f for the 100% successful back-edge so that block frequencies are computed correctly.  I also fixed Block_Stack::most_frequent_successor() to choose the correct successor.  I verified that this corrects the huge frequency ratio that was detected and clamped by JDK-8346888.
> 
> Currently this bug is labeled noreg-hard with no new regression test, as it's not obvious how to write such as test.

Looks good to me.

-------------

Marked as reviewed by thartmann (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/24390#pullrequestreview-2749111614


More information about the hotspot-compiler-dev mailing list