* @return same as memcmp
* */
int MC_snapshot_memcmp(
- const void* addr1, mc_snapshot_t snapshot1,
- const void* addr2, mc_snapshot_t snapshot2, int process_index, size_t size)
+ const void* addr1, simgrid::mc::Snapshot* snapshot1,
+ const void* addr2, simgrid::mc::Snapshot* snapshot2, int process_index, size_t size)
{
mc_mem_region_t region1 = mc_get_snapshot_region(addr1, snapshot1, process_index);
mc_mem_region_t region2 = mc_get_snapshot_region(addr2, snapshot2, process_index);
namespace simgrid {
namespace mc {
-Snapshot::Snapshot(Process* process) :
- AddressSpace(process),
- num_state(0),
- heap_bytes_used(0),
- enabled_processes(),
- privatization_index(0),
- hash(0)
+Snapshot::Snapshot(Process* process, int _num_state)
+ : AddressSpace(process)
+ , num_state(_num_state)
+ , heap_bytes_used(0)
+ , enabled_processes()
+ , privatization_index(0)
+ , hash(0)
{
}
static void test_snapshot(bool sparse_checkpoint) {
- xbt_test_add("Initialisation");
+ xbt_test_add("Initialization");
_sg_mc_sparse_checkpoint = sparse_checkpoint;
xbt_assert(xbt_pagesize == getpagesize());
xbt_assert(1 << xbt_pagebits == xbt_pagesize);
// Init memory and take snapshots:
init_memory(source, byte_size);
simgrid::mc::RegionSnapshot region0 = simgrid::mc::sparse_region(
- simgrid::mc::RegionType::Unknown, source, source, byte_size, nullptr);
+ simgrid::mc::RegionType::Unknown, source, source, byte_size);
for(int i=0; i<n; i+=2) {
init_memory((char*) source + i*xbt_pagesize, xbt_pagesize);
}
simgrid::mc::RegionSnapshot region = simgrid::mc::sparse_region(
- simgrid::mc::RegionType::Unknown, source, source, byte_size, nullptr);
+ simgrid::mc::RegionType::Unknown, source, source, byte_size);
void* destination = mmap(nullptr, byte_size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
xbt_assert(source!=MAP_FAILED, "Could not allocate destination memory");
xbt_test_add("Read pointer for %i page(s)", n);
memcpy(source, &mc_model_checker, sizeof(void*));
simgrid::mc::RegionSnapshot region2 = simgrid::mc::sparse_region(
- simgrid::mc::RegionType::Unknown, source, source, byte_size, nullptr);
+ simgrid::mc::RegionType::Unknown, source, source, byte_size);
xbt_test_assert(MC_region_read_pointer(®ion2, source) == mc_model_checker,
"Mismtach in MC_region_read_pointer()");
}