Remove mb.h, which is unused
This commit is contained in:
parent
77de5f27d8
commit
94c5d22a4d
@ -376,7 +376,6 @@ typedef unsigned szind_t;
|
|||||||
#include "jemalloc/internal/witness.h"
|
#include "jemalloc/internal/witness.h"
|
||||||
#include "jemalloc/internal/mutex.h"
|
#include "jemalloc/internal/mutex.h"
|
||||||
#include "jemalloc/internal/tsd.h"
|
#include "jemalloc/internal/tsd.h"
|
||||||
#include "jemalloc/internal/mb.h"
|
|
||||||
#include "jemalloc/internal/extent.h"
|
#include "jemalloc/internal/extent.h"
|
||||||
#include "jemalloc/internal/base.h"
|
#include "jemalloc/internal/base.h"
|
||||||
#include "jemalloc/internal/arena.h"
|
#include "jemalloc/internal/arena.h"
|
||||||
@ -405,7 +404,6 @@ typedef unsigned szind_t;
|
|||||||
#include "jemalloc/internal/ctl.h"
|
#include "jemalloc/internal/ctl.h"
|
||||||
#include "jemalloc/internal/witness.h"
|
#include "jemalloc/internal/witness.h"
|
||||||
#include "jemalloc/internal/mutex.h"
|
#include "jemalloc/internal/mutex.h"
|
||||||
#include "jemalloc/internal/mb.h"
|
|
||||||
#include "jemalloc/internal/bitmap.h"
|
#include "jemalloc/internal/bitmap.h"
|
||||||
#define JEMALLOC_ARENA_STRUCTS_A
|
#define JEMALLOC_ARENA_STRUCTS_A
|
||||||
#include "jemalloc/internal/arena.h"
|
#include "jemalloc/internal/arena.h"
|
||||||
@ -497,7 +495,6 @@ void jemalloc_postfork_child(void);
|
|||||||
#include "jemalloc/internal/ctl.h"
|
#include "jemalloc/internal/ctl.h"
|
||||||
#include "jemalloc/internal/witness.h"
|
#include "jemalloc/internal/witness.h"
|
||||||
#include "jemalloc/internal/mutex.h"
|
#include "jemalloc/internal/mutex.h"
|
||||||
#include "jemalloc/internal/mb.h"
|
|
||||||
#include "jemalloc/internal/bitmap.h"
|
#include "jemalloc/internal/bitmap.h"
|
||||||
#include "jemalloc/internal/extent.h"
|
#include "jemalloc/internal/extent.h"
|
||||||
#include "jemalloc/internal/base.h"
|
#include "jemalloc/internal/base.h"
|
||||||
@ -528,7 +525,6 @@ void jemalloc_postfork_child(void);
|
|||||||
#include "jemalloc/internal/tsd.h"
|
#include "jemalloc/internal/tsd.h"
|
||||||
#include "jemalloc/internal/witness.h"
|
#include "jemalloc/internal/witness.h"
|
||||||
#include "jemalloc/internal/mutex.h"
|
#include "jemalloc/internal/mutex.h"
|
||||||
#include "jemalloc/internal/mb.h"
|
|
||||||
#include "jemalloc/internal/rtree.h"
|
#include "jemalloc/internal/rtree.h"
|
||||||
#include "jemalloc/internal/extent.h"
|
#include "jemalloc/internal/extent.h"
|
||||||
#include "jemalloc/internal/base.h"
|
#include "jemalloc/internal/base.h"
|
||||||
|
@ -1,115 +0,0 @@
|
|||||||
/******************************************************************************/
|
|
||||||
#ifdef JEMALLOC_H_TYPES
|
|
||||||
|
|
||||||
#endif /* JEMALLOC_H_TYPES */
|
|
||||||
/******************************************************************************/
|
|
||||||
#ifdef JEMALLOC_H_STRUCTS
|
|
||||||
|
|
||||||
#endif /* JEMALLOC_H_STRUCTS */
|
|
||||||
/******************************************************************************/
|
|
||||||
#ifdef JEMALLOC_H_EXTERNS
|
|
||||||
|
|
||||||
#endif /* JEMALLOC_H_EXTERNS */
|
|
||||||
/******************************************************************************/
|
|
||||||
#ifdef JEMALLOC_H_INLINES
|
|
||||||
|
|
||||||
#ifndef JEMALLOC_ENABLE_INLINE
|
|
||||||
void mb_write(void);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (defined(JEMALLOC_ENABLE_INLINE) || defined(JEMALLOC_MB_C_))
|
|
||||||
#ifdef __i386__
|
|
||||||
/*
|
|
||||||
* According to the Intel Architecture Software Developer's Manual, current
|
|
||||||
* processors execute instructions in order from the perspective of other
|
|
||||||
* processors in a multiprocessor system, but 1) Intel reserves the right to
|
|
||||||
* change that, and 2) the compiler's optimizer could re-order instructions if
|
|
||||||
* there weren't some form of barrier. Therefore, even if running on an
|
|
||||||
* architecture that does not need memory barriers (everything through at least
|
|
||||||
* i686), an "optimizer barrier" is necessary.
|
|
||||||
*/
|
|
||||||
JEMALLOC_INLINE void
|
|
||||||
mb_write(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
# if 0
|
|
||||||
/* This is a true memory barrier. */
|
|
||||||
asm volatile ("pusha;"
|
|
||||||
"xor %%eax,%%eax;"
|
|
||||||
"cpuid;"
|
|
||||||
"popa;"
|
|
||||||
: /* Outputs. */
|
|
||||||
: /* Inputs. */
|
|
||||||
: "memory" /* Clobbers. */
|
|
||||||
);
|
|
||||||
# else
|
|
||||||
/*
|
|
||||||
* This is hopefully enough to keep the compiler from reordering
|
|
||||||
* instructions around this one.
|
|
||||||
*/
|
|
||||||
asm volatile ("nop;"
|
|
||||||
: /* Outputs. */
|
|
||||||
: /* Inputs. */
|
|
||||||
: "memory" /* Clobbers. */
|
|
||||||
);
|
|
||||||
# endif
|
|
||||||
}
|
|
||||||
#elif (defined(__amd64__) || defined(__x86_64__))
|
|
||||||
JEMALLOC_INLINE void
|
|
||||||
mb_write(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
asm volatile ("sfence"
|
|
||||||
: /* Outputs. */
|
|
||||||
: /* Inputs. */
|
|
||||||
: "memory" /* Clobbers. */
|
|
||||||
);
|
|
||||||
}
|
|
||||||
#elif defined(__powerpc__)
|
|
||||||
JEMALLOC_INLINE void
|
|
||||||
mb_write(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
asm volatile ("eieio"
|
|
||||||
: /* Outputs. */
|
|
||||||
: /* Inputs. */
|
|
||||||
: "memory" /* Clobbers. */
|
|
||||||
);
|
|
||||||
}
|
|
||||||
#elif defined(__sparc__) && defined(__arch64__)
|
|
||||||
JEMALLOC_INLINE void
|
|
||||||
mb_write(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
asm volatile ("membar #StoreStore"
|
|
||||||
: /* Outputs. */
|
|
||||||
: /* Inputs. */
|
|
||||||
: "memory" /* Clobbers. */
|
|
||||||
);
|
|
||||||
}
|
|
||||||
#elif defined(__tile__)
|
|
||||||
JEMALLOC_INLINE void
|
|
||||||
mb_write(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
__sync_synchronize();
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
/*
|
|
||||||
* This is much slower than a simple memory barrier, but the semantics of mutex
|
|
||||||
* unlock make this work.
|
|
||||||
*/
|
|
||||||
JEMALLOC_INLINE void
|
|
||||||
mb_write(void)
|
|
||||||
{
|
|
||||||
malloc_mutex_t mtx;
|
|
||||||
|
|
||||||
malloc_mutex_init(&mtx, "mb", WITNESS_RANK_OMIT);
|
|
||||||
malloc_mutex_lock(TSDN_NULL, &mtx);
|
|
||||||
malloc_mutex_unlock(TSDN_NULL, &mtx);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* JEMALLOC_H_INLINES */
|
|
||||||
/******************************************************************************/
|
|
Loading…
Reference in New Issue
Block a user