From: Gabriel Corona Date: Mon, 21 Jul 2014 11:38:08 +0000 (+0200) Subject: [mc] Do not handle mc_model_checker->parent_snapshot unless it is necessary X-Git-Tag: v3_12~890^2~1^2~4^2~6 X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/cff375563b42ab3a5577aa85cdcfff2e8027d4e1 [mc] Do not handle mc_model_checker->parent_snapshot unless it is necessary --- diff --git a/src/mc/mc_checkpoint.c b/src/mc/mc_checkpoint.c index 34b2281334..f34cd609ac 100644 --- a/src/mc/mc_checkpoint.c +++ b/src/mc/mc_checkpoint.c @@ -569,7 +569,7 @@ int mc_important_snapshot(mc_snapshot_t snapshot) { // We need this snapshot in order to know which // pages needs to be stored in the next snapshot: - if (_sg_mc_sparse_checkpoint && snapshot == mc_model_checker->parent_snapshot) + if (snapshot == mc_model_checker->parent_snapshot) return true; return false; @@ -608,7 +608,9 @@ mc_snapshot_t MC_take_snapshot(int num_state) } MC_snapshot_ignore_restore(snapshot); - mc_model_checker->parent_snapshot = snapshot; + if (_sg_mc_sparse_checkpoint && _sg_mc_soft_dirty) { + mc_model_checker->parent_snapshot = snapshot; + } return snapshot; } @@ -639,7 +641,9 @@ void MC_restore_snapshot(mc_snapshot_t snapshot) } MC_snapshot_ignore_restore(snapshot); - mc_model_checker->parent_snapshot = snapshot; + if (_sg_mc_sparse_checkpoint && _sg_mc_soft_dirty) { + mc_model_checker->parent_snapshot = snapshot; + } } mc_snapshot_t SIMIX_pre_mc_snapshot(smx_simcall_t simcall)