Module Name: src Committed By: martin Date: Thu Mar 6 13:41:16 UTC 2025
Modified Files: src/external/bsd/jemalloc/include/jemalloc/internal: size_classes.h Log Message: PR 59062: make jemalloc guaranteed alignment match previous NetBSD guarantees. Current theory is that 1 << LG_TINY_MIN in jemalloc has to match gcc config's MALLOC_ABI_ALIGNMENT/8 to guarantee full alignment even for small allocations per the C standard's requirements linked from the PR. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/external/bsd/jemalloc/include/jemalloc/internal/size_classes.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/bsd/jemalloc/include/jemalloc/internal/size_classes.h diff -u src/external/bsd/jemalloc/include/jemalloc/internal/size_classes.h:1.4 src/external/bsd/jemalloc/include/jemalloc/internal/size_classes.h:1.5 --- src/external/bsd/jemalloc/include/jemalloc/internal/size_classes.h:1.4 Thu Mar 28 11:56:56 2019 +++ src/external/bsd/jemalloc/include/jemalloc/internal/size_classes.h Thu Mar 6 13:41:16 2025 @@ -35,7 +35,24 @@ */ #define LG_SIZE_CLASS_GROUP 2 + +#ifdef __NetBSD__ +#if defined(__hppa__) +/* + * This case would also be needed for aarch64 but NetBSD's gcc config overrides it: + * gcc/config/aarch64/aarch64-netbsd.h:#define MALLOC_ABI_ALIGNMENT 64 + * The NetBSD hppa config is non-standard too and always uses 128 bit (not only + * for 64bit code and 64bit alignment for 32bit code). + */ +#define LG_TINY_MIN 5 +#elif defined(_LP64) || defined(__arm__) +#define LG_TINY_MIN 4 +#else #define LG_TINY_MIN 3 +#endif +#else +#define LG_TINY_MIN 3 +#endif #if (LG_SIZEOF_PTR == 2 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 12) #define SIZE_CLASSES \