Added Compact Encoding (-c)
Added second pass optimization (-h)
This commit is contained in:
@ -35,22 +35,27 @@ public:
|
||||
bool db;
|
||||
int offset;
|
||||
int fill;
|
||||
bool zeroed;
|
||||
};
|
||||
public:
|
||||
~DataMngr();
|
||||
DataMngr() { cellsize = 4; lastOffset = 0; cursize = 0; }
|
||||
DataMngr(int cell) { lastOffset = 0; cellsize = cell; cursize = 0; }
|
||||
DataMngr() { cellsize = 4; lastOffset = 0; cursize = 0; optimized = false; }
|
||||
DataMngr(int cell) { lastOffset = 0; cellsize = cell; cursize = 0; optimized = false; }
|
||||
void Add(std::string &s, CExpr &expr, bool db = false, int fill = 0);
|
||||
DataMngr::Datum *FindData(std::string &sym);
|
||||
void GetData(std::vector<DataMngr::Datum *> &dList);
|
||||
int GetOffset(std::string &sym);
|
||||
int GetSize();
|
||||
void Clear();
|
||||
void PrintTable();
|
||||
void Optimize();
|
||||
bool IsOptimized() { return optimized; }
|
||||
private:
|
||||
std::vector<DataMngr::Datum *> List;
|
||||
int lastOffset;
|
||||
int cellsize;
|
||||
int cursize;
|
||||
bool optimized;
|
||||
public:
|
||||
static const int nof = -1;
|
||||
};
|
||||
|
Reference in New Issue
Block a user