-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8290466: Default to --with-source-date=current to avoid unmodified Hotspot recompilation #9638
8290466: Default to --with-source-date=current to avoid unmodified Hotspot recompilation #9638
Conversation
👋 Welcome back shade! A progress list of the required criteria for merging this PR into |
Webrevs
|
@shipilev 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:
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 no new commits pushed to the ➡️ To integrate this PR with the above commit message to the |
Any other opinions? |
@magicus -- you are good with this, or? |
Sorry for the slow response, I'm on vacation. 😎 This looks good to me. Just update the default value in the help text as well:
(github does not allow me to comment on it since it's too far away from any changed lines in the PR) |
Ah. I seen a few replies from you assumed you are back.
Good spot, fixed in new commit. |
Entering the week with faster builds. /integrate |
Going to push as commit d9cb410.
Your commit was automatically rebased without conflicts. |
See the bug for symptoms and rationale.
In short, after JDK-8288396 moved the timestamp to
CFLAGS_VM_VERSION
macro, which changes with every build, we get Hotspot recompilation every time, even when Hotspot is not modified.I believe current behavior is correct for
--with-source-date=updated
(current default): you do Hotspot build, you get updated build timestamp, which forces recompilation of affected compilation units, relinkage, re-creation of jmods/jimage. The way out is to switch to--with-source-date=current
, which would only get the build timestamp at configure time.CIs and build farms are likely reconfiguring before every build anyway, so their behavior is unlikely to be affected. But this switch definitely improves the day-to-day OpenJDK development work: it saves >50 seconds on every
make
for my machine, see below.Back-to-back unmodified build before:
Back-to-back unmodified build after:
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk pull/9638/head:pull/9638
$ git checkout pull/9638
Update a local copy of the PR:
$ git checkout pull/9638
$ git pull https://git.openjdk.org/jdk pull/9638/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 9638
View PR using the GUI difftool:
$ git pr show -t 9638
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/9638.diff