1622 char* method_name = cm->method()->name_and_sig_as_C_string(); 1623 st->print_cr("%d %d %d %s [" INTPTR_FORMAT ", " INTPTR_FORMAT " - " INTPTR_FORMAT "]", 1624 cm->compile_id(), cm->comp_level(), cm->get_state(), 1625 method_name, 1626 (intptr_t)cm->header_begin(), (intptr_t)cm->code_begin(), (intptr_t)cm->code_end()); 1627 } 1628 } 1629 1630 void CodeCache::print_layout(outputStream* st) { 1631 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag); 1632 ResourceMark rm; 1633 print_summary(st, true); 1634 } 1635 1636 void CodeCache::log_state(outputStream* st) { 1637 st->print(" total_blobs='" UINT32_FORMAT "' nmethods='" UINT32_FORMAT "'" 1638 " adapters='" UINT32_FORMAT "' free_code_cache='" SIZE_FORMAT "'", 1639 blob_count(), nmethod_count(), adapter_count(), 1640 unallocated_capacity()); 1641 } | 1622 char* method_name = cm->method()->name_and_sig_as_C_string(); 1623 st->print_cr("%d %d %d %s [" INTPTR_FORMAT ", " INTPTR_FORMAT " - " INTPTR_FORMAT "]", 1624 cm->compile_id(), cm->comp_level(), cm->get_state(), 1625 method_name, 1626 (intptr_t)cm->header_begin(), (intptr_t)cm->code_begin(), (intptr_t)cm->code_end()); 1627 } 1628 } 1629 1630 void CodeCache::print_layout(outputStream* st) { 1631 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag); 1632 ResourceMark rm; 1633 print_summary(st, true); 1634 } 1635 1636 void CodeCache::log_state(outputStream* st) { 1637 st->print(" total_blobs='" UINT32_FORMAT "' nmethods='" UINT32_FORMAT "'" 1638 " adapters='" UINT32_FORMAT "' free_code_cache='" SIZE_FORMAT "'", 1639 blob_count(), nmethod_count(), adapter_count(), 1640 unallocated_capacity()); 1641 } 1642 1643 //---< BEGIN >--- 8198691: CodeHeap State Analytics. 1644 1645 void CodeCache::aggregate(outputStream *out, const char* granularity) { 1646 FOR_ALL_HEAPS(heap) { 1647 (*heap)->aggregate(out, granularity); 1648 } 1649 } 1650 1651 void CodeCache::discard(outputStream *out) { 1652 FOR_ALL_HEAPS(heap) { 1653 (*heap)->discard(out); 1654 } 1655 } 1656 1657 void CodeCache::print_usedSpace(outputStream *out) { 1658 FOR_ALL_HEAPS(heap) { 1659 (*heap)->print_usedSpace(out); 1660 } 1661 } 1662 1663 void CodeCache::print_freeSpace(outputStream *out) { 1664 FOR_ALL_HEAPS(heap) { 1665 (*heap)->print_freeSpace(out); 1666 } 1667 } 1668 1669 void CodeCache::print_count(outputStream *out) { 1670 FOR_ALL_HEAPS(heap) { 1671 (*heap)->print_count(out); 1672 } 1673 } 1674 1675 void CodeCache::print_space(outputStream *out) { 1676 FOR_ALL_HEAPS(heap) { 1677 (*heap)->print_space(out); 1678 } 1679 } 1680 1681 void CodeCache::print_age(outputStream *out) { 1682 FOR_ALL_HEAPS(heap) { 1683 (*heap)->print_age(out); 1684 } 1685 } 1686 1687 void CodeCache::print_names(outputStream *out) { 1688 FOR_ALL_HEAPS(heap) { 1689 (*heap)->print_names(out); 1690 } 1691 } 1692 //---< END >--- 8198691: CodeHeap State Analytics. |