#ifndef JEMALLOC_INTERNAL_SPIN_INLINES_H #define JEMALLOC_INTERNAL_SPIN_INLINES_H #ifndef JEMALLOC_ENABLE_INLINE void spin_init(spin_t *spin); void spin_adaptive(spin_t *spin); #endif #if (defined(JEMALLOC_ENABLE_INLINE) || defined(JEMALLOC_SPIN_C_)) JEMALLOC_INLINE void spin_init(spin_t *spin) { spin->iteration = 0; } JEMALLOC_INLINE void spin_adaptive(spin_t *spin) { volatile uint64_t i; for (i = 0; i < (KQU(1) << spin->iteration); i++) CPU_SPINWAIT; if (spin->iteration < 63) spin->iteration++; } #endif #endif /* JEMALLOC_INTERNAL_SPIN_INLINES_H */