Skip to content
Snippets Groups Projects
Commit 707966f1 authored by Jason Hiser's avatar Jason Hiser :tractor:
Browse files

updates for cleaning up the sdk

parent fca8abb3
No related branches found
No related tags found
No related merge requests found
......@@ -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;
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment