< prev index next >
src/hotspot/share/classfile/classLoaderStats.cpp
Print this page
rev 60538 : imported patch jep387-all.patch
@@ -24,10 +24,11 @@
#include "precompiled.hpp"
#include "classfile/classLoaderData.inline.hpp"
#include "classfile/classLoaderDataGraph.hpp"
#include "classfile/classLoaderStats.hpp"
+#include "memory/metaspace.hpp"
#include "oops/objArrayKlass.hpp"
#include "oops/oop.inline.hpp"
#include "utilities/globalDefinitions.hpp"
@@ -78,19 +79,21 @@
}
_total_classes += csc._num_classes;
ClassLoaderMetaspace* ms = cld->metaspace_or_null();
if (ms != NULL) {
+ size_t used_bytes, capacity_bytes;
+ ms->calculate_jfr_stats(&used_bytes, &capacity_bytes);
if(cld->has_class_mirror_holder()) {
- cls->_hidden_chunk_sz += ms->allocated_chunks_bytes();
- cls->_hidden_block_sz += ms->allocated_blocks_bytes();
+ cls->_hidden_chunk_sz += capacity_bytes;
+ cls->_hidden_block_sz += used_bytes;
} else {
- cls->_chunk_sz = ms->allocated_chunks_bytes();
- cls->_block_sz = ms->allocated_blocks_bytes();
+ cls->_chunk_sz = capacity_bytes;
+ cls->_block_sz = used_bytes;
}
- _total_chunk_sz += ms->allocated_chunks_bytes();
- _total_block_sz += ms->allocated_blocks_bytes();
+ _total_chunk_sz += capacity_bytes;
+ _total_block_sz += used_bytes;
}
}
// Handles the difference in pointer width on 32 and 64 bit platforms
< prev index next >