File tree Expand file tree Collapse file tree 2 files changed +13
-7
lines changed
Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -297,17 +297,22 @@ SlicePool::FindNonFullArea() noexcept
297297 return nullptr ;
298298}
299299
300+ inline SliceArea &
301+ SlicePool::CreateArea () noexcept
302+ {
303+ auto *area = SliceArea::New (*this );
304+ area->ForkCow (fork_cow);
305+ empty_areas.push_front (*area);
306+ return *area;
307+ }
308+
300309inline SliceArea &
301310SlicePool::MakeNonFullArea () noexcept
302311{
303- SliceArea *area = FindNonFullArea ();
304- if (area == nullptr ) {
305- area = SliceArea::New (*this );
306- area->ForkCow (fork_cow);
307- empty_areas.push_front (*area);
308- }
312+ if (SliceArea *area = FindNonFullArea ())
313+ return *area;
309314
310- return *area ;
315+ return CreateArea () ;
311316}
312317
313318inline void *
Original file line number Diff line number Diff line change @@ -90,5 +90,6 @@ private:
9090 [[gnu::pure]]
9191 SliceArea *FindNonFullArea () noexcept ;
9292
93+ SliceArea &CreateArea () noexcept ;
9394 SliceArea &MakeNonFullArea () noexcept ;
9495};
You can’t perform that action at this time.
0 commit comments