about summary refs log tree commit diff homepage
path: root/lib/Core/Searcher.cpp
diff options
context:
space:
mode:
authorLukas Wölfer <lukas.woelfer@rwth-aachen.de>2019-08-23 14:46:46 +0200
committerCristian Cadar <c.cadar@imperial.ac.uk>2019-11-28 17:27:13 +0000
commit0de67b9f0c3f7f331f873f19561aef311d2bed4a (patch)
tree238e2d5d4b1faaa447fb883caf2f5a6e8fdb42c2 /lib/Core/Searcher.cpp
parent31d4d0830add0987f64fd0b6ff2dadd6de387697 (diff)
downloadklee-0de67b9f0c3f7f331f873f19561aef311d2bed4a.tar.gz
Move merging related code from Executor into MergingSearcher
Co-authored-by: Felix Rath <felix.rath@comsys.rwth-aachen.de>
Diffstat (limited to 'lib/Core/Searcher.cpp')
-rw-r--r--lib/Core/Searcher.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Core/Searcher.cpp b/lib/Core/Searcher.cpp
index 0d5d61e2..e576e8bc 100644
--- a/lib/Core/Searcher.cpp
+++ b/lib/Core/Searcher.cpp
@@ -295,9 +295,8 @@ bool RandomPathSearcher::empty() {
 
 ///
 
-MergingSearcher::MergingSearcher(Executor &_executor, Searcher *_baseSearcher)
-  : executor(_executor),
-  baseSearcher(_baseSearcher){}
+MergingSearcher::MergingSearcher(Searcher *_baseSearcher)
+  : baseSearcher(_baseSearcher){}
 
 MergingSearcher::~MergingSearcher() {
   delete baseSearcher;
@@ -306,8 +305,11 @@ MergingSearcher::~MergingSearcher() {
 ExecutionState& MergingSearcher::selectState() {
   assert(!baseSearcher->empty() && "base searcher is empty");
 
+  if (!UseIncompleteMerge)
+    return baseSearcher->selectState();
+
   // Iterate through all MergeHandlers
-  for (auto cur_mergehandler: executor.mergeGroups) {
+  for (auto cur_mergehandler: mergeGroups) {
     // Find one that has states that could be released
     if (!cur_mergehandler->hasMergedStates()) {
       continue;