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