-/* Copyright (c) 2007-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2007-2021. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
public:
Region(RegionType type, void* start_addr, size_t size);
- ~Region() = default;
Region(Region const&) = delete;
Region& operator=(Region const&) = delete;
Region(Region&& that) = delete;
bool contain(RemotePtr<void> p) const { return p >= start() && p < end(); }
/** @brief Restore a region from a snapshot */
- void restore();
+ void restore() const;
- /** @brief Read memory that was snapshoted in this region
+ /** @brief Read memory that was snapshotted in this region
*
* @param target Buffer to store contiguously the value if it spans over several pages
* @param addr Process (non-snapshot) address of the data
* @param size Size of the data to read in bytes
* @return Pointer where the data is located (either target buffer or original location)
*/
- const void* read(void* target, const void* addr, std::size_t size);
+ void* read(void* target, const void* addr, std::size_t size) const;
};
} // namespace mc
} // namespace simgrid
-int MC_snapshot_region_memcmp(const void* addr1, simgrid::mc::Region* region1, const void* addr2,
- simgrid::mc::Region* region2, std::size_t size);
+int MC_snapshot_region_memcmp(const void* addr1, const simgrid::mc::Region* region1, const void* addr2,
+ const simgrid::mc::Region* region2, std::size_t size);
-static XBT_ALWAYS_INLINE void* MC_region_read_pointer(simgrid::mc::Region* region, const void* addr)
+static XBT_ALWAYS_INLINE void* MC_region_read_pointer(const simgrid::mc::Region* region, const void* addr)
{
void* res;
return *(void**)region->read(&res, addr, sizeof(void*));