< prev index next >

src/share/vm/gc/cms/compactibleFreeListSpace.cpp

Print this page

        

*** 1200,1210 **** assert(linearAllocationWouldFail() || bestFitFirst(), "Should not be here"); size_t i; size_t currSize = numWords + MinChunkSize; ! assert(currSize % MinObjAlignment == 0, "currSize should be aligned"); for (i = currSize; i < IndexSetSize; i += IndexSetStride) { AdaptiveFreeList<FreeChunk>* fl = &_indexedFreeList[i]; if (fl->head()) { ret = getFromListGreater(fl, numWords); assert(ret == NULL || ret->is_free(), "Should be returning a free chunk"); --- 1200,1210 ---- assert(linearAllocationWouldFail() || bestFitFirst(), "Should not be here"); size_t i; size_t currSize = numWords + MinChunkSize; ! assert((currSize & MinObjAlignmentMask) == 0, "currSize should be aligned"); for (i = currSize; i < IndexSetSize; i += IndexSetStride) { AdaptiveFreeList<FreeChunk>* fl = &_indexedFreeList[i]; if (fl->head()) { ret = getFromListGreater(fl, numWords); assert(ret == NULL || ret->is_free(), "Should be returning a free chunk");
*** 1731,1741 **** size_t start = align_object_size(numWords + MinChunkSize); if (start < IndexSetSize) { AdaptiveFreeList<FreeChunk>* it = _indexedFreeList; size_t hint = _indexedFreeList[start].hint(); while (hint < IndexSetSize) { ! assert(hint % MinObjAlignment == 0, "hint should be aligned"); AdaptiveFreeList<FreeChunk> *fl = &_indexedFreeList[hint]; if (fl->surplus() > 0 && fl->head() != NULL) { // Found a list with surplus, reset original hint // and split out a free chunk which is returned. _indexedFreeList[start].set_hint(hint); --- 1731,1741 ---- size_t start = align_object_size(numWords + MinChunkSize); if (start < IndexSetSize) { AdaptiveFreeList<FreeChunk>* it = _indexedFreeList; size_t hint = _indexedFreeList[start].hint(); while (hint < IndexSetSize) { ! assert((hint & MinObjAlignmentMask) == 0, "hint should be aligned"); AdaptiveFreeList<FreeChunk> *fl = &_indexedFreeList[hint]; if (fl->surplus() > 0 && fl->head() != NULL) { // Found a list with surplus, reset original hint // and split out a free chunk which is returned. _indexedFreeList[start].set_hint(hint);
< prev index next >