48 namespace ReferenceManager {
213 virtual Word
length()
const;
UInt32 AddressImage
Type for storing addresses to memory image.
virtual Word bytesToMAUs(Word byteCount) const
virtual bool isChunkable() const
ChunkMap dataChunks_
Container for already created chunks.
virtual void assureInSection(SectionOffset offset) const
virtual void setLengthInMAUs(Word length)
std::map< SectionOffset, Chunk * > ChunkMap
Type of map that contains chunks.
Chunk * referredChunk(Word index) const
RawSection(const RawSection &)
virtual Chunk * chunk(SectionOffset offset) const
virtual Word chunkToMAUIndex(const Chunk *chunk) const
virtual Word length() const
std::vector< Chunk * > referredChunksCache_
Table containing all the chunks that are requested from section.
Word length_
The length of raw data section.
virtual void setDataLength(Word length)
Word referredChunkCount() const
virtual Word MAUsToBytes(Word mauCount) const
virtual Word lengthInMAUs() const
bool belongsToSection(const Chunk *chunk) const
static Section * createSection(SectionType type)
AddressImage startingAddress() const
virtual void setElement(Word index, SectionElement *element)
bool isProgramSection() const
static void registerSection(const Section *section)
virtual void addElement(SectionElement *element)
const ReferenceManager::SafePointer * name_
TPEF name field.
void setFlag(SectionFlag aFlag)
virtual Chunk * chunk(SectionOffset offset) const
static bool isProgramSection(SectionType type)
std::map< SectionType, const Section * > SectionPrototypeMap
Type of map that contains section prototypes.
const ReferenceManager::SafePointer * aSpace_
TPEF address space field.
@ ST_DATA
Initialized data section.
@ ST_ADDRSP
Address space section.
@ ST_DUMMY
Dummy section type for testing purposes.
@ ST_UDATA
Uninitialized data section.
@ ST_LEDATA
Initialized little endian data section.
@ ST_LINENO
Line number section.
@ ST_RELOC
Relocation section.
@ ST_MR
Machine resources section.
static SectionPrototypeMap * prototypes_
Container for registere section prototypes.
bool isAuxSection() const
void setStartingAddress(AddressImage address)
Byte flags_
TPEF flag byte.
bool flag(SectionFlag aFlag) const
void setLink(Section *aLink)
SectionElement * element(Word index) const
virtual bool isCodeSection() const
virtual Section * clone() const =0
Creates clone of instance.
const ReferenceManager::SafePointer * link_
TPEF link field.
Word elementCount() const
void setFlags(Byte flagByte)
void setLink(const ReferenceManager::SafePointer *aLink)
void setASpace(const ReferenceManager::SafePointer *addrSpace)
static const Byte PROGRAM_SECTION_MASK
Mask for checking if section is auxiliary or program section.
void setName(const ReferenceManager::SafePointer *sectionName)
virtual bool isChunkable() const
@ SF_VLEN
Contains elements with variable length.
@ SF_NOBITS
Not initialized or not stored in this file.
virtual SectionType type() const =0
Returns SectioType of actual section instance.
void setName(Chunk *sectionName)
std::vector< SectionElement * > elements_
Contain elements.
void unsetFlag(SectionFlag aFlag)
Word startingAddress_
TPEF startin memory address field.
ASpaceElement * aSpace() const
virtual bool isDataSection() const
void setASpace(ASpaceElement *addrSpace)
Word SectionOffset
Type for storing offsets relative to a given base offset value.