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