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