< prev index next >

src/share/vm/services/memoryService.cpp

Print this page




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




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


< prev index next >