diff options
Diffstat (limited to 'lib/Core/Executor.h')
-rw-r--r-- | lib/Core/Executor.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/Core/Executor.h b/lib/Core/Executor.h index ae960731..987edf47 100644 --- a/lib/Core/Executor.h +++ b/lib/Core/Executor.h @@ -34,6 +34,7 @@ #include <memory> #include <set> #include <string> +#include <unordered_map> #include <vector> struct KTest; @@ -164,9 +165,9 @@ private: /// globals that have no representative object (i.e. functions). std::map<const llvm::GlobalValue*, ref<ConstantExpr> > globalAddresses; - /// The set of legal function addresses, used to validate function - /// pointers. We use the actual Function* address as the function address. - std::set<uint64_t> legalFunctions; + /// Map of legal function addresses to the corresponding Function. + /// Used to validate and dereference function pointers. + std::unordered_map<std::uint64_t, llvm::Function*> legalFunctions; /// When non-null the bindings that will be used for calls to /// klee_make_symbolic in order replay. |