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

8244540: Print more information with -XX:+PrintSharedArchiveAndExit #3187

Closed
wants to merge 4 commits into from

Conversation

@yminqi
Copy link
Contributor

@yminqi yminqi commented Mar 25, 2021

Hi, Please review
Added more info in printout when -XX:+PrintSharedArchiveAndExit used:
archive names (static/dynamic or static only)
loaded classes and their loaders
number of shared symbols
number of shared strings
full vm version stored in shared archive.
added two tests for custom loader test and dynamic test.

Tests: tier1,tier2,tier3,tier4

Thanks
Yumin


Progress

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

Issue

  • JDK-8244540: Print more information with -XX:+PrintSharedArchiveAndExit

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/3187/head:pull/3187
$ git checkout pull/3187

Update a local copy of the PR:
$ git checkout pull/3187
$ git pull https://git.openjdk.java.net/jdk pull/3187/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 3187

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

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/3187.diff

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Mar 25, 2021

👋 Welcome back minqi! 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 openjdk bot commented Mar 25, 2021

@yminqi 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.

Yumin Qi Yumin Qi
@openjdk openjdk bot added the rfr label Mar 25, 2021
@mlbridge
Copy link

@mlbridge mlbridge bot commented Mar 25, 2021

Webrevs

Copy link
Member

@iklam iklam left a comment

Looks good overall. I think the order of the output can be changed a little to make it more readable:

VM version: Java HotSpot(TM) 64-Bit Server VM (fastdebug ......

Number of shared symbols: 40699
Number of shared strings: 7601

Base archive name: /jdk2/bld/fastdebug/images/jdk/lib/server/classes.jsa
Base archive version 11

(classes in the base archive)


Dynamic archive name: PrintSharedArchiveAndExit.java-top.jsa
Dynamic archive version 11

(classes in the dynamic archive)

Also, now the counter is reset when you go from Unregistered to Lambda. I think it shouldn't be reset so we can easily tell the combined number of classes in each archive file.

  17: sun.hotspot.WhiteBox loaded by: boot_loader
Shared Unregistered Dictionary
  18: CustomLoadee loaded by: unregistered_loader
Shared Lambda Dictionary
   1: sun.hotspot.WhiteBox$$Lambda$10/0x0000000801045b88 loaded by: boot_loader
… from static. Removed verbose loaded_by from output.
@iklam
iklam approved these changes Mar 30, 2021
Copy link
Member

@iklam iklam left a comment

LGTM

@openjdk
Copy link

@openjdk openjdk bot commented Mar 30, 2021

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

8244540: Print more information with -XX:+PrintSharedArchiveAndExit

Reviewed-by: iklam, ccheung

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

  • 815248a: 8264148: Update spec for exceptions retrofitted for exception chaining
  • 353807c: 8263898: (fs) Files.newOutputStream on the "NUL" special device throws FileSystemException: "nul: Incorrect function" (win)
  • 2bd80f9: 8264326: Modernize javax.script.ScriptEngineManager and related classes' implementation
  • b08d638: 8262503: Support records in Dynalink
  • 21e7402: 8263707: C1 RangeCheckEliminator support constant array and NewMultiArray
  • 2ad6f2d: 8263896: Make not_suspended parameter from ObjectMonitor::exit() have default value
  • b652198: 8264429: Test runtime/cds/appcds/VerifyWithDefaultArchive.java assumes OpenJDK build
  • 2c9365d: 8264271: Avoid creating non_oop_word oops
  • daeca3f: 8262958: (fs) UnixUserDefinedFileAttributeView cleanup
  • af02883: 8264191: Javadoc search is broken in Internet Explorer
  • ... and 83 more: https://git.openjdk.java.net/jdk/compare/deda80f022792723edc6513a94333a7b04fffb9d...master

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 label Mar 30, 2021
Copy link
Member

@calvinccheung calvinccheung left a comment

Looks good. Just a small nit on the test cases.

Thanks,
Calvin

@yminqi
Copy link
Contributor Author

@yminqi yminqi commented Mar 31, 2021

/integrate

@openjdk openjdk bot closed this Mar 31, 2021
@openjdk openjdk bot added integrated and removed ready rfr labels Mar 31, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Mar 31, 2021

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

  • e073486: 8262093: java/util/concurrent/tck/JSR166TestCase.java failed "assert(false) failed: unexpected node"
  • 815248a: 8264148: Update spec for exceptions retrofitted for exception chaining
  • 353807c: 8263898: (fs) Files.newOutputStream on the "NUL" special device throws FileSystemException: "nul: Incorrect function" (win)
  • 2bd80f9: 8264326: Modernize javax.script.ScriptEngineManager and related classes' implementation
  • b08d638: 8262503: Support records in Dynalink
  • 21e7402: 8263707: C1 RangeCheckEliminator support constant array and NewMultiArray
  • 2ad6f2d: 8263896: Make not_suspended parameter from ObjectMonitor::exit() have default value
  • b652198: 8264429: Test runtime/cds/appcds/VerifyWithDefaultArchive.java assumes OpenJDK build
  • 2c9365d: 8264271: Avoid creating non_oop_word oops
  • daeca3f: 8262958: (fs) UnixUserDefinedFileAttributeView cleanup
  • ... and 84 more: https://git.openjdk.java.net/jdk/compare/deda80f022792723edc6513a94333a7b04fffb9d...master

Your commit was automatically rebased without conflicts.

Pushed as commit 928fa5b.

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

@yminqi yminqi deleted the yminqi:jdk-8244540 branch Mar 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
3 participants