Request for Review (s) - 8014862:Add fast Metasapce capacity and used per MetadataType

Stefan Karlsson stefan.karlsson at oracle.com
Mon May 20 18:50:46 UTC 2013


On 20 maj 2013, at 17:56, Jon Masamitsu <jon.masamitsu at oracle.com> wrote:

> Stefan,
> 
> Thanks for the review.
> 
> On 5/20/13 2:10 AM, Stefan Karlsson wrote:
>> On 05/20/2013 07:40 AM, Jon Masamitsu wrote:
>>> This fix calculates the running sums for allocated capacity and
>>> allocated used in MetaspaceAux to be  per MetaspaceType instead of
>>> the sum of both types.
>>> 
>>> http://cr.openjdk.java.net/~jmasa/8014862/webrev.00/
>> 
>> I think this split looks mostly good. I have a few comments.
>> 
>> http://cr.openjdk.java.net/~jmasa/8014862/webrev.00/src/share/vm/memory/metaspace.cpp.frames.html 
>> 
>> 2497     err_msg("About to decrement below 0: words " SIZE_FORMAT
>> 2498             " is greater than _allocated_capacity_words[%u] " SIZE_FORMAT,
>> 2499             mdtype, words, allocated_capacity_words(mdtype)));
>> 
>> I think the order of mdtypes and words is wrong.
> 
> Agreed.  Fixed.
> 
>> 
>> 
>> 2511     err_msg("About to decrement below 0: words " SIZE_FORMAT
>> 2512             " is greater than _allocated_used_words " SIZE_FORMAT,
>> 2513             words, allocated_used_words(mdtype)));
>> 
>> This err_msg line doesn't say what mdtype is (like you do in the err_msg above).
>> 
>> 2630 // The calls to capacity_bytes_slow() and used_bytes_slow() cause
>> 2631 // lock ordering assertion failures with some collectors.  Do
>> 2632 // not include this code until the lock ordering is fixed.
>> 
>> This comment should be removed.
> 
> Done.
> 
>> 
>> 
>> http://cr.openjdk.java.net/~jmasa/8014862/webrev.00/src/share/vm/memory/metaspace.hpp.patch 
>> 
>> -  enum MetadataType {ClassType, NonClassType};
>> +  enum MetadataType {ClassType = 0,
>> +             NonClassType = ClassType + 1,
>> +             ClassTypeCount = ClassType + 2
>> +  };
>> 
>> Is there a reason why you had to explicitly enumerate the values here?
> 
> I understood that compilers are allowed to assign any distinct values to
> the enums.   So here I make sure they are consecutive.

I doubt this is true. If this is the case then we have a lot of potential bugs in the code.

StefanK

> 
>> 
>> ClassTypeCount doesn't seem to be an appropriate name. Maybe use MetadataTypeCount instead?
> 
> Using MetadataTypeCount now
> 
> Jon
> 
>> 
>> thanks,
>> StefanK
> 



More information about the hotspot-gc-dev mailing list