src/share/vm/code/codeBlob.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/code/codeBlob.cpp	Fri Oct 11 15:44:35 2013
--- new/src/share/vm/code/codeBlob.cpp	Fri Oct 11 15:44:35 2013

*** 242,263 **** --- 242,260 ---- MemoryService::track_code_cache_memory_usage(); return blob; } void* BufferBlob::operator new(size_t s, unsigned size) throw() { ! void* p = CodeCache::allocate(size); return p; ! return CodeCache::allocate(size, CodeBlobType::NonMethod); } void BufferBlob::free( BufferBlob *blob ) { + void BufferBlob::free(BufferBlob *blob) { ThreadInVMfromUnknown __tiv; // get to VM state in case we block on CodeCache_lock { MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag); ! CodeCache::free((CodeBlob*)blob, CodeBlobType::NonMethod); } // Track memory usage statistic after releasing CodeCache_lock MemoryService::track_code_cache_memory_usage(); }
*** 305,315 **** --- 302,311 ---- MemoryService::track_code_cache_memory_usage(); return blob; } //---------------------------------------------------------------------------------------------------- // Implementation of RuntimeStub RuntimeStub::RuntimeStub( const char* name,
*** 346,363 **** --- 342,359 ---- return stub; } void* RuntimeStub::operator new(size_t s, unsigned size) throw() { ! void* p = CodeCache::allocate(size, CodeBlobType::NonMethod, true); if (!p) fatal("Initial size of CodeCache is too small"); return p; } // operator new shared by all singletons: void* SingletonBlob::operator new(size_t s, unsigned size) throw() { ! void* p = CodeCache::allocate(size, CodeBlobType::NonMethod, true); if (!p) fatal("Initial size of CodeCache is too small"); return p; }

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