JDK-8026336 : hs_err improvement: Print compilation mode, server, client or tiered
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7-pool,8
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2013-10-11
  • Updated: 2018-03-05
  • Resolved: 2015-07-22
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b77Fixed
Related Reports
Relates :  
Relates :  
Description
We should add exactly what compilation mode is used. This will become extra important as tiered compilation becomes the default mode
Comments
Yes.
22-06-2015

# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.9.0-internal-debug-cphillim_2015_06_12_06_53-b00-coleen mixed mode tiered linux-amd64 compressed oops) How about adding 'tiered' to the hs_err version of the version string?
22-06-2015

I like adding tiered to the version string.
17-06-2015

[~kvn] See bug https://bugs.openjdk.java.net/browse/JDK-8026335 I added that. [~twisti] I thought -XX:+UseTieredCompilation would be useful. The jvm_command and flags will be moved up to the summary.
15-06-2015

One think is also missing in hs_er is compressed oops and klass modes (output of PrintCompressedOopsMode). It would be nice to have base of compressed classes space printed since metaspace info does not have address in hs_err.
15-06-2015

Printing the compilation mode is a good first step. You've also asked about which compiler flags to print. I don't think that's important because we have the "java_command" section which prints all flags passed on the command line. I doubt we have a lot (do we have any?) ergonomic flags for the compiler so the compiler flag values should be known.
15-06-2015

I think this should go to the compiler group at least to request what information should be in the hs_err_pid file. Could put something here: CodeHeap 'non-nmethods': size=5696Kb used=2272Kb max_used=2281Kb free=3424Kb bounds [0x00007f8f28572000, 0x00007f8f287e2000, 0x00007f8f28b02000] CodeHeap 'profiled nmethods': size=120032Kb used=12Kb max_used=12Kb free=120019Kb bounds [0x00007f8f28b02000, 0x00007f8f28d72000, 0x00007f8f3003a000] CodeHeap 'non-profiled nmethods': size=120032Kb used=7Kb max_used=7Kb free=120025Kb bounds [0x00007f8f3003a000, 0x00007f8f302aa000, 0x00007f8f37572000] total_blobs=537 nmethods=15 adapters=443 compilation: enabled (TieredCompilation) <= this string will print whether it's interpreted mode or out of code cache so compilation is disabled. Or in the hs_err_pid file's version string: # Java VM: Java HotSpot(TM) 64-Bit Server VM (1.9.0-debug-jdk9.hs_err_0602_1818 mixed mode linux-amd64 compressed oops tiered) The compilation mode is in the version string already so the only additional information would be the tiered compilation level.
02-06-2015