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