if (0 != h) GC_printf("Free list %u (total size %lu):\n",
i, (unsigned long)GC_free_bytes[i]);
- while (h != 0) {
+ while (h /* != NULL */) { /* CPPCHECK */
hdr * hhdr = HDR(h);
GC_printf("\t%p size %lu %s black listed\n",
}
}
p = GC_prev_block(h - 1);
- if (0 != p) {
+ if (p /* != NULL */) { /* CPPCHECK */
phdr = HDR(p);
if (HBLK_IS_FREE(phdr) && (ptr_t)p + phdr -> hb_sz == (ptr_t)h) {
return p;
GC_ASSERT(GC_free_bytes[index] <= GC_large_free_bytes);
hhdr -> hb_next = second;
hhdr -> hb_prev = 0;
- if (0 != second) {
+ if (second /* != NULL */) { /* CPPCHECK */
hdr * second_hdr;
GET_HDR(second, second_hdr);
nhdr -> hb_next = next;
nhdr -> hb_sz = total_size - h_size;
nhdr -> hb_flags = 0;
- if (0 != prev) {
+ if (prev /* != NULL */) { /* CPPCHECK */
HDR(prev) -> hb_next = n;
} else {
GC_hblkfreelist[index] = n;
}
- if (0 != next) {
+ if (next /* != NULL */) {
HDR(next) -> hb_prev = n;
}
GC_ASSERT(GC_free_bytes[index] > h_size);
for (hbp = GC_hblkfreelist[n];; hbp = hhdr -> hb_next) {
signed_word size_avail; /* bytes available in this block */
- if (NULL == hbp) return NULL;
+ if (hbp /* != NULL */) {
+ /* CPPCHECK */
+ } else {
+ return NULL;
+ }
GET_HDR(hbp, hhdr); /* set hhdr value */
size_avail = (signed_word)hhdr->hb_sz;
if (size_avail < size_needed) continue;
/* This prevents us from disassembling a single large */
/* block to get tiny blocks. */
thishbp = hhdr -> hb_next;
- if (thishbp != 0) {
+ if (thishbp /* != NULL */) { /* CPPCHECK */
signed_word next_size;
GET_HDR(thishbp, thishdr);
GC_remove_header(next);
}
/* Coalesce with predecessor, if possible. */
- if (0 != prev) {
+ if (prev /* != NULL */) { /* CPPCHECK */
prevhdr = HDR(prev);
if (IS_MAPPED(prevhdr)
&& (signed_word)(hhdr -> hb_sz + prevhdr -> hb_sz) > 0) {
/* Set all mark bits for the free list whose first entry is q */
GC_INNER void GC_set_fl_marks(ptr_t q)
{
- if (q != NULL) {
+ if (q /* != NULL */) { /* CPPCHECK */
struct hblk *h = HBLKPTR(q);
struct hblk *last_h = h;
hdr *hhdr = HDR(h);
long totalMemoryUsed = 0;
# endif
TemporaryMemoryHandle tempMemBlock = theTemporaryMemory;
- while (tempMemBlock != NULL) {
+ while (tempMemBlock /* != NULL */) {
TemporaryMemoryHandle nextBlock = (**tempMemBlock).nextBlock;
# if !defined(SHARED_LIBRARY_BUILD)
totalMemoryUsed += GetHandleSize((Handle)tempMemBlock);
}
GC_ASSERT(0 == op || GC_is_marked(op));
} else {
- hdr * hhdr;
-
- op = GC_generic_malloc(lb, k);
- if (NULL == op)
- return NULL;
+ op = GC_generic_malloc(lb, k);
+ if (op /* != NULL */) { /* CPPCHECK */
+ hdr * hhdr = HDR(op);
GC_ASSERT(((word)op & (HBLKSIZE - 1)) == 0); /* large block */
- hhdr = HDR(op);
/* We don't need the lock here, since we have an undisguised */
/* pointer. We do need to hold the lock while we adjust */
/* mark bits. */
# endif
hhdr -> hb_n_marks = 1;
UNLOCK();
+ }
}
return op;
}
struct obj_kind * ok;
DCL_LOCK_STATE;
- if (p == 0) return;
+ if (p /* != NULL */) {
+ /* CPPCHECK */
+ } else {
/* Required by ANSI. It's not my fault ... */
+ return;
+ }
+
# ifdef LOG_ALLOCS
GC_log_printf("GC_free(%p) after GC #%lu\n",
p, (unsigned long)GC_gc_no);
struct hblk * hbp;
hdr * hhdr;
- rlh += lg;
- while ((hbp = *rlh) != 0) {
+ for (rlh += lg; (hbp = *rlh) != NULL; ) {
hhdr = HDR(hbp);
*rlh = hhdr -> hb_next;
GC_ASSERT(hhdr -> hb_sz == lb);
/* Next try to allocate a new block worth of objects of this size. */
{
struct hblk *h = GC_allochblk(lb, k, 0);
- if (h != 0) {
+ if (h /* != NULL */) { /* CPPCHECK */
if (IS_UNCOLLECTABLE(k)) GC_set_hdr_marks(HDR(h));
GC_bytes_allocd += HBLKSIZE - HBLKSIZE % lb;
# ifdef PARALLEL_MARK
struct hblk ** rlh = ok -> ok_reclaim_list;
void **flh = &(ok -> ok_freelist[sz]);
- if (rlh == 0) return; /* No blocks of this kind. */
- rlh += sz;
- while ((hbp = *rlh) != 0) {
+ if (NULL == rlh)
+ return; /* No blocks of this kind. */
+
+ for (rlh += sz; (hbp = *rlh) != NULL; ) {
hhdr = HDR(hbp);
*rlh = hhdr -> hb_next;
GC_reclaim_small_nonempty_block(hbp, hhdr -> hb_sz, FALSE);
rlp = ok -> ok_reclaim_list;
if (rlp == 0) continue;
for (sz = 1; sz <= MAXOBJGRANULES; sz++) {
- rlh = rlp + sz;
- while ((hbp = *rlh) != 0) {
+ for (rlh = rlp + sz; (hbp = *rlh) != NULL; ) {
if (stop_func != (GC_stop_func)0 && (*stop_func)()) {
return(FALSE);
}