MM_HeapRegionDescriptor * MM_HeapRegionManagerTarok::internalAcquireSingleTableRegion(MM_EnvironmentBase *env, MM_MemorySubSpace *subSpace, uintptr_t freeListIndex) { Assert_MM_true(NULL != _freeRegionTable[freeListIndex]); /*since we only need one region, always return the first free region */ MM_HeapRegionDescriptor *toReturn = _freeRegionTable[freeListIndex]; _freeRegionTable[freeListIndex] = toReturn->_nextInSet; toReturn->_nextInSet = NULL; toReturn->_isAllocated = true; toReturn->associateWithSubSpace(subSpace); _totalHeapSize += toReturn->getSize(); return toReturn; }