Enabling non product flags like "Verbose" in GC Code

Ramki Ramakrishna y.s.ramakrishna at oracle.com
Thu Aug 25 13:37:11 PDT 2011

Hi Suraj --


(1) use a non-product build where the flag is available, OR

(2) rebuild with Verbose declared a product flag (but you will have to 
deal with
      develop->product contagion which will require more such changes), OR

(3) (probably the easiest in a specific product build) rebuild with 
Verbose changed to
       a new product flag of your choice for the specific sites where 
you want to print the info
       but want to retain the option of turning it off. Depending on 
where you do this, this
       may also cause a develop->product contagion, but it will be a 
more controlled burn, if
       i may be allowed to mix my metaphors.

(..) anything else?

The above are all one-off's for use in a specific build.

There may be good reason to protect some of these more useful messages 
with a product
flag rather than with a develop flag. I recall Krystal Mok also 
mentioning something similar.
Perhaps the community can work on what are the kinds of messages one 
might want to
see in production (under control of a suitable manageable/product flag), 
and submit an OpenJDK
patch with those changes (hopefully the performance impact of the check 
or enablement
will be minor enough when these changes are for example communicating 
decisions etc. -- this should of course be performance checked before a 
patch is submitted).

I'm also hoping that in the future some of these may be captured by the 
logging framework
under construction. Those working on or planning to work on the logging 
framework may hav
  more to add. So I am cc'ing the serviceability alias as well.

-- ramki

On 8/25/2011 12:58 PM, suraj puvvada wrote:
> Hi,
> How can I enable DEVELOP mode flags like "Verbose" ? I'm interested in 
> seeing what the GC code logs - for example :
> if (PrintGCDetails && Verbose) {
>       gclog_or_tty->print_cr("ConcurrentMarkSweepGeneration::shrink_by:"
>         " desired_bytes " SIZE_FORMAT
>         " shrinkable_size_in_bytes " SIZE_FORMAT
>         " aligned_shrinkable_size_in_bytes " SIZE_FORMAT
>         "  bytes  " SIZE_FORMAT,
>         desired_bytes, shrinkable_size_in_bytes,
>         aligned_shrinkable_size_in_bytes, bytes);
>       gclog_or_tty->print_cr("          old_end  " SIZE_FORMAT
>         "  unallocated_start  " SIZE_FORMAT,
>         old_end, unallocated_start);
>     }
> -Suraj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20110825/7b6e5cf9/attachment.html 

More information about the hotspot-gc-dev mailing list