< prev index next >
src/hotspot/share/services/memoryManager.cpp
Print this page
rev 48000 : [mq]: open.patch
*** 35,45 ****
#include "services/memoryPool.hpp"
#include "services/memoryService.hpp"
#include "services/gcNotifier.hpp"
#include "utilities/dtrace.hpp"
! MemoryManager::MemoryManager() {
_num_pools = 0;
(void)const_cast<instanceOop&>(_memory_mgr_obj = instanceOop(NULL));
}
void MemoryManager::add_pool(MemoryPool* pool) {
--- 35,45 ----
#include "services/memoryPool.hpp"
#include "services/memoryService.hpp"
#include "services/gcNotifier.hpp"
#include "utilities/dtrace.hpp"
! MemoryManager::MemoryManager(const char* name) : _name(name) {
_num_pools = 0;
(void)const_cast<instanceOop&>(_memory_mgr_obj = instanceOop(NULL));
}
void MemoryManager::add_pool(MemoryPool* pool) {
*** 50,96 ****
}
pool->add_manager(this);
}
MemoryManager* MemoryManager::get_code_cache_memory_manager() {
! return (MemoryManager*) new CodeCacheMemoryManager();
}
MemoryManager* MemoryManager::get_metaspace_memory_manager() {
! return (MemoryManager*) new MetaspaceMemoryManager();
! }
!
! GCMemoryManager* MemoryManager::get_copy_memory_manager() {
! return (GCMemoryManager*) new CopyMemoryManager();
! }
!
! GCMemoryManager* MemoryManager::get_msc_memory_manager() {
! return (GCMemoryManager*) new MSCMemoryManager();
! }
!
! GCMemoryManager* MemoryManager::get_parnew_memory_manager() {
! return (GCMemoryManager*) new ParNewMemoryManager();
! }
!
! GCMemoryManager* MemoryManager::get_cms_memory_manager() {
! return (GCMemoryManager*) new CMSMemoryManager();
! }
!
! GCMemoryManager* MemoryManager::get_psScavenge_memory_manager() {
! return (GCMemoryManager*) new PSScavengeMemoryManager();
! }
!
! GCMemoryManager* MemoryManager::get_psMarkSweep_memory_manager() {
! return (GCMemoryManager*) new PSMarkSweepMemoryManager();
! }
!
! GCMemoryManager* MemoryManager::get_g1YoungGen_memory_manager() {
! return (GCMemoryManager*) new G1YoungGenMemoryManager();
! }
!
! GCMemoryManager* MemoryManager::get_g1OldGen_memory_manager() {
! return (GCMemoryManager*) new G1OldGenMemoryManager();
}
instanceOop MemoryManager::get_memory_manager_instance(TRAPS) {
// Must do an acquire so as to force ordering of subsequent
// loads from anything _memory_mgr_obj points to or implies.
--- 50,64 ----
}
pool->add_manager(this);
}
MemoryManager* MemoryManager::get_code_cache_memory_manager() {
! return new MemoryManager("CodeCacheManager");
}
MemoryManager* MemoryManager::get_metaspace_memory_manager() {
! return new MemoryManager("Metaspace Manager");
}
instanceOop MemoryManager::get_memory_manager_instance(TRAPS) {
// Must do an acquire so as to force ordering of subsequent
// loads from anything _memory_mgr_obj points to or implies.
*** 201,211 ****
memset(_before_gc_usage_array, 0, len);
memset(_after_gc_usage_array, 0, len);
}
! GCMemoryManager::GCMemoryManager() : MemoryManager() {
_num_collections = 0;
_last_gc_stat = NULL;
_last_gc_lock = new Mutex(Mutex::leaf, "_last_gc_lock", true,
Monitor::_safepoint_check_never);
_current_gc_stat = NULL;
--- 169,180 ----
memset(_before_gc_usage_array, 0, len);
memset(_after_gc_usage_array, 0, len);
}
! GCMemoryManager::GCMemoryManager(const char* name, const char* gc_end_message) :
! MemoryManager(name), _gc_end_message(gc_end_message) {
_num_collections = 0;
_last_gc_stat = NULL;
_last_gc_lock = new Mutex(Mutex::leaf, "_last_gc_lock", true,
Monitor::_safepoint_check_never);
_current_gc_stat = NULL;
*** 306,318 ****
// reset the current stat for diagnosability purposes
_current_gc_stat->clear();
}
if (is_notification_enabled()) {
! bool isMajorGC = this == MemoryService::get_major_gc_manager();
! GCNotifier::pushNotification(this, isMajorGC ? "end of major GC" : "end of minor GC",
! GCCause::to_string(cause));
}
}
}
size_t GCMemoryManager::get_last_gc_stat(GCStatInfo* dest) {
--- 275,285 ----
// reset the current stat for diagnosability purposes
_current_gc_stat->clear();
}
if (is_notification_enabled()) {
! GCNotifier::pushNotification(this, _gc_end_message, GCCause::to_string(cause));
}
}
}
size_t GCMemoryManager::get_last_gc_stat(GCStatInfo* dest) {
< prev index next >