< prev index next >

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

Print this page
@@ -30,16 +30,39 @@
  #include "services/memoryPool.hpp"
  #include "services/memoryUsage.hpp"
  #endif
  
  class ShenandoahMemoryPool : public CollectedMemoryPool {
- private:
+ protected:
     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(); }
+   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 >