[lworld] RFR: 8274972: [lworld] TestLWorld.test151() fails with IR verification errors [v2]

Roland Westrelin roland at openjdk.java.net
Fri Oct 15 10:26:37 UTC 2021


> 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.

Roland Westrelin has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - revised fix
 - Merge branch 'lworld' into JDK-8274972
 - fix

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

Changes:
  - all: https://git.openjdk.java.net/valhalla/pull/563/files
  - new: https://git.openjdk.java.net/valhalla/pull/563/files/ab6031b9..098d4ae9

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=563&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=563&range=00-01

  Stats: 731 lines in 36 files changed: 390 ins; 200 del; 141 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/563.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/563/head:pull/563

PR: https://git.openjdk.java.net/valhalla/pull/563



More information about the valhalla-dev mailing list