X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b8df87e176f27b25534f27d7e240defa32ca35bc..ca872ab0261ab065c0ebce1a4c9fcf96856efb76:/src/mc/sosp/ChunkedData.cpp diff --git a/src/mc/sosp/ChunkedData.cpp b/src/mc/sosp/ChunkedData.cpp index 1c1227ef7f..75c53416d4 100644 --- a/src/mc/sosp/ChunkedData.cpp +++ b/src/mc/sosp/ChunkedData.cpp @@ -1,22 +1,12 @@ -/* Copyright (c) 2007-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2007-2023. 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. */ -#include -#include - -#include - -#include "xbt/asserts.h" -#include "xbt/misc.h" - #include "src/mc/AddressSpace.hpp" #include "src/mc/sosp/ChunkedData.hpp" -#include "src/mc/sosp/PageStore.hpp" -namespace simgrid { -namespace mc { +namespace simgrid::mc { /** Take a per-page snapshot of a region * @@ -24,14 +14,13 @@ namespace mc { * @param page_count Number of pages of the region * @return Snapshot page numbers of this new snapshot */ -ChunkedData::ChunkedData(PageStore& store, AddressSpace& as, RemotePtr addr, std::size_t page_count) +ChunkedData::ChunkedData(PageStore& store, const AddressSpace& as, RemotePtr addr, std::size_t page_count) + : store_(&store) { - store_ = &store; this->pagenos_.resize(page_count); std::vector buffer(xbt_pagesize); for (size_t i = 0; i != page_count; ++i) { - RemotePtr page = remote((void*)simgrid::mc::mmu::join(i, addr.address())); xbt_assert(simgrid::mc::mmu::split(page.address()).second == 0, "Not at the beginning of a page"); @@ -43,11 +32,10 @@ ChunkedData::ChunkedData(PageStore& store, AddressSpace& as, RemotePtr add - move the segments in shared memory (this will break `fork` however) */ - as.read_bytes(buffer.data(), xbt_pagesize, page, simgrid::mc::ProcessIndexDisabled); + as.read_bytes(buffer.data(), xbt_pagesize, page); pagenos_[i] = store_->store_page(buffer.data()); } } -} // namespace mc -} // namespace simgrid +} // namespace simgrid::mc