3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-27 05:26:01 +00:00

tmp_enode: don't heap allocate an app. store it inline instead.

Saves heap allocations and double indirections
This commit is contained in:
Nuno Lopes 2023-12-20 18:19:20 +00:00
parent 4898a156d8
commit c9c53b7c65
3 changed files with 9 additions and 16 deletions

View file

@ -456,7 +456,7 @@ namespace smt {
void unmark_enodes2(unsigned num_enodes, enode * const * enodes);
class tmp_enode {
tmp_app m_app;
app m_app;
unsigned m_capacity;
char * m_enode_data;
enode * get_enode() { return reinterpret_cast<enode*>(m_enode_data); }
@ -465,7 +465,6 @@ namespace smt {
tmp_enode();
~tmp_enode();
enode * set(func_decl * f, unsigned num_args, enode * const * args);
void reset();
};
inline mk_pp pp(enode* n, ast_manager& m) { return mk_pp(n->get_expr(), m); }