< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.hpp

Print this page
*** 30,16 ***
  #include "services/memoryPool.hpp"
  #include "services/memoryUsage.hpp"
  #endif
  
  class ShenandoahMemoryPool : public CollectedMemoryPool {
! private:
     ShenandoahHeap* _heap;
  
  public:
!   ShenandoahMemoryPool(ShenandoahHeap* pool);
!   MemoryUsage get_memory_usage();
!   size_t used_in_bytes()              { return _heap->used(); }
!   size_t max_size() const             { return _heap->max_capacity(); }
  };
  
  #endif // SHARE_GC_SHENANDOAH_SHENANDOAHMEMORYPOOL_HPP
--- 30,39 ---
  #include "services/memoryPool.hpp"
  #include "services/memoryUsage.hpp"
  #endif
  
  class ShenandoahMemoryPool : public CollectedMemoryPool {
! protected:
     ShenandoahHeap* _heap;
  
  public:
!   ShenandoahMemoryPool(ShenandoahHeap* pool,
!                       const char* name = "Shenandoah");
!   virtual MemoryUsage get_memory_usage();
!   virtual size_t used_in_bytes();
+   virtual size_t max_size() const;
+ 
+ protected:
+   ShenandoahMemoryPool(ShenandoahHeap* pool,
+                        const char* name,
+                        size_t initial_capacity,
+                        size_t max_capacity);
+ };
+ 
+ class ShenandoahYoungGenMemoryPool : public ShenandoahMemoryPool {
+ public:
+   ShenandoahYoungGenMemoryPool(ShenandoahHeap* pool);
+   MemoryUsage get_memory_usage() override;
+   size_t used_in_bytes() override;
+   size_t max_size() const override;
+ };
+ 
+ class ShenandoahOldGenMemoryPool : public ShenandoahMemoryPool {
+ public:
+   ShenandoahOldGenMemoryPool(ShenandoahHeap* pool);
+   MemoryUsage get_memory_usage() override;
+   size_t used_in_bytes() override;
+   size_t max_size() const override;
  };
  
  #endif // SHARE_GC_SHENANDOAH_SHENANDOAHMEMORYPOOL_HPP
< prev index next >