gem5 v24.0.0.0
|
Free list for a single class of registers (e.g., integer or floating point). More...
#include <free_list.hh>
Public Member Functions | |
SimpleFreeList () | |
void | addReg (PhysRegIdPtr reg) |
Add a physical register to the free list. | |
template<class InputIt > | |
void | addRegs (InputIt first, InputIt last) |
Add physical registers to the free list. | |
PhysRegIdPtr | getReg () |
Get the next available register from the free list. | |
unsigned | numFreeRegs () const |
Return the number of free registers on the list. | |
bool | hasFreeRegs () const |
True iff there are free registers on the list. | |
Private Attributes | |
std::queue< PhysRegIdPtr > | freeRegs |
The actual free list. | |
Free list for a single class of registers (e.g., integer or floating point).
Because the register class is implicitly determined by the rename map instance being accessed, all architectural register index parameters and values in this class are relative (e.g., fp2 is just index 2).
Definition at line 71 of file free_list.hh.
|
inline |
Definition at line 80 of file free_list.hh.
|
inline |
Add a physical register to the free list.
Definition at line 83 of file free_list.hh.
References freeRegs, and gem5::X86ISA::reg.
|
inline |
Add physical registers to the free list.
Definition at line 88 of file free_list.hh.
References freeRegs, and gem5::X86ISA::reg.
|
inline |
Get the next available register from the free list.
Definition at line 95 of file free_list.hh.
References freeRegs.
Referenced by gem5::o3::SimpleRenameMap::rename().
|
inline |
True iff there are free registers on the list.
Definition at line 107 of file free_list.hh.
References freeRegs.
|
inline |
Return the number of free registers on the list.
Definition at line 104 of file free_list.hh.
References freeRegs.
Referenced by gem5::o3::SimpleRenameMap::numFreeEntries().
|
private |
The actual free list.
Definition at line 76 of file free_list.hh.
Referenced by addReg(), addRegs(), getReg(), hasFreeRegs(), and numFreeRegs().