X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ae701792ae00d4b822b890780619878e0a624980..341cb255f174254622d3ab6c52dd6d3256b46465:/src/mc/mc_mmu.h diff --git a/src/mc/mc_mmu.h b/src/mc/mc_mmu.h index eb6d33708c..c7d5b976f1 100644 --- a/src/mc/mc_mmu.h +++ b/src/mc/mc_mmu.h @@ -6,15 +6,7 @@ #ifndef SIMGRID_MC_MMU_H #define SIMGRID_MC_MMU_H -#include -#include - -#include -#include // xbt_pagesize... -#include - -#include - +#include "xbt/misc.h" // xbt_pagesize... namespace simgrid { namespace mc { @@ -31,8 +23,7 @@ static int chunkSize() * @param size Byte size * @return Number of memory pages */ -static inline __attribute__ ((always_inline)) -std::size_t chunkCount(std::size_t size) +static XBT_ALWAYS_INLINE std::size_t chunkCount(std::size_t size) { size_t page_count = size >> xbt_pagebits; if (size & (xbt_pagesize-1)) @@ -41,8 +32,7 @@ std::size_t chunkCount(std::size_t size) } /** @brief Split into chunk number and remaining offset */ -static inline __attribute__ ((always_inline)) -std::pair split(std::uintptr_t offset) +static XBT_ALWAYS_INLINE std::pair split(std::uintptr_t offset) { return { offset >> xbt_pagebits, @@ -51,20 +41,17 @@ std::pair split(std::uintptr_t offset) } /** Merge chunk number and remaining offset info a global offset */ -static inline __attribute__ ((always_inline)) -std::uintptr_t join(std::size_t page, std::uintptr_t offset) +static XBT_ALWAYS_INLINE std::uintptr_t join(std::size_t page, std::uintptr_t offset) { return ((std::uintptr_t) page << xbt_pagebits) + offset; } -static inline __attribute__ ((always_inline)) -std::uintptr_t join(std::pair value) +static XBT_ALWAYS_INLINE std::uintptr_t join(std::pair value) { return join(value.first, value.second); } -static inline __attribute__ ((always_inline)) -bool sameChunk(std::uintptr_t a, std::uintptr_t b) +static XBT_ALWAYS_INLINE bool sameChunk(std::uintptr_t a, std::uintptr_t b) { return (a >> xbt_pagebits) == (b >> xbt_pagebits); }