Commit | Line | Data |
22f7c9c9 |
1 | #ifndef MALLOC_CTL_H |
2 | # define MALLOC_CTL_H |
3 | |
4 | struct perl_mstats { |
5 | UV *nfree; |
6 | UV *ntotal; |
7 | IV topbucket, topbucket_ev, topbucket_odd, totfree, total, total_chain; |
8 | IV total_sbrk, sbrks, sbrk_good, sbrk_slack, start_slack, sbrked_remains; |
9 | IV minbucket; |
10 | /* Level 1 info */ |
11 | UV *bucket_mem_size; |
12 | UV *bucket_available_size; |
13 | UV nbuckets; |
14 | }; |
15 | typedef struct perl_mstats perl_mstats_t; |
16 | |
17 | START_EXTERN_C |
18 | Malloc_t Perl_malloc (MEM_SIZE nbytes); |
19 | Malloc_t Perl_calloc (MEM_SIZE elements, MEM_SIZE size); |
20 | Malloc_t Perl_realloc (Malloc_t where, MEM_SIZE nbytes); |
21 | /* 'mfree' rather than 'free', since there is already a 'perl_free' |
22 | * that causes clashes with case-insensitive linkers */ |
23 | Free_t Perl_mfree (Malloc_t where); |
24 | END_EXTERN_C |
25 | |
26 | #ifndef NO_MALLOC_DYNAMIC_CFG |
27 | |
6af660ee |
28 | /* IV configuration data */ |
22f7c9c9 |
29 | enum { |
30 | MallocCfg_FIRST_SBRK, |
31 | MallocCfg_MIN_SBRK, |
32 | MallocCfg_MIN_SBRK_FRAC1000, |
33 | MallocCfg_SBRK_ALLOW_FAILURES, |
34 | MallocCfg_SBRK_FAILURE_PRICE, |
35 | MallocCfg_sbrk_goodness, |
36 | |
37 | MallocCfg_filldead, |
38 | MallocCfg_fillalive, |
39 | MallocCfg_fillcheck, |
40 | |
41 | MallocCfg_skip_cfg_env, |
42 | MallocCfg_cfg_env_read, |
43 | |
44 | MallocCfg_emergency_buffer_size, |
45 | MallocCfg_emergency_buffer_last_req, |
46 | |
47 | MallocCfg_emergency_buffer_prepared_size, |
48 | |
49 | MallocCfg_last |
50 | }; |
6af660ee |
51 | /* char* configuration data */ |
52 | enum { |
53 | MallocCfgP_emergency_buffer, |
54 | MallocCfgP_emergency_buffer_prepared, |
55 | MallocCfgP_last |
56 | }; |
a7433df8 |
57 | START_EXTERN_C |
22f7c9c9 |
58 | extern IV *MallocCfg_ptr; |
6af660ee |
59 | extern char **MallocCfgP_ptr; |
a7433df8 |
60 | END_EXTERN_C |
22f7c9c9 |
61 | |
62 | #endif |
63 | |
64 | #endif |