mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 06:03:23 +00:00
micro-optimization in tactics' cleanup(): avoid dealloc+alloc traffic
This commit is contained in:
parent
632c2d8ebf
commit
000796c25c
3 changed files with 7 additions and 10 deletions
|
@ -307,9 +307,8 @@ public:
|
||||||
|
|
||||||
virtual void cleanup() {
|
virtual void cleanup() {
|
||||||
ast_manager & m = m_imp->m;
|
ast_manager & m = m_imp->m;
|
||||||
imp * d = alloc(imp, m, m_params);
|
m_imp->~imp();
|
||||||
std::swap(d, m_imp);
|
m_imp = new (m_imp) imp(m, m_params);
|
||||||
dealloc(d);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -171,9 +171,8 @@ public:
|
||||||
|
|
||||||
virtual void cleanup() {
|
virtual void cleanup() {
|
||||||
ast_manager & m = m_imp->m;
|
ast_manager & m = m_imp->m;
|
||||||
imp * d = alloc(imp, m, m_params);
|
m_imp->~imp();
|
||||||
std::swap(d, m_imp);
|
m_imp = new (m_imp) imp(m, m_params);
|
||||||
dealloc(d);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -502,9 +502,8 @@ void reduce_args_tactic::operator()(goal_ref const & g,
|
||||||
}
|
}
|
||||||
|
|
||||||
void reduce_args_tactic::cleanup() {
|
void reduce_args_tactic::cleanup() {
|
||||||
ast_manager & m = m_imp->m();
|
ast_manager & m = m_imp->m();
|
||||||
imp * d = alloc(imp, m);
|
m_imp->~imp();
|
||||||
std::swap(d, m_imp);
|
m_imp = new (m_imp) imp(m);
|
||||||
dealloc(d);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue