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
8008243: Zero: Implement fast bytecodes #1938
Conversation
👋 Welcome back shade! A progress list of the required criteria for merging this PR into |
@shipilev 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 add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Hold on, bot, we are not done yet. |
@shipilev 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 add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Not now, bot. |
@shipilev 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 add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Not yet, bot. |
@shipilev 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 add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Not now, bot. |
@shipilev 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 add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Not now, bot. This is a draft PR. |
@shipilev 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 add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
Not now, bot. This is a draft PR. |
@shipilev 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 add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
@shipilev This pull request has been inactive for more than 16 weeks and will now be automatically closed. If you would like to continue working on this pull request in the future, feel free to reopen it! This can be done using the |
This should wait for /open |
@shipilev @HostUserDetails{id=1858943, username='shipilev', fullName='null'} this pull request is now open |
c052e9b
to
db93f88
Compare
@shipilev 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 add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration! |
db93f88
to
ffd9768
Compare
62f8a57
to
4e485b0
Compare
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.
Nice work! Looks good to me! Thank you!
@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 49 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. ➡️ To integrate this PR with the above commit message to the |
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! We've had this request for so long now so thank you for doing it!
I realized that there are feature flags ( |
@coleenp, @rkennke -- can I ask you to take another look at this? |
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! Thanks!
Re-ran Fuzzer in both /integrate |
Going to push as commit e436200.
Your commit was automatically rebased without conflicts. |
A regression was found here: #6479 |
This work improves Zero performance considerably, without complicating the interpreter all that much. This work is based on much earlier patch by @rkennke, then edited by @jerboaa, and finally polished by me here :)
SPECjvm benchmarks improve across the board, with lowest improvement on
Derby
(+6%) and largest onCompress
(+50%). Given that Zero is used to implement the JVM on emerging platforms that are still rather slow themselves, it makes sense to make Zero quantifiably faster. Even 10% improvement means more than 2 hours a day worth of CPU time.Additional testing:
tier1
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/1938/head:pull/1938
$ git checkout pull/1938
Update a local copy of the PR:
$ git checkout pull/1938
$ git pull https://git.openjdk.java.net/jdk pull/1938/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 1938
View PR using the GUI difftool:
$ git pr show -t 1938
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/1938.diff