mirror of
https://github.com/Z3Prover/z3
synced 2025-11-25 15:09:32 +00:00
patch fix for default manager construction so it can be used to create the param tuning context without segfault
This commit is contained in:
parent
06e195fb01
commit
5127569aaf
2 changed files with 6 additions and 3 deletions
|
|
@ -317,7 +317,11 @@ namespace smt {
|
||||||
}
|
}
|
||||||
|
|
||||||
parallel::param_generator::param_generator(parallel& p)
|
parallel::param_generator::param_generator(parallel& p)
|
||||||
: p(p), b(p.m_batch_manager), m_p(p.ctx.get_params()), m_l2g(m, p.ctx.m) {
|
: b(p.m_batch_manager), m_p(p.ctx.get_params()), m_l2g(m, p.ctx.m) {
|
||||||
|
// patch fix so that ctx = alloc(context, m, p.ctx.get_fparams(), m_p); doesn't crash due to some issue with default construction of m
|
||||||
|
ast_translation m_g2l(p.ctx.m, m);
|
||||||
|
m_g2l(p.ctx.m.mk_true());
|
||||||
|
|
||||||
ctx = alloc(context, m, p.ctx.get_fparams(), m_p);
|
ctx = alloc(context, m, p.ctx.get_fparams(), m_p);
|
||||||
context::copy(p.ctx, *ctx, true);
|
context::copy(p.ctx, *ctx, true);
|
||||||
// don't share initial units
|
// don't share initial units
|
||||||
|
|
|
||||||
|
|
@ -118,11 +118,9 @@ namespace smt {
|
||||||
using param_value = std::variant<unsigned_value, bool>;
|
using param_value = std::variant<unsigned_value, bool>;
|
||||||
using param_values = vector<std::pair<symbol, param_value>>;
|
using param_values = vector<std::pair<symbol, param_value>>;
|
||||||
|
|
||||||
parallel &p;
|
|
||||||
batch_manager &b;
|
batch_manager &b;
|
||||||
ast_manager m;
|
ast_manager m;
|
||||||
scoped_ptr<context> ctx;
|
scoped_ptr<context> ctx;
|
||||||
ast_translation m_l2g;
|
|
||||||
|
|
||||||
unsigned N = 4; // number of prefix permutations to test (including current)
|
unsigned N = 4; // number of prefix permutations to test (including current)
|
||||||
unsigned m_max_prefix_conflicts = 1000;
|
unsigned m_max_prefix_conflicts = 1000;
|
||||||
|
|
@ -131,6 +129,7 @@ namespace smt {
|
||||||
vector<expr_ref_vector> m_recorded_cubes;
|
vector<expr_ref_vector> m_recorded_cubes;
|
||||||
params_ref m_p;
|
params_ref m_p;
|
||||||
param_values m_param_state;
|
param_values m_param_state;
|
||||||
|
ast_translation m_l2g;
|
||||||
|
|
||||||
params_ref apply_param_values(param_values const &pv);
|
params_ref apply_param_values(param_values const &pv);
|
||||||
void init_param_state();
|
void init_param_state();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue