< prev index next >
src/share/vm/memory/barrierSet.hpp
Print this page
rev 7318 : 8064721: The card tables only ever need two covering regions
*** 47,57 ****
enum Flags {
None = 0,
TargetUninitialized = 1
};
protected:
! int _max_covered_regions;
Name _kind;
public:
BarrierSet() { _kind = Uninit; }
--- 47,62 ----
enum Flags {
None = 0,
TargetUninitialized = 1
};
protected:
! // Some barrier sets create tables whose elements correspond to parts of
! // the heap; the CardTableModRefBS is an example. Such barrier sets will
! // normally reserve space for such tables, and commit parts of the table
! // "covering" parts of the heap that are committed. At most one covered
! // region per generation is needed.
! static const int _max_covered_regions = 2;
Name _kind;
public:
BarrierSet() { _kind = Uninit; }
*** 157,178 ****
// virtual "_work" function below, which must implement the barrier.)
inline void write_region(MemRegion mr);
protected:
virtual void write_region_work(MemRegion mr) = 0;
public:
-
- // Some barrier sets create tables whose elements correspond to parts of
- // the heap; the CardTableModRefBS is an example. Such barrier sets will
- // normally reserve space for such tables, and commit parts of the table
- // "covering" parts of the heap that are committed. The constructor is
- // passed the maximum number of independently committable subregions to
- // be covered, and the "resize_covered_region" function allows the
- // sub-parts of the heap to inform the barrier set of changes of their
- // sizes.
- BarrierSet(int max_covered_regions) :
- _max_covered_regions(max_covered_regions) {}
-
// Inform the BarrierSet that the the covered heap region that starts
// with "base" has been changed to have the given size (possibly from 0,
// for initialization.)
virtual void resize_covered_region(MemRegion new_region) = 0;
--- 162,171 ----
< prev index next >