hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp Fri May 17 17:24:20 2013 +0200
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp Wed Nov 26 10:51:52 2014 +0100
@@ -155,6 +155,9 @@
// Used to keep track of limit of sweep for the space
HeapWord* _sweep_limit;
+ // Used to make the young collector update the mod union table
+ MemRegionClosure* _preconsumptionDirtyCardClosure;
+
// Support for compacting cms
HeapWord* cross_threshold(HeapWord* start, HeapWord* end);
HeapWord* forward(oop q, size_t size, CompactPoint* cp, HeapWord* compact_top);
@@ -356,6 +359,14 @@
void initialize_sequential_subtasks_for_marking(int n_threads,
HeapWord* low = NULL);
+ virtual MemRegionClosure* preconsumptionDirtyCardClosure() const {
+ return _preconsumptionDirtyCardClosure;
+ }
+
+ void setPreconsumptionDirtyCardClosure(MemRegionClosure* cl) {
+ _preconsumptionDirtyCardClosure = cl;
+ }
+
// Space enquiries
size_t used() const;
size_t free() const;