RFR: 8330247: C2: CTW fail with assert(adr_t->is_known_instance_field()) failed: instance required
Cesar Soares Lucas
cslucas at openjdk.org
Fri Apr 19 03:07:58 UTC 2024
On Fri, 19 Apr 2024 00:35:16 GMT, Cesar Soares Lucas <cslucas at openjdk.org> wrote:
> The logic in reduce allocation merges (RAM) makes use of `PhaseMacroExpand:;can_eliminate_allocation` to check whether an allocation can be scalar replaced. However, we can only SR allocations of exact types - due to rematerialization logic.
>
> The scalar replacement logic not related to RAM has this check in `split_unique_types` so there is no performance regression by adding this check here.
>
> Tested on Linux x64 tiers1-3.
Yes, I was able to reproduce the failure using CTW and a JAR file. I'll create a minimal test case and include in this PR.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/18851#issuecomment-2065667237
More information about the hotspot-compiler-dev
mailing list