< prev index next >

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

Print this page
*** 1,7 ***
--- 1,8 ---
  /*
   * Copyright (c) 2013, 2019, Red Hat, Inc. All rights reserved.
+  * Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.

*** 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
--- 31,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 >