- simgrid::mc::PerPageCopy page_data(mc_model_checker->page_store(), *process,
- permanent_addr, page_count);
+ std::vector<std::uint64_t> pagemap;
+ const size_t* ref_page_numbers = nullptr;
+ if (use_soft_dirty) {
+ pagemap.resize(page_count);
+ process->read_pagemap(pagemap.data(),
+ mc_page_number(nullptr, permanent_addr), page_count);
+ ref_page_numbers = ref_region->page_data().pagenos();
+ }
+
+ simgrid::mc::ChunkedData page_data(
+ mc_model_checker->page_store(), *process, permanent_addr, page_count,
+ ref_page_numbers,
+ use_soft_dirty ? pagemap.data() : nullptr);