Blocks :
|
|
Relates :
|
|
Relates :
|
Investigation in JDK-8030849 showed that there is a very large amount of wasted memory when allocating PLABs due to the region end being a hard boundary and the PLAB size not flexible. E.g. if you want to allocate a PLAB of size 20k (to allocate regular sized objects), but there is only 19k left, the current allocation algorithm simply skips to the next region. Fix this by allowing the allocator to return smaller (but large enough to fit the allocation) PLABs in this case.
|