< prev index next >
src/share/vm/code/codeBlob.cpp
Print this page
rev 10504 : value type calling convention
*** 249,275 ****
}
// Track memory usage statistic after releasing CodeCache_lock
MemoryService::track_code_cache_memory_usage();
}
//----------------------------------------------------------------------------------------------------
// Implementation of AdapterBlob
! AdapterBlob::AdapterBlob(int size, CodeBuffer* cb) :
! BufferBlob("I2C/C2I adapters", size, cb) {
CodeCache::commit(this);
}
! AdapterBlob* AdapterBlob::create(CodeBuffer* cb) {
ThreadInVMfromUnknown __tiv; // get to VM state in case we block on CodeCache_lock
AdapterBlob* blob = NULL;
unsigned int size = allocation_size(cb, sizeof(AdapterBlob));
{
MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
! blob = new (size) AdapterBlob(size, cb);
}
// Track memory usage statistic after releasing CodeCache_lock
MemoryService::track_code_cache_memory_usage();
return blob;
--- 249,279 ----
}
// Track memory usage statistic after releasing CodeCache_lock
MemoryService::track_code_cache_memory_usage();
}
+ BufferBlob::BufferBlob(const char* name, int size, CodeBuffer* cb, int frame_complete, int frame_size, OopMapSet* oop_maps)
+ : CodeBlob(name, cb, sizeof(BufferBlob), size, frame_complete, frame_size, oop_maps)
+ {}
+
//----------------------------------------------------------------------------------------------------
// Implementation of AdapterBlob
! AdapterBlob::AdapterBlob(int size, CodeBuffer* cb, int frame_complete, int frame_size, OopMapSet* oop_maps) :
! BufferBlob("I2C/C2I adapters", size, cb, frame_complete, frame_size, oop_maps) {
CodeCache::commit(this);
}
! AdapterBlob* AdapterBlob::create(CodeBuffer* cb, int frame_complete, int frame_size, OopMapSet* oop_maps) {
ThreadInVMfromUnknown __tiv; // get to VM state in case we block on CodeCache_lock
AdapterBlob* blob = NULL;
unsigned int size = allocation_size(cb, sizeof(AdapterBlob));
{
MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
! blob = new (size) AdapterBlob(size, cb, frame_complete, frame_size, oop_maps);
}
// Track memory usage statistic after releasing CodeCache_lock
MemoryService::track_code_cache_memory_usage();
return blob;
< prev index next >