[lworld] Integrated: 8274972: [lworld] TestLWorld.test151() fails with IR verification errors
Roland Westrelin
roland at openjdk.java.net
Mon Oct 18 09:15:14 UTC 2021
On Thu, 14 Oct 2021 08:59:04 GMT, Roland Westrelin <roland at openjdk.org> wrote:
> The test failure is caused by this check:
> bool LateInlineVirtualCallGenerator::do_late_inline_check(Compile* C, JVMState* jvms) {
> // Method handle linker case is handled in CallDynamicJavaNode::Ideal().
> // Unless inlining is performed, _override_symbolic_info bit will be set in DirectCallGenerator::generate().
> // Implicit receiver null checks introduce problems when exception states are combined.
> Node* receiver = jvms->map()->argument(jvms, 0);
> const Type* recv_type = C->initial_gvn()->type(receiver);
> if (recv_type->maybe_null()) {
> return false;
> }
>
> That code came with the recent merge. receiver should be not null
> (it's a InlineTypePtrNode) but it's not. The InlineTypePtrNode is
> created when pushed down through Phis. The fix I propose is to set the
> type of the phi that's the Oop input to InlineTypeBase to non null
> when it's created if it's observed that all InlineTypeBase nodes
> encountered when following Phi inputs are non null.
This pull request has now been integrated.
Changeset: 715b8330
Author: Roland Westrelin <roland at openjdk.org>
URL: https://git.openjdk.java.net/valhalla/commit/715b8330bb4d3ad533123aaf8e01777e4b4d01c6
Stats: 39 lines in 5 files changed: 18 ins; 3 del; 18 mod
8274972: [lworld] TestLWorld.test151() fails with IR verification errors
Reviewed-by: thartmann
-------------
PR: https://git.openjdk.java.net/valhalla/pull/563
More information about the valhalla-dev
mailing list