The Pedigree Project 0.1
Public Member Functions | Private Attributes | List of all members
TraceCommand::Disassembly Class Reference
+ Inheritance diagram for TraceCommand::Disassembly:
+ Collaboration diagram for TraceCommand::Disassembly:

Public Member Functions

 Disassembly (InterruptState &state)
 
const char * getLine1 (size_t index, DebuggerIO::Colour &colour, DebuggerIO::Colour &bgColour)
 
const char * getLine2 (size_t index, size_t &colOffset, DebuggerIO::Colour &colour, DebuggerIO::Colour &bgColour)
 
size_t getLineCount ()
 
- Public Member Functions inherited from Scrollable
void move (size_t x, size_t y)
 
void resize (size_t width, size_t height)
 
void scroll (ssize_t lines)
 
void scrollTo (size_t absolute)
 
void scrollHorizontal (ssize_t columns)
 
void horizontalScrollTo (size_t absolute)
 
void refresh (DebuggerIO *pScreen)
 
void setScrollKeys (char up, char down)
 
ssize_t getLine ()
 
void centreOn (size_t line)
 
size_t height () const
 
size_t width () const
 
virtual size_t getContentWidth ()
 

Private Attributes

size_t m_nInstructions
 
uintptr_t m_nFirstInstruction
 
uintptr_t m_nIp
 
size_t m_LastLine
 
uintptr_t m_LastInstructionLocation
 

Additional Inherited Members

- Protected Attributes inherited from Scrollable
size_t m_x
 
size_t m_y
 
size_t m_width
 
size_t m_height
 
ssize_t m_line
 
size_t m_column
 
char m_ScrollUp
 
char m_ScrollDown
 

Detailed Description

Definition at line 80 of file TraceCommand.h.

Constructor & Destructor Documentation

◆ Disassembly()

TraceCommand::Disassembly::Disassembly ( InterruptState &  state)

Definition at line 162 of file TraceCommand.cc.

◆ ~Disassembly()

TraceCommand::Disassembly::~Disassembly ( )
inline

Definition at line 83 of file TraceCommand.h.

Member Function Documentation

◆ getLine1()

const char * TraceCommand::Disassembly::getLine1 ( size_t  index,
DebuggerIO::Colour &  colour,
DebuggerIO::Colour &  bgColour 
)
virtual

Implements Scrollable.

Definition at line 194 of file TraceCommand.cc.

◆ getLine2()

const char * TraceCommand::Disassembly::getLine2 ( size_t  index,
size_t &  colOffset,
DebuggerIO::Colour &  colour,
DebuggerIO::Colour &  bgColour 
)
virtual

Implements Scrollable.

Definition at line 255 of file TraceCommand.cc.

◆ getLineCount()

size_t TraceCommand::Disassembly::getLineCount ( )
virtual

Implements Scrollable.

Definition at line 308 of file TraceCommand.cc.

Member Data Documentation

◆ m_LastInstructionLocation

uintptr_t TraceCommand::Disassembly::m_LastInstructionLocation
private

Definition at line 101 of file TraceCommand.h.

◆ m_LastLine

size_t TraceCommand::Disassembly::m_LastLine
private

These provide a useful speedup for the disassembly tracer. Because we have to essentially trawl a singly linked list from a known position (symbol start point) to get to any specific instruction, we keep this counter as the last line that was executed, and what the instruction location was for that line.

Definition at line 100 of file TraceCommand.h.

◆ m_nFirstInstruction

uintptr_t TraceCommand::Disassembly::m_nFirstInstruction
private

Definition at line 91 of file TraceCommand.h.

◆ m_nInstructions

size_t TraceCommand::Disassembly::m_nInstructions
private

Definition at line 90 of file TraceCommand.h.

◆ m_nIp

uintptr_t TraceCommand::Disassembly::m_nIp
private

Definition at line 92 of file TraceCommand.h.


The documentation for this class was generated from the following files: