|
gem5 [DEVELOP-FOR-25.0]
|
#include <free_list.hh>
Classes | |
| struct | Range |
Public Member Functions | |
| FreeList ()=default | |
| FreeList (T base, T size) | |
| void | insert (T base, T size) |
| Mark the range [base, base + size) as free. | |
| std::optional< T > | allocate (T size) |
| Allocate a region of size. | |
| T | size () const |
| Return the number of free items. | |
| const RangeList & | ranges () const |
| Return a list of free ranges. | |
Private Types | |
| using | RangeList = std::list<Range> |
Private Attributes | |
| RangeList | _ranges |
| T | _size = 0 |
Definition at line 44 of file free_list.hh.
|
private |
Definition at line 90 of file free_list.hh.
|
default |
|
inline |
Definition at line 84 of file free_list.hh.
References gem5::RiscvISA::base, insert(), and size().
|
inline |
Allocate a region of size.
| size | out of free space. |
Definition at line 146 of file free_list.hh.
References _ranges, _size, gem5::RiscvISA::base, and size().
|
inline |
Mark the range [base, base + size) as free.
Definition at line 98 of file free_list.hh.
References _ranges, _size, gem5::RiscvISA::base, panic_if, and size().
Referenced by FreeList().
|
inline |
|
inline |
Return the number of free items.
Definition at line 179 of file free_list.hh.
References _size.
Referenced by allocate(), FreeList(), and insert().
|
private |
Definition at line 91 of file free_list.hh.
Referenced by allocate(), insert(), and ranges().
|
private |
Definition at line 92 of file free_list.hh.
Referenced by allocate(), insert(), and size().