From: Martin Quinson Date: Wed, 4 Jul 2018 07:24:07 +0000 (+0200) Subject: reduce the adhesion from wannabe libsosp to the rest of MC X-Git-Tag: v3_21~575 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/9ae3c710a6a8ac04570f77d88eb8e0c7a13f101c reduce the adhesion from wannabe libsosp to the rest of MC --- diff --git a/include/xbt/base.h b/include/xbt/base.h index d283304435..ad48df7f9f 100644 --- a/include/xbt/base.h +++ b/include/xbt/base.h @@ -85,10 +85,12 @@ # define XBT_ATTRIB_DESTRUCTOR(prio) __attribute__((__destructor__)) #endif -#if defined(__GNUC__) -# define XBT_ALWAYS_INLINE inline __attribute__ ((always_inline)) -#else -# define XBT_ALWAYS_INLINE inline +#ifndef XBT_ALWAYS_INLINE /* defined also in libsosp */ +# if defined(__GNUC__) +# define XBT_ALWAYS_INLINE inline __attribute__ ((always_inline)) +# else +# define XBT_ALWAYS_INLINE inline +# endif #endif #if defined(__GNUC__) diff --git a/src/mc/PageStore.hpp b/src/mc/PageStore.hpp index da9d527c74..bc05cfa952 100644 --- a/src/mc/PageStore.hpp +++ b/src/mc/PageStore.hpp @@ -1,5 +1,4 @@ -/* Copyright (c) 2015-2018. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2015-2018. 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. */ @@ -13,11 +12,13 @@ #include #include -#include "xbt/base.h" - #include "src/mc/mc_forward.hpp" #include "src/mc/mc_mmu.hpp" +#ifndef XBT_ALWAYS_INLINE +#define XBT_ALWAYS_INLINE inline __attribute__((always_inline)) +#endif + namespace simgrid { namespace mc { diff --git a/src/mc/mc_mmu.hpp b/src/mc/mc_mmu.hpp index 34e71e4e09..bb4d900e9f 100644 --- a/src/mc/mc_mmu.hpp +++ b/src/mc/mc_mmu.hpp @@ -6,10 +6,18 @@ #ifndef SIMGRID_MC_MMU_HPP #define SIMGRID_MC_MMU_HPP -#include "xbt/misc.h" // xbt_pagesize... #include #include +#ifndef XBT_ALWAYS_INLINE +#define XBT_ALWAYS_INLINE inline __attribute__((always_inline)) +#endif + +/** Cache the size of a memory page for the current system. */ +extern "C" int xbt_pagesize; +/** Cache the number of bits of addresses inside a given page, log2(xbt_pagesize). */ +extern "C" int xbt_pagebits; + namespace simgrid { namespace mc { // TODO, do not depend on xbt_pagesize/xbt_pagebits but our own chunk size