RFR (not as big as it looks) 8184994: Add Dictionary size logging and jcmd
Aleksey Shipilev
shade at redhat.com
Tue Aug 1 14:53:07 UTC 2017
On 08/01/2017 04:36 PM, coleen.phillimore at oracle.com wrote:
> Summary: added dcmd for printing system dictionary like the stringtable and symboltable and making
> print functions go to outputstream rather than tty
>
> Tested with tier1 on linux x64, and runThese with jcmd to query systemdictionaries (lots of class
> loaders).
>
> open webrev at http://cr.openjdk.java.net/~coleenp/8184994.01/webrev
> bug link https://bugs.openjdk.java.net/browse/JDK-8184994
Cursory review:
*) Not entirely clear why this include in compactHashtable.cpp:
32 #include "runtime/vmThread.hpp"
*) I guess these pairs of lines may be coalesced in dictionary.cpp:
444 st->print_cr("^ indicates that initiating loader is different from "
445 "defining loader");
454 st->print("%4d: %s%s", index, is_defining_class ? " " : "^", e->external_name());
455 st->print(", loader ");
*) dictionary.hpp: stray whitespace at the end
106 void print_on(outputStream* st) const ;
*) placeholders.cpp: while we are here, probably worth changing print("\n") to cr()?
*) placeholders.cpp: coalesce?
232 st->print("%4d: ", pindex);
233 st->print("placeholder ");
*) placeholders.hpp: method name is camel-cased, can rename it?
130 void printActionQ(outputStream* st) {
*) systemDictionary.cpp: in SystemDictionary::dump, the if(verbose) condition seems inverted. Should
dump tables when verbose?
Thanks,
-Aleksey
More information about the hotspot-runtime-dev
mailing list