> 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.

Quan Anh Mai has updated the pull request incrementally with one additional 
commit since the last revision:

  Remove flat accesses from sfn_worklist

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

Changes:
  - all: https://git.openjdk.org/valhalla/pull/1518/files
  - new: https://git.openjdk.org/valhalla/pull/1518/files/7c51d242..81654d3b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1518&range=05
 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1518&range=04-05

  Stats: 4 lines in 2 files changed: 1 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/valhalla/pull/1518.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1518/head:pull/1518

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

Reply via email to