const void* page(std::size_t i) const
{
return store_->get_page(pagenos_[i]);
}
PerPageCopy(PageStore& store, AddressSpace& as,
const void* page(std::size_t i) const
{
return store_->get_page(pagenos_[i]);
}
PerPageCopy(PageStore& store, AddressSpace& as,
- remote_ptr<void> addr, std::size_t page_count);
+ remote_ptr<void> addr, std::size_t page_count,
+ const size_t* ref_page_numbers, const std::uint64_t* pagemap);
/** @brief Copy/snapshot of a given memory region
*
* Different types of region snapshot storage types exist:
/** @brief Copy/snapshot of a given memory region
*
* Different types of region snapshot storage types exist:
static const RegionType UnknownRegion = RegionType::Unknown;
static const RegionType HeapRegion = RegionType::Heap;
static const RegionType DataRegion = RegionType::Data;
static const RegionType UnknownRegion = RegionType::Unknown;
static const RegionType HeapRegion = RegionType::Heap;
static const RegionType DataRegion = RegionType::Data;
static const StorageType FlatData = StorageType::Flat;
static const StorageType ChunkedData = StorageType::Chunked;
static const StorageType PrivatizedData = StorageType::Privatized;
static const StorageType FlatData = StorageType::Flat;
static const StorageType ChunkedData = StorageType::Chunked;
static const StorageType PrivatizedData = StorageType::Privatized;
{
storage_type_ = FlatData;
flat_data_ = std::move(data);
page_numbers_.clear();
privatized_regions_.clear();
}
{
storage_type_ = FlatData;
flat_data_ = std::move(data);
page_numbers_.clear();
privatized_regions_.clear();
}
RegionSnapshot dense_region(
RegionType type, void *start_addr, void* data_addr, size_t size);
simgrid::mc::RegionSnapshot sparse_region(
RegionSnapshot dense_region(
RegionType type, void *start_addr, void* data_addr, size_t size);
simgrid::mc::RegionSnapshot sparse_region(
- RegionType type, void *start_addr, void* data_addr, size_t size);
+ RegionType type, void *start_addr, void* data_addr, size_t size,
+ RegionSnapshot const* ref_region);
- RegionType type, void *start_addr, void* data_addr, size_t size);
-
+ RegionType type, void *start_addr, void* data_addr, size_t size,
+ RegionSnapshot const* ref_region);
+