RFR (7xS): 8177707: Specialize G1RemSet::refine_card for concurrent/during safepoint refinement
Thomas Schatzl
thomas.schatzl at oracle.com
Wed May 31 08:17:07 UTC 2017
Hi Erik,
On Tue, 2017-05-30 at 11:43 +0200, Erik Helin wrote:
> On 05/09/2017 01:31 AM, Kim Barrett wrote:
> >
> > >
> > > On May 5, 2017, at 7:52 AM, Thomas Schatzl <thomas.schatzl at oracle
> > > .com> wrote:
> > >
> > > New webrevs:
> > > http://cr.openjdk.java.net/~tschatzl/8177707/webrev.0_to_1/
> > > (diff)
> > > http://cr.openjdk.java.net/~tschatzl/8177707/webrev.1/ (full)
> > >
> > > Thanks,
> > > Thomas
> > Looks good.
> Looks good to me as well! I've tried to really to go through the
> patch with a looking glass, and AFAICS all the code have been
> duplicated correctly.
thanks.
Unfortunately, with these reviews taking their time a change in the
jdk10 repo required an update. In
particular G1RootRegionScanClosure::apply_to_weak_ref_discovered_field(
) had to be replaced by
G1RootRegionScanClosure::reference_iteration_mode() as introduced
lately.
The full patch:
--- old/src/share/vm/gc/g1/g1OopClosures.hpp 2017-05-16
09:57:27.140974921 +0200
+++ new/src/share/vm/gc/g1/g1OopClosures.hpp 2017-05-16
09:57:27.035971738 +0200
@@ -181,7 +181,8 @@
_worker_i(worker_i) {
}
- bool apply_to_weak_ref_discovered_field() { return true; }
+ // This closure needs special handling for InstanceRefKlass.
+ virtual ReferenceIterationMode reference_iteration_mode() { return
DO_DISCOVERED_AND_DISCOVERY; }
template <class T> void do_oop_nv(T* p);
virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
Thanks,
Thomas
More information about the hotspot-gc-dev
mailing list