< prev index next > src/hotspot/share/gc/shenandoah/shenandoahMemoryPool.hpp
Print this page
/*
* 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.
#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
#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 >