RFR: 8289943: Simplify some object allocation merges [v13]
Vladimir Ivanov
vlivanov at openjdk.org
Wed Oct 26 23:13:12 UTC 2022
On Sat, 22 Oct 2022 00:32:31 GMT, Cesar Soares Lucas <cslucas at openjdk.org> wrote:
>> Also, I believe you face some ideal graph inconsistencies because you capture
information too early (before split_unique_types and following IGVN pass; and
previous allocation eliminations during eliminate_macro_nodes() may contribute
to that).
> Can you please elaborate on that?
There are places in the patch where you check for unintended graph modifications, like in `PhaseMacroExpand::eliminate_macro_nodes()`:
// In some cases the region controlling the RAM might go away due to some simplification
// of the IR graph. For now, we'll just bail out if this happens.
if (n->in(0) == NULL || !n->in(0)->is_Region()) {
C->record_failure(C2Compiler::retry_no_reduce_allocation_merges());
return;
}
I consider that an implementation peculiarity contributed by RAMs rather than an inherent complication coming from the transformation being performed.
-------------
PR: https://git.openjdk.org/jdk/pull/9073
More information about the hotspot-compiler-dev
mailing list