#include <stdlib.h>
#include "global.h"
Go to the source code of this file.
|
| void * | kissat_malloc (struct kissat *, size_t bytes) |
| |
| void | kissat_free (struct kissat *, void *, size_t bytes) |
| |
| char * | kissat_strdup (struct kissat *, const char *) |
| |
| void | kissat_freestr (struct kissat *, char *) |
| |
| void * | kissat_calloc (struct kissat *, size_t n, size_t size) |
| |
| void * | kissat_nalloc (struct kissat *, size_t n, size_t size) |
| |
| void | kissat_dealloc (struct kissat *, void *ptr, size_t n, size_t size) |
| |
| void * | kissat_realloc (struct kissat *, void *, size_t old, size_t bytes) |
| |
| void * | kissat_nrealloc (struct kissat *, void *, size_t o, size_t n, size_t) |
| |
◆ CALLOC
| #define CALLOC |
( |
| T, |
|
|
| P, |
|
|
| N ) |
Value: do { \
} while (0)
void * kissat_calloc(kissat *solver, size_t n, size_t size)
Definition at line 29 of file allocate.h.
29#define CALLOC(T, P, N) \
30 do { \
31 (P) = (T*) kissat_calloc (solver, (N), sizeof *(P)); \
32 } while (0)
◆ DEALLOC
Value: do { \
kissat_dealloc (
solver, (P), (N),
sizeof *(P)); \
} while (0)
Definition at line 34 of file allocate.h.
34#define DEALLOC(P, N) \
35 do { \
36 kissat_dealloc (solver, (P), (N), sizeof *(P)); \
37 } while (0)
◆ NALLOC
| #define NALLOC |
( |
| T, |
|
|
| P, |
|
|
| N ) |
Value: do { \
} while (0)
void * kissat_nalloc(kissat *solver, size_t n, size_t size)
Definition at line 24 of file allocate.h.
24#define NALLOC(T, P, N) \
25 do { \
26 (P) = (T*) kissat_nalloc (solver, (N), sizeof *(P)); \
27 } while (0)
◆ kissat_calloc()
| void * kissat_calloc |
( |
struct kissat * | solver, |
|
|
size_t | n, |
|
|
size_t | size ) |
Definition at line 97 of file allocate.c.
97 {
98 void *res;
99 if (!n || !size)
100 return 0;
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;
106 if (!res)
108 "%zu = %zu x %zu bytes",
109 bytes, n, size);
110 inc_bytes (
solver, bytes);
111 return res;
112}
void kissat_fatal(const char *fmt,...)
◆ kissat_dealloc()
| void kissat_dealloc |
( |
struct kissat * | solver, |
|
|
void * | ptr, |
|
|
size_t | n, |
|
|
size_t | size ) |
Definition at line 114 of file allocate.c.
114 {
115 if (!n || !size)
116 return;
118 kissat_fatal (
"invalid 'kissat_dealloc (..., %zu, %zu)' call", n, size);
119 const size_t bytes = n *
size;
121}
void kissat_free(kissat *solver, void *ptr, size_t bytes)
◆ kissat_free()
| void kissat_free |
( |
struct kissat * | solver, |
|
|
void * | ptr, |
|
|
size_t | bytes ) |
Definition at line 61 of file allocate.c.
61 {
62 if (ptr) {
63 LOG4 (
"free (%p[%zu])", ptr, bytes);
66 } else
68}
#define KISSAT_assert(ignore)
◆ kissat_freestr()
| void kissat_freestr |
( |
struct kissat * | solver, |
|
|
char * | str ) |
◆ kissat_malloc()
| void * kissat_malloc |
( |
struct kissat * | solver, |
|
|
size_t | bytes ) |
Definition at line 49 of file allocate.c.
49 {
50 void *res;
51 if (!bytes)
52 return 0;
54 LOG4 (
"malloc (%zu) = %p", bytes, res);
55 if (!res)
56 kissat_fatal (
"out-of-memory allocating %zu bytes", bytes);
58 return res;
59}
◆ kissat_nalloc()
| void * kissat_nalloc |
( |
struct kissat * | solver, |
|
|
size_t | n, |
|
|
size_t | size ) |
Definition at line 80 of file allocate.c.
80 {
81 void *res;
82 if (!n || !size)
83 return 0;
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);
89 if (!res)
91 "%zu = %zu x %zu bytes",
92 bytes, n, size);
94 return res;
95}
◆ kissat_nrealloc()
| void * kissat_nrealloc |
( |
struct kissat * | solver, |
|
|
void * | p, |
|
|
size_t | o, |
|
|
size_t | n, |
|
|
size_t | size ) |
Definition at line 151 of file allocate.c.
152 {
153 if (!size) {
156 return 0;
157 }
159 if (max < o || max < n)
160 kissat_fatal (
"invalid 'kissat_nrealloc (..., %zu, %zu, %zu)' call", o,
161 n, size);
163}
void * kissat_realloc(kissat *solver, void *p, size_t old_bytes, size_t new_bytes)
◆ kissat_realloc()
| void * kissat_realloc |
( |
struct kissat * | solver, |
|
|
void * | p, |
|
|
size_t | old, |
|
|
size_t | bytes ) |
Definition at line 123 of file allocate.c.
124 {
125 if (old_bytes == new_bytes)
127 if (!new_bytes) {
129 return 0;
130 }
131 dec_bytes (
solver, old_bytes);
132#ifdef LOGGING
135 old_bytes, new_bytes);
136#endif
138#ifdef LOGGING
140 printf ("%p", res);
141 kissat_end_logging ();
142 }
143#endif
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);
148 return res;
149}
◆ kissat_strdup()
| char * kissat_strdup |
( |
struct kissat * | solver, |
|
|
const char * | str ) |
Definition at line 70 of file allocate.c.
70 {
73}
void * kissat_malloc(kissat *solver, size_t bytes)