RFR: 8330247: C2: CTW fail with assert(adr_t->is_known_instance_field()) failed: instance required [v2]
Cesar Soares Lucas
cslucas at openjdk.org
Mon Apr 29 20:22:23 UTC 2024
> 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.
Cesar Soares Lucas has updated the pull request incrementally with one additional commit since the last revision:
Add test case with non-exact object Allocation.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/18851/files
- new: https://git.openjdk.org/jdk/pull/18851/files/b1398003..350ca6b0
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=18851&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=18851&range=00-01
Stats: 73 lines in 1 file changed: 73 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/18851.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/18851/head:pull/18851
PR: https://git.openjdk.org/jdk/pull/18851
More information about the hotspot-compiler-dev
mailing list