src/share/vm/services/memoryService.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8024545 Sdiff src/share/vm/services

src/share/vm/services/memoryService.cpp

Print this page




 498   mgr->gc_end(recordPostGCUsage, recordAccumulatedGCTime, recordGCEndTime,
 499               countCollection, cause);
 500 }
 501 
 502 void MemoryService::oops_do(OopClosure* f) {
 503   int i;
 504 
 505   for (i = 0; i < _pools_list->length(); i++) {
 506     MemoryPool* pool = _pools_list->at(i);
 507     pool->oops_do(f);
 508   }
 509   for (i = 0; i < _managers_list->length(); i++) {
 510     MemoryManager* mgr = _managers_list->at(i);
 511     mgr->oops_do(f);
 512   }
 513 }
 514 
 515 bool MemoryService::set_verbose(bool verbose) {
 516   MutexLocker m(Management_lock);
 517   // verbose will be set to the previous value
 518   bool succeed = CommandLineFlags::boolAtPut((char*)"PrintGC", &verbose, MANAGEMENT);
 519   assert(succeed, "Setting PrintGC flag fails");
 520   ClassLoadingService::reset_trace_class_unloading();
 521 
 522   return verbose;
 523 }
 524 
 525 Handle MemoryService::create_MemoryUsage_obj(MemoryUsage usage, TRAPS) {
 526   Klass* k = Management::java_lang_management_MemoryUsage_klass(CHECK_NH);
 527   instanceKlassHandle ik(THREAD, k);
 528 
 529   instanceHandle obj = ik->allocate_instance_handle(CHECK_NH);
 530 
 531   JavaValue result(T_VOID);
 532   JavaCallArguments args(10);
 533   args.push_oop(obj);                         // receiver
 534   args.push_long(usage.init_size_as_jlong()); // Argument 1
 535   args.push_long(usage.used_as_jlong());      // Argument 2
 536   args.push_long(usage.committed_as_jlong()); // Argument 3
 537   args.push_long(usage.max_size_as_jlong());  // Argument 4
 538 


 601                                          bool recordGCEndTime,
 602                                          bool countCollection) {
 603   _fullGC = fullGC;
 604   _recordGCBeginTime = recordGCBeginTime;
 605   _recordPreGCUsage = recordPreGCUsage;
 606   _recordPeakUsage = recordPeakUsage;
 607   _recordPostGCUsage = recordPostGCUsage;
 608   _recordAccumulatedGCTime = recordAccumulatedGCTime;
 609   _recordGCEndTime = recordGCEndTime;
 610   _countCollection = countCollection;
 611   _cause = cause;
 612 
 613   MemoryService::gc_begin(_fullGC, _recordGCBeginTime, _recordAccumulatedGCTime,
 614                           _recordPreGCUsage, _recordPeakUsage);
 615 }
 616 
 617 TraceMemoryManagerStats::~TraceMemoryManagerStats() {
 618   MemoryService::gc_end(_fullGC, _recordPostGCUsage, _recordAccumulatedGCTime,
 619                         _recordGCEndTime, _countCollection, _cause);
 620 }
 621 


 498   mgr->gc_end(recordPostGCUsage, recordAccumulatedGCTime, recordGCEndTime,
 499               countCollection, cause);
 500 }
 501 
 502 void MemoryService::oops_do(OopClosure* f) {
 503   int i;
 504 
 505   for (i = 0; i < _pools_list->length(); i++) {
 506     MemoryPool* pool = _pools_list->at(i);
 507     pool->oops_do(f);
 508   }
 509   for (i = 0; i < _managers_list->length(); i++) {
 510     MemoryManager* mgr = _managers_list->at(i);
 511     mgr->oops_do(f);
 512   }
 513 }
 514 
 515 bool MemoryService::set_verbose(bool verbose) {
 516   MutexLocker m(Management_lock);
 517   // verbose will be set to the previous value
 518   bool succeed = CommandLineFlags::boolAtPut((char*)"PrintGC", &verbose, Flag::MANAGEMENT);
 519   assert(succeed, "Setting PrintGC flag fails");
 520   ClassLoadingService::reset_trace_class_unloading();
 521 
 522   return verbose;
 523 }
 524 
 525 Handle MemoryService::create_MemoryUsage_obj(MemoryUsage usage, TRAPS) {
 526   Klass* k = Management::java_lang_management_MemoryUsage_klass(CHECK_NH);
 527   instanceKlassHandle ik(THREAD, k);
 528 
 529   instanceHandle obj = ik->allocate_instance_handle(CHECK_NH);
 530 
 531   JavaValue result(T_VOID);
 532   JavaCallArguments args(10);
 533   args.push_oop(obj);                         // receiver
 534   args.push_long(usage.init_size_as_jlong()); // Argument 1
 535   args.push_long(usage.used_as_jlong());      // Argument 2
 536   args.push_long(usage.committed_as_jlong()); // Argument 3
 537   args.push_long(usage.max_size_as_jlong());  // Argument 4
 538 


 601                                          bool recordGCEndTime,
 602                                          bool countCollection) {
 603   _fullGC = fullGC;
 604   _recordGCBeginTime = recordGCBeginTime;
 605   _recordPreGCUsage = recordPreGCUsage;
 606   _recordPeakUsage = recordPeakUsage;
 607   _recordPostGCUsage = recordPostGCUsage;
 608   _recordAccumulatedGCTime = recordAccumulatedGCTime;
 609   _recordGCEndTime = recordGCEndTime;
 610   _countCollection = countCollection;
 611   _cause = cause;
 612 
 613   MemoryService::gc_begin(_fullGC, _recordGCBeginTime, _recordAccumulatedGCTime,
 614                           _recordPreGCUsage, _recordPeakUsage);
 615 }
 616 
 617 TraceMemoryManagerStats::~TraceMemoryManagerStats() {
 618   MemoryService::gc_end(_fullGC, _recordPostGCUsage, _recordAccumulatedGCTime,
 619                         _recordGCEndTime, _countCollection, _cause);
 620 }

src/share/vm/services/memoryService.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File