| 
    gem5
    
   | 
 
Return address stack class, implements a simple RAS. More...
#include <ras.hh>
Public Member Functions | |
| ReturnAddrStack () | |
| Creates a return address stack, but init() must be called prior to use.  More... | |
| void | init (unsigned numEntries) | 
| Initializes RAS with a specified number of entries.  More... | |
| void | reset () | 
| TheISA::PCState | top () | 
| Returns the top address on the RAS.  More... | |
| unsigned | topIdx () | 
| Returns the index of the top of the RAS.  More... | |
| void | push (const TheISA::PCState &return_addr) | 
| Pushes an address onto the RAS.  More... | |
| void | pop () | 
| Pops the top address from the RAS.  More... | |
| void | restore (unsigned top_entry_idx, const TheISA::PCState &restored) | 
| Changes index to the top of the RAS, and replaces the top address with a new target.  More... | |
| bool | empty () | 
| bool | full () | 
Private Member Functions | |
| void | incrTos () | 
| Increments the top of stack index.  More... | |
| void | decrTos () | 
| Decrements the top of stack index.  More... | |
Private Attributes | |
| std::vector< TheISA::PCState > | addrStack | 
| The RAS itself.  More... | |
| unsigned | numEntries | 
| The number of entries in the RAS.  More... | |
| unsigned | usedEntries | 
| The number of used entries in the RAS.  More... | |
| unsigned | tos | 
| The top of stack index.  More... | |
      
  | 
  inline | 
      
  | 
  inlineprivate | 
Decrements the top of stack index.
Definition at line 86 of file ras.hh.
References numEntries, and tos.
Referenced by pop().
      
  | 
  inline | 
Definition at line 77 of file ras.hh.
References usedEntries.
      
  | 
  inline | 
Definition at line 79 of file ras.hh.
References numEntries, and usedEntries.
      
  | 
  inlineprivate | 
Increments the top of stack index.
Definition at line 82 of file ras.hh.
References numEntries, and tos.
Referenced by push().
| void ReturnAddrStack::init | ( | unsigned | numEntries | ) | 
Initializes RAS with a specified number of entries.
| numEntries | Number of entries in the RAS. | 
Definition at line 34 of file ras.cc.
References addrStack, numEntries, and reset().
| void ReturnAddrStack::pop | ( | ) | 
Pops the top address from the RAS.
Definition at line 63 of file ras.cc.
References decrTos(), and usedEntries.
| void ReturnAddrStack::push | ( | const TheISA::PCState & | return_addr | ) | 
Pushes an address onto the RAS.
Definition at line 51 of file ras.cc.
References addrStack, incrTos(), numEntries, tos, and usedEntries.
| void ReturnAddrStack::reset | ( | ) | 
Definition at line 42 of file ras.cc.
References addrStack, ArmISA::i, numEntries, tos, and usedEntries.
Referenced by init().
| void ReturnAddrStack::restore | ( | unsigned | top_entry_idx, | 
| const TheISA::PCState & | restored | ||
| ) | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private |