Home | History | Annotate | Download | only in src

Lines Matching refs:PreallocatedStorage

104 PreallocatedStorage PreallocatedStorage::in_use_list_(0);
105 PreallocatedStorage PreallocatedStorage::free_list_(0);
106 bool PreallocatedStorage::preallocated_ = false;
109 void PreallocatedStorage::Init(size_t size) {
112 PreallocatedStorage* free_chunk =
113 reinterpret_cast<PreallocatedStorage*>(new char[size]);
116 free_chunk->size_ = size - sizeof(PreallocatedStorage);
121 void* PreallocatedStorage::New(size_t size) {
129 for (PreallocatedStorage* storage = free_list_.next_;
139 for (PreallocatedStorage* storage = free_list_.next_;
142 if (storage->size_ >= size + sizeof(PreallocatedStorage)) {
145 PreallocatedStorage* left_over =
146 reinterpret_cast<PreallocatedStorage*>(
148 left_over->size_ = storage->size_ - size - sizeof(PreallocatedStorage);
149 ASSERT(size + left_over->size_ + sizeof(PreallocatedStorage) ==
163 void PreallocatedStorage::Delete(void* p) {
171 PreallocatedStorage* storage = reinterpret_cast<PreallocatedStorage*>(p) - 1;
179 void PreallocatedStorage::LinkTo(PreallocatedStorage* other) {
187 void PreallocatedStorage::Unlink() {
193 PreallocatedStorage::PreallocatedStorage(size_t size)