< prev index next >

src/hotspot/share/gc/g1/g1EdenRegions.hpp

Print this page
rev 55209 : imported patch 8220089.webrev.1
rev 55212 : imported patch 8220089.webrev.4


  22  *
  23  */
  24 
  25 #ifndef SHARE_GC_G1_G1EDENREGIONS_HPP
  26 #define SHARE_GC_G1_G1EDENREGIONS_HPP
  27 
  28 #include "gc/g1/heapRegion.hpp"
  29 #include "runtime/globals.hpp"
  30 #include "utilities/debug.hpp"
  31 
  32 class G1EdenRegions {
  33 private:
  34   int    _length;
  35   // Sum of used bytes from all retired eden regions.
  36   // I.e. updated when mutator regions are retired.
  37   volatile size_t _used_bytes;
  38 
  39 public:
  40   G1EdenRegions() : _length(0), _used_bytes(0) { }
  41 

  42   void add(HeapRegion* hr) {
  43     assert(!hr->is_eden(), "should not already be set");
  44     _length++;
  45   }
  46 
  47   void clear() { _length = 0; _used_bytes = 0; }



  48 


  49   uint length() const { return _length; }
  50 

  51   size_t used_bytes() const { return _used_bytes; }
  52 
  53   void add_used_bytes(size_t used_bytes) {


  54     _used_bytes += used_bytes;
  55   }
  56 };
  57 
  58 #endif // SHARE_GC_G1_G1EDENREGIONS_HPP


  22  *
  23  */
  24 
  25 #ifndef SHARE_GC_G1_G1EDENREGIONS_HPP
  26 #define SHARE_GC_G1_G1EDENREGIONS_HPP
  27 
  28 #include "gc/g1/heapRegion.hpp"
  29 #include "runtime/globals.hpp"
  30 #include "utilities/debug.hpp"
  31 
  32 class G1EdenRegions {
  33 private:
  34   int    _length;
  35   // Sum of used bytes from all retired eden regions.
  36   // I.e. updated when mutator regions are retired.
  37   volatile size_t _used_bytes;
  38 
  39 public:
  40   G1EdenRegions() : _length(0), _used_bytes(0) { }
  41 
  42   // Called when a heap region is added to eden region.
  43   void add(HeapRegion* hr) {
  44     assert(!hr->is_eden(), "should not already be set");
  45     _length++;
  46   }
  47 
  48   void clear() {
  49     _length = 0;
  50     _used_bytes = 0;
  51   }
  52 
  53   // Returns actual number of heap regions tagged as eden.
  54   // I.e. retained heap region is also included.
  55   uint length() const { return _length; }
  56 
  57   // Sum of used bytes of all eden regions except used bytes of a retained region.
  58   size_t used_bytes() const { return _used_bytes; }
  59 
  60   // Called when the mutator region retires.
  61   // Exclude used bytes of a retained region.
  62   void add_used_bytes(HeapRegion* alloc_region, size_t used_bytes) {
  63     _used_bytes += used_bytes;
  64   }
  65 };
  66 
  67 #endif // SHARE_GC_G1_G1EDENREGIONS_HPP
< prev index next >