RFR: 8353041: NeverBranchNode causes incorrect block frequency calculation [v2]

Dean Long dlong at openjdk.org
Tue Apr 8 22:51:35 UTC 2025


> 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.

Dean Long has updated the pull request incrementally with one additional commit since the last revision:

  Update src/hotspot/share/opto/domgraph.cpp
  
  Co-authored-by: Roberto Castañeda Lozano <robcasloz at users.noreply.github.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/24390/files
  - new: https://git.openjdk.org/jdk/pull/24390/files/ac25f7ac..2c9c3648

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24390&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24390&range=00-01

  Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/24390.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24390/head:pull/24390

PR: https://git.openjdk.org/jdk/pull/24390


More information about the hotspot-compiler-dev mailing list