| 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 |
|
|---|
| 28 | /* IV configuration data */
|
|---|
| 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 | };
|
|---|
| 51 | /* char* configuration data */
|
|---|
| 52 | enum {
|
|---|
| 53 | MallocCfgP_emergency_buffer,
|
|---|
| 54 | MallocCfgP_emergency_buffer_prepared,
|
|---|
| 55 | MallocCfgP_last
|
|---|
| 56 | };
|
|---|
| 57 | START_EXTERN_C
|
|---|
| 58 | extern IV *MallocCfg_ptr;
|
|---|
| 59 | extern char **MallocCfgP_ptr;
|
|---|
| 60 | END_EXTERN_C
|
|---|
| 61 |
|
|---|
| 62 | #endif
|
|---|
| 63 |
|
|---|
| 64 | #endif
|
|---|