Module Name:    src
Committed By:   riastradh
Date:           Wed Jul  5 10:57:33 UTC 2023

Modified Files:
        src/external/bsd/jemalloc/dist/src: jemalloc.c

Log Message:
Revert "jemalloc: Enforce alignment-must-divide-size rule of aligned_alloc."

Apparently this restriction was lifted in C17, and this was even
documented in a part of the man page I didn't notice because I got
stuck at the incomplete sentence `The aligned_alloc function conforms
to.'.  Sorry for the noise, folks.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/external/bsd/jemalloc/dist/src/jemalloc.c

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/dist/src/jemalloc.c
diff -u src/external/bsd/jemalloc/dist/src/jemalloc.c:1.11 src/external/bsd/jemalloc/dist/src/jemalloc.c:1.12
--- src/external/bsd/jemalloc/dist/src/jemalloc.c:1.11	Tue Jul  4 15:06:28 2023
+++ src/external/bsd/jemalloc/dist/src/jemalloc.c	Wed Jul  5 10:57:33 2023
@@ -1635,9 +1635,6 @@ struct static_opts_s {
 	/* Whether to set errno when we encounter an error condition. */
 	bool set_errno_on_error;
 
-	/* Whether the alignment must divide the size. */
-	bool alignment_must_divide_size;
-
 	/*
 	 * The minimum valid alignment for functions requesting aligned storage.
 	 */
@@ -1665,7 +1662,6 @@ static_opts_init(static_opts_t *static_o
 	static_opts->assert_nonempty_alloc = false;
 	static_opts->null_out_result_on_error = false;
 	static_opts->set_errno_on_error = false;
-	static_opts->alignment_must_divide_size = false;
 	static_opts->min_alignment = 0;
 	static_opts->oom_string = "";
 	static_opts->invalid_alignment_string = "";
@@ -1861,11 +1857,6 @@ imalloc_body(static_opts_t *sopts, dynam
 	    || (dopts->alignment & (dopts->alignment - 1)) != 0)) {
 		goto label_invalid_alignment;
 	}
-	if (sopts->alignment_must_divide_size) {
-		if (unlikely(dopts->item_size % dopts->alignment)) {
-			goto label_invalid_alignment;
-		}
-	}
 
 	/* This is the beginning of the "core" algorithm. */
 
@@ -2134,7 +2125,6 @@ je_aligned_alloc(size_t alignment, size_
 	sopts.bump_empty_alloc = true;
 	sopts.null_out_result_on_error = true;
 	sopts.set_errno_on_error = true;
-	sopts.alignment_must_divide_size = true;
 	sopts.min_alignment = 1;
 	sopts.oom_string =
 	    "<jemalloc>: Error allocating aligned memory: out of memory\n";

Reply via email to