Blame jemalloc/include/jemalloc/internal/quantum.h

Packit 345191
#ifndef JEMALLOC_INTERNAL_QUANTUM_H
Packit 345191
#define JEMALLOC_INTERNAL_QUANTUM_H
Packit 345191
Packit 345191
/*
Packit 345191
 * Minimum allocation alignment is 2^LG_QUANTUM bytes (ignoring tiny size
Packit 345191
 * classes).
Packit 345191
 */
Packit 345191
#ifndef LG_QUANTUM
Packit 345191
#  if (defined(__i386__) || defined(_M_IX86))
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  ifdef __ia64__
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  ifdef __alpha__
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  if (defined(__sparc64__) || defined(__sparcv9) || defined(__sparc_v9__))
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  if (defined(__amd64__) || defined(__x86_64__) || defined(_M_X64))
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  ifdef __arm__
Packit 345191
#    define LG_QUANTUM		3
Packit 345191
#  endif
Packit 345191
#  ifdef __aarch64__
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  ifdef __hppa__
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  ifdef __m68k__
Packit 345191
#    define LG_QUANTUM		3
Packit 345191
#  endif
Packit 345191
#  ifdef __mips__
Packit 345191
#    define LG_QUANTUM		3
Packit 345191
#  endif
Packit 345191
#  ifdef __nios2__
Packit 345191
#    define LG_QUANTUM		3
Packit 345191
#  endif
Packit 345191
#  ifdef __or1k__
Packit 345191
#    define LG_QUANTUM		3
Packit 345191
#  endif
Packit 345191
#  ifdef __powerpc__
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  if defined(__riscv) || defined(__riscv__)
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  ifdef __s390__
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  if (defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || \
Packit 345191
	defined(__SH4_SINGLE_ONLY__))
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  ifdef __tile__
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  ifdef __le32__
Packit 345191
#    define LG_QUANTUM		4
Packit 345191
#  endif
Packit 345191
#  ifndef LG_QUANTUM
Packit 345191
#    error "Unknown minimum alignment for architecture; specify via "
Packit 345191
	 "--with-lg-quantum"
Packit 345191
#  endif
Packit 345191
#endif
Packit 345191
Packit 345191
#define QUANTUM			((size_t)(1U << LG_QUANTUM))
Packit 345191
#define QUANTUM_MASK		(QUANTUM - 1)
Packit 345191
Packit 345191
/* Return the smallest quantum multiple that is >= a. */
Packit 345191
#define QUANTUM_CEILING(a)						\
Packit 345191
	(((a) + QUANTUM_MASK) & ~QUANTUM_MASK)
Packit 345191
Packit 345191
#endif /* JEMALLOC_INTERNAL_QUANTUM_H */