RFR: 8336726: C2: assert(!do_asserts || projs->fallthrough_ioproj != nullptr) failed: must be found [v2]

Tobias Hartmann thartmann at openjdk.org
Fri Oct 11 14:23:48 UTC 2024


> Post-parse call devirtualization asserts when calling `CallNode::extract_projections` on a virtual call that does not have the `fallthrough_ioproj` anymore. The projection was removed because the call is followed by an endless loop that does not have any IO uses.
> 
> Similar to incremental inlining, we should not assert that all call projections are still there for post-parse call devirtualization because parts of the graph might have been removed already:
> https://github.com/openjdk/jdk/blob/580eb62dc097efeb51c76b095c1404106859b673/src/hotspot/share/opto/callnode.cpp#L963-L965
> 
> Thanks,
> Tobias

Tobias Hartmann has updated the pull request incrementally with one additional commit since the last revision:

  Update test/hotspot/jtreg/compiler/c2/TestCallDevirtualizationWithInfiniteLoop.java
  
  Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/21450/files
  - new: https://git.openjdk.org/jdk/pull/21450/files/8ffdbd01..ba06b702

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

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

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


More information about the hotspot-compiler-dev mailing list