< prev index next >

src/hotspot/share/gc/parallel/mutableSpace.hpp

Print this page

 50 
 51 class MutableSpace: public CHeapObj<mtGC> {
 52   friend class VMStructs;
 53 
 54   // Helper for mangling unused space in debug builds
 55   MutableSpaceMangler* _mangler;
 56   // The last region which page had been setup to be interleaved.
 57   MemRegion _last_setup_region;
 58   size_t _alignment;
 59   HeapWord* _bottom;
 60   HeapWord* volatile _top;
 61   HeapWord* _end;
 62 
 63   MutableSpaceMangler* mangler() { return _mangler; }
 64 
 65   void numa_setup_pages(MemRegion mr, bool clear_space);
 66 
 67   void set_last_setup_region(MemRegion mr) { _last_setup_region = mr;   }
 68   MemRegion last_setup_region() const      { return _last_setup_region; }
 69 



 70  public:
 71   virtual ~MutableSpace();
 72   MutableSpace(size_t page_size);
 73 
 74   // Accessors
 75   HeapWord* bottom() const                 { return _bottom; }
 76   HeapWord* top() const                    { return _top;    }
 77   HeapWord* end() const                    { return _end; }
 78 
 79   void set_bottom(HeapWord* value)         { _bottom = value; }
 80   virtual void set_top(HeapWord* value)    { _top = value;   }
 81   void set_end(HeapWord* value)            { _end = value; }
 82 
 83   HeapWord* volatile* top_addr()           { return &_top; }
 84   HeapWord** end_addr()                    { return &_end; }
 85 
 86   size_t alignment()                       { return _alignment; }
 87 
 88   MemRegion region() const { return MemRegion(bottom(), end()); }
 89 

 50 
 51 class MutableSpace: public CHeapObj<mtGC> {
 52   friend class VMStructs;
 53 
 54   // Helper for mangling unused space in debug builds
 55   MutableSpaceMangler* _mangler;
 56   // The last region which page had been setup to be interleaved.
 57   MemRegion _last_setup_region;
 58   size_t _alignment;
 59   HeapWord* _bottom;
 60   HeapWord* volatile _top;
 61   HeapWord* _end;
 62 
 63   MutableSpaceMangler* mangler() { return _mangler; }
 64 
 65   void numa_setup_pages(MemRegion mr, bool clear_space);
 66 
 67   void set_last_setup_region(MemRegion mr) { _last_setup_region = mr;   }
 68   MemRegion last_setup_region() const      { return _last_setup_region; }
 69 
 70   template<bool COMPACT_HEADERS>
 71   void object_iterate_impl(ObjectClosure* cl);
 72 
 73  public:
 74   virtual ~MutableSpace();
 75   MutableSpace(size_t page_size);
 76 
 77   // Accessors
 78   HeapWord* bottom() const                 { return _bottom; }
 79   HeapWord* top() const                    { return _top;    }
 80   HeapWord* end() const                    { return _end; }
 81 
 82   void set_bottom(HeapWord* value)         { _bottom = value; }
 83   virtual void set_top(HeapWord* value)    { _top = value;   }
 84   void set_end(HeapWord* value)            { _end = value; }
 85 
 86   HeapWord* volatile* top_addr()           { return &_top; }
 87   HeapWord** end_addr()                    { return &_end; }
 88 
 89   size_t alignment()                       { return _alignment; }
 90 
 91   MemRegion region() const { return MemRegion(bottom(), end()); }
 92 
< prev index next >