You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
feat(): propagated changes into SLTPoolAllocator and friends
This commit is contained in:
@ -21,21 +21,13 @@
|
||||
******************************************************************************************/
|
||||
|
||||
// This is one of the first files we compile, check the compiler...
|
||||
#if defined(__GNUC__)
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 1)
|
||||
#error "This is a very old GCC, and it's probably not going to work."
|
||||
#endif
|
||||
#else
|
||||
#error "This compiler is not known and it's probably not going to work."
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
|
||||
#define FIXEDALLOCATOR_DLLEXPORT
|
||||
#include "fixedallocator.h"
|
||||
#undef FIXEDALLOCATOR_DLLEXPORT
|
||||
|
||||
#include <boost/smart_ptr/allocate_shared_array.hpp>
|
||||
#include <boost/smart_ptr/make_shared_array.hpp>
|
||||
|
||||
|
||||
using namespace std;
|
||||
|
||||
@ -75,15 +67,24 @@ void FixedAllocator::setAllocSize(uint allocSize)
|
||||
|
||||
void FixedAllocator::newBlock()
|
||||
{
|
||||
std::shared_ptr<uint8_t[]> next;
|
||||
// boost::shared_ptr<FixedAllocatorBufType> next;
|
||||
|
||||
capacityRemaining = elementCount * elementSize;
|
||||
|
||||
if (!tmpSpace || mem.size() == 0)
|
||||
{
|
||||
next.reset(new uint8_t[elementCount * elementSize]);
|
||||
mem.push_back(next);
|
||||
nextAlloc = next.get();
|
||||
if (alloc)
|
||||
{
|
||||
mem.emplace_back(boost::allocate_shared<FixedAllocatorBufType>(*alloc, elementCount * elementSize));
|
||||
}
|
||||
else
|
||||
{
|
||||
mem.emplace_back(boost::make_shared<FixedAllocatorBufType>(elementCount * elementSize));
|
||||
}
|
||||
// next.reset(new uint8_t[elementCount * elementSize]);
|
||||
// mem.push_back(next);
|
||||
// nextAlloc = next.get();
|
||||
nextAlloc = mem.back().get();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user