diff options
author | jasone <jasone@FreeBSD.org> | 2006-07-27 19:09:32 +0000 |
---|---|---|
committer | jasone <jasone@FreeBSD.org> | 2006-07-27 19:09:32 +0000 |
commit | c606303b8ced9d8eb28b8bebcff2036dc76d143a (patch) | |
tree | 11f1ac3e3ac4a00d4bfc1d4877cc4a337127f0cc /lib/libc/stdlib | |
parent | 70bf44eb7caea5f0ffbf47cfe811926c04d5e2b8 (diff) | |
download | FreeBSD-src-c606303b8ced9d8eb28b8bebcff2036dc76d143a.zip FreeBSD-src-c606303b8ced9d8eb28b8bebcff2036dc76d143a.tar.gz |
Conditionally expand the size_invs lookup table in arena_run_reg_dalloc()
so that architectures with a quantum of 8 (rather than 16) work.
Restore arm's quantum to 8.
Submitted by: jmg
Diffstat (limited to 'lib/libc/stdlib')
-rw-r--r-- | lib/libc/stdlib/malloc.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index 3eae4ec..df543ec 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -270,7 +270,7 @@ __FBSDID("$FreeBSD$"); # define SIZEOF_PTR 8 #endif #ifdef __arm__ -# define QUANTUM_2POW_MIN 4 +# define QUANTUM_2POW_MIN 3 # define SIZEOF_PTR 4 # define USE_BRK # define NO_TLS @@ -1581,6 +1581,17 @@ arena_run_reg_dalloc(arena_run_t *run, arena_bin_t *bin, void *ptr, size_t size) SIZE_INV(20),SIZE_INV(21), SIZE_INV(22), SIZE_INV(23), SIZE_INV(24),SIZE_INV(25), SIZE_INV(26), SIZE_INV(27), SIZE_INV(28),SIZE_INV(29), SIZE_INV(30), SIZE_INV(31) +#if (QUANTUM_2POW_MIN < 4) + , + SIZE_INV(32), SIZE_INV(33), SIZE_INV(34), SIZE_INV(35), + SIZE_INV(36), SIZE_INV(37), SIZE_INV(38), SIZE_INV(39), + SIZE_INV(40), SIZE_INV(41), SIZE_INV(42), SIZE_INV(43), + SIZE_INV(44), SIZE_INV(45), SIZE_INV(46), SIZE_INV(47), + SIZE_INV(48), SIZE_INV(49), SIZE_INV(50), SIZE_INV(51), + SIZE_INV(52), SIZE_INV(53), SIZE_INV(54), SIZE_INV(55), + SIZE_INV(56), SIZE_INV(57), SIZE_INV(58), SIZE_INV(59), + SIZE_INV(60), SIZE_INV(61), SIZE_INV(62), SIZE_INV(63) +#endif }; unsigned diff, regind, elm, bit; |