in src/common/garbage_list.h [126:148]
virtual Status Initialize(EpochManager* epoch_manager,
size_t item_count = 128 * 1024) {
if(epoch_manager_) return Status::OK();
if(!epoch_manager) return Status::InvalidArgument("Null pointer");
if(!item_count || !IS_POWER_OF_TWO(item_count)) {
return Status::InvalidArgument("items not a power of two");
}
size_t nItemArraySize = sizeof(*items_) * item_count;
posix_memalign((void **)&items_, 64, nItemArraySize);
if (!items_)
return Status::Corruption("Out of memory");
for(size_t i = 0; i < item_count; ++i) new(&items_[i]) Item{};
item_count_ = item_count;
tail_ = 0;
epoch_manager_ = epoch_manager;
return Status::OK();
}