7#define LOGPREFIX "ALLOCATE"
21 ADD (allocated_current, bytes);
22 LOG5 (
"allocated_current = %s",
24 if (
solver->statistics.allocated_current >=
25 solver->statistics.allocated_max) {
26 solver->statistics.allocated_max =
solver->statistics.allocated_current;
27 LOG5 (
"allocated_max = %s",
40 SUB (allocated_current, bytes);
41 LOG5 (
"allocated_current = %s",
54 LOG4 (
"malloc (%zu) = %p", bytes, res);
56 kissat_fatal (
"out-of-memory allocating %zu bytes", bytes);
63 LOG4 (
"free (%p[%zu])", ptr, bytes);
85 kissat_fatal (
"invalid 'kissat_nalloc (..., %zu, %zu)' call", n, size);
86 const size_t bytes = n * size;
88 LOG4 (
"nalloc (%zu, %zu) = %p", n, size, res);
91 "%zu = %zu x %zu bytes",
102 kissat_fatal (
"invalid 'kissat_calloc (..., %zu, %zu)' call", n, size);
104 LOG4 (
"calloc (%zu, %zu) = %p", n, size, res);
105 const size_t bytes = n * size;
108 "%zu = %zu x %zu bytes",
110 inc_bytes (
solver, bytes);
118 kissat_fatal (
"invalid 'kissat_dealloc (..., %zu, %zu)' call", n, size);
119 const size_t bytes = n * size;
125 if (old_bytes == new_bytes)
131 dec_bytes (
solver, old_bytes);
135 old_bytes, new_bytes);
141 kissat_end_logging ();
144 if (new_bytes && !res)
145 kissat_fatal (
"out-of-memory reallocating from %zu to %zu bytes",
146 old_bytes, new_bytes);
147 inc_bytes (
solver, new_bytes);
159 if (max < o || max < n)
160 kissat_fatal (
"invalid 'kissat_nrealloc (..., %zu, %zu, %zu)' call", o,
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
void * kissat_malloc(kissat *solver, size_t bytes)
void * kissat_nalloc(kissat *solver, size_t n, size_t size)
void * kissat_calloc(kissat *solver, size_t n, size_t size)
void kissat_freestr(struct kissat *solver, char *str)
void kissat_free(kissat *solver, void *ptr, size_t bytes)
void * kissat_realloc(kissat *solver, void *p, size_t old_bytes, size_t new_bytes)
void * kissat_nrealloc(kissat *solver, void *p, size_t o, size_t n, size_t size)
void kissat_dealloc(kissat *solver, void *ptr, size_t n, size_t size)
char * kissat_strdup(kissat *solver, const char *str)
void kissat_fatal(const char *fmt,...)
#define KISSAT_assert(ignore)