On Mon, 28 Jul 2025 14:47:15 GMT, Quan Anh Mai <[email protected]> wrote:

> Hi,
> 
> Flat accesses prevent scalar replacement because they are mismatched 
> accesses. It is also generally not possible to look through them, because the 
> payload may contain an oop in the form of raw bits. As a result, this PR adds 
> `LoadFlatNode` and `StoreFlatNode`, which act as high-level abstractions for 
> atomic accesses on flat fields. When it is determined that there is no racing 
> access on the flat field (e.g. because the holder object does not escape), 
> these flat access nodes can be expanded into multiple accesses to each 
> flattened fields, otherwise, they will be expanded into a sequence of 
> inferring a payload and accessing memory with that payload.
> 
> I also fix an issue with deoptimization reallocation where we miss assigning 
> the null marker of elements in a nullable flat array.
> 
> Please take a look and leave your reviews, thanks a lot.

This pull request has now been integrated.

Changeset: 2f89dea3
Author:    Quan Anh Mai <[email protected]>
URL:       
https://git.openjdk.org/valhalla/commit/2f89dea3d37b51901aea5fe6a94965b4cd5810c7
Stats:     975 lines in 16 files changed: 764 ins; 188 del; 23 mod

8364191: [lworld] Accesses to atomic flat fields prevent scalar replacement

Reviewed-by: thartmann

-------------

PR: https://git.openjdk.org/valhalla/pull/1518

Reply via email to