hotspot/src/share/vm/gc/g1/heapRegionRemSet.cpp
changeset 38177 b0c9cb06506b
parent 38161 1c7dd1e39fcf
child 38271 4425ba8ed50f
equal deleted inserted replaced
38175:4e2bff1a5467 38177:b0c9cb06506b
    41 class PerRegionTable: public CHeapObj<mtGC> {
    41 class PerRegionTable: public CHeapObj<mtGC> {
    42   friend class OtherRegionsTable;
    42   friend class OtherRegionsTable;
    43   friend class HeapRegionRemSetIterator;
    43   friend class HeapRegionRemSetIterator;
    44 
    44 
    45   HeapRegion*     _hr;
    45   HeapRegion*     _hr;
    46   BitMap          _bm;
    46   CHeapBitMap     _bm;
    47   jint            _occupied;
    47   jint            _occupied;
    48 
    48 
    49   // next pointer for free/allocated 'all' list
    49   // next pointer for free/allocated 'all' list
    50   PerRegionTable* _next;
    50   PerRegionTable* _next;
    51 
    51 
    67   }
    67   }
    68 
    68 
    69   PerRegionTable(HeapRegion* hr) :
    69   PerRegionTable(HeapRegion* hr) :
    70     _hr(hr),
    70     _hr(hr),
    71     _occupied(0),
    71     _occupied(0),
    72     _bm(HeapRegion::CardsPerRegion, false /* in-resource-area */),
    72     _bm(HeapRegion::CardsPerRegion),
    73     _collision_list_next(NULL), _next(NULL), _prev(NULL)
    73     _collision_list_next(NULL), _next(NULL), _prev(NULL)
    74   {}
    74   {}
    75 
    75 
    76   void add_card_work(CardIdx_t from_card, bool par) {
    76   void add_card_work(CardIdx_t from_card, bool par) {
    77     if (!_bm.at(from_card)) {
    77     if (!_bm.at(from_card)) {
   257 size_t OtherRegionsTable::_fine_eviction_sample_size = 0;
   257 size_t OtherRegionsTable::_fine_eviction_sample_size = 0;
   258 
   258 
   259 OtherRegionsTable::OtherRegionsTable(HeapRegion* hr, Mutex* m) :
   259 OtherRegionsTable::OtherRegionsTable(HeapRegion* hr, Mutex* m) :
   260   _g1h(G1CollectedHeap::heap()),
   260   _g1h(G1CollectedHeap::heap()),
   261   _hr(hr), _m(m),
   261   _hr(hr), _m(m),
   262   _coarse_map(G1CollectedHeap::heap()->max_regions(),
   262   _coarse_map(G1CollectedHeap::heap()->max_regions()),
   263               false /* in-resource-area */),
       
   264   _fine_grain_regions(NULL),
   263   _fine_grain_regions(NULL),
   265   _first_all_fine_prts(NULL), _last_all_fine_prts(NULL),
   264   _first_all_fine_prts(NULL), _last_all_fine_prts(NULL),
   266   _n_fine_entries(0), _n_coarse_entries(0),
   265   _n_fine_entries(0), _n_coarse_entries(0),
   267   _fine_eviction_start(0),
   266   _fine_eviction_start(0),
   268   _sparse_table(hr)
   267   _sparse_table(hr)