< prev index next >

src/share/vm/services/diagnosticCommand.cpp

Print this page
rev 12310 : [mq]: gcinterface.patch


 379   output()->print_cr(" s");
 380 }
 381 
 382 int VMUptimeDCmd::num_arguments() {
 383   ResourceMark rm;
 384   VMUptimeDCmd* dcmd = new VMUptimeDCmd(NULL, false);
 385   if (dcmd != NULL) {
 386     DCmdMark mark(dcmd);
 387     return dcmd->_dcmdparser.num_arguments();
 388   } else {
 389     return 0;
 390   }
 391 }
 392 
 393 void VMInfoDCmd::execute(DCmdSource source, TRAPS) {
 394   VMError::print_vm_info(_output);
 395 }
 396 
 397 void SystemGCDCmd::execute(DCmdSource source, TRAPS) {
 398   if (!DisableExplicitGC) {
 399     Universe::heap()->collect(GCCause::_dcmd_gc_run);
 400   } else {
 401     output()->print_cr("Explicit GC is disabled, no GC has been performed.");
 402   }
 403 }
 404 
 405 void RunFinalizationDCmd::execute(DCmdSource source, TRAPS) {
 406   Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_System(),
 407                                                  true, CHECK);
 408   instanceKlassHandle klass(THREAD, k);
 409   JavaValue result(T_VOID);
 410   JavaCalls::call_static(&result, klass,
 411                          vmSymbols::run_finalization_name(),
 412                          vmSymbols::void_method_signature(), CHECK);
 413 }
 414 
 415 void HeapInfoDCmd::execute(DCmdSource source, TRAPS) {
 416   MutexLocker hl(Heap_lock);
 417   Universe::heap()->print_on(output());
 418 }
 419 
 420 void FinalizerInfoDCmd::execute(DCmdSource source, TRAPS) {
 421   ResourceMark rm;
 422 
 423 
 424   Klass* k = SystemDictionary::resolve_or_null(
 425     vmSymbols::finalizer_histogram_klass(), THREAD);
 426   assert(k != NULL, "FinalizerHistogram class is not accessible");
 427 
 428   instanceKlassHandle klass(THREAD, k);
 429   JavaValue result(T_ARRAY);
 430 
 431   // We are calling lang.ref.FinalizerHistogram.getFinalizerHistogram() method
 432   // and expect it to return array of FinalizerHistogramEntry as Object[]
 433 
 434   JavaCalls::call_static(&result, klass,
 435                          vmSymbols::get_finalizer_histogram_name(),
 436                          vmSymbols::void_finalizer_histogram_entry_array_signature(), CHECK);
 437 




 379   output()->print_cr(" s");
 380 }
 381 
 382 int VMUptimeDCmd::num_arguments() {
 383   ResourceMark rm;
 384   VMUptimeDCmd* dcmd = new VMUptimeDCmd(NULL, false);
 385   if (dcmd != NULL) {
 386     DCmdMark mark(dcmd);
 387     return dcmd->_dcmdparser.num_arguments();
 388   } else {
 389     return 0;
 390   }
 391 }
 392 
 393 void VMInfoDCmd::execute(DCmdSource source, TRAPS) {
 394   VMError::print_vm_info(_output);
 395 }
 396 
 397 void SystemGCDCmd::execute(DCmdSource source, TRAPS) {
 398   if (!DisableExplicitGC) {
 399     GC::gc()->heap()->collect(GCCause::_dcmd_gc_run);
 400   } else {
 401     output()->print_cr("Explicit GC is disabled, no GC has been performed.");
 402   }
 403 }
 404 
 405 void RunFinalizationDCmd::execute(DCmdSource source, TRAPS) {
 406   Klass* k = SystemDictionary::resolve_or_fail(vmSymbols::java_lang_System(),
 407                                                  true, CHECK);
 408   instanceKlassHandle klass(THREAD, k);
 409   JavaValue result(T_VOID);
 410   JavaCalls::call_static(&result, klass,
 411                          vmSymbols::run_finalization_name(),
 412                          vmSymbols::void_method_signature(), CHECK);
 413 }
 414 
 415 void HeapInfoDCmd::execute(DCmdSource source, TRAPS) {
 416   MutexLocker hl(Heap_lock);
 417   GC::gc()->heap()->print_on(output());
 418 }
 419 
 420 void FinalizerInfoDCmd::execute(DCmdSource source, TRAPS) {
 421   ResourceMark rm;
 422 
 423 
 424   Klass* k = SystemDictionary::resolve_or_null(
 425     vmSymbols::finalizer_histogram_klass(), THREAD);
 426   assert(k != NULL, "FinalizerHistogram class is not accessible");
 427 
 428   instanceKlassHandle klass(THREAD, k);
 429   JavaValue result(T_ARRAY);
 430 
 431   // We are calling lang.ref.FinalizerHistogram.getFinalizerHistogram() method
 432   // and expect it to return array of FinalizerHistogramEntry as Object[]
 433 
 434   JavaCalls::call_static(&result, klass,
 435                          vmSymbols::get_finalizer_histogram_name(),
 436                          vmSymbols::void_finalizer_histogram_entry_array_signature(), CHECK);
 437 


< prev index next >