Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • opensrc/zipr-sdk
1 result
Show changes
Commits on Source (1)
......@@ -8,6 +8,10 @@ namespace Zipr_SDK
class Dollop_t;
class DollopManager_t;
class DollopEntry_t;
using DollopEntryList_t = list<DollopEntry_t*>;
class Placeable_t
{
......@@ -15,9 +19,9 @@ namespace Zipr_SDK
Placeable_t() {}
Placeable_t(const Placeable_t& copy) = delete;
public:
virtual void Place(RangeAddress_t place) = 0;
virtual RangeAddress_t getPlace() const = 0;
virtual bool isPlaced() const = 0;
virtual void Place(RangeAddress_t place) = 0;
virtual RangeAddress_t getPlace() const = 0;
virtual bool isPlaced() const = 0;
friend ostream &operator<<(ostream &, const Placeable_t &);
};
......@@ -42,11 +46,12 @@ namespace Zipr_SDK
DollopEntry_t() { }
DollopEntry_t(const DollopEntry_t& copy) = delete;
public:
virtual Instruction_t *getInstruction() const = 0 ;
virtual void setTargetDollop(Dollop_t *target) = 0 ;
virtual Dollop_t *getTargetDollop() const = 0 ;
virtual Dollop_t *getMemberOfDollop() const = 0 ;
virtual void MemberOfDollop(Dollop_t *member_of) = 0 ;
virtual void setTargetDollop(Dollop_t *target) = 0 ;
virtual void MemberOfDollop(Dollop_t *member_of) = 0 ;
virtual Instruction_t* getInstruction() const = 0 ;
virtual Dollop_t* getTargetDollop() const = 0 ;
virtual Dollop_t* getMemberOfDollop() const = 0 ;
virtual bool operator==(const DollopEntry_t &);
virtual bool operator!=(const DollopEntry_t &);
......@@ -54,7 +59,6 @@ namespace Zipr_SDK
friend ostream &operator<<(ostream &, const DollopEntry_t &);
};
using DollopEntryList_t = list<DollopEntry_t*>;
class Dollop_t : virtual public Placeable_t, virtual public DollopEntryList_t
{
......@@ -63,36 +67,28 @@ namespace Zipr_SDK
Dollop_t(const Dollop_t& copy) = delete;
public:
static Dollop_t *createNewDollop(IRDB_SDK::Instruction_t *start, DollopManager_t *mgr = NULL);
virtual void setDollopManager(DollopManager_t *mgr) = 0 ;
virtual size_t getSize() const = 0;
virtual void setSize(size_t size) = 0;
virtual size_t getDollopEntryCount() const = 0;
virtual Dollop_t *split(IRDB_SDK::Instruction_t *split_point) = 0 ;
virtual void removeDollopEntries(list<DollopEntry_t*>::iterator, list<DollopEntry_t*>::iterator) = 0;
virtual void setFallbackDollop(Dollop_t *fallback) = 0 ;
virtual Dollop_t *getFallbackDollop(void) const = 0;
virtual size_t getSize() const = 0;
virtual size_t getDollopEntryCount() const = 0;
virtual Dollop_t* getFallbackDollop() const = 0;
virtual Dollop_t* getFallthroughDollop() const = 0;
virtual bool isFallthroughPatched() const = 0;
virtual bool wasTruncated() const = 0;
virtual bool wasCoalesced() const = 0;
virtual DollopEntry_t*
getFallthroughDollopEntry(DollopEntry_t *) const = 0;
virtual void setDollopManager(DollopManager_t *mgr) = 0;
virtual void setSize(size_t size) = 0;
virtual void setCoalesced(bool coalesced) = 0;
virtual void setFallthroughPatched(bool patched) = 0;
virtual void setFallthroughDollop(Dollop_t *fallthrough) = 0;
virtual Dollop_t *getFallthroughDollop(void) const = 0;
virtual bool isFallthroughPatched(void) const = 0;
virtual void setFallthroughPatched(bool patched) = 0 ;
virtual DollopEntry_t *setFallthroughDollopEntry(DollopEntry_t *) const = 0 ;
virtual void wasTruncated(bool truncated) = 0;
virtual bool wasTruncated(void) const = 0;
virtual void setCoalesced(bool coalesced) = 0 ;
virtual bool wasCoalesced(void) const = 0;
virtual void setFallbackDollop(Dollop_t *fallback) = 0;
virtual void setTruncated(bool trunc) = 0;
virtual void reCalculateSize() = 0 ;
virtual Dollop_t *split(Instruction_t *split_point) = 0 ;
virtual void removeDollopEntries(DollopEntryList_t::iterator, DollopEntryList_t::iterator) = 0;
friend ostream &operator<<(ostream &, const Dollop_t &);
};
......
......@@ -12,33 +12,32 @@ namespace Zipr_SDK
public:
// range operatations
virtual void splitFreeRange(RangeAddress_t addr) = 0;
virtual void splitFreeRange(Range_t range) = 0;
virtual void mergeFreeRange(RangeAddress_t addr) = 0;
virtual void mergeFreeRange(Range_t range) = 0;
virtual void splitFreeRange(RangeAddress_t addr) = 0;
virtual void splitFreeRange(Range_t range) = 0;
virtual void mergeFreeRange(RangeAddress_t addr) = 0;
virtual void mergeFreeRange(Range_t range) = 0;
virtual RangeSet_t::iterator
findFreeRange(RangeAddress_t addr) = 0;
virtual Range_t getFreeRange(int size) = 0;
virtual Range_t getInfiniteFreeRange() = 0;
virtual list<Range_t> getFreeRanges(size_t size = 0) = 0;
virtual RangeSetBounds_t
getNearbyFreeRanges(const RangeAddress_t hint, size_t count = 0) = 0;
virtual void addFreeRange(Range_t newRange) = 0;
virtual void removeFreeRange(Range_t newRange) = 0;
virtual Range_t getLargeRange(void) = 0;
findFreeRange(RangeAddress_t addr) = 0;
virtual Range_t getFreeRange(int size) = 0;
virtual Range_t getInfiniteFreeRange() = 0;
virtual list<Range_t> getFreeRanges(size_t size = 0) = 0;
virtual RangeSetBounds_t getNearbyFreeRanges(const RangeAddress_t hint, size_t count = 0) = 0;
virtual void addFreeRange(Range_t newRange) = 0;
virtual void removeFreeRange(Range_t newRange) = 0;
virtual Range_t getLargeRange(void) = 0;
// queries about free areas.
virtual bool areBytesFree(RangeAddress_t addr, int num_bytes)=0;
virtual bool isByteFree(RangeAddress_t addr) = 0;
virtual bool isValidRange(RangeSet_t::iterator it) = 0;
virtual int getRangeCount() = 0;
virtual void printMemorySpace(ostream &out) = 0;
virtual void plopBytes(RangeAddress_t addr, const char the_byte[], int num)=0;
virtual void plopByte(RangeAddress_t addr, char the_byte)=0;
virtual void plopJump(RangeAddress_t addr) = 0;
virtual RangeAddress_t getMinPlopped() const = 0;
virtual RangeAddress_t getMaxPlopped() const = 0;
virtual bool areBytesFree(RangeAddress_t addr, int num_bytes) = 0;
virtual bool isByteFree(RangeAddress_t addr) = 0;
virtual bool isValidRange(RangeSet_t::iterator it) = 0;
virtual int getRangeCount() = 0;
virtual void printMemorySpace(ostream &out) = 0;
virtual void plopBytes(RangeAddress_t addr, const char the_byte[], int num) = 0;
virtual void plopByte(RangeAddress_t addr, char the_byte) = 0;
virtual void plopJump(RangeAddress_t addr) = 0;
virtual RangeAddress_t getMinPlopped() const = 0;
virtual RangeAddress_t getMaxPlopped() const = 0;
};
......