ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
etiss::CodeSet Class Reference

A set of CodeParts. More...

#include <CodePart.h>

Collaboration diagram for etiss::CodeSet:
Collaboration graph
[legend]

Public Member Functions

 CodeSet ()
 
 CodeSet (const CodeSet &cs)
 
void append (const CodePart &part, CodePart::TYPE type)
 
CodePartappend (CodePart::TYPE type)
 
CodePartprepend (CodePart::TYPE type)
 
std::string toString (RegisterSet &ignored, bool &ok) const
 writes the contained CodeParts as needed with respect to the given RegisterSet of bits that are not required to be set by this code More...
 

Static Private Member Functions

static void writeCodeParts (std::string &code, const std::list< CodePart > &parts, bool required, RegisterSet &ignored, bool intersect)
 

Private Attributes

std::list< CodePartpindbgretreq_parts_
 
std::list< CodePartinireq_parts_
 
std::list< CodePartmidopt_parts_
 
std::list< CodePartappreq_parts_
 
std::list< CodePartappopt_parts_
 
std::list< CodePartappretreq_parts_
 

Detailed Description

A set of CodeParts.

This class stores CodeParts and appends them as needed in the CodeSet::toString function

Definition at line 436 of file CodePart.h.

Constructor & Destructor Documentation

◆ CodeSet() [1/2]

etiss::CodeSet::CodeSet ( )
inline

Definition at line 440 of file CodePart.h.

◆ CodeSet() [2/2]

etiss::CodeSet::CodeSet ( const CodeSet cs)
inline

Member Function Documentation

◆ append() [1/2]

CodePart& etiss::CodeSet::append ( CodePart::TYPE  type)
inline

◆ append() [2/2]

void etiss::CodeSet::append ( const CodePart part,
CodePart::TYPE  type 
)
inline

◆ prepend()

CodePart& etiss::CodeSet::prepend ( CodePart::TYPE  type)
inline

◆ toString()

std::string CodeSet::toString ( RegisterSet ignored,
bool ok 
) const

writes the contained CodeParts as needed with respect to the given RegisterSet of bits that are not required to be set by this code

Definition at line 120 of file CodePart.cpp.

References appopt_parts_, appreq_parts_, appretreq_parts_, inireq_parts_, midopt_parts_, pindbgretreq_parts_, and writeCodeParts().

Here is the call graph for this function:

◆ writeCodeParts()

void CodeSet::writeCodeParts ( std::string &  code,
const std::list< CodePart > &  parts,
bool  required,
RegisterSet ignored,
bool  intersect 
)
staticprivate

Definition at line 57 of file CodePart.cpp.

References etiss::RegisterSet::applyShadow(), etiss::RegisterSet::clear(), etiss::RegisterSet::intersect(), and etiss::RegisterSet::merge().

Referenced by toString().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ appopt_parts_

std::list<CodePart> etiss::CodeSet::appopt_parts_
private

Definition at line 549 of file CodePart.h.

Referenced by append(), CodeSet(), prepend(), and toString().

◆ appreq_parts_

std::list<CodePart> etiss::CodeSet::appreq_parts_
private

Definition at line 548 of file CodePart.h.

Referenced by append(), CodeSet(), prepend(), and toString().

◆ appretreq_parts_

std::list<CodePart> etiss::CodeSet::appretreq_parts_
private

Definition at line 550 of file CodePart.h.

Referenced by append(), CodeSet(), prepend(), and toString().

◆ inireq_parts_

std::list<CodePart> etiss::CodeSet::inireq_parts_
private

Definition at line 546 of file CodePart.h.

Referenced by append(), CodeSet(), prepend(), and toString().

◆ midopt_parts_

std::list<CodePart> etiss::CodeSet::midopt_parts_
private

Definition at line 547 of file CodePart.h.

Referenced by append(), CodeSet(), prepend(), and toString().

◆ pindbgretreq_parts_

std::list<CodePart> etiss::CodeSet::pindbgretreq_parts_
private

Definition at line 545 of file CodePart.h.

Referenced by append(), CodeSet(), prepend(), and toString().


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