RFR (S) 8016903 - Thread::_handle_area initial size too big
Ioi Lam
ioi.lam at oracle.com
Sun Jul 7 23:40:40 PDT 2013
David,
I searched for these:
[1] subclasses of Arena (only 2 classes: HandleArea and ResourceArea,
from the output ofgcc -fdump-class-hierarchy).
[2] All source code lines that matchthese patterns
new.*Arena
new.*HandleArea
new.*ResourceArea
new.*Chunk
Arena[ \t]*[(].+[)]
and I can't find anything that would use a size that would exactly match
the newly added Chunk::tiny_size. So I think nothing else would use the
new tiny Chunk pool.
(And even if such allocation sites had existed, what harm would have
been caused?)
I'll fix the comment as you suggested.
Thanks
- Ioi
On 07/07/2013 06:31 PM, David Holmes wrote:
> Hi Ioi,
>
> On 6/07/2013 12:54 AM, Ioi Lam wrote:
>> |Please review a small fix:||
>
> This is may not be so small! You haven't just changed the size of the
> _handle_area but have added a new Chunk pool. So if there are other
> allocation sites that were using "tiny" values these will now use the
> new Tiny pool. If there are no such uses then fine. Have you
> determined if any other allocation sites will use the new Tiny pool?
>
> This comment will need fixing:
>
> 239 // Our three static pools
>
> as there are four pools now.
>
> Thanks,
> David
>
>> ||
>> ||http://cr.openjdk.java.net/~iklam/8016903/reduce_handle_area_002/||
>> ||
>> ||Bug: Thread::_handle_area initial size too big||
>> ||
>> ||http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8016903||
>> ||https://jbs.oracle.com/bugs/browse/JDK-8016903||
>> ||
>> ||Summary of fix:||
>> ||
>> || I have reduced the Thread::_handle_area from 1KB to 256 bytes
>> (which can now ||
>> || hold 27 handles on 64-bit VM before we need to allocate an extra
>> chunk).||
>> ||
>> || Traces in Eclipse start-up showed that about 1.5% of calls to
>> HandleMark::~HandleMark()||
>> || would pop an extra chunk.||
>> ||
>> || I ran refworkload and there are no significant performance
>> differences.||
>> ||
>> ||Tests:||
>> ||
>> || JPRT||
>> || UTE (vm.runtime.testlist, vm.quick.testlist,
>> vm.parallel_class_loading.testlist)||
>> || refworkload||
>> ||
>> ||Thanks||
>> ||- Ioi||
>> ||
>> |
More information about the hotspot-runtime-dev
mailing list