src/share/vm/memory/barrierSet.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/memory

src/share/vm/memory/barrierSet.hpp

Print this page




  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_MEMORY_BARRIERSET_HPP
  26 #define SHARE_VM_MEMORY_BARRIERSET_HPP
  27 
  28 #include "memory/memRegion.hpp"
  29 #include "oops/oopsHierarchy.hpp"
  30 
  31 // This class provides the interface between a barrier implementation and
  32 // the rest of the system.
  33 
  34 class BarrierSet: public CHeapObj<mtGC> {
  35   friend class VMStructs;
  36 public:
  37   enum Name {
  38     ModRef,
  39     CardTableModRef,
  40     CardTableExtension,
  41     G1SATBCT,
  42     G1SATBCTLogging,
  43     Other
  44   };
  45 
  46   enum Flags {
  47     None                = 0,
  48     TargetUninitialized = 1
  49   };
  50 protected:
  51   // Some barrier sets create tables whose elements correspond to parts of
  52   // the heap; the CardTableModRefBS is an example.  Such barrier sets will
  53   // normally reserve space for such tables, and commit parts of the table
  54   // "covering" parts of the heap that are committed. At most one covered
  55   // region per generation is needed.
  56   static const int _max_covered_regions = 2;
  57   Name _kind;
  58 
  59   BarrierSet(Name kind) : _kind(kind) { }
  60   ~BarrierSet() { }
  61 
  62 public:
  63 




  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_MEMORY_BARRIERSET_HPP
  26 #define SHARE_VM_MEMORY_BARRIERSET_HPP
  27 
  28 #include "memory/memRegion.hpp"
  29 #include "oops/oopsHierarchy.hpp"
  30 
  31 // This class provides the interface between a barrier implementation and
  32 // the rest of the system.
  33 
  34 class BarrierSet: public CHeapObj<mtGC> {
  35   friend class VMStructs;
  36 public:
  37   enum Name {
  38     ModRef,
  39     CardTableModRef,
  40     CardTableExtension,
  41     G1SATBCT,
  42     G1SATBCTLogging

  43   };
  44 
  45   enum Flags {
  46     None                = 0,
  47     TargetUninitialized = 1
  48   };
  49 protected:
  50   // Some barrier sets create tables whose elements correspond to parts of
  51   // the heap; the CardTableModRefBS is an example.  Such barrier sets will
  52   // normally reserve space for such tables, and commit parts of the table
  53   // "covering" parts of the heap that are committed. At most one covered
  54   // region per generation is needed.
  55   static const int _max_covered_regions = 2;
  56   Name _kind;
  57 
  58   BarrierSet(Name kind) : _kind(kind) { }
  59   ~BarrierSet() { }
  60 
  61 public:
  62 


src/share/vm/memory/barrierSet.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File