summaryrefslogtreecommitdiff
path: root/src/main/command_executor.cpp
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@cs.nyu.edu>2013-03-04 19:58:15 -0500
committerMorgan Deters <mdeters@cs.nyu.edu>2014-05-27 16:07:32 -0400
commit7aa87517562e993e530a1da323b724d8e30e9fbe (patch)
tree2011435d502eb86bcc19855be95f080bc8427ef5 /src/main/command_executor.cpp
parentd6ea515d7d670abac44d07357b460c57b7d86842 (diff)
New --tear-down-incremental mode, useful for debugging and performance profiling.
Diffstat (limited to 'src/main/command_executor.cpp')
-rw-r--r--src/main/command_executor.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/main/command_executor.cpp b/src/main/command_executor.cpp
index a1410d910..4644c91a7 100644
--- a/src/main/command_executor.cpp
+++ b/src/main/command_executor.cpp
@@ -28,7 +28,7 @@ void printStatsIncremental(std::ostream& out, const std::string& prvsStatsString
CommandExecutor::CommandExecutor(ExprManager &exprMgr, Options &options) :
d_exprMgr(exprMgr),
- d_smtEngine(SmtEngine(&exprMgr)),
+ d_smtEngine(new SmtEngine(&exprMgr)),
d_options(options),
d_stats("driver"),
d_result() {
@@ -61,13 +61,22 @@ bool CommandExecutor::doCommand(Command* cmd)
}
}
+void CommandExecutor::reset()
+{
+ if(d_options[options::statistics]) {
+ flushStatistics(*d_options[options::err]);
+ }
+ delete d_smtEngine;
+ d_smtEngine = new SmtEngine(&d_exprMgr);
+}
+
bool CommandExecutor::doCommandSingleton(Command* cmd)
{
bool status = true;
if(d_options[options::verbosity] >= -1) {
- status = smtEngineInvoke(&d_smtEngine, cmd, d_options[options::out]);
+ status = smtEngineInvoke(d_smtEngine, cmd, d_options[options::out]);
} else {
- status = smtEngineInvoke(&d_smtEngine, cmd, NULL);
+ status = smtEngineInvoke(d_smtEngine, cmd, NULL);
}
Result res;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback