Skip to content

Conversation

@david-beaumont
Copy link
Contributor

@david-beaumont david-beaumont commented Sep 23, 2025

Copies valuetype classes for each module into corresponding "/META-INF/preview/..." sub-directories to be pulled into jimage files and processed by the new preview mode handling code.

There might be a better way to do this in terms of Makefile semantics, but this seems to work well enough and doesn't prevent the value-class JAR files being generated for patching (which is still how everyone will get value classes until the rest of the work is plumbed in).

To enable the new preview mode work, set the "DISABLE_PREVIEW_PATCHING" system property to "true".

This should be review against #1621.


Progress

  • Change must not contain extraneous whitespace

Issue

  • JDK-8368475: [lworld] Add preview classes to jimage at make time (Sub-task - P3)

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1622

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

Using diff file

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

Using Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Sep 23, 2025

👋 Welcome back david-beaumont! 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 Sep 23, 2025

@david-beaumont This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8368475: [lworld] Add preview classes to jimage at make time

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 3 new commits pushed to the lworld branch:

  • f638741: 8370951: [lworld] Value record ClassCircularityError
  • 7b5f105: 8370484: [lworld] PhaseOutput::FillLocArray asserts with Unexpected type: anyptr
  • 88f413d: [lworld] Don't run TestMethodHandles.java with -Xcomp

Please see this link for an up-to-date comparison between the source branch of this pull request and the lworld branch.
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

As you do not have Committer status in this project an existing Committer must agree to sponsor your change.

➡️ To flag this PR as ready for integration with the above commit message, type /integrate in a new comment. (Afterwards, your sponsor types /sponsor in a new comment to perform the integration).

@openjdk openjdk bot added ready Pull request is ready to be integrated rfr Pull request is ready for review labels Sep 23, 2025
@mlbridge
Copy link

mlbridge bot commented Sep 23, 2025

Webrevs

@david-beaumont david-beaumont changed the base branch from lworld to pr/1621 September 23, 2025 19:37
@openjdk openjdk bot removed the ready Pull request is ready to be integrated label Sep 23, 2025
@openjdk
Copy link

openjdk bot commented Sep 23, 2025

@david-beaumont Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

@openjdk
Copy link

openjdk bot commented Sep 23, 2025

@david-beaumont Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

Comment on lines +177 to +185
# Restructure the class file hierarchy from <module>/<classpath>/... to <module>/META-INF/preview/<classpath>/...
$(PREVIEW_OUTPUTDIR)/_copy_valueclasses.marker: $($(MODULE)-$(VALUECLASSES_STR))
$(call MakeTargetDir)
$(CP) -R $(VALUECLASS_OUTPUTDIR)/$(MODULE)/. $(@D)/
$(TOUCH) $@

TARGETS += $(PREVIEW_OUTPUTDIR)/_copy_valueclasses.marker

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I expect build reviewer will suggest using the SetupCopyFiles mechanism to copy files.

@bridgekeeper
Copy link

bridgekeeper bot commented Oct 27, 2025

@david-beaumont This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 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!

@david-beaumont
Copy link
Contributor Author

/keepalive

@openjdk
Copy link

openjdk bot commented Oct 27, 2025

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

@openjdk
Copy link

openjdk bot commented Oct 27, 2025

@david-beaumont this pull request can not be integrated into pr/1621 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 jdk_8368475_makefile
git fetch https://git.openjdk.org/valhalla.git pr/1621
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge pr/1621"
git push

@openjdk openjdk bot added the merge-conflict Pull request has merge conflict with target branch label Oct 27, 2025
@openjdk-notifier openjdk-notifier bot changed the base branch from pr/1621 to pr/1619 October 31, 2025 15:09
@openjdk-notifier
Copy link

The parent pull request that this pull request depends on has been closed without being integrated and the target branch of this pull request has been updated as the previous branch was deleted. This means that changes from the parent pull request will start to show up in this pull request. If closing the parent pull request was done in error, it will need to be re-opened and this pull request will need to manually be retargeted again.

@openjdk-notifier openjdk-notifier bot changed the base branch from pr/1619 to lworld October 31, 2025 16:44
@openjdk-notifier
Copy link

The parent pull request that this pull request depends on has now been integrated and the target branch of this pull request has been updated. This means that changes from the dependent pull request can start to show up as belonging to this pull request, which may be confusing for reviewers. To remedy this situation, simply merge the latest changes from the new target branch into this pull request by running commands similar to these in the local repository for your personal fork:

git checkout jdk_8368475_makefile
git fetch https://git.openjdk.org/valhalla.git lworld
git merge FETCH_HEAD
# if there are conflicts, follow the instructions given by git merge
git commit -m "Merge lworld"
git push

@openjdk
Copy link

openjdk bot commented Nov 4, 2025

@david-beaumont Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

* likely test fix
* Copy value classes into preview directories for inclusion in jimage
@openjdk
Copy link

openjdk bot commented Nov 4, 2025

@david-beaumont Please do not rebase or force-push to an active PR as it invalidates existing review comments. Note for future reference, the bots always squash all changes into a single commit automatically as part of the integration. See OpenJDK Developers’ Guide for more information.

@david-beaumont david-beaumont deleted the jdk_8368475_makefile branch November 4, 2025 17:00
@openjdk openjdk bot added ready Pull request is ready to be integrated and removed merge-conflict Pull request has merge conflict with target branch labels Nov 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready Pull request is ready to be integrated rfr Pull request is ready for review

Development

Successfully merging this pull request may close these issues.

2 participants