< prev index next >
src/hotspot/share/gc/g1/g1ConcurrentMarkBitMap.hpp
Print this page
*** 24,34 ****
#ifndef SHARE_VM_GC_G1_G1CONCURRENTMARKBITMAP_HPP
#define SHARE_VM_GC_G1_G1CONCURRENTMARKBITMAP_HPP
#include "gc/g1/g1RegionToSpaceMapper.hpp"
- #include "memory/allocation.hpp"
#include "memory/memRegion.hpp"
#include "oops/oopsHierarchy.hpp"
#include "utilities/bitMap.hpp"
#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
--- 24,33 ----
*** 37,47 ****
class G1CMTask;
class G1ConcurrentMark;
class HeapRegion;
// Closure for iteration over bitmaps
! class G1CMBitMapClosure VALUE_OBJ_CLASS_SPEC {
private:
G1ConcurrentMark* const _cm;
G1CMTask* const _task;
public:
G1CMBitMapClosure(G1CMTask *task, G1ConcurrentMark* cm) : _task(task), _cm(cm) { }
--- 36,46 ----
class G1CMTask;
class G1ConcurrentMark;
class HeapRegion;
// Closure for iteration over bitmaps
! class G1CMBitMapClosure {
private:
G1ConcurrentMark* const _cm;
G1CMTask* const _task;
public:
G1CMBitMapClosure(G1CMTask *task, G1ConcurrentMark* cm) : _task(task), _cm(cm) { }
*** 60,70 ****
virtual void on_commit(uint start_idx, size_t num_regions, bool zero_filled);
};
// A generic mark bitmap for concurrent marking. This is essentially a wrapper
// around the BitMap class that is based on HeapWords, with one bit per (1 << _shifter) HeapWords.
! class G1CMBitMap VALUE_OBJ_CLASS_SPEC {
private:
MemRegion _covered; // The heap area covered by this bitmap.
const int _shifter; // Shift amount from heap index to bit index in the bitmap.
--- 59,69 ----
virtual void on_commit(uint start_idx, size_t num_regions, bool zero_filled);
};
// A generic mark bitmap for concurrent marking. This is essentially a wrapper
// around the BitMap class that is based on HeapWords, with one bit per (1 << _shifter) HeapWords.
! class G1CMBitMap {
private:
MemRegion _covered; // The heap area covered by this bitmap.
const int _shifter; // Shift amount from heap index to bit index in the bitmap.
< prev index next >