< prev index next >

src/hotspot/share/gc/g1/heapRegionRemSet.cpp

Print this page
rev 49511 : [mq]: 8200305-gc,liveness-output


  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "gc/g1/g1BlockOffsetTable.inline.hpp"
  27 #include "gc/g1/g1CollectedHeap.inline.hpp"
  28 #include "gc/g1/g1ConcurrentRefine.hpp"
  29 #include "gc/g1/heapRegionManager.inline.hpp"
  30 #include "gc/g1/heapRegionRemSet.hpp"
  31 #include "gc/shared/space.inline.hpp"
  32 #include "memory/allocation.hpp"
  33 #include "memory/padded.inline.hpp"
  34 #include "oops/oop.inline.hpp"
  35 #include "runtime/atomic.hpp"
  36 #include "utilities/bitMap.inline.hpp"
  37 #include "utilities/debug.hpp"
  38 #include "utilities/formatBuffer.hpp"
  39 #include "utilities/globalDefinitions.hpp"
  40 #include "utilities/growableArray.hpp"
  41 
  42 const char* HeapRegionRemSet::_state_strings[] =  {"Untracked", "Updating", "Complete"};

  43 
  44 class PerRegionTable: public CHeapObj<mtGC> {
  45   friend class OtherRegionsTable;
  46   friend class HeapRegionRemSetIterator;
  47 
  48   HeapRegion*     _hr;
  49   CHeapBitMap     _bm;
  50   jint            _occupied;
  51 
  52   // next pointer for free/allocated 'all' list
  53   PerRegionTable* _next;
  54 
  55   // prev pointer for the allocated 'all' list
  56   PerRegionTable* _prev;
  57 
  58   // next pointer in collision list
  59   PerRegionTable * _collision_list_next;
  60 
  61   // Global free list of PRTs
  62   static PerRegionTable* volatile _free_list;




  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "gc/g1/g1BlockOffsetTable.inline.hpp"
  27 #include "gc/g1/g1CollectedHeap.inline.hpp"
  28 #include "gc/g1/g1ConcurrentRefine.hpp"
  29 #include "gc/g1/heapRegionManager.inline.hpp"
  30 #include "gc/g1/heapRegionRemSet.hpp"
  31 #include "gc/shared/space.inline.hpp"
  32 #include "memory/allocation.hpp"
  33 #include "memory/padded.inline.hpp"
  34 #include "oops/oop.inline.hpp"
  35 #include "runtime/atomic.hpp"
  36 #include "utilities/bitMap.inline.hpp"
  37 #include "utilities/debug.hpp"
  38 #include "utilities/formatBuffer.hpp"
  39 #include "utilities/globalDefinitions.hpp"
  40 #include "utilities/growableArray.hpp"
  41 
  42 const char* HeapRegionRemSet::_state_strings[] =  {"Untracked", "Updating", "Complete"};
  43 const char* HeapRegionRemSet::_short_state_strings[] =  {"UNTRA", "UPDAT", "CMPLT"};
  44 
  45 class PerRegionTable: public CHeapObj<mtGC> {
  46   friend class OtherRegionsTable;
  47   friend class HeapRegionRemSetIterator;
  48 
  49   HeapRegion*     _hr;
  50   CHeapBitMap     _bm;
  51   jint            _occupied;
  52 
  53   // next pointer for free/allocated 'all' list
  54   PerRegionTable* _next;
  55 
  56   // prev pointer for the allocated 'all' list
  57   PerRegionTable* _prev;
  58 
  59   // next pointer in collision list
  60   PerRegionTable * _collision_list_next;
  61 
  62   // Global free list of PRTs
  63   static PerRegionTable* volatile _free_list;


< prev index next >