mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 12:08:18 +00:00
some fixes to backtracking restore points in new solver
This commit is contained in:
parent
dd1ca8f6bd
commit
73a652cf4b
|
@ -55,7 +55,7 @@ public:
|
||||||
void push() { m_trail.push_scope(); }
|
void push() { m_trail.push_scope(); }
|
||||||
void pop(unsigned n) { m_trail.pop_scope(n); }
|
void pop(unsigned n) { m_trail.pop_scope(n); }
|
||||||
unsigned qhead() const { return m_qhead; }
|
unsigned qhead() const { return m_qhead; }
|
||||||
void advance_qhead() { m_qhead = size(); }
|
void advance_qhead() { if (m_trail.get_num_scopes() > 0) m_trail.push(value_trail(m_qhead)); m_qhead = size(); }
|
||||||
unsigned num_exprs() {
|
unsigned num_exprs() {
|
||||||
expr_fast_mark1 visited;
|
expr_fast_mark1 visited;
|
||||||
unsigned r = 0;
|
unsigned r = 0;
|
||||||
|
|
|
@ -259,6 +259,9 @@ public:
|
||||||
m_map.push();
|
m_map.push();
|
||||||
m_preprocess_state.push();
|
m_preprocess_state.push();
|
||||||
m_preprocess.push();
|
m_preprocess.push();
|
||||||
|
m_trail.push(restore_vector(m_assumptions));
|
||||||
|
m_trail.push(restore_vector(m_fmls));
|
||||||
|
m_trail.push(value_trail(m_mc_size));
|
||||||
}
|
}
|
||||||
|
|
||||||
void pop(unsigned n) override {
|
void pop(unsigned n) override {
|
||||||
|
@ -618,9 +621,6 @@ private:
|
||||||
return l_true;
|
return l_true;
|
||||||
|
|
||||||
unsigned qhead = m_preprocess_state.qhead();
|
unsigned qhead = m_preprocess_state.qhead();
|
||||||
m_trail.push(restore_vector(m_assumptions));
|
|
||||||
m_trail.push(restore_vector(m_fmls));
|
|
||||||
m_trail.push(value_trail(m_mc_size));
|
|
||||||
TRACE("sat", tout << "qhead " << qhead << "\n");
|
TRACE("sat", tout << "qhead " << qhead << "\n");
|
||||||
|
|
||||||
m_internalized_converted = false;
|
m_internalized_converted = false;
|
||||||
|
|
Loading…
Reference in a new issue