1354 tty->print_cr("nmethod dependency checking time %fs", dependentCheckTime.seconds()); 1355 1356 if (!live.is_empty()) { 1357 live.print("live"); 1358 } 1359 if (!dead.is_empty()) { 1360 dead.print("dead"); 1361 } 1362 1363 if (WizardMode) { 1364 // print the oop_map usage 1365 int code_size = 0; 1366 int number_of_blobs = 0; 1367 int number_of_oop_maps = 0; 1368 int map_size = 0; 1369 FOR_ALL_HEAPS(heap) { 1370 FOR_ALL_BLOBS(cb, *heap) { 1371 if (cb->is_alive()) { 1372 number_of_blobs++; 1373 code_size += cb->code_size(); 1374 OopMapSet* set = cb->oop_maps(); 1375 if (set != NULL) { 1376 number_of_oop_maps += set->size(); 1377 map_size += set->heap_size(); 1378 } 1379 } 1380 } 1381 } 1382 tty->print_cr("OopMaps"); 1383 tty->print_cr(" #blobs = %d", number_of_blobs); 1384 tty->print_cr(" code size = %d", code_size); 1385 tty->print_cr(" #oop_maps = %d", number_of_oop_maps); 1386 tty->print_cr(" map size = %d", map_size); 1387 } 1388 1389 #endif // !PRODUCT 1390 } 1391 1392 void CodeCache::print_summary(outputStream* st, bool detailed) { 1393 FOR_ALL_HEAPS(heap_iterator) { 1394 CodeHeap* heap = (*heap_iterator); 1395 size_t total = (heap->high_boundary() - heap->low_boundary()); 1396 if (SegmentedCodeCache) { 1397 st->print("%s:", heap->name()); | 1354 tty->print_cr("nmethod dependency checking time %fs", dependentCheckTime.seconds()); 1355 1356 if (!live.is_empty()) { 1357 live.print("live"); 1358 } 1359 if (!dead.is_empty()) { 1360 dead.print("dead"); 1361 } 1362 1363 if (WizardMode) { 1364 // print the oop_map usage 1365 int code_size = 0; 1366 int number_of_blobs = 0; 1367 int number_of_oop_maps = 0; 1368 int map_size = 0; 1369 FOR_ALL_HEAPS(heap) { 1370 FOR_ALL_BLOBS(cb, *heap) { 1371 if (cb->is_alive()) { 1372 number_of_blobs++; 1373 code_size += cb->code_size(); 1374 ImmutableOopMapSet* set = cb->oop_maps(); 1375 if (set != NULL) { 1376 number_of_oop_maps += set->count(); 1377 map_size += set->size(); 1378 } 1379 } 1380 } 1381 } 1382 tty->print_cr("OopMaps"); 1383 tty->print_cr(" #blobs = %d", number_of_blobs); 1384 tty->print_cr(" code size = %d", code_size); 1385 tty->print_cr(" #oop_maps = %d", number_of_oop_maps); 1386 tty->print_cr(" map size = %d", map_size); 1387 } 1388 1389 #endif // !PRODUCT 1390 } 1391 1392 void CodeCache::print_summary(outputStream* st, bool detailed) { 1393 FOR_ALL_HEAPS(heap_iterator) { 1394 CodeHeap* heap = (*heap_iterator); 1395 size_t total = (heap->high_boundary() - heap->low_boundary()); 1396 if (SegmentedCodeCache) { 1397 st->print("%s:", heap->name()); |