summaryrefslogtreecommitdiff
path: root/typd_mlc.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2022-05-08 22:47:46 +0300
committerIvan Maidanski <ivmai@mail.ru>2022-05-08 22:47:46 +0300
commitfc40e2e41d1788b2a7c030cf033de38e7625a38c (patch)
treefa828e901653a39f41d040f30d9c03f2376b6551 /typd_mlc.c
parent247e7354f3361e5cfe9ea9dd420fbdeac801efaa (diff)
downloadbdwgc-fc40e2e41d1788b2a7c030cf033de38e7625a38c.tar.gz
Specify that out-of-memory is unlikely in typed alloc and make descriptor
(refactoring) * typd_mlc.c (GC_make_array_descriptor): Specify EXPECT(FALSE) for result==NO_MEM, !one_element and !beginning expressions. * typd_mlc.c (GC_malloc_explicitly_typed_ignore_off_page): Specify EXPECT(FALSE) for !op expression.
Diffstat (limited to 'typd_mlc.c')
-rw-r--r--typd_mlc.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/typd_mlc.c b/typd_mlc.c
index 3167ede6..2a60f9f8 100644
--- a/typd_mlc.c
+++ b/typd_mlc.c
@@ -234,7 +234,8 @@ STATIC int GC_make_array_descriptor(size_t nelements, size_t size,
(struct LeafDescriptor *)
GC_malloc_atomic(sizeof(struct LeafDescriptor));
- if (NO_MEM == result || NULL == one_element) return NO_MEM;
+ if (EXPECT(NO_MEM == result || NULL == one_element, FALSE))
+ return NO_MEM;
one_element -> ld_tag = LEAF_TAG;
one_element -> ld_size = size;
one_element -> ld_nelements = 1;
@@ -245,7 +246,7 @@ STATIC int GC_make_array_descriptor(size_t nelements, size_t size,
struct LeafDescriptor * beginning =
(struct LeafDescriptor *)
GC_malloc_atomic(sizeof(struct LeafDescriptor));
- if (NULL == beginning) return NO_MEM;
+ if (EXPECT(NULL == beginning, FALSE)) return NO_MEM;
beginning -> ld_tag = LEAF_TAG;
beginning -> ld_size = size;
beginning -> ld_nelements = 1;
@@ -260,7 +261,7 @@ STATIC int GC_make_array_descriptor(size_t nelements, size_t size,
struct LeafDescriptor * beginning =
(struct LeafDescriptor *)
GC_malloc_atomic(sizeof(struct LeafDescriptor));
- if (NULL == beginning) return NO_MEM;
+ if (EXPECT(NULL == beginning, FALSE)) return NO_MEM;
beginning -> ld_tag = LEAF_TAG;
beginning -> ld_size = leaf -> ld_size;
beginning -> ld_nelements = leaf -> ld_nelements;
@@ -624,7 +625,7 @@ GC_API GC_ATTR_MALLOC void * GC_CALL
}
} else {
op = (ptr_t)GENERAL_MALLOC_IOP(lb, GC_explicit_kind);
- if (NULL == op) return NULL;
+ if (EXPECT(NULL == op, FALSE)) return NULL;
lg = BYTES_TO_GRANULES(GC_size(op));
}
((word *)op)[GRANULES_TO_WORDS(lg) - 1] = d;