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