src/share/vm/code/codeCache.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/code

src/share/vm/code/codeCache.cpp

Print this page
rev 7312 : 8059624: Test task: WhiteBox API for testing segmented codecache feature
Reviewed-by:


 288   // Check if heap is needed
 289   if (!heap_available(code_blob_type)) {
 290     return;
 291   }
 292 
 293   // Create CodeHeap
 294   CodeHeap* heap = new CodeHeap(name, code_blob_type);
 295   _heaps->append(heap);
 296 
 297   // Reserve Space
 298   size_initial = round_to(size_initial, os::vm_page_size());
 299 
 300   if (!heap->reserve(rs, size_initial, CodeCacheSegmentSize)) {
 301     vm_exit_during_initialization("Could not reserve enough space for code cache");
 302   }
 303 
 304   // Register the CodeHeap
 305   MemoryService::add_code_heap_memory_pool(heap, name);
 306 }
 307 
 308 CodeHeap* CodeCache::get_code_heap(CodeBlob* cb) {
 309   assert(cb != NULL, "CodeBlob is null");
 310   FOR_ALL_HEAPS(heap) {
 311     if ((*heap)->contains(cb)) {
 312       return *heap;
 313     }
 314   }
 315   ShouldNotReachHere();
 316   return NULL;
 317 }
 318 
 319 CodeHeap* CodeCache::get_code_heap(int code_blob_type) {
 320   FOR_ALL_HEAPS(heap) {
 321     if ((*heap)->accepts(code_blob_type)) {
 322       return *heap;
 323     }
 324   }
 325   return NULL;
 326 }
 327 
 328 CodeBlob* CodeCache::first_blob(CodeHeap* heap) {




 288   // Check if heap is needed
 289   if (!heap_available(code_blob_type)) {
 290     return;
 291   }
 292 
 293   // Create CodeHeap
 294   CodeHeap* heap = new CodeHeap(name, code_blob_type);
 295   _heaps->append(heap);
 296 
 297   // Reserve Space
 298   size_initial = round_to(size_initial, os::vm_page_size());
 299 
 300   if (!heap->reserve(rs, size_initial, CodeCacheSegmentSize)) {
 301     vm_exit_during_initialization("Could not reserve enough space for code cache");
 302   }
 303 
 304   // Register the CodeHeap
 305   MemoryService::add_code_heap_memory_pool(heap, name);
 306 }
 307 
 308 CodeHeap* CodeCache::get_code_heap(const CodeBlob* cb) {
 309   assert(cb != NULL, "CodeBlob is null");
 310   FOR_ALL_HEAPS(heap) {
 311     if ((*heap)->contains(cb)) {
 312       return *heap;
 313     }
 314   }
 315   ShouldNotReachHere();
 316   return NULL;
 317 }
 318 
 319 CodeHeap* CodeCache::get_code_heap(int code_blob_type) {
 320   FOR_ALL_HEAPS(heap) {
 321     if ((*heap)->accepts(code_blob_type)) {
 322       return *heap;
 323     }
 324   }
 325   return NULL;
 326 }
 327 
 328 CodeBlob* CodeCache::first_blob(CodeHeap* heap) {


src/share/vm/code/codeCache.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File