RFR: 8257211: C2: Enable call devirtualization during post-parse phase [v3]
Vladimir Ivanov
vlivanov at openjdk.java.net
Wed Dec 2 08:46:15 UTC 2020
On Wed, 2 Dec 2020 05:17:29 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
> Is there nodes count limit checks during later inlining? I assume with this changes we will do more later inlining which may blow up nodes limit.
Late inlining already hits node limits regularly and `live_nodes() > LiveNodeCountInliningCutoff` is used to decide when to stop (see [Compile::inline_incrementally()](https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/compile.cpp#L1907) for more details).
> src/hotspot/share/opto/callnode.cpp line 1053:
>
>> 1051: assert(IncrementalInlineMH, "required");
>> 1052: assert(cg->call_node() == this, "mismatch");
>> 1053: assert(cg->is_mh_late_inline(), "not virtual");
>
> Why you are expecting only MH calls uses CallStaticJavaNode?
Only `LateInlineMH` and `LateInlineVirtual` generators link themselves to call nodes. The former uses `CallStaticJavaNode` and the latter uses `CallDynamicJavaNode`.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1550
More information about the hotspot-compiler-dev
mailing list