Lines Matching +full:non +full:- +full:tunable

14   This is not the fastest, most space-conserving, most portable, or
15 most tunable malloc ever written. However it is among the fastest
16 while also being among the most space-conserving, portable and tunable.
17 Consistent balance across these factors results in a good general-purpose
18 allocator. For a high-level description, see
36 size argument of zero (re)allocates a minimum-sized chunk.
46 Equivalent to valloc(minimum-page-that-holds(n)), that is,
54 Release all but pad bytes of freed top-most memory back
65 Changes one of the tunable parameters described below. Returns
70 Alignment: 8-byte
75 Code for 8-byte pointers is untested by me but has worked
86 Minimum allocated size: 4-byte ptrs: 16 bytes (including 4 overhead)
87 8-byte ptrs: 24/32 bytes (including, 4/8 overhead)
98 Maximum allocated size: 4-byte size_t: 2^31 - 8 bytes
99 8-byte size_t: 2^63 - 16 bytes
112 make the normal worst-case wastage 15 bytes (i.e., up to 15
115 1. Because requests for zero bytes allocate non-zero space,
125 * No user-definable hooks for callbacks and the like.
130 * Synopsis of compile-time options:
137 stand-alone embedded systems.
139 The implementation is in straight, hand-tuned ANSI C. Among other
142 (for example gcc -O2) that can simplify expressions and control
146 Nonzero if using ANSI-standard C compiler, a C++ compiler, or
149 Define to enable debugging. Adds fairly extensive assertion-based
166 Define to non-zero to optionally make malloc() use mmap() to
169 Define to non-zero to optionally make realloc() use mremap() to
178 Define to a 32-bit type (probably `unsigned int') if you are on a
179 64-bit machine, yet do not want or need to allow malloc requests of
184 Also note that there is some odd internal name-mangling via defines
196 MORECORE_FAILURE (default: -1)
205 Default values of tunable parameters (described in detail below)
254 #if 0 /* not for U-Boot */
260 Compile-time options
272 If you compile with -DDEBUG, a number of assertion checks are
278 attempt to check every non-mmapped allocated and free chunk in the
289 INTERNAL_SIZE_T is the word-size used for internal bookkeeping
290 of chunk sizes. On a 64-bit machine, you can reduce malloc
314 mmap-based options are not currently supported in WIN32.
379 /* The following macros are only invoked with (2n+1)-multiples of
426 if (mctmp < 8) mcn = 0; else { mcn = (mctmp-1)/8; mctmp %= 8; } \
435 case 1: *mzp++ = 0; if(mcn <= 0) break; mcn--; } \
444 if (mctmp < 8) mcn = 0; else { mcn = (mctmp-1)/8; mctmp %= 8; } \
453 case 1: *mcdst++ = *mcsrc++; if(mcn <= 0) break; mcn--; } \
471 #undef HAVE_MMAP /* Not available for U-Boot */
474 Define HAVE_MREMAP to make realloc() use mremap() to re-allocate
488 #undef HAVE_MREMAP /* Not available for U-Boot */
504 manages memory from the system in page-size units.
510 #define LACKS_UNISTD_H /* Shortcut for U-Boot */
575 (by-copy) by mallinfo(). The SVID/XPG malloinfo struct contains a
598 int ordblks; /* number of non-inuse chunks */
599 int smblks; /* unused -- always zero */
602 int usmblks; /* unused -- always zero */
603 int fsmblks; /* unused -- always zero */
605 int fordblks; /* total non-inuse space */
606 int keepcost; /* top-most, releasable (via malloc_trim) space */
620 #define M_TRIM_THRESHOLD -1
621 #define M_TOP_PAD -2
622 #define M_MMAP_THRESHOLD -3
623 #define M_MMAP_MAX -4
631 M_TRIM_THRESHOLD is the maximum amount of unused top-most memory
634 Automatic trimming is mainly useful in long-lived programs.
645 system-level demands of a long-lived program down to a bare
648 mmap threshold of 192K led to near-minimal long term resource
651 If you are using this malloc in a long-lived program, it should
660 chunks at all. And in well-behaved long-lived programs,
665 protection against the system-level effects of carrying around
674 disable trimming completely, you can set to (unsigned long)(-1);
700 that nearly every malloc request during program start-up (or
704 Automatic rounding-up to page-size units is normally sufficient
721 be allocated using already-existing space will be serviced via mmap.
732 helps keep the system level memory demands of a long-lived
773 better off using normal sbrk-based allocation routines that
779 the default value is 0, and attempts to set it to non-zero values
841 #define MORECORE_FAILURE -1
910 /* Set up pre-relocation malloc() ready for use */