< prev index next >

src/share/vm/services/diagnosticCommand.cpp

Print this page




 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   Universe::heap()->print_on(output());
 417 }
 418 
 419 void FinalizerInfoDCmd::execute(DCmdSource source, TRAPS) {
 420   ResourceMark rm;
 421 
 422 
 423   Klass* k = SystemDictionary::resolve_or_null(
 424     vmSymbols::finalizer_histogram_klass(), THREAD);
 425   assert(k != NULL, "FinalizerHistogram class is not accessible");
 426 
 427   instanceKlassHandle klass(THREAD, k);
 428   JavaValue result(T_ARRAY);
 429 
 430   // We are calling lang.ref.FinalizerHistogram.getFinalizerHistogram() method
 431   // and expect it to return array of FinalizerHistogramEntry as Object[]
 432 
 433   JavaCalls::call_static(&result, klass,
 434                          vmSymbols::get_finalizer_histogram_name(),
 435                          vmSymbols::void_finalizer_histogram_entry_array_signature(), CHECK);




 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);


< prev index next >