The CompactibleFreeListSpace::_indexedFreeList is set up with 257 entries. The intent was to use 128 of these on both 32 and 64 bit platforms.
We index this table using IndexSetStart and IndexSetStride. These are set up in CompactibleFreeListSpace::set_cms_values() like this:
IndexSetStart = MinChunkSize;
IndexSetStride = MinObjAlignment;
Both MinChunkSize and MinObjAlignment will vary depending on the object alignment that we use. This means that we might use much less than 128 entries in _indexedFreeList. It has been this way for two years and it is not sure that it is a problem. With larger object alignments we will use fewer entries, but more objects will match the entries we use.
We should investigate how this works and figure out if we need to do any changes.
We index this table using IndexSetStart and IndexSetStride. These are set up in CompactibleFreeListSpace::set_cms_values() like this:
IndexSetStart = MinChunkSize;
IndexSetStride = MinObjAlignment;
Both MinChunkSize and MinObjAlignment will vary depending on the object alignment that we use. This means that we might use much less than 128 entries in _indexedFreeList. It has been this way for two years and it is not sure that it is a problem. With larger object alignments we will use fewer entries, but more objects will match the entries we use.
We should investigate how this works and figure out if we need to do any changes.