Skip to content
Snippets Groups Projects
Commit e1fbb4ee authored by Clark Coleman's avatar Clark Coleman
Browse files

Speedup via caching getenv() results.

parent 2062bac1
Branches
No related tags found
No related merge requests found
Pipeline #12792 passed
......@@ -79,8 +79,8 @@ class STARS_Interface_t
// Misc. methods
virtual bool STARS_getenv(const char *varname, char varstring[STARS_MAXSTR]) const = 0;
virtual bool VerboseLoopsMode(void) const { char dummystr[STARS_MAXSTR]; return this->STARS_getenv("STARS_VERBOSE_LOOPS", dummystr); };
virtual bool VerboseSPARKMode(void) const { char dummystr2[STARS_MAXSTR]; return this->STARS_getenv("STARS_VERBOSE_SPARK", dummystr2); };
virtual bool VerboseLoopsMode(void) const { return this->IsVerboseLoops; };
virtual bool VerboseSPARKMode(void) const { return this->IsVerboseSPARK; };
virtual void SetCGCBinary(void) = 0;
virtual bool IsCGCBinary(void) const = 0;
virtual bool InstHasNoCodeXrefs(STARS_InstructionID_t InstID) const = 0;
......@@ -111,7 +111,10 @@ class STARS_Interface_t
virtual void Dump() { };
protected:
// Data members.
bool IsVerboseLoops;
bool IsVerboseSPARK;
};
......
......@@ -23,7 +23,11 @@ class STARS_IDA_Interface_t : public STARS_Interface_t
public:
// Constructors
STARS_IDA_Interface_t() : CGCBinary(false) {};
STARS_IDA_Interface_t() : CGCBinary(false) {
char dummystr[STARS_MAXSTR];
IsVerboseLoops = this->STARS_getenv("STARS_VERBOSE_LOOPS", dummystr);
IsVerboseSPARK = this->STARS_getenv("STARS_VERBOSE_SPARK", dummystr);
};
// Destructor
~STARS_IDA_Interface_t() {
......
......@@ -47,6 +47,9 @@ public:
IBT_provsp(IRDB_SDK::IBTProvenance_t::factory(firp)),
IBT_provs(*IBT_provsp)
{
char dummystr[STARS_MAXSTR];
IsVerboseLoops = this->STARS_getenv("STARS_VERBOSE_LOOPS", dummystr);
IsVerboseSPARK = this->STARS_getenv("STARS_VERBOSE_SPARK", dummystr);
InitSegments();
InitFunctions();
InitIBTAandIDMaps();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment