Integrated: 8336726: C2: assert(!do_asserts || projs->fallthrough_ioproj != nullptr) failed: must be found
Tobias Hartmann
thartmann at openjdk.org
Mon Oct 14 05:30:24 UTC 2024
On Thu, 10 Oct 2024 13:29:11 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:
> 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
This pull request has now been integrated.
Changeset: 8d0975a2
Author: Tobias Hartmann <thartmann at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/8d0975a27d826f7aa487a612131827586abaefd5
Stats: 85 lines in 4 files changed: 79 ins; 0 del; 6 mod
8336726: C2: assert(!do_asserts || projs->fallthrough_ioproj != nullptr) failed: must be found
Reviewed-by: chagedorn, kvn, vlivanov
-------------
PR: https://git.openjdk.org/jdk/pull/21450
More information about the hotspot-compiler-dev
mailing list