--- old/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp 2019-03-08 16:22:49.171524565 +0100 +++ new/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp 2019-03-08 16:22:48.903525935 +0100 @@ -242,6 +242,7 @@ // private: MemRegion _heap_region; + bool _heap_region_special; size_t _num_regions; ShenandoahHeapRegion** _regions; ShenandoahRegionIterator _update_refs_iterator; @@ -257,6 +258,10 @@ void heap_region_iterate(ShenandoahHeapRegionClosure* blk) const; void parallel_heap_region_iterate(ShenandoahHeapRegionClosure* blk) const; + // Support for region uncommits + void commit_region(ShenandoahHeapRegion *r); + void uncommit_region(ShenandoahHeapRegion *r); + // ---------- GC state machinery // // GC state describes the important parts of collector state, that may be @@ -649,6 +654,9 @@ size_t _bitmap_regions_per_slice; size_t _bitmap_bytes_per_slice; + bool _bitmap_region_special; + bool _aux_bitmap_region_special; + // Used for buffering per-region liveness data. // Needed since ShenandoahHeapRegion uses atomics to update liveness. //