#ifndef SIMGRID_MC_SNAPSHOT_H
#define SIMGRID_MC_SNAPSHOT_H
-#include <cstdint>
-#include <cstddef>
-
#include <vector>
#include <set>
#include <string>
#include <memory>
-#include <sys/types.h> // off_t
-
-#include <simgrid_config.h>
-#include "src/xbt/mmalloc/mmprivate.h"
-#include <xbt/asserts.h>
-#include <xbt/base.h>
-
-#include "src/mc/mc_forward.hpp"
#include "src/mc/ModelChecker.hpp"
-#include "src/mc/PageStore.hpp"
-#include "src/mc/AddressSpace.hpp"
-#include "src/mc/mc_unw.h"
#include "src/mc/RegionSnapshot.hpp"
+#include "src/mc/mc_forward.hpp"
+#include "src/mc/mc_unw.h"
SG_BEGIN_DECL()
// ***** Snapshot region
-XBT_PRIVATE void mc_region_restore_sparse(simgrid::mc::Process* process, mc_mem_region_t reg);
+XBT_PRIVATE void mc_region_restore_sparse(simgrid::mc::RemoteClient* process, mc_mem_region_t reg);
static XBT_ALWAYS_INLINE void* mc_translate_address_region_chunked(uintptr_t addr, mc_mem_region_t region)
{
class XBT_PRIVATE Snapshot final : public AddressSpace {
public:
- Snapshot(Process* process, int num_state);
- ~Snapshot();
+ Snapshot(RemoteClient* process, int num_state);
+ ~Snapshot() = default;
const void* read_bytes(void* buffer, std::size_t size,
RemotePtr<void> address, int process_index = ProcessIndexAny,
ReadOptions options = ReadOptions::none()) const override;
extern "C" {
-XBT_PRIVATE void mc_restore_page_snapshot_region(
- simgrid::mc::Process* process,
- void* start_addr, simgrid::mc::ChunkedData const& pagenos);
+XBT_PRIVATE void mc_restore_page_snapshot_region(simgrid::mc::RemoteClient* process, void* start_addr,
+ simgrid::mc::ChunkedData const& pagenos);
const void* MC_region_read_fragmented(
mc_mem_region_t region, void* target, const void* addr, std::size_t size);
{
xbt_assert(region);
- std::uintptr_t offset =
- (std::uintptr_t) addr - (std::uintptr_t) region->start().address();
+ std::uintptr_t offset = (std::uintptr_t)addr - (std::uintptr_t)region->start().address();
- xbt_assert(region->contain(simgrid::mc::remote(addr)),
- "Trying to read out of the region boundary.");
+ xbt_assert(region->contain(simgrid::mc::remote(addr)), "Trying to read out of the region boundary.");
switch (region->storage_type()) {
case simgrid::mc::StorageType::NoData: