Pristine Ack-5.5
[Ack-5.5.git] / lang / cem / libcc.ansi / stdlib / malloc / param.h
1 /* $Id: param.h,v 1.2 1994/06/24 11:55:32 ceriel Exp $ */
2 /*
3  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
4  * See the copyright notice in the ACK home directory, in the file "Copyright".
5  */
6 #include        "size_type.h"
7
8 #       define  NON_STANDARD    /*      If defined, the contents of a block
9                                         will NOT be left undisturbed after it
10                                         is freed, as opposed to what it says
11                                         in the manual (malloc(2)).
12                                         Setting this option reduces the memory
13                                         overhead considerably.  I personally
14                                         consider the specified behaviour an
15                                         artefact of the original
16                                         implementation.
17                                 */
18
19 #       undef   ASSERT          /*      If defined, some inexpensive tests
20                                         will be made to ensure the
21                                         correctness of some sensitive data.
22                                         It often turns an uncontrolled crash
23                                         into a controlled one.
24                                 */
25
26 #       undef   CHECK           /*      If defined, extensive and expensive
27                                         tests will be done, inculding a
28                                         checksum on the mallinks (chunk
29                                         information blocks).  The resulting
30                                         information will be printed on a file
31                                         called mal.out .
32                                         Additionally a function
33                                                 maldump(n) int n;
34                                         will be defined, which will dump
35                                         pertinent info in pseudo-readable
36                                         form; it aborts afterwards if n != 0.
37                                 */
38
39 #       undef   EXTERN          /*      If defined, all static names will
40                                         become extern, which is a help in
41                                         using adb(1) or prof(1)
42                                 */
43
44 #       define  STORE           /*      If defined, separate free lists will
45                                         be kept of chunks with small sizes,
46                                         to speed things up a little.
47                                 */
48
49 #       undef SYSTEM            /*      If defined, the system module is used.
50                                         Otherwise, "sbrk" is called directly.
51                                 */
52
53 #define ALIGNMENT       8       
54                                 /* alignment common to all types */
55 #define LOG_MIN_SIZE    3
56 #define LOG_MAX_SIZE    24