RFR: 8213445: jcmd VM.symboltable and VM.stringtable -verbose output contains no shared symbols or strings [v2]

Calvin Cheung ccheung at openjdk.java.net
Thu Apr 14 16:30:23 UTC 2022


> Please review this change which will include shared symbols and strings when using the commands `jcmd VMsymboltable -verbose` and `jcmd VM.stringtable -verbose`, respectively.
> 
> This change also prints the shared symbol and shared string tables statistics if the `-verbose` option is not specified.
> 
> An example output of shared symbols:
> 
> 
> 48084:
> VERSION: 1.1
> 25 2: [Ljava/util/jar/Manifest;
> 13 65535: jdk/jfr/Event
> 26 2: [Ljava/lang/AutoCloseable;
> 5 1: 'app'
> 10 1: 'platform'
> 24 65535: jdk/internal/event/Event
> ---------------
> Shared symbols:
> ---------------
> 0 65535:
> 10 65535: toIndex =
> 3 65535: sbc
> 14 65535: package.access
> ...
> ---------------
> Dynamic shared symbols:
> ---------------
> 19 65535: findResourceInPatch
> 71 65535: (Ljava/util/List<Ljdk/internal/module/ModulePatcher$ResourceFinder;>;)V
> 8 65535: overflow
> 49 65535: sun/net/www/protocol/jrt/JavaRuntimeURLConnection
> 24 65535: com/sun/tools/javac/Main
> 29 65535: com/sun/tools/javac/main/Main
> 
> 
> Note that the `Dynamic shared symbols` section only shows up if the `jcmd` is used on a running process which is using a dynamic archive.
> 
> An example output of symbol table statistics:
> 
> 
> 48494:
> SymbolTable statistics:
> Number of buckets       :     32768 =    262144 bytes, each 8
> Number of entries       :         6 =        96 bytes, each 16
> Number of literals      :         6 =       152 bytes, avg  25.000
> Total footprint         :           =    262392 bytes
> Average bucket size     :     0.000
> Variance of bucket size :     0.000
> Std. dev. of bucket size:     0.014
> Maximum bucket size     :         1
> Shared Symbol Table statistics:
> Number of buckets       :     10332
> Number of entries       :     39893
> Maximum bucket size     :        13
> Dynamic Shared Symbol Table statistics:
> Number of buckets       :        51
> Number of entries       :        42
> Maximum bucket size     :         3
> 
> 
> Note that the `Dynamic Shared Symbol Table statistics` section only shows up if the `jcmd` is used on a running process which is using a dynamic archive.
> 
> Passed CI tiers 1 and 2 testing.

Calvin Cheung has updated the pull request incrementally with one additional commit since the last revision:

  prefix comments with '#'

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/8234/files
  - new: https://git.openjdk.java.net/jdk/pull/8234/files/f8524ae4..cc78dead

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=8234&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=8234&range=00-01

  Stats: 9 lines in 2 files changed: 0 ins; 0 del; 9 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8234.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8234/head:pull/8234

PR: https://git.openjdk.java.net/jdk/pull/8234


More information about the hotspot-runtime-dev mailing list