RFR(M): 6921087: G1: remove per-GC-thread expansion tables from the fine-grain remembered sets
Thomas Schatzl
thomas.schatzl at jku.at
Mon Jun 25 15:43:59 UTC 2012
Hi John,
On Fri, 2012-06-22 at 11:38 -0700, John Cuthbertson wrote:
> Hi Thomas,
>
> I would rather not remove the HRRS_VERBOSE code. It has proven to be
> invaluable in the past when debugging the dreaded "missing entry in
> remembered set" failure. So as potential candidate for investigating
> an error like this in the future - I would like to keep the code in
> place rather than recreate it. I'm OK with not using conditional
> compilation and using a 'develop' flag as suggested by Bengt.
>
> Anyway a new webrev based upon your latest patch can be found at:
> http://cr.openjdk.java.net/~johnc/6921087/webrev.1/
either way is fine with me, although to me it seems to classical debug
code that has been used once ages ago for tracking down a particular bug
and kept in "just in case".
Imo, while it is a small time saver when/if such a bug occurs again, for
me the time spent adding debug log output has never been an issue when
tracking down such things.
If you intend to keep it, please consider fixing it though, so that the
code compiles when HRRS_VERBOSE is enabled: in
PerRegionTable::add_reference_work there is a dereference of the "from"
OopOrNarrowOopStar, i.e. I believe
void add_reference_work(OopOrNarrowOopStar from, bool par) {
// Must make this robust in case "from" is not in "_hr", because of
// concurrency.
#if HRRS_VERBOSE
gclog_or_tty->print_cr(" PRT::Add_reference_work(" PTR_FORMAT "->" PTR_FORMAT").",
from, *from);
#endif
should read something like:
#if HRRS_VERBOSE
gclog_or_tty->print_cr(" PRT::Add_reference_work(" PTR_FORMAT "->" PTR_FORMAT").",
from,
UseCompressedOops
? oopDesc::load_decode_heap_oop((narrowOop*)from)
: oopDesc::load_decode_heap_oop((oop*)from));
#endif
(I think)
I attached a patch that changes the HRRS_VERBOSE define to a G1TraceHeapRegionRememberedSet develop variable, to see if a debug variable is the better solution. At least this avoids compilation errors like above creeping in.
Hth,
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hrrs_cleanup2.tar.bz2
Type: application/x-bzip-compressed-tar
Size: 8727 bytes
Desc: not available
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20120625/95258dfb/hrrs_cleanup2.tar.bz2>
More information about the hotspot-gc-dev
mailing list