RFR(M, v13): JDK-8059036 : Implement Diagnostic Commands for heap and finalizerinfo
mandy.chung at oracle.com
Wed Jun 3 18:36:14 UTC 2015
On 06/03/2015 08:29 AM, Dmitry Samersoff wrote:
> Updated webrev:
I reviewed the jdk change. The version looks okay and some comments:
ReferenceQueue.java - you should eliminate the use of rawtype:
84 Reference rn = r.next;
Change Reference to Reference<? extends T>
The forEach method - eliminate the use of raw type and
move @SuppressWarning to the field variable in line 182:
Reference<? extends T> rn = r.next;
Copyright year needs update.
I personally think the VM code would be much simpler if you stay with
alternative entry of String and int than dealing with a
FinalizerHistogramEntry private class. It's okay as FinalizerHistogram
class is separated.
The comment in line 35 is suitable to move to the class description and
this is the suggestion.
// This FinalizerHistogram class is for GC.finalizer_info
diagnostic command support.
// It is invoked by the VM.
Should getFinalizerHistogram() return FinalizerHistogramEntry? The VM
knows the returned type anyway. It's an inner class of
FinalizerHistogram and it can simply be named as "Entry". I suggest to
have Entry::increment method to replace ".instanceCount++".
The tests are in hotspot/test. Can you add a unit test in jdk/test?
Perhaps you can test FinalizerHistogram.getFinalizerHistogram() via
reflection - just a sanity test.
A minor naming comment - now you have a FinalizerHistogram class.
Perhaps the getFinalizerHistogram method should be renamed e.g. "dump"?
More information about the hotspot-gc-dev