*/
RegionSnapshot* region(RegionType type, void* start_addr, void* permanent_addr, size_t size)
{
- return new RegionSparse(type, start_addr, permanent_addr, size);
+ return new RegionSnapshot(type, start_addr, permanent_addr, size);
}
-RegionSparse::RegionSparse(RegionType region_type, void* start_addr, void* permanent_addr, size_t size)
- : RegionSnapshot(region_type, start_addr, permanent_addr, size)
+RegionSnapshot::RegionSnapshot(RegionType region_type, void* start_addr, void* permanent_addr, size_t size)
+ : region_type_(region_type), start_addr_(start_addr), size_(size), permanent_addr_(permanent_addr)
{
simgrid::mc::RemoteClient* process = &mc_model_checker->process();
ChunkedData page_numbers_;
public:
- RegionSnapshot() {}
- RegionSnapshot(RegionType type, void* start_addr, void* permanent_addr, size_t size)
- : region_type_(type)
- , start_addr_(start_addr)
- , size_(size)
- , permanent_addr_(permanent_addr)
- {
- }
+ RegionSnapshot(RegionType type, void* start_addr, void* permanent_addr, size_t size);
~RegionSnapshot() = default;
RegionSnapshot(RegionSnapshot const&) = delete;
RegionSnapshot& operator=(RegionSnapshot const&) = delete;
void restore();
};
-class RegionSparse : public RegionSnapshot {
-public:
- RegionSparse(RegionType type, void* start_addr, void* data_addr, std::size_t size);
-};
-
RegionSnapshot* region(RegionType type, void* start_addr, void* data_addr, std::size_t size);
} // namespace mc
// Init memory and take snapshots:
init_memory(source, byte_size);
simgrid::mc::RegionSnapshot* region0 =
- new simgrid::mc::RegionSparse(simgrid::mc::RegionType::Unknown, source, source, byte_size);
+ new simgrid::mc::RegionSnapshot(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 =
- new simgrid::mc::RegionSparse(simgrid::mc::RegionType::Unknown, source, source, byte_size);
+ new simgrid::mc::RegionSnapshot(simgrid::mc::RegionType::Unknown, source, source, byte_size);
void* destination = mmap(nullptr, byte_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
INFO("Could not allocate destination memory");
prologue_return ret = prologue(1);
memcpy(ret.src, &mc_model_checker, sizeof(void*));
simgrid::mc::RegionSnapshot* region2 =
- new simgrid::mc::RegionSparse(simgrid::mc::RegionType::Unknown, ret.src, ret.src, ret.size);
+ new simgrid::mc::RegionSnapshot(simgrid::mc::RegionType::Unknown, ret.src, ret.src, ret.size);
INFO("Mismtach in MC_region_read_pointer()");
REQUIRE(MC_region_read_pointer(region2, ret.src) == mc_model_checker);