RFR: 8015576: CMS: svc agent throws java.lang.RuntimeException: No type named "FreeList" in database
Poonam Bajaj
poonam.bajaj at oracle.com
Thu Jul 18 03:20:33 PDT 2013
Hi Vladimir,
The changes look good.
Thanks,
Poonam
On 7/15/2013 6:59 PM, Vladimir Kempik wrote:
> Can I have a couple of reviewers for this please ?
> This is urgent now, as ZBB for 7u40 is nearing.
>
> Thanks
> On 04.07.2013 18:50, Vladimir Kempik wrote:
>> Hi all,
>>
>> this change fixes an issue where we could not run jmap -heap on a
>> java process running with -XX:+UseConcMarkSweepGC.
>>
>> Partially (1 line) it's a backport of
>> http://bugs.sun.com/view_bug.do?bug_id=8005278 from jdk8
>>
>> The problem originated from the following change in hotspot:
>> changeset 3294:9f059abe8cf2
>> parent 3284:3c91f2c9fd21
>> 7131629: Generalize the CMS free list code
>>
>> ---
>> a/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp Fri
>> Apr 20 17:13:36 2012 -0700
>> +++
>> b/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp Thu
>> Mar 29 19:46:24 2012 -0700
>> @@ -44,11 +44,11 @@
>> nonstatic_field(FreeChunk, _next, FreeChunk*) \
>> nonstatic_field(FreeChunk, _prev, FreeChunk*) \
>> nonstatic_field(LinearAllocBlock, _word_size, size_t) \
>> - nonstatic_field(FreeList, _size, size_t) \
>> - nonstatic_field(FreeList, _count, ssize_t) \
>> - nonstatic_field(BinaryTreeDictionary, _totalSize, size_t) \
>> - nonstatic_field(CompactibleFreeListSpace, _dictionary,
>> FreeBlockDictionary*) \
>> - nonstatic_field(CompactibleFreeListSpace, _indexedFreeList[0],
>> FreeList) \
>> + nonstatic_field(FreeList<FreeChunk>, _size, size_t) \
>> + nonstatic_field(FreeList<FreeChunk>, _count, ssize_t) \
>> + nonstatic_field(BinaryTreeDictionary<FreeChunk>,_totalSize, size_t) \
>> + nonstatic_field(CompactibleFreeListSpace, _dictionary,
>> FreeBlockDictionary<FreeChunk>*) \
>> + nonstatic_field(CompactibleFreeListSpace, _indexedFreeList[0],
>> FreeList<FreeChunk>) \
>> nonstatic_field(CompactibleFreeListSpace, _smallLinearAllocBlock,
>> LinearAllocBlock)
>> @@ -70,13 +70,13 @@
>> declare_toplevel_type(CompactibleFreeListSpace*) \
>> declare_toplevel_type(CMSCollector*) \
>> declare_toplevel_type(FreeChunk*) \
>> - declare_toplevel_type(BinaryTreeDictionary*) \
>> - declare_toplevel_type(FreeBlockDictionary*) \
>> - declare_toplevel_type(FreeList*) \
>> - declare_toplevel_type(FreeList) \
>> + declare_toplevel_type(BinaryTreeDictionary<FreeChunk>*) \
>> + declare_toplevel_type(FreeBlockDictionary<FreeChunk>*) \
>> + declare_toplevel_type(FreeList<FreeChunk>*) \
>> + declare_toplevel_type(FreeList<FreeChunk>) \
>> declare_toplevel_type(LinearAllocBlock) \
>> - declare_toplevel_type(FreeBlockDictionary) \
>> - declare_type(BinaryTreeDictionary, FreeBlockDictionary)
>> + declare_toplevel_type(FreeBlockDictionary<FreeChunk>) \
>> + declare_type(BinaryTreeDictionary<FreeChunk>,
>> FreeBlockDictionary<FreeChunk>)
>> #define VM_INT_CONSTANTS_CMS(declare_constant) \
>> declare_constant(Generation::ConcurrentMarkSweep) \
>>
>>
>> This fix updates the SA code to be like the hotspot code.
>>
>> Webrev: http://cr.openjdk.java.net/~mcherkas/vladimir/8015576/webrev.00/
>>
>> Testing:
>> - JPRT
>> - Running jmap -heap successfully on a java process using
>> -XX:+UseConcMarkSweepGC
>>
>> Thanks,
>> Vladimir
>
More information about the serviceability-dev
mailing list