< prev index next >
src/hotspot/share/gc/shared/genCollectedHeap.cpp
Print this page
rev 49945 : imported patch 8191471-g1-varying-tlab-allocation
rev 49949 : imported patch 8191471-tschatzl-comments-open
rev 49950 : [mq]: 8191471-pliden-comments
*** 1144,1158 ****
return _young_gen->unsafe_max_tlab_alloc();
}
return 0;
}
! HeapWord* GenCollectedHeap::allocate_new_tlab(size_t size) {
bool gc_overhead_limit_was_exceeded;
! return mem_allocate_work(size /* size */,
true /* is_tlab */,
&gc_overhead_limit_was_exceeded);
}
// Requires "*prev_ptr" to be non-NULL. Deletes and a block of minimal size
// from the list headed by "*prev_ptr".
static ScratchBlock *removeSmallestScratch(ScratchBlock **prev_ptr) {
--- 1144,1165 ----
return _young_gen->unsafe_max_tlab_alloc();
}
return 0;
}
! HeapWord* GenCollectedHeap::allocate_new_tlab(size_t min_size,
! size_t requested_size,
! size_t* actual_size) {
bool gc_overhead_limit_was_exceeded;
! HeapWord* result = mem_allocate_work(requested_size /* size */,
true /* is_tlab */,
&gc_overhead_limit_was_exceeded);
+ if (result != NULL) {
+ *actual_size = requested_size;
+ }
+
+ return result;
}
// Requires "*prev_ptr" to be non-NULL. Deletes and a block of minimal size
// from the list headed by "*prev_ptr".
static ScratchBlock *removeSmallestScratch(ScratchBlock **prev_ptr) {
< prev index next >