Skip to content

Conversation

fparain
Copy link
Collaborator

@fparain fparain commented Mar 24, 2025

Strict final instance fields are not subject to concurrent writes during a read access, so they can be flattened even if they are nullable and bigger than 64 bits. The NULLABLE_NON_ATOMIC_FLAT layout is added for this particular case.


Progress

  • Change must not contain extraneous whitespace

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/valhalla.git pull/1407/head:pull/1407
$ git checkout pull/1407

Update a local copy of the PR:
$ git checkout pull/1407
$ git pull https://git.openjdk.org/valhalla.git pull/1407/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1407

View PR using the GUI difftool:
$ git pr show -t 1407

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/valhalla/pull/1407.diff

@bridgekeeper
Copy link

bridgekeeper bot commented Mar 24, 2025

👋 Welcome back fparain! A progress list of the required criteria for merging this PR into lworld will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Mar 24, 2025

❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.

@merykitty
Copy link
Member

This would forbid the class which contains the NULLABLE_NON_ATOMIC_FLAT from being flattened into a class which contains it. I think we should only do so if the holder of the flattened strict final field should not be flattened if it is not itself a strict final field:

  • The holder is an identity class.
  • The holder is a large value class without @LooselyConsistentValue.

This is equally valid to null-restricted field of non-@LooselyConsistentValue, too.

@bridgekeeper
Copy link

bridgekeeper bot commented Jul 8, 2025

@fparain This pull request has been inactive for more than 8 weeks and will be automatically closed if another 8 weeks passes without any activity. To avoid this, simply issue a /touch or /keepalive command to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@fparain
Copy link
Collaborator Author

fparain commented Jul 25, 2025

/keepalive

@openjdk
Copy link

openjdk bot commented Jul 25, 2025

@fparain The pull request is being re-evaluated and the inactivity timeout has been reset.

@openjdk
Copy link

openjdk bot commented Jul 25, 2025

@fparain this pull request can not be integrated into lworld due to one or more merge conflicts. To resolve these merge conflicts and update this pull request you can run the following commands in the local repository for your personal fork:

git checkout flat_final
git fetch https://git.openjdk.org/valhalla.git lworld
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge lworld"
git push

@openjdk openjdk bot added the merge-conflict Pull request has merge conflict with target branch label Jul 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge-conflict Pull request has merge conflict with target branch
Development

Successfully merging this pull request may close these issues.

2 participants