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
8248817: Windows: Improving common cross-platform code #300
Conversation
👋 Welcome back rnkovacs! A progress list of the required criteria for merging this PR into |
This backport pull request has now been updated with issue from the original commit. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me (but I'm not a formal reviewer).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it truly necessary to make such extensive changes to x86 code? I can understand why it's necessary to do such refactoring in head, but can't Windows x86 be mostly left alone, with Windows AArch64 added?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changing so much x86 code in an Windows aarch64 preparation change is not so nice, but it's better than integrating half changes IMHO. Looks good and all tests are green. Good work!
@rnkovacs This change now passes all automated pre-integration checks. 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 144 new commits pushed to the
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. Possible candidates are the reviewers of this PR (@theRealAph, @TheRealMDoerr) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
Understood, but one of the main reasons new ports are easily accepted into maintenance releases of OpenJDK is that they are pure additions, so there's little churn to existing code. Backports should be minimal, in order to minimize that churn, and I don't believe this one is. |
I think technically this one is reviewed but maintainers now need to take the decision whether to allow this or reject as being to much of churn. I suggest you add the fix request data to JBS and we will then take a decision. |
It's not technically reviewed: even if two people approve it, objections must be addressed. I am still of the belief that the AArch64 code can be integrated without touching the x86 atomics. If I had a WIndows AArch64 system and enough time to figure out how to build and debug this stuff I'd do it myself, just to prove the point. Hint: put the common atomic stuff in a separate place. Call it from the AArch64 code, but do not touch the x86 code. |
OK, I somehow overread the technical suggestion to try to find a way to do the changes only in the aarch64 code and leaving x86 alone. So, yes, if that would be possible it would probably be a more acceptable way of doing this backport. |
By coincidence, the relevant parts for the Windows/AArch64 backport are in #274 anyway. So I agree with Andrew, this PR with the x86 changes are not needed for the Windows/AArch64 backport. |
Sorry for the confusion - I might have only addressed this under #301:
You are both right, this patch is technically not needed for adding Windows/AArch64 support. I'm closing the PR. |
Thanks! I'm glad that we don't need a partial backport. |
Not a clean backport. Differences to the original commit:
stubGenerator_x86_32.cpp
andstubGenerator_x86_64.cpp
are slightly different on tip (comments - JDK-8234563, MP checks - JDK-8188764), but fundamentally the same.add
,xchg
andcmpxchg
definitions inatomic_windows_x86.hpp
needed to be adjusted to keep the original parameter orders (changed in JDK 14 by JDK-8234563).Changes to
os_windows_x86.cpp
andos_windows_x86.hpp
could be applied cleanly.This is part of the Windows/AArch64 port.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk11u-dev pull/300/head:pull/300
$ git checkout pull/300
Update a local copy of the PR:
$ git checkout pull/300
$ git pull https://git.openjdk.java.net/jdk11u-dev pull/300/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 300
View PR using the GUI difftool:
$ git pr show -t 300
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk11u-dev/pull/300.diff