Skip to content

Commit 887cda1

Browse files
use the allocate_unsafe to not repeat code
1 parent 61fe4e1 commit 887cda1

1 file changed

Lines changed: 1 addition & 15 deletions

File tree

MemoryPool.cpp

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -65,21 +65,7 @@ void CPPShift::Memory::MemoryPoolManager::createMemoryBlock(MemoryPool* mp, size
6565
void* CPPShift::Memory::MemoryPoolManager::allocate(MemoryPool* mp, size_t size)
6666
{
6767
if (mp == NULL) return nullptr;
68-
69-
// If there is enough space in current block then use the current block
70-
if (size + sizeof(SMemoryUnitHeader) < mp->currentBlock->blockSize - mp->currentBlock->offset);
71-
// Create new block if not enough space
72-
else if (size + sizeof(SMemoryUnitHeader) >= mp->defaultBlockSize) createMemoryBlock(mp, size + sizeof(SMemoryUnitHeader));
73-
else createMemoryBlock(mp, mp->defaultBlockSize);
74-
75-
// Add unit
76-
SMemoryUnitHeader* unit = reinterpret_cast<SMemoryUnitHeader*>(reinterpret_cast<char*>(mp->currentBlock) + sizeof(SMemoryBlockHeader) + mp->currentBlock->offset);
77-
unit->length = size;
78-
unit->container = mp->currentBlock;
79-
mp->currentBlock->numberOfAllocated++;
80-
mp->currentBlock->offset += sizeof(SMemoryUnitHeader) + size;
81-
82-
return reinterpret_cast<char*>(unit) + sizeof(SMemoryUnitHeader);
68+
return allocate_unsafe(mp, size);
8369
}
8470

8571
void* CPPShift::Memory::MemoryPoolManager::allocate_unsafe(MemoryPool* mp, size_t size)

0 commit comments

Comments
 (0)