Skip to content
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

8256670: Zero: enable compressed oops support back #1320

Closed

Conversation

shipilev
Copy link
Member

@shipilev shipilev commented Nov 19, 2020

UseCompressedOops was disabled for C++ interpreter by JDK-6909153, and it eventually morphed to disabled UseCompressedOops for all Zero configurations. I see nothing that actually prevents Zero from using compressed oops: all local/stack operands are always unpacked (like they are in non-interpreted modes), all heap accesses are calling into utility methods that handle compressed oops, there are no raw accesses to oops anywhere.

Additional testing:

  • Ad-hoc benchmark tests
  • hotspot_gc_shenandoah with Zero, now passing compressed oops tests

Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Testing

Linux aarch64 Linux arm Linux ppc64le Linux s390x Linux x64 Linux x86 Windows x64 macOS x64
Build ✔️ (1/1 passed) ✔️ (1/1 passed) ✔️ (1/1 passed) ✔️ (1/1 passed) ✔️ (6/6 passed) ✔️ (2/2 passed) ✔️ (2/2 passed) ✔️ (2/2 passed)
Test (tier1) ✔️ (9/9 passed) ✔️ (9/9 passed) ✔️ (9/9 passed) ✔️ (9/9 passed)

Issue

  • JDK-8256670: Zero: enable compressed oops support back

Reviewers

Download

$ git fetch https://git.openjdk.java.net/jdk pull/1320/head:pull/1320
$ git checkout pull/1320

@bridgekeeper
Copy link

bridgekeeper bot commented Nov 19, 2020

👋 Welcome back shade! A progress list of the required criteria for merging this PR into master 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 Nov 19, 2020

@shipilev The following label will be automatically applied to this pull request:

  • hotspot-runtime

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command.

@openjdk openjdk bot added the hotspot-runtime hotspot-runtime-dev@openjdk.org label Nov 19, 2020
@shipilev shipilev marked this pull request as ready for review November 19, 2020 19:00
@openjdk openjdk bot added the rfr Pull request is ready for review label Nov 19, 2020
@mlbridge
Copy link

mlbridge bot commented Nov 19, 2020

Webrevs

Copy link
Contributor

@coleenp coleenp left a comment

Choose a reason for hiding this comment

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

Seems okay to me. I can't think of why zero disabled compressed oops.

@openjdk
Copy link

openjdk bot commented Nov 19, 2020

@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:

8256670: Zero: enable compressed oops support back

Reviewed-by: coleenp

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 7 new commits pushed to the master branch:

  • b9db002: 8256682: JDK-8202343 is incomplete
  • b8244b6: 8236926: Concurrently uncommit memory in G1
  • defdd12: 8142984: Zero: fast accessors should handle both getters and setters
  • 1718aba: 8227400: Adjust jib profiles to make 3rd party tools for creating installers available on Mach5 test machines
  • 9bb8223: 8253299: Manifest bytes are read twice when verifying a signed JAR
  • 580f22c: 8256581: Refactor vector conversion tests
  • 675d1d5: 8256516: Simplify clearing References

Please see this link for an up-to-date comparison between the source branch of this pull request and the master 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.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready Pull request is ready to be integrated label Nov 19, 2020
@shipilev
Copy link
Member Author

This patch survived more rounds of testing, including quite aggressive Shenandoah tests, so it should be good.

/integrate

@openjdk openjdk bot closed this Nov 22, 2020
@openjdk openjdk bot added integrated Pull request has been integrated and removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels Nov 22, 2020
@openjdk
Copy link

openjdk bot commented Nov 22, 2020

@shipilev Since your change was applied there have been 49 commits pushed to the master branch:

  • d46f6f5: 8256523: Streamline Java SHA2 implementation
  • 1aa90ac: 8256822: runtime/logging/RedefineClasses.java fails with "Error: VM option 'Verbose' is develop and is available only in debug version of VM."
  • edf72f0: 8256824: test/langtools/tools/javac/diags/examples/InnerClassCantHaveStatic.java has a bad copyright
  • 9a19eb6: 8254105: allow static nested declarations
  • 14de791: 8255934: JConsole 14 and greater fails to connect to older JVM
  • 86f3602: 8256806: Shenandoah: optimize shenandoah/jni/TestPinnedGarbage.java test
  • 57025e6: 8256073: Improve vector rematerialization support
  • 41c0587: 8255367: C2: Deoptimization during vector box construction is broken
  • f79e9d4: 8256061: RegisterSaver::save_live_registers() omits upper halves of ZMM0-15 registers
  • 503590f: 8256056: Deoptimization stub doesn't save vector registers on x86
  • ... and 39 more: https://git.openjdk.java.net/jdk/compare/ba721f5f2fbbf08e22a9993dce0087f46b1f5552...master

Your commit was automatically rebased without conflicts.

Pushed as commit 037e49c.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

@shipilev shipilev deleted the JDK-8256670-zero-enable-coops branch November 22, 2020 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hotspot-runtime hotspot-runtime-dev@openjdk.org integrated Pull request has been integrated
2 participants