Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rename API names in AE #1267

Merged
merged 3 commits into from
Dec 2, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
make execution states more clear
  • Loading branch information
jumormt committed Dec 2, 2023
commit 885f8cd822ada41e6473e7d42b7740b0222b6530
62 changes: 31 additions & 31 deletions svf/include/AbstractExecution/ConsExeState.h
Original file line number Diff line number Diff line change
Expand Up @@ -117,11 +117,11 @@ class ConsExeState final : public ExeState
public:

/// get memory addresses of variable
virtual VAddrs &getAddrs(u32_t id) override
virtual Addrs &getAddrs(u32_t id) override
{
auto it = globalConsES._varToVAddrs.find(id);
if (it != globalConsES._varToVAddrs.end()) return it->second;
return _varToVAddrs[id];
auto it = globalConsES._varToAddrs.find(id);
if (it != globalConsES._varToAddrs.end()) return it->second;
return _varToAddrs[id];
}

/// get constant value of variable
Expand All @@ -137,8 +137,8 @@ class ConsExeState final : public ExeState
/// whether the variable is in varToAddrs table
virtual inline bool inVarToAddrsTable(u32_t id) const override
{
return _varToVAddrs.find(id) != _varToVAddrs.end() ||
globalConsES._varToVAddrs.find(id) != globalConsES._varToVAddrs.end();
return _varToAddrs.find(id) != _varToAddrs.end() ||
globalConsES._varToAddrs.find(id) != globalConsES._varToAddrs.end();
}

/// whether the variable is in varToVal table
Expand All @@ -148,15 +148,15 @@ class ConsExeState final : public ExeState
}

/// whether the memory address stores memory addresses
virtual inline bool locStoredAddrs(u32_t id) const override
virtual inline bool inLocToAddrsTable(u32_t id) const override
{
return globalConsES._locToVAddrs.find(id) != globalConsES._locToVAddrs.end() || localLocStoredAddrs(id);
return globalConsES._locToAddrs.find(id) != globalConsES._locToAddrs.end() || inLocalLocToAddrsTable(id);
}

/// whether the memory address stores constant value
inline bool locStoredVal(u32_t varId) const
inline bool inLocToValTable(u32_t varId) const
{
return localLocStoredVal(varId) || globalConsES._locToVal.count(varId);
return inLocalLocToValTable(varId) || globalConsES._locToVal.count(varId);
}

inline const VarToValMap &getVarToVal() const
Expand All @@ -169,17 +169,17 @@ class ConsExeState final : public ExeState
return _locToVal;
}

virtual inline bool localLocStoredAddrs(u32_t id) const
virtual inline bool inLocalLocToAddrsTable(u32_t id) const
{
return _locToVAddrs.find(id) != _locToVAddrs.end();
return _locToAddrs.find(id) != _locToAddrs.end();
}

inline bool localLocStoredVal(u32_t varId) const
inline bool inLocalLocToValTable(u32_t varId) const
{
return _locToVal.count(varId);
}

inline bool localLocStoredVal(const SingleAbsValue& addr) const
inline bool inLocalLocToValTable(const SingleAbsValue& addr) const
{
return _locToVal.count(getInternalID(addr.getNumeral()));
}
Expand Down Expand Up @@ -225,19 +225,19 @@ class ConsExeState final : public ExeState

bool applyPhi(u32_t res, std::vector<u32_t> &ops);

