8059390: code cache fills up for bigapps/Weblogic+medrec/nowarnings

Retrieve code heap in CodeCache::allocate(), ::report_codemem_full(), and ::unallocated_capacity()  also if segmented code cache is disabled.

Reviewed-by: vlivanov, thartmann
This commit is contained in:
Zoltan Majo 2014-10-01 10:01:46 +02:00
parent ea755702aa
commit 72eb3f0643
3 changed files with 13 additions and 8 deletions

View file

@ -100,7 +100,7 @@ class CodeCache : AllStatic {
static void add_heap(ReservedSpace rs, const char* name, size_t size_initial, int code_blob_type);
static CodeHeap* get_code_heap(CodeBlob* cb); // Returns the CodeHeap for the given CodeBlob
static CodeHeap* get_code_heap(int code_blob_type); // Returns the CodeHeap for the given CodeBlobType
static bool heap_available(int code_blob_type); // Returns true if a CodeHeap for the given CodeBlobType is available
static bool heap_available(int code_blob_type); // Returns true if an own CodeHeap for the given CodeBlobType is available
static ReservedCodeSpace reserve_heap_memory(size_t size); // Reserves one continuous chunk of memory for the CodeHeaps
// Iteration
@ -175,11 +175,9 @@ class CodeCache : AllStatic {
static address high_bound() { return _high_bound; }
// Profiling
static size_t capacity(int code_blob_type) { return heap_available(code_blob_type) ? get_code_heap(code_blob_type)->capacity() : 0; }
static size_t capacity();
static size_t unallocated_capacity(int code_blob_type) { return heap_available(code_blob_type) ? get_code_heap(code_blob_type)->unallocated_capacity() : 0; }
static size_t unallocated_capacity(int code_blob_type);
static size_t unallocated_capacity();
static size_t max_capacity(int code_blob_type) { return heap_available(code_blob_type) ? get_code_heap(code_blob_type)->max_capacity() : 0; }
static size_t max_capacity();
static bool is_full(int* code_blob_type);