Request for review (S): 7169062 CMS: Assertion failed with -XX:+ObjectAlignmentInBytes=64

Bengt Rutisson bengt.rutisson at oracle.com
Thu May 17 20:25:39 UTC 2012


Hi all,

Can I have a couple of reviews for this change?
http://cr.openjdk.java.net/~brutisso/7169062/webrev.00/

Background
In CompactibleFreeListSpace::check_free_list_consistency() there were 
some asserts to verify that the instance variables IndexSetStart, 
IndexSetStart and IndexSetSize were set up correctly. These asserts were 
too strong and did not handle different object alignments. The asserts 
are also not necessary to do everytime we call 
check_free_list_consistency(). It makes more sense to only check it when 
we updated the values in CompactibleFreeListSpace::set_cms_values().

I replaced the asserts in check_free_list_consistency() with two asserts 
to verify that have set the values up at all. Instead I intended to add 
some asserts to set_cms_values(), but after simplifying (at least in my 
mind) the calculations there I don't think any asserts are needed. 
Thanks Stefan for helping out with the setup code.


Testing
Ran 64 bit VM with an assert comparing the old calculation of 
MinChunkSize with the new one. Tried all values of  
ObjectAlignmentInBytes (8, 16, 32, 64, 128 and 256). Also ran the 32 bit 
VM with the assert that compared old and new value in place.

Ran JPRT (the Stockholm queue :-) ).

Coding Style
The instance variables IndexSetStride and IndexSetStart should probably 
be _index_set_stride and _index_set_start. I'll try to keep my change 
small, so I would like to avoid changing naming style etc right now.



More information about the hotspot-gc-dev mailing list