< prev index next >

src/share/vm/code/codeCache.cpp

Print this page

        

*** 1308,1330 **** } } } // A CodeHeap is full. Print out warning and report event. void CodeCache::report_codemem_full(int code_blob_type, bool print) { // Get nmethod heap for the given CodeBlobType and build CodeCacheFull event CodeHeap* heap = get_code_heap(code_blob_type); assert(heap != NULL, "heap is null"); if ((heap->full_count() == 0) || print) { // Not yet reported for this heap, report if (SegmentedCodeCache) { ! warning("%s is full. Compiler has been disabled.", get_code_heap_name(code_blob_type)); ! warning("Try increasing the code heap size using -XX:%s=", get_code_heap_flag_name(code_blob_type)); } else { ! warning("CodeCache is full. Compiler has been disabled."); ! warning("Try increasing the code cache size using -XX:ReservedCodeCacheSize="); } ResourceMark rm; stringStream s; // Dump code cache into a buffer before locking the tty, { --- 1308,1348 ---- } } } // A CodeHeap is full. Print out warning and report event. + PRAGMA_DIAG_PUSH + PRAGMA_FORMAT_NONLITERAL_IGNORED void CodeCache::report_codemem_full(int code_blob_type, bool print) { // Get nmethod heap for the given CodeBlobType and build CodeCacheFull event CodeHeap* heap = get_code_heap(code_blob_type); assert(heap != NULL, "heap is null"); if ((heap->full_count() == 0) || print) { // Not yet reported for this heap, report if (SegmentedCodeCache) { ! ResourceMark rm; ! stringStream msg1_stream, msg2_stream; ! msg1_stream.print("%s is full. Compiler has been disabled.", ! get_code_heap_name(code_blob_type)); ! msg2_stream.print("Try increasing the code heap size using -XX:%s=", ! get_code_heap_flag_name(code_blob_type)); ! const char *msg1 = msg1_stream.as_string(); ! const char *msg2 = msg2_stream.as_string(); ! ! log_warning(codecache)(msg1); ! log_warning(codecache)(msg2); ! warning(msg1); ! warning(msg2); } else { ! const char *msg1 = "CodeCache is full. Compiler has been disabled."; ! const char *msg2 = "Try increasing the code cache size using -XX:ReservedCodeCacheSize="; ! ! log_warning(codecache)(msg1); ! log_warning(codecache)(msg2); ! warning(msg1); ! warning(msg2); } ResourceMark rm; stringStream s; // Dump code cache into a buffer before locking the tty, {
*** 1349,1358 **** --- 1367,1377 ---- event.set_unallocatedCapacity(heap->unallocated_capacity()); event.set_fullCount(heap->full_count()); event.commit(); } } + PRAGMA_DIAG_POP void CodeCache::print_memory_overhead() { size_t wasted_bytes = 0; FOR_ALL_NMETHOD_HEAPS(heap) { CodeHeap* curr_heap = *heap;
< prev index next >