{
// 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;
}
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;
}
}
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)