virtual VAddrs &loadAddrs(u32_t addr) override
virtual Addrs &loadAddrs(u32_t addr) override
{
assert(isVirtualMemAddress(addr) && "not virtual address?");
u32_t objId = getInternalID(addr);
auto it = _locToVAddrs.find(objId);
if (it != _locToVAddrs.end())
auto it = _locToAddrs.find(objId);
if (it != _locToAddrs.end())
{
return it->second;
}
else
{
auto globIt = globalConsES._locToVAddrs.find(objId);
if (globIt != globalConsES._locToVAddrs.end())
auto globIt = globalConsES._locToAddrs.find(objId);
if (globIt != globalConsES._locToAddrs.end())
{
return globIt->second;
}
Expand All @@ -251,15 +251,15 @@ class ConsExeState final : public ExeState
virtual std::string varToAddrs(u32_t varId) const override
{
std::stringstream exprName;
auto it = _varToVAddrs.find(varId);
if (it == _varToVAddrs.end())
auto it = _varToAddrs.find(varId);
if (it == _varToAddrs.end())
{
auto git = globalConsES._varToVAddrs.find(varId);
if (git == globalConsES._varToVAddrs.end())
auto git = globalConsES._varToAddrs.find(varId);
if (git == globalConsES._varToAddrs.end())
exprName << "Var not in varToAddrs!\n";
else
{
const VAddrs &vaddrs = git->second;
const Addrs &vaddrs = git->second;
if (vaddrs.size() == 1)
{
exprName << "addr: {" << std::dec << getInternalID(*vaddrs.begin()) << "}\n";
Expand All @@ -277,7 +277,7 @@ class ConsExeState final : public ExeState
}
else
{
const VAddrs &vaddrs = it->second;
const Addrs &vaddrs = it->second;
if (vaddrs.size() == 1)
{
exprName << "addr: {" << std::dec << getInternalID(*vaddrs.begin()) << "}\n";
Expand All @@ -298,15 +298,15 @@ class ConsExeState final : public ExeState
virtual std::string locToAddrs(u32_t objId) const override
{
std::stringstream exprName;
auto it = _locToVAddrs.find(objId);
if (it == _locToVAddrs.end())
auto it = _locToAddrs.find(objId);
if (it == _locToAddrs.end())
{
auto git = globalConsES._locToVAddrs.find(objId);
if (git == globalConsES._locToVAddrs.end())
auto git = globalConsES._locToAddrs.find(objId);
if (git == globalConsES._locToAddrs.end())
exprName << "Obj not in locToVal!\n";
else
{
const VAddrs &vaddrs = git->second;
const Addrs &vaddrs = git->second;
if (vaddrs.size() == 1)
{
exprName << "addr: {" << std::dec << getInternalID(*vaddrs.begin()) << "}\n";
Expand All @@ -324,7 +324,7 @@ class ConsExeState final : public ExeState
}
else
{
const VAddrs &vaddrs = it->second;
const Addrs &vaddrs = it->second;
if (vaddrs.size() == 1)
{
exprName << "addr: {" << std::dec << getInternalID(*vaddrs.begin()) << "}\n";
Expand Down
64 changes: 32 additions & 32 deletions svf/include/AbstractExecution/ExeState.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ class ExeState

public:

typedef AddressValue VAddrs;
typedef Map<u32_t, VAddrs> VarToVAddrs;
typedef AddressValue Addrs;
typedef Map<u32_t, Addrs> VarToAddrs;
/// Execution state type
enum ExeState_TYPE
{
Expand All @@ -64,18 +64,18 @@ class ExeState

virtual ~ExeState() = default;

ExeState(const ExeState &rhs) : _varToVAddrs(rhs._varToVAddrs),
_locToVAddrs(rhs._locToVAddrs) {}
ExeState(const ExeState &rhs) : _varToAddrs(rhs._varToAddrs),
_locToAddrs(rhs._locToAddrs) {}

ExeState(ExeState &&rhs) noexcept: _varToVAddrs(std::move(rhs._varToVAddrs)),
_locToVAddrs(std::move(rhs._locToVAddrs)) {}
ExeState(ExeState &&rhs) noexcept: _varToAddrs(std::move(rhs._varToAddrs)),
_locToAddrs(std::move(rhs._locToAddrs)) {}

ExeState &operator=(const ExeState &rhs)
{
if(*this != rhs)
{
_varToVAddrs = rhs._varToVAddrs;
_locToVAddrs = rhs._locToVAddrs;
_varToAddrs = rhs._varToAddrs;
_locToAddrs = rhs._locToAddrs;
}
return *this;
}
Expand All @@ -84,46 +84,46 @@ class ExeState
{
if (this != &rhs)
{
_varToVAddrs = std::move(rhs._varToVAddrs);
_locToVAddrs = std::move(rhs._locToVAddrs);
_varToAddrs = std::move(rhs._varToAddrs);
_locToAddrs = std::move(rhs._locToAddrs);
}
return *this;
}


protected:
VarToVAddrs _varToVAddrs{{0, getVirtualMemAddress(0)}}; ///< Map a variable (symbol) to its memory addresses
VarToVAddrs _locToVAddrs; ///< Map a memory address to its stored memory addresses
VarToAddrs _varToAddrs{{0, getVirtualMemAddress(0)}}; ///< Map a variable (symbol) to its memory addresses
VarToAddrs _locToAddrs; ///< Map a memory address to its stored memory addresses

public:

/// get memory addresses of variable
virtual VAddrs &getAddrs(u32_t id)
virtual Addrs &getAddrs(u32_t id)
{
return _varToVAddrs[id];
return _varToAddrs[id];
}

/// whether the variable is in varToAddrs table
inline virtual bool inVarToAddrsTable(u32_t id) const
{
return _varToVAddrs.find(id) != _varToVAddrs.end();
return _varToAddrs.find(id) != _varToAddrs.end();
}

/// whether the memory address stores memory addresses
inline virtual bool locStoredAddrs(u32_t id) const
inline virtual bool inLocToAddrsTable(u32_t id) const
{
return _locToVAddrs.find(id) != _locToVAddrs.end();
return _locToAddrs.find(id) != _locToAddrs.end();
}


inline virtual const VarToVAddrs &getVarToVAddrs() const
inline virtual const VarToAddrs &getVarToAddrs() const
{
return _varToVAddrs;
return _varToAddrs;
}

inline virtual const VarToVAddrs &getLocToVAddrs() const
inline virtual const VarToAddrs &getLocToAddrs() const
{
return _locToVAddrs;
return _locToAddrs;
}

public:
Expand Down Expand Up @@ -151,19 +151,19 @@ class ExeState


public:
inline virtual void storeVAddrs(u32_t addr, const VAddrs &vaddrs)
inline virtual void storeAddrs(u32_t addr, const Addrs &vaddrs)
{
assert(isVirtualMemAddress(addr) && "not virtual address?");
if(isNullPtr(addr)) return;
u32_t objId = getInternalID(addr);
_locToVAddrs[objId] = vaddrs;
_locToAddrs[objId] = vaddrs;
}

inline virtual VAddrs &loadAddrs(u32_t addr)
inline virtual Addrs &loadAddrs(u32_t addr)
{
assert(isVirtualMemAddress(addr) && "not virtual address?");
u32_t objId = getInternalID(addr);
return _locToVAddrs[objId];
return _locToAddrs[objId];
}

inline bool isNullPtr(u32_t addr)
Expand All @@ -187,7 +187,7 @@ class ExeState

protected:

static bool eqVarToVAddrs(const VarToVAddrs &lhs, const VarToVAddrs &rhs)
static bool eqVarToAddrs(const VarToAddrs &lhs, const VarToAddrs &rhs)
{
if (lhs.size() != rhs.size()) return false;
for (const auto &item: lhs)
Expand All @@ -208,14 +208,14 @@ class ExeState
virtual std::string varToAddrs(u32_t varId) const
{
std::stringstream exprName;
auto it = _varToVAddrs.find(varId);
if (it == _varToVAddrs.end())
auto it = _varToAddrs.find(varId);
if (it == _varToAddrs.end())
{
exprName << "Var not in varToAddrs!\n";
}
else
{
const VAddrs &vaddrs = it->second;
const Addrs &vaddrs = it->second;
if (vaddrs.size() == 1)
{
exprName << "addr: {" << std::dec << getInternalID(*vaddrs.begin()) << "}\n";
Expand All @@ -236,14 +236,14 @@ class ExeState
virtual std::string locToAddrs(u32_t objId) const
{
std::stringstream exprName;
auto it = _locToVAddrs.find(objId);
if (it == _locToVAddrs.end())
auto it = _locToAddrs.find(objId);
if (it == _locToAddrs.end())
{
exprName << "Var not in varToAddrs!\n";
}
else
{
const VAddrs &vaddrs = it->second;
const Addrs &vaddrs = it->second;
if (vaddrs.size() == 1)
{
exprName << "addr: {" << std::dec << getInternalID(*vaddrs.begin()) << "}\n";
Expand Down
Loading
Loading