3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-28 01:42:43 +00:00

Improve generation accounting (#10008)

Details in original PR: https://github.com/Z3Prover/z3/pull/10007

---------

Co-authored-by: Can Cebeci <t-cancebeci@microsoft.com>
This commit is contained in:
Can Cebeci 2026-06-30 16:17:02 -07:00 committed by GitHub
parent d666ef1ddf
commit 03572a61f8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 365 additions and 147 deletions

View file

@ -1012,7 +1012,7 @@ namespace {
stack.pop_back();
if (m_context.e_internalized(curr)) {
gen = m_context.get_enode(curr)->get_generation();
gen = m_context.get_generation(m_context.get_enode(curr));
if (gen > maxgen)
maxgen = gen;
if (gen < mingen)
@ -1046,7 +1046,7 @@ namespace {
void operator()(expr * e) {
if (m_context.e_internalized(e)) {
enode * n = m_context.get_enode(e);
n->set_generation(&m_context, m_generation);
m_context.set_generation(n, m_generation);
}
}
};
@ -1069,7 +1069,8 @@ namespace {
stack.pop_back();
if (m_context.e_internalized(curr)) {
unsigned curr_gen = m_context.get_enode(curr)->get_generation();
enode * n = m_context.get_enode(curr);
unsigned curr_gen = m_context.get_generation(n);
if (curr_gen > gen) {
// Lower it.
set_generation_rec(e, gen);