#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 */