X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f43536687685f8e4ff5c43fa22e571750327e5ed..614bd225f0d440c8285d735b2dbaf4090c04c838:/src/mc/PageStore.hpp diff --git a/src/mc/PageStore.hpp b/src/mc/PageStore.hpp index c3dd009fe2..2ec8ec99e0 100644 --- a/src/mc/PageStore.hpp +++ b/src/mc/PageStore.hpp @@ -10,13 +10,13 @@ #include #include -#include -#include +#include +#include #include -#include "mc_mmu.h" -#include "mc_forward.hpp" +#include "src/mc/mc_mmu.h" +#include "src/mc/mc_forward.hpp" namespace simgrid { namespace mc { @@ -24,8 +24,8 @@ namespace mc { /** @brief Storage for snapshot memory pages * * The first (lower) layer of the per-page snapshot mechanism is a page - * store: it's responsibility is to store immutable shareable - * reference-counted memory pages independently of the snapshoting + * store: its responsibility is to store immutable shareable + * reference-counted memory pages independently of the snapshotting * logic. Snapshot management and representation, soft-dirty tracking is * handled to an higher layer. READMORE * @@ -80,8 +80,8 @@ private: // Types // We are using a cheap hash to index a page. // We should expect collision and we need to associate multiple page indices // to the same hash. - typedef boost::unordered_set page_set_type; - typedef boost::unordered_map pages_map_type; + typedef std::unordered_set page_set_type; + typedef std::unordered_map pages_map_type; private: // Fields: /** First page */ @@ -134,7 +134,7 @@ public: // Methods void ref_page(size_t pageno); /** @brief Store a page in the page store */ - size_t store_page(void* page); + std::size_t store_page(void* page); /** @brief Get a page from its page number * @@ -174,7 +174,7 @@ void PageStore::ref_page(size_t pageno) inline __attribute__((always_inline)) const void* PageStore::get_page(std::size_t pageno) const { - return mc_page_from_number(this->memory_, pageno); + return (void*) simgrid::mc::mmu::join(pageno, (std::uintptr_t) this->memory_); } inline __attribute__((always_inline)) @@ -184,7 +184,7 @@ std::size_t PageStore::get_ref(std::size_t pageno) } inline __attribute__((always_inline)) -size_t PageStore::size() { +std::size_t PageStore::size() { return this->top_index_ - this->free_pages_.size(); }