2000-07-21  Wolfram Gloger  <wg@malloc.de>

	* malloc/malloc.c (chunk_alloc): Try mmap_chunk() for smaller
	allocations only if a non-main arena cannot be extended.

	* sysdeps/powerpc/bp-asm.h (DISCARD_BOUNDS): Rename from
	UNCHECK_BOUNDS.
This commit is contained in:
Ulrich Drepper 2000-07-22 02:16:52 +00:00
parent 58bad8033d
commit f74e61f056
2 changed files with 13 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2000-07-21 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (chunk_alloc): Try mmap_chunk() for smaller
allocations only if a non-main arena cannot be extended.
2000-07-21 Ulrich Drepper <drepper@redhat.com>
* elf/dl-load.c (_dl_map_object): Take loader==NULL into account
@ -21,7 +26,8 @@
2000-07-21 Greg McGary <greg@mcgary.org>
* sysdeps/powerpc/bp-asm.h (DISCARD_BOUNDS): Rename from UNCHECK_BOUNDS.
* sysdeps/powerpc/bp-asm.h (DISCARD_BOUNDS): Rename from
UNCHECK_BOUNDS.
* sysdeps/powerpc/bits/setjmp.h (JB_SIZE): New constant.
* sysdeps/powerpc/elf/libc-start.c (__libc_start_main):
Wrap bounds around argv & envp and each of their string members.

View File

@ -2938,9 +2938,12 @@ chunk_alloc(ar_ptr, nb) arena *ar_ptr; INTERNAL_SIZE_T nb;
if ((remainder_size = chunksize(top(ar_ptr)) - nb) < (long)MINSIZE)
{
#if HAVE_MMAP
/* A last attempt: when we are out of address space in the arena,
try mmap anyway, as long as it is allowed at all. */
if (n_mmaps_max > 0 && (victim = mmap_chunk(nb)) != 0)
/* A last attempt: when we are out of address space in a
non-main arena, try mmap anyway, as long as it is allowed at
all. */
if (ar_ptr != &main_arena &&
n_mmaps_max > 0 &&
(victim = mmap_chunk(nb)) != 0)
return victim;
#endif
return 0; /* propagate failure */