RFR(S): 8063112: Compiler diagnostic commands should have locking instead of safepoint

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Jan 22 19:23:47 UTC 2016

Why you need new print method? Why you can't use existing print()?
Also I prefer to get current compilation tasks print in separate lines - 
not in the list of threads. Then you don't need to use new print?

I am worry about using locks for printing because print code also has 
locks. Do we really have to have locks here? The output for these 
directives is local bufferedStream. As I understand it is separate for 
each directive. So why you need lock? Or VM operation as before?


On 1/22/16 6:40 AM, Nils Eliasson wrote:
> Hi,
> Please review.
> Summary:
> Firstly this change removes the unnecessary vm-ops from three compiler
> diagnostic commands and adds locking instead.
> Secondly the Compiler.queue diagnostic command is improved with printing
> of any active compilations. I found this useful when diagnosing a rouge VM.
> Thirdly, as a bonus, I also add printing of active compilations in the
> thread section of the hs_err file. Very useful when investigating VMs
> terminated by a timeout.
> Testing:
> This does not pass all tests yet. A few tests is dependent on the output
> from the diagnostic command, and I want to be sure the reviewers are
> happy with the output format first.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8063112
> Webrev: http://cr.openjdk.java.net/~neliasso/8063112/webrev.02/
> Regards,
> Nils

More information about the hotspot-compiler-dev mailing list