Port to new memory model: M_MEMORY_FULL cannot return anymore

This commit is contained in:
Patrick Pelissier committed 2025-05-07 21:02:23 +02:00
1 parent 839e7c2957
commit 1cf7c4fa4d
16 files changed
+6 -78

No files matched your search

+4 -17
View File
@@ -246,7 +246,6 @@
type *ptr = M_CALL_REALLOC(oplist, type, d->ptr, d->alloc, alloc); \
if (M_UNLIKELY_NOMEM (ptr == NULL)) { \
M_MEMORY_FULL(type, alloc); \
return ; \
} \
d->ptr = ptr; \
d->alloc = alloc; \
@@ -323,14 +322,12 @@
M_ASSERT(v->size == v->alloc); \
size_t alloc = M_CALL_INC_ALLOC(oplist, v->alloc); \
if (M_UNLIKELY_NOMEM (alloc <= v->alloc)) { \
M_MEMORY_FULL(type, -1U); \
return NULL; \
M_MEMORY_FULL(type, -(size_t)1); \
} \
M_ASSERT (alloc > v->size); \
type *ptr = M_CALL_REALLOC(oplist, type, v->ptr, v->alloc, alloc); \
if (M_UNLIKELY_NOMEM (ptr == NULL) ) { \
M_MEMORY_FULL(type, alloc); \
return NULL; \
} \
v->ptr = ptr; \
v->alloc = alloc; \
@@ -388,14 +385,12 @@
M_ASSERT(v->size == v->alloc); \
size_t alloc = M_CALL_INC_ALLOC(oplist, v->alloc); \
if (M_UNLIKELY_NOMEM (alloc <= v->alloc)) { \
M_MEMORY_FULL(type, -1U); \
return ; \
M_MEMORY_FULL(type, -(size_t)1); \
} \
M_ASSERT (alloc > v->size); \
type *ptr = M_CALL_REALLOC(oplist, type, v->ptr, v->alloc, alloc); \
if (M_UNLIKELY_NOMEM (ptr == NULL) ) { \
M_MEMORY_FULL(type, alloc); \
return; \
} \
v->ptr = ptr; \
v->alloc = alloc; \
@@ -426,7 +421,6 @@
type *ptr = M_CALL_REALLOC(oplist, type, v->ptr, v->alloc, alloc); \
if (M_UNLIKELY_NOMEM (ptr == NULL) ) { \
M_MEMORY_FULL(type, alloc); \
return; \
} \
v->ptr = ptr; \
v->alloc = alloc; \
@@ -456,7 +450,6 @@
type *ptr = M_CALL_REALLOC(oplist, type, v->ptr, v->alloc, alloc); \
if (M_UNLIKELY_NOMEM (ptr == NULL) ) { \
M_MEMORY_FULL(type, alloc); \
return; \
} \
v->ptr = ptr; \
v->alloc = alloc; \
@@ -476,13 +469,11 @@
size_t alloc = M_CALL_INC_ALLOC(oplist, size) ; \
/* In case of overflow of size_t */ \
if (M_UNLIKELY_NOMEM (alloc <= v->alloc)) { \
M_MEMORY_FULL(type, -1U); \
return NULL; \
M_MEMORY_FULL(type, -(size_t)1); \
} \
type *ptr = M_CALL_REALLOC(oplist, type, v->ptr, v->alloc, alloc); \
if (M_UNLIKELY_NOMEM (ptr == NULL) ) { \
M_MEMORY_FULL(type, alloc); \
return NULL; \
} \
v->ptr = ptr; \
v->alloc = alloc; \
@@ -602,19 +593,16 @@
/* Unlikely case of nothing to do */ \
if (num == 0) return; \
M_MEMORY_FULL(type, v->size); \
return ; \
} \
/* Test if alloc array is sufficient */ \
if (size > v->alloc) { \
size_t alloc = M_CALL_INC_ALLOC(oplist, size) ; \
if (M_UNLIKELY_NOMEM (alloc <= v->alloc)) { \
M_MEMORY_FULL(type, -1U); \
return ; \
M_MEMORY_FULL(type, -(size_t)1); \
} \
type *ptr = M_CALL_REALLOC(oplist, type, v->ptr, v->alloc, alloc); \
if (M_UNLIKELY_NOMEM (ptr == NULL) ) { \
M_MEMORY_FULL(type, alloc); \
return; \
} \
v->ptr = ptr; \
v->alloc = alloc; \
@@ -901,7 +889,6 @@
type *temp = M_CALL_REALLOC(oplist, type, NULL, 0, l->size); \
if (M_UNLIKELY_NOMEM (temp == NULL)) { \
M_MEMORY_FULL(type, l->size); \
return ; \
} \
M_C3(m_arra4_,name,_stable_sort_noalloc)(l->ptr, l->size, temp); \
M_CALL_FREE(oplist, type, temp, l->size); \
+1 -7
View File
@@ -125,7 +125,6 @@ M_P(void, m_bitset, _set, m_bitset_t d, const m_bitset_t s)
m_b1tset_limb_ct *ptr = M_MEMORY_REALLOC (m_b1tset_limb_ct, d->ptr, d->alloc, needAlloc);
if (M_UNLIKELY_NOMEM (ptr == NULL)) {
M_MEMORY_FULL(m_b1tset_limb_ct, needAlloc);
return ;
}
d->ptr = ptr;
d->alloc = needAlloc;
@@ -208,14 +207,12 @@ M_P(void, m_bitset, _push_back, m_bitset_t v, bool x)
// Check for integer overflow
if (M_UNLIKELY_NOMEM (needAlloc <= v->alloc)) {
M_MEMORY_FULL(m_b1tset_limb_ct, needAlloc);
return;
}
// Alloc memory
m_b1tset_limb_ct *ptr = M_MEMORY_REALLOC (m_b1tset_limb_ct, v->ptr, v->alloc, needAlloc);
// Check if success
if (M_UNLIKELY_NOMEM (ptr == NULL) ) {
M_MEMORY_FULL(m_b1tset_limb_ct, needAlloc);
return;
}
v->ptr = ptr;
v->alloc = needAlloc;
@@ -242,8 +239,7 @@ M_P(void, m_bitset, _resize, m_bitset_t v, size_t size)
M_B1TSET_CONTRACT (v);
// Check for overflow
if (M_UNLIKELY_NOMEM (size >= ((size_t)-1) - M_B1TSET_LIMB_BIT)) {
M_MEMORY_FULL(char, (size_t) -1);
return;
M_MEMORY_FULL(char, -(size_t)1);
}
// Compute the needed allocation.
size_t newAlloc = M_B1TSET_TO_ALLOC (size);
@@ -252,7 +248,6 @@ M_P(void, m_bitset, _resize, m_bitset_t v, size_t size)
m_b1tset_limb_ct *ptr = M_MEMORY_REALLOC (m_b1tset_limb_ct, v->ptr, v->alloc, newAlloc);
if (M_UNLIKELY_NOMEM (ptr == NULL) ) {
M_MEMORY_FULL(m_b1tset_limb_ct, newAlloc);
return;
}
v->ptr = ptr;
v->alloc = newAlloc;
@@ -303,7 +298,6 @@ M_P(void, m_bitset, _reserve, m_bitset_t v, size_t alloc)
m_b1tset_limb_ct *ptr = M_MEMORY_REALLOC (m_b1tset_limb_ct, v->ptr, v->alloc, newAlloc);
if (M_UNLIKELY_NOMEM (ptr == NULL) ) {
M_MEMORY_FULL(m_b1tset_limb_ct, newAlloc);
return;
}
v->ptr = ptr;
v->alloc = newAlloc;
-3
View File
@@ -322,7 +322,6 @@ M_P(void, name, _init, buffer_t v, size_t size) \
v->data = M_CALL_REALLOC(oplist, M_F(name, _el_ct), NULL, 0, M_BUFF3R_SIZE(m_size)); \
if (M_UNLIKELY_NOMEM (v->data == NULL)) { \
M_MEMORY_FULL (M_F(name, _el_ct), M_BUFF3R_SIZE(m_size)); \
return; \
} \
) \
if (!M_BUFF3R_POLICY_P((policy), M_BUFFER_PUSH_INIT_POP_MOVE)) { \
@@ -893,7 +892,6 @@ M_P(void, name, _init, buffer_t v, size_t size) \
buffer->Tab = M_CALL_REALLOC(oplist, M_F(name, _el_ct), NULL, 0, size); \
if (M_UNLIKELY_NOMEM (buffer->Tab == NULL)) { \
M_MEMORY_FULL (M_F(name, _el_ct), size); \
return; \
} \
for(unsigned int j = 0; j < (unsigned int) size; j++) { \
atomic_init(&buffer->Tab[j].seq, 2*j+1U); \
@@ -1233,7 +1231,6 @@ M_P(void, name, _init, buffer_t v, size_t size) \
buffer->Tab = M_CALL_REALLOC(oplist, M_F(name, _el_ct), NULL, 0, size); \
if (M_UNLIKELY_NOMEM (buffer->Tab == NULL)) { \
M_MEMORY_FULL (M_F(name, _el_ct), size); \
return; \
} \
if (!M_BUFF3R_POLICY_P((policy), M_BUFFER_PUSH_INIT_POP_MOVE)) { \
for(unsigned int j = 0; j < (unsigned int) size; j++) { \
-4
View File
@@ -313,7 +313,6 @@ M_BEGIN_PROTECTED_CODE
node = M_MEMORY_ALLOC(M_F(name, _lf_node_t)); \
if (M_UNLIKELY_NOMEM (node == NULL)) { \
M_MEMORY_FULL(M_F(name, _lf_node_t), 1); \
return NULL; \
} \
atomic_init(&node->next, (M_F(name, _lf_node_t) *) 0); \
atomic_init(&node->cpt, 0UL); \
@@ -323,7 +322,6 @@ M_BEGIN_PROTECTED_CODE
n = M_MEMORY_ALLOC(M_F(name, _slist_node_ct)); \
if (M_UNLIKELY_NOMEM (n == NULL)) { \
M_MEMORY_FULL(M_F(name, _lf_node_t), 1); \
return NULL; \
} \
M_F(name, _slist_push)(node->list, n); \
} \
@@ -467,7 +465,6 @@ M_BEGIN_PROTECTED_CODE
mem->thread_data = M_MEMORY_REALLOC(M_F(name, _lfmp_thread_ct), NULL, 0, max_thread); \
if (M_UNLIKELY_NOMEM (mem->thread_data == NULL)) { \
M_MEMORY_FULL(M_F(name, _lfmp_thread_ct), max_thread); \
return; \
} \
for(unsigned i = 0; i < max_thread;i++) { \
M_F(name, _lfmp_thread_init)(&mem->thread_data[i]); \
@@ -590,7 +587,6 @@ m_gc_init(m_gc_t gc_mem, size_t max_thread)
gc_mem->thread_data = M_MEMORY_REALLOC(m_gc_lfmp_thread_ct, NULL, 0, max_thread);
if (M_UNLIKELY_NOMEM (gc_mem->thread_data == NULL)) {
M_MEMORY_FULL(m_gc_lfmp_thread_ct, max_thread);
return;
}
for(unsigned i = 0; i < max_thread;i++) {
atomic_init(&gc_mem->thread_data[i].ticket, ULONG_MAX);
+1 -7
View File
@@ -338,7 +338,6 @@ M_ARRAY_DEF(m_array_index, m_indexhash_t, M_POD_OPLIST)
map->data = M_CALL_REALLOC(key_oplist, M_F(name, _freelist_ct), NULL, 0, (size_t) 1+2+map->upper_limit); \
if (M_UNLIKELY_NOMEM (map->data == NULL)) { \
M_MEMORY_FULL(M_F(name, _freelist_ct), 2+M_D1CT_INITIAL_SIZE); \
return ; \
} \
map->freelist_first_data = 0; \
map->freelist_count = 2; \
@@ -346,7 +345,6 @@ M_ARRAY_DEF(m_array_index, m_indexhash_t, M_POD_OPLIST)
map->index = M_CALL_REALLOC(key_oplist, m_indexhash_t, NULL, 0, (size_t)(0+M_D1CT_INITIAL_SIZE)); \
if (M_UNLIKELY_NOMEM (map->index == NULL)) { \
M_MEMORY_FULL(m_indexhash_t, 2+M_D1CT_INITIAL_SIZE); \
return ; \
} \
/* Populate the initial table with the 'empty' representation which is 0 */ \
for(m_index_t i = 0; i < M_D1CT_INITIAL_SIZE; i++) { \
@@ -470,14 +468,12 @@ M_ARRAY_DEF(m_array_index, m_indexhash_t, M_POD_OPLIST)
h->data = M_CALL_REALLOC(key_oplist, M_F(name, _freelist_ct), h->data, h->freelist_cap, (size_t) 1+2+h->upper_limit); \
if (M_UNLIKELY_NOMEM (h->data == NULL) ) { \
M_MEMORY_FULL(M_F(name, _freelist_ct), 2+newSize); \
return ; \
} \
h->freelist_cap = 1+2+h->upper_limit; \
} \
m_indexhash_t *index = M_CALL_REALLOC(key_oplist, m_indexhash_t, h->index, oldSize, (size_t)0+newSize); \
if (M_UNLIKELY_NOMEM (index == NULL) ) { \
M_MEMORY_FULL(m_indexhash_t, newSize); \
return ; \
} \
h->index = index; \
\
@@ -1468,7 +1464,6 @@ enum m_d1ct_oa_element_e {
dict->data = M_CALL_REALLOC(key_oplist, M_F(name, _pair_ct), NULL, 0, M_D1CT_INITIAL_SIZE); \
if (M_UNLIKELY_NOMEM (dict->data == NULL)) { \
M_MEMORY_FULL(M_F(name, _pair_ct), M_D1CT_INITIAL_SIZE); \
return ; \
} \
/* Populate the initial table with the 'empty' representation */ \
for(size_t i = 0; i < M_D1CT_INITIAL_SIZE; i++) { \
@@ -1547,7 +1542,6 @@ enum m_d1ct_oa_element_e {
data = M_CALL_REALLOC(key_oplist, M_F(name, _pair_ct), data, oldSize, newSize); \
if (M_UNLIKELY_NOMEM (data == NULL) ) { \
M_MEMORY_FULL(M_F(name, _pair_ct), newSize); \
return ; \
} \
\
/* First mark the extended space as empty */ \
@@ -1670,7 +1664,7 @@ enum m_d1ct_oa_element_e {
if (dict->count > (dict->mask / 2)) { \
newSize += newSize; \
if (M_UNLIKELY_NOMEM (newSize <= dict->mask+1)) { \
M_MEMORY_FULL(char, (size_t)-1); \
M_MEMORY_FULL(char, -(size_t)1); \
} \
} \
M_F(name,_i_resize_up)M_R(dict, newSize, true); \
-1
View File
@@ -111,7 +111,6 @@ M_P(void, m_genint, _init, m_genint_t s, unsigned int n)
atomic_ullong *ptr = M_MEMORY_REALLOC (atomic_ullong, NULL, 0, alloc);
if (M_UNLIKELY_NOMEM (ptr == NULL)) {
M_MEMORY_FULL(atomic_ullong, alloc);
return;
}
s->n = n;
s->data = ptr;
-1
View File
@@ -193,7 +193,6 @@ M_BEGIN_PROTECTED_CODE
type *ptr = M_CALL_NEW(oplist, type); \
if (M_UNLIKELY_NOMEM (ptr == NULL)) { \
M_MEMORY_FULL(type, 1); \
return NULL; \
} \
M_CALL_INIT(oplist, *ptr); \
atomic_init (&ptr->M_F(name, _cpt), 2); \
-8
View File
@@ -253,7 +253,6 @@
struct M_F(name, _s) *next = M_CALL_NEW(oplist, struct M_F(name, _s)); \
if (M_UNLIKELY_NOMEM (next == NULL)) { \
M_MEMORY_FULL(struct M_F(name, _s), 1); \
return NULL; \
} \
type *ret = &next->data; \
next->next = *v; \
@@ -467,7 +466,6 @@
struct M_F(name, _s) *next = M_CALL_NEW(oplist, struct M_F(name, _s)); \
if (M_UNLIKELY_NOMEM (next == NULL)) { \
M_MEMORY_FULL(struct M_F(name, _s), 1); \
return; \
} \
M_ON_EXCEPTION( M_CALL_DEL(oplist, next)) \
M_CALL_INIT_SET(oplist, next->data, x); \
@@ -519,8 +517,6 @@
next = M_CALL_NEW(oplist, struct M_F(name, _s)); \
if (M_UNLIKELY_NOMEM (next == NULL)) { \
M_MEMORY_FULL(struct M_F(name, _s), 1); \
*update_list = NULL; \
return; \
} \
M_CALL_INIT_SET(oplist, next->data, it_org->data); \
*update_list = next; \
@@ -1012,7 +1008,6 @@
struct M_F(name, _s) *next = M_CALL_NEW(oplist, struct M_F(name, _s)); \
if (M_UNLIKELY_NOMEM (next == NULL)) { \
M_MEMORY_FULL(struct M_F(name, _s), 1); \
return NULL; \
} \
type *ret = &next->data; \
next->next = v->back; \
@@ -1122,7 +1117,6 @@
struct M_F(name, _s) *next = M_CALL_NEW(oplist, struct M_F(name, _s)); \
if (M_UNLIKELY_NOMEM (next == NULL)) { \
M_MEMORY_FULL(struct M_F(name, _s), 1); \
return NULL; \
} \
type *ret = &next->data; \
next->next = NULL; \
@@ -1281,7 +1275,6 @@
struct M_F(name, _s) *m_volatile next = M_CALL_NEW(oplist, struct M_F(name, _s)); \
if (M_UNLIKELY_NOMEM (next == NULL)) { \
M_MEMORY_FULL(struct M_F(name, _s), 1); \
return; \
} \
M_ON_EXCEPTION( M_CALL_DEL(oplist, next)) \
M_CALL_INIT_SET(oplist, next->data, x); \
@@ -1341,7 +1334,6 @@
next = M_CALL_NEW(oplist, struct M_F(name, _s)); \
if (M_UNLIKELY_NOMEM (next == NULL)) { \
M_MEMORY_FULL(struct M_F(name, _s), 1); \
return; \
} \
M_CALL_INIT_SET(oplist, next->data, it_org->data); \
/* Link new node to the previous one*/ \
-2
View File
@@ -119,7 +119,6 @@
mem->current_segment = M_MEMORY_ALLOC(M_F(name,_segment_ct)); \
if (M_UNLIKELY_NOMEM(mem->current_segment == NULL)) { \
M_MEMORY_FULL(M_F(name,_segment_ct), 1); \
return; \
} \
mem->current_segment->next = NULL; \
mem->current_segment->count = 0; \
@@ -161,7 +160,6 @@
M_F(name,_segment_ct) *new_segment = M_MEMORY_ALLOC (M_F(name,_segment_ct)); \
if (M_UNLIKELY_NOMEM (new_segment == NULL)) { \
M_MEMORY_FULL(M_F(name,_segment_ct), 1); \
return NULL; \
} \
new_segment->next = segment; \
new_segment->count = 0; \
-3
View File
@@ -288,7 +288,6 @@ typedef enum {
n = M_CALL_NEW(oplist, node_t); \
if (M_UNLIKELY_NOMEM (n == NULL)) { \
M_MEMORY_FULL(node_t, 1); \
return; \
} \
/* Copy the data in the root node */ \
M_CALL_INIT_SET(oplist, n->data, data); \
@@ -329,7 +328,6 @@ typedef enum {
n = M_CALL_NEW(oplist, node_t); \
if (M_UNLIKELY_NOMEM (n == NULL) ) { \
M_MEMORY_FULL (node_t, 1); \
return; \
} \
/* Copy the data and mark the node as red */ \
M_CALL_INIT_SET(oplist, n->data, data); \
@@ -659,7 +657,6 @@ typedef enum {
node_t *n = M_CALL_NEW(oplist, node_t); \
if (M_UNLIKELY_NOMEM (n == NULL) ) { \
M_MEMORY_FULL (node_t, 1); \
return NULL; \
} \
M_CALL_INIT_SET(oplist, n->data, o->data); \
n->child[0] = M_F(name,_i_copy_node)M_R(o->child[0]); \
-4
View File
@@ -616,7 +616,6 @@ M_IF_METHOD(INIT, oplist)( \
shared_t *out = M_CALL_NEW(oplist, shared_t); \
if (M_UNLIKELY_NOMEM( out == NULL)) { \
M_MEMORY_FULL(shared_t, 1); \
abort(); \
} \
M_ON_EXCEPTION( M_CALL_DEL(oplist, out) ) \
M_CALL_INIT(oplist, out->data); \
@@ -632,7 +631,6 @@ M_IF_METHOD(INIT_SET, oplist)( \
shared_t *out = M_CALL_NEW(oplist, shared_t); \
if (M_UNLIKELY_NOMEM( out == NULL)) { \
M_MEMORY_FULL(shared_t, 1); \
abort(); \
} \
M_F(name, _read_lock)(src); \
M_ON_EXCEPTION( M_F(name, _read_unlock)(src), M_CALL_DEL(oplist, out) ) \
@@ -649,7 +647,6 @@ M_IF_METHOD(INIT_SET, oplist)( \
shared_t *out = M_CALL_NEW(oplist, shared_t); \
if (M_UNLIKELY_NOMEM( out == NULL)) { \
M_MEMORY_FULL(shared_t, 1); \
abort(); \
} \
M_ON_EXCEPTION( M_CALL_DEL(oplist, out) ) \
M_CALL_INIT_SET(oplist, out->data, src); \
@@ -707,7 +704,6 @@ M_PAIR_2 name_attr shared_t *function_name(M_EMPLACE_LIST_TYPE_VAR_ALTER(a, exp_
shared_t *out = M_CALL_NEW(oplist, shared_t); \
if (M_UNLIKELY_NOMEM( out == NULL)) { \
M_MEMORY_FULL(shared_t, 1); \
abort(); \
} \
M_ON_EXCEPTION( M_CALL_DEL(oplist, out) ) \
M_EMPLACE_CALL_FUNC(a, init_func, oplist, out->data, exp_emplace_type); \
-4
View File
@@ -212,7 +212,6 @@ M_INLINE int m_shar3d_integer_cref(int *p) { return *p; }
ptr = M_CALL_NEW(oplist, struct M_F(name, _s)); \
if (M_UNLIKELY_NOMEM (ptr == NULL)) { \
M_MEMORY_FULL(struct M_F(name, _s), 1); \
return; \
} \
ptr->data = data; \
M_CALL_INIT_SET(cpt_oplist, &ptr->cpt, 1); \
@@ -230,7 +229,6 @@ M_INLINE int m_shar3d_integer_cref(int *p) { return *p; }
M_CALL_NEW(oplist, struct M_F(name, _combine_s)); \
if (M_UNLIKELY_NOMEM (p == NULL)) { \
M_MEMORY_FULL(struct M_F(name, _combine_s), 1); \
return; \
} \
struct M_F(name, _s) *ptr = &p->ptr; \
ptr->combineAlloc = true; \
@@ -377,7 +375,6 @@ M_INLINE int m_shar3d_integer_cref(int *p) { return *p; }
M_CALL_NEW(oplist, struct M_F(name, _combine_s)); \
if (M_UNLIKELY_NOMEM (p == NULL)) { \
M_MEMORY_FULL(struct M_F(name, _combine_s), 1); \
return; \
} \
struct M_F(name, _s) *ptr = &p->ptr; \
ptr->combineAlloc = true; \
@@ -448,7 +445,6 @@ M_INLINE int m_shar3d_integer_cref(int *p) { return *p; }
s->buffer = M_CALL_REALLOC(oplist, M_F(name, _atype_ct), NULL, 0, n); \
if (M_UNLIKELY_NOMEM (s->buffer == NULL)) { \
M_MEMORY_FULL(M_F(name, _atype_ct), n); \
return; \
} \
for(size_t i = 0; i < n; i++) { \
M_CALL_INIT(oplist, s->buffer[i].x); \
-2
View File
@@ -394,7 +394,6 @@ m_snapsh0t_mrsw_init(m_snapsh0t_mrsw_ct s, size_t n)
atomic_uint *ptr = M_MEMORY_REALLOC (atomic_uint, NULL, 0, n);
if (M_UNLIKELY_NOMEM (ptr == NULL)) {
M_MEMORY_FULL(atomic_uint, n);
return;
}
s->cptTab = ptr;
for(size_t i = 0; i < n; i++)
@@ -649,7 +648,6 @@ m_snapsh0t_mrsw_read_end(m_snapsh0t_mrsw_ct s, unsigned int idx)
if (M_UNLIKELY_NOMEM (snap->data == NULL)) { \
M_MEMORY_FULL(M_F(name, _aligned_type_ct), \
(nReader+M_SNAPSH0T_SPMC_EXTRA_BUFFER)); \
return; \
} \
for(size_t i = 0; i < nReader + M_SNAPSH0T_SPMC_EXTRA_BUFFER; i++) { \
M_CALL_INIT(oplist, snap->data[i].x); \
-9
View File
@@ -312,7 +312,6 @@ M_P(char *, m_string, _clear_get_cstr, m_string_t v)
char *ptr = M_MEMORY_REALLOC (char, NULL, 0, alloc);
if (M_UNLIKELY_NOMEM (ptr == NULL)) {
M_MEMORY_FULL(char, alloc);
return NULL;
}
M_ASSERT(ptr != NULL && p != NULL);
memcpy(ptr, p, alloc);
@@ -384,18 +383,12 @@ M_P(char *, m_str1ng, _fit2size, m_string_t v, size_t size_alloc)
if (M_UNLIKELY_NOMEM (alloc <= size_alloc)) {
/* Overflow in alloc computation */
M_MEMORY_FULL(char, alloc);
// NOTE: Return is currently broken.
abort();
return NULL;
}
char *ptr = m_str1ng_embedded_p(v) ? NULL : v->u.heap.ptr;
//FIXME: old_alloc may not be NULL if ptr is NULL.
ptr = M_MEMORY_REALLOC (char, ptr, old_alloc, alloc);
if (M_UNLIKELY_NOMEM (ptr == NULL)) {
M_MEMORY_FULL(char, alloc);
// NOTE: Return is currently broken.
abort();
return NULL;
}
// The pointer cannot be the embedded buffer of the string as it is heap allocated
M_ASSERT(ptr != &v->u.buffer[0]);
@@ -449,13 +442,11 @@ M_P(void, m_string, _reserve, m_string_t v, size_t alloc)
size_t r_alloc = m_str1ng_round_capacity(&m, &e, (m_str1ng_size_t) alloc);
if (M_UNLIKELY_NOMEM (alloc > r_alloc)) {
M_MEMORY_FULL(char, alloc);
return;
}
char *ptr = m_str1ng_embedded_p(v) ? NULL : v->u.heap.ptr;
ptr = M_MEMORY_REALLOC (char, ptr, m_string_capacity(v), r_alloc);
if (M_UNLIKELY_NOMEM (ptr == NULL) ) {
M_MEMORY_FULL(char, alloc);
return;
}
if (m_str1ng_embedded_p(v)) {
// Copy the characters embedded in the structure to the allocated heap space
-5
View File
@@ -261,7 +261,6 @@ typedef int32_t m_tr33_index_t;
/* Realloc the array */ \
if (M_UNLIKELY_NOMEM (alloc >= INT32_MAX)) { \
M_MEMORY_FULL(struct M_F(name, _node_s), alloc); \
return; \
} \
/* Allocate one more term in the array so that tab[-1] exists. \
This enables performing latter tab[M_TR33_NO_NODE].x = something; \
@@ -271,7 +270,6 @@ typedef int32_t m_tr33_index_t;
ptr = M_CALL_REALLOC(oplist, struct M_F(name, _node_s), ptr, (size_t)(tree->capacity+1), alloc+1); \
if (M_UNLIKELY_NOMEM (ptr == NULL) ) { \
M_MEMORY_FULL(struct M_F(name, _node_s), alloc); \
return; \
} \
/* Skip the first term to keep it as empty & unused */ \
ptr++; \
@@ -315,7 +313,6 @@ typedef int32_t m_tr33_index_t;
alloc += tree->allow_realloc; \
if (M_UNLIKELY_NOMEM (alloc >= INT32_MAX)) { \
M_MEMORY_FULL(struct M_F(name, _node_s), alloc); \
return M_TR33_NO_NODE; \
} \
/* Allocate one more term in the array so that tab[-1] exists. \
This enables performing latter tab[M_TR33_NO_NODE].x = something; \
@@ -325,7 +322,6 @@ typedef int32_t m_tr33_index_t;
ptr = M_CALL_REALLOC(oplist, struct M_F(name, _node_s), ptr, (size_t)(tree->capacity+1), alloc+1); \
if (M_UNLIKELY_NOMEM (ptr == NULL) ) { \
M_MEMORY_FULL(struct M_F(name, _node_s), alloc); \
return M_TR33_NO_NODE; \
} \
/* Skip the first term to keep it as empty & unused */ \
ptr++; \
@@ -1137,7 +1133,6 @@ typedef int32_t m_tr33_index_t;
M_CALL_REALLOC(oplist, struct M_F(name, _node_s), NULL, 0, alloc+1); \
if (M_UNLIKELY_NOMEM (ptr == NULL) ) { \
M_MEMORY_FULL(struct M_F(name, _node_s), alloc); \
return; \
} \
tree->tab = ++ptr; \
/* We don't scan recursively the node tree, but sequentially */ \
-1
View File
@@ -412,7 +412,6 @@ m_worker_init(m_worker_t g, int numWorker, unsigned int extraQueue, void (*reset
g->worker = M_MEMORY_REALLOC(m_work3r_thread_ct, NULL, 0, numWorker_st);
if (M_UNLIKELY_NOMEM (g->worker == NULL)) {
M_MEMORY_FULL(m_work3r_thread_ct, numWorker_st);
return;
}
m_work3r_queue_init(g->queue_g, numWorker_st + extraQueue);
g->numWorker_g = (unsigned int) numWorker_st;