Go to the documentation of this file.
51 using ReferenceManager::SafePointer;
52 using ReferenceManager::FileOffsetKey;
53 using ReferenceManager::SectionKey;
54 using ReferenceManager::SectionOffsetKey;
175 attribute = attribute | immBits;
178 bool impossibleInstructionElementType =
false;
179 assert(impossibleInstructionElementType);
224 std::cerr <<
"move source type: " << std::hex
225 << (int)move->
sourceType() << std::dec << std::endl;
237 std::cerr <<
"move dest type: "
257 std::cerr <<
"move guarde type: " << std::hex
259 << std::dec << std::endl;
291 for (
unsigned int i = 0; i < imm->
length(); i++) {
314 Byte sizeAndContinuation =
319 sizeAndContinuation =
333 for (Word j = 0; j < annotation->
size(); j++) {
HalfWord SectionId
Type for storing binary file section ids.
void writeHalfWord(HalfWord halfword)
static bool isReferenced(const SafePointable *object)
void writeDataField(BinaryStream &stream, SectionElement *elem) const
unsigned int writePosition()
InstructionAnnotation * annotation(Word index) const
HalfWord sourceIndex() const
SectionId sectionId() const
bool isGuardInverted() const
static void addObjectReference(SectionIndexKey key, const SafePointable *obj)
static const TPEFCodeSectionWriter instance_
Unique instance of class.
#define assert(condition)
SectionElement * element(Word index) const
static void registerSectionWriter(const SectionWriter *sWriter)
HalfWord sourceUnit() const
HalfWord guardIndex() const
static SectionKey sectionKeyFor(const SafePointable *obj)
Word FileOffset
Type for storing absolute file offsets.
Word annotationCount() const
static const Byte IMMEDIATE_VALUE_MAX_BYTES
Maximum number of bytes that single immediate can contain.
HalfWord destinationIndex() const
virtual void writeId(BinaryStream &stream, HalfWord id) const
void writeByte(Byte byte)
FieldType destinationType() const
HalfWord destinationUnit() const
virtual Section::SectionType type() const
Word SectionOffset
Type for storing offsets relative to a given base offset value.
void writeAttributeField(BinaryStream &stream, SectionElement *elem, bool isEnd) const
virtual ~TPEFCodeSectionWriter()
virtual void actualWriteData(BinaryStream &stream, const Section *sect) const
static void setSize(const SafePointable *obj, Word size)
FieldType guardType() const
virtual void writeInfo(BinaryStream &stream, const Section *sect) const
TPEFHeaders::TPEFVersion TPEFVersion() const
FieldType sourceType() const
void writeAnnotations(BinaryStream &stream, SectionElement *elem) const
Byte byte(Byte index) const
HalfWord guardUnit() const
Word elementCount() const