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

8276662: Scalability bottleneck in SymbolTable::lookup_common() #27

Closed

Conversation

shipilev
Copy link
Member

@shipilev shipilev commented Dec 22, 2021

Clean backport to improve SymbolTable performance.

Additional testing:

  • Linux x86_64 fastdebug tier1
  • Linux x86_64 fastdebug tier2
  • Linux x86_64 fastdebug tier3

Progress

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

Issue

  • JDK-8276662: Scalability bottleneck in SymbolTable::lookup_common()

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk17u-dev pull/27/head:pull/27
$ git checkout pull/27

Update a local copy of the PR:
$ git checkout pull/27
$ git pull https://git.openjdk.java.net/jdk17u-dev pull/27/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 27

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

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk17u-dev/pull/27.diff

@bridgekeeper
Copy link

bridgekeeper bot commented Dec 22, 2021

👋 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 openjdk bot changed the title Backport 1d7cef33c5ff24695463a03c58c7ca350ec190fc 8276662: Scalability bottleneck in SymbolTable::lookup_common() Dec 22, 2021
@openjdk
Copy link

openjdk bot commented Dec 22, 2021

This backport pull request has now been updated with issue from the original commit.

@openjdk
Copy link

openjdk bot commented Dec 22, 2021

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

8276662: Scalability bottleneck in SymbolTable::lookup_common()

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

  • c9ebb93: 8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11
  • 2cac565: 8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time
  • 83f1749: 8273162: AbstractSplittableWithBrineGenerator does not create a random salt
  • 515d412: 8273351: bad tag in jdk.random module-info.java
  • 311bb85: 8247980: Exclusive execution of java/util/stream tests slows down tier1
  • 79d97c4: 8272327: Shenandoah: Avoid enqueuing duplicate string candidates
  • 13d3046: 8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx
  • 6634879: 8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx
  • 4b3a9e3: 8277992: Add fast jdk_svc subtests to jdk:tier3

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 ready Pull request is ready to be integrated rfr Pull request is ready for review labels Dec 22, 2021
@mlbridge
Copy link

mlbridge bot commented Dec 22, 2021

Webrevs

@shipilev
Copy link
Member Author

shipilev commented Jan 3, 2022

Got the push approval.

/integrate

@openjdk
Copy link

openjdk bot commented Jan 3, 2022

Going to push as commit 0a538a0.
Since your change was applied there have been 25 commits pushed to the master branch:

  • 38f01a7: 8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime
  • 611a0ea: 8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3
  • dcd9821: 8272167: AbsPathsInImage.java should skip *.dSYM directories
  • 493a78a: 8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
  • f016e60: 8275610: C2: Object field load floats above its null check resulting in a segfault
  • 3adb3dd: 8278099: two sun/security/pkcs11/Signature tests failed with AssertionError
  • 38fdf4f: 8276623: JDK-8275650 accidentally pushed "out" file
  • d30b6e4: 8277328: jdk/jshell/CommandCompletionTest.java failures on Windows
  • 6aa60ac: 8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last
  • 15f2406: 8274714: Incorrect verifier protected access error message
  • ... and 15 more: https://git.openjdk.java.net/jdk17u-dev/compare/cc4a0b1ebf20b43b951b11eb562dc56ee69461c7...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label Jan 3, 2022
@openjdk openjdk bot closed this Jan 3, 2022
@openjdk openjdk bot removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels Jan 3, 2022
@openjdk
Copy link

openjdk bot commented Jan 3, 2022

@shipilev Pushed as commit 0a538a0.

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

@shipilev shipilev deleted the JDK-8276662-symboltable-bottleneck branch January 4, 2022 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport clean integrated Pull request has been integrated
Development

Successfully merging this pull request may close these issues.

1 participant