Skip to content

Commit eabea22

Browse files
committed
memory/SlicePool: move code to CreateArea()
1 parent 1fb01df commit eabea22

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

src/memory/SlicePool.cxx

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff 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+
300309
inline SliceArea &
301310
SlicePool::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

313318
inline void *

src/memory/SlicePool.hxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,5 +90,6 @@ private:
9090
[[gnu::pure]]
9191
SliceArea *FindNonFullArea() noexcept;
9292

93+
SliceArea &CreateArea() noexcept;
9394
SliceArea &MakeNonFullArea() noexcept;
9495
};

0 commit comments

Comments
 (0)