RFR: 8341407: C2: assert(main_limit == cl->limit() || get_ctrl(main_limit) == new_limit_ctrl) failed: wrong control for added limit [v3]

Roland Westrelin roland at openjdk.org
Fri Oct 18 07:30:54 UTC 2024


> That assert checks that during RC elimination, we have either:
> 
> - not updated the limit of the main loop
> 
> - or that the new limit is at the expected control
> 
> The assert fires because the limit was updated but is not at the
> expected control. That happens because `new_limit_ctrl` is updated for
> a test that it attempts to eliminate before it actually proceeds with
> the elimination: if the test can't be eliminated, `new_limit_ctrl`
> gets updated anyway.
> 
> While the assert could, maybe, be relaxed (it fires in this case but
> nothing is going wrong), it's better, I think, to simply not uselessly
> restrict the control of the limit.

Roland Westrelin has updated the pull request incrementally with one additional commit since the last revision:

  Update src/hotspot/share/opto/loopTransform.cpp
  
  Co-authored-by: Tobias Hartmann <tobias.hartmann at oracle.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/21564/files
  - new: https://git.openjdk.org/jdk/pull/21564/files/ccb5c07c..58b95c1f

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

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

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


More information about the hotspot-compiler-dev mailing list