300 }
301 if (ProfilerCheckIntervals) {
302 PeriodicTask::print_intervals();
303 }
304 if (PrintSymbolTableSizeHistogram) {
305 SymbolTable::print_histogram();
306 }
307 if (CountBytecodes || TraceBytecodes || StopInterpreterAt) {
308 BytecodeCounter::print();
309 }
310 if (PrintBytecodePairHistogram) {
311 BytecodePairHistogram::print();
312 }
313
314 if (PrintCodeCache) {
315 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
316 CodeCache::print();
317 }
318
319 if (PrintMethodFlushingStatistics) {
320 NMethodSweeper::print();
321 }
322
323 if (PrintCodeCache2) {
324 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
325 CodeCache::print_internals();
326 }
327
328 if (PrintVtableStats) {
329 klassVtable::print_statistics();
330 klassItable::print_statistics();
331 }
332 if (VerifyOops) {
333 tty->print_cr("+VerifyOops count: %d", StubRoutines::verify_oop_count());
334 }
335
336 print_bytecode_count();
337 if (PrintMallocStatistics) {
338 tty->print("allocation stats: ");
339 alloc_stats.print();
340 tty->cr();
363 }
364
365 #else // PRODUCT MODE STATISTICS
366
367 void print_statistics() {
368
369 if (PrintMethodData) {
370 print_method_profiling_data();
371 }
372
373 if (CITime) {
374 CompileBroker::print_times();
375 }
376
377 if (PrintCodeCache) {
378 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
379 CodeCache::print();
380 }
381
382 if (PrintMethodFlushingStatistics) {
383 NMethodSweeper::print();
384 }
385
386 #ifdef COMPILER2
387 if (PrintPreciseBiasedLockingStatistics || PrintPreciseRTMLockingStatistics) {
388 OptoRuntime::print_named_counters();
389 }
390 #endif
391 if (PrintBiasedLockingStatistics) {
392 BiasedLocking::print_counters();
393 }
394
395 // Native memory tracking data
396 if (PrintNMTStatistics) {
397 MemTracker::final_report(tty);
398 }
399
400 if (LogTouchedMethods && PrintTouchedMethodsAtExit) {
401 Method::print_touched_methods(tty);
402 }
403
|
300 }
301 if (ProfilerCheckIntervals) {
302 PeriodicTask::print_intervals();
303 }
304 if (PrintSymbolTableSizeHistogram) {
305 SymbolTable::print_histogram();
306 }
307 if (CountBytecodes || TraceBytecodes || StopInterpreterAt) {
308 BytecodeCounter::print();
309 }
310 if (PrintBytecodePairHistogram) {
311 BytecodePairHistogram::print();
312 }
313
314 if (PrintCodeCache) {
315 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
316 CodeCache::print();
317 }
318
319 if (PrintMethodFlushingStatistics) {
320 NMethodSweeper::print(tty);
321 }
322
323 // CodeHeap State Analytics.
324 LogTarget(Trace, codecache) lt;
325 if (lt.is_enabled()) {
326 CompileBroker::print_heapinfo(NULL, "all", "4096"); // details
327 }
328
329 if (PrintCodeCache2) {
330 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
331 CodeCache::print_internals();
332 }
333
334 if (PrintVtableStats) {
335 klassVtable::print_statistics();
336 klassItable::print_statistics();
337 }
338 if (VerifyOops) {
339 tty->print_cr("+VerifyOops count: %d", StubRoutines::verify_oop_count());
340 }
341
342 print_bytecode_count();
343 if (PrintMallocStatistics) {
344 tty->print("allocation stats: ");
345 alloc_stats.print();
346 tty->cr();
369 }
370
371 #else // PRODUCT MODE STATISTICS
372
373 void print_statistics() {
374
375 if (PrintMethodData) {
376 print_method_profiling_data();
377 }
378
379 if (CITime) {
380 CompileBroker::print_times();
381 }
382
383 if (PrintCodeCache) {
384 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
385 CodeCache::print();
386 }
387
388 if (PrintMethodFlushingStatistics) {
389 NMethodSweeper::print(tty);
390 }
391
392 // CodeHeap State Analytics.
393 LogTarget(Trace, codecache) lt;
394 if (lt.is_enabled()) {
395 CompileBroker::print_heapinfo(NULL, "all", "4096"); // details
396 }
397
398 #ifdef COMPILER2
399 if (PrintPreciseBiasedLockingStatistics || PrintPreciseRTMLockingStatistics) {
400 OptoRuntime::print_named_counters();
401 }
402 #endif
403 if (PrintBiasedLockingStatistics) {
404 BiasedLocking::print_counters();
405 }
406
407 // Native memory tracking data
408 if (PrintNMTStatistics) {
409 MemTracker::final_report(tty);
410 }
411
412 if (LogTouchedMethods && PrintTouchedMethodsAtExit) {
413 Method::print_touched_methods(tty);
414 }
415
|