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