--- a/hotspot/src/share/vm/services/memoryPool.cpp Tue Mar 17 15:53:55 2015 +0100
+++ b/hotspot/src/share/vm/services/memoryPool.cpp Wed Mar 18 10:51:00 2015 +0100
@@ -25,7 +25,9 @@
#include "precompiled.hpp"
#include "classfile/systemDictionary.hpp"
#include "classfile/vmSymbols.hpp"
+#include "memory/defNewGeneration.hpp"
#include "memory/metaspace.hpp"
+#include "memory/space.hpp"
#include "oops/oop.inline.hpp"
#include "runtime/handles.inline.hpp"
#include "runtime/javaCalls.hpp"
@@ -34,8 +36,11 @@
#include "services/management.hpp"
#include "services/memoryManager.hpp"
#include "services/memoryPool.hpp"
+#include "utilities/globalDefinitions.hpp"
#include "utilities/macros.hpp"
-#include "utilities/globalDefinitions.hpp"
+#if INCLUDE_ALL_GCS
+#include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp"
+#endif
MemoryPool::MemoryPool(const char* name,
PoolType type,
@@ -187,6 +192,10 @@
support_usage_threshold), _space(space) {
}
+size_t ContiguousSpacePool::used_in_bytes() {
+ return space()->used();
+}
+
MemoryUsage ContiguousSpacePool::get_memory_usage() {
size_t maxSize = (available_for_allocation() ? max_size() : 0);
size_t used = used_in_bytes();
@@ -204,6 +213,14 @@
support_usage_threshold), _gen(gen) {
}
+size_t SurvivorContiguousSpacePool::used_in_bytes() {
+ return _gen->from()->used();
+}
+
+size_t SurvivorContiguousSpacePool::committed_in_bytes() {
+ return _gen->from()->capacity();
+}
+
MemoryUsage SurvivorContiguousSpacePool::get_memory_usage() {
size_t maxSize = (available_for_allocation() ? max_size() : 0);
size_t used = used_in_bytes();
@@ -222,6 +239,10 @@
support_usage_threshold), _space(space) {
}
+size_t CompactibleFreeListSpacePool::used_in_bytes() {
+ return _space->used();
+}
+
MemoryUsage CompactibleFreeListSpacePool::get_memory_usage() {
size_t maxSize = (available_for_allocation() ? max_size() : 0);
size_t used = used_in_bytes();
@@ -239,6 +260,10 @@
support_usage_threshold), _gen(gen) {
}
+size_t GenerationPool::used_in_bytes() {
+ return _gen->used();
+}
+
MemoryUsage GenerationPool::get_memory_usage() {
size_t used = used_in_bytes();
size_t committed = _gen->capacity();