51using ReferenceManager::SafePointer;
52using ReferenceManager::FileOffsetKey;
53using ReferenceManager::SectionKey;
54using 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++) {
#define assert(condition)
void writeByte(Byte byte)
void writeHalfWord(HalfWord halfword)
unsigned int writePosition()
TPEFHeaders::TPEFVersion TPEFVersion() const
Byte byte(Byte index) const
Word annotationCount() const
InstructionAnnotation * annotation(Word index) const
FieldType destinationType() const
HalfWord destinationIndex() const
HalfWord destinationUnit() const
HalfWord guardUnit() const
HalfWord sourceUnit() const
FieldType guardType() const
HalfWord guardIndex() const
bool isGuardInverted() const
HalfWord sourceIndex() const
FieldType sourceType() const
static void addObjectReference(SectionIndexKey key, const SafePointable *obj)
static SectionKey sectionKeyFor(const SafePointable *obj)
static bool isReferenced(const SafePointable *object)
SectionId sectionId() const
static void setSize(const SafePointable *obj, Word size)
static void registerSectionWriter(const SectionWriter *sWriter)
SectionElement * element(Word index) const
Word elementCount() const
virtual void writeId(BinaryStream &stream, HalfWord id) const
virtual ~TPEFCodeSectionWriter()
void writeAttributeField(BinaryStream &stream, SectionElement *elem, bool isEnd) const
virtual Section::SectionType type() const
void writeAnnotations(BinaryStream &stream, SectionElement *elem) const
static const Byte IMMEDIATE_VALUE_MAX_BYTES
Maximum number of bytes that single immediate can contain.
void writeDataField(BinaryStream &stream, SectionElement *elem) const
virtual void actualWriteData(BinaryStream &stream, const Section *sect) const
virtual void writeInfo(BinaryStream &stream, const Section *sect) const
static const TPEFCodeSectionWriter instance_
Unique instance of class.
HalfWord SectionId
Type for storing binary file section ids.
Word SectionOffset
Type for storing offsets relative to a given base offset value.
Word FileOffset
Type for storing absolute file offsets.