diff options
author | Vailin Choi <vchoi@hdfgroup.org> | 2013-07-30 21:41:23 (GMT) |
---|---|---|
committer | Vailin Choi <vchoi@hdfgroup.org> | 2013-07-30 21:41:23 (GMT) |
commit | 147522bb6118ec82f087208d5caa046f57ff801d (patch) | |
tree | fdc57bdc084da094731012092ba137336f75baf3 /src/H5HG.c | |
parent | 4d080e50f6bde9746d2dc12ced01d7f5758965cb (diff) | |
download | hdf5-147522bb6118ec82f087208d5caa046f57ff801d.zip hdf5-147522bb6118ec82f087208d5caa046f57ff801d.tar.gz hdf5-147522bb6118ec82f087208d5caa046f57ff801d.tar.bz2 |
[svn-r23948] Bring revisions #23670 - 23713 from trunk to revise_chunks.
h5committested.
Diffstat (limited to 'src/H5HG.c')
-rw-r--r-- | src/H5HG.c | 45 |
1 files changed, 22 insertions, 23 deletions
@@ -191,7 +191,7 @@ HDmemset(heap->chunk, 0, size); /* The freespace object */ heap->obj[0].size = size - H5HG_SIZEOF_HDR(f); - assert(H5HG_ISALIGNED(heap->obj[0].size)); + HDassert(H5HG_ISALIGNED(heap->obj[0].size)); heap->obj[0].nrefs = 0; heap->obj[0].begin = p; UINT16ENCODE(p, 0); /*object ID*/ @@ -360,29 +360,28 @@ H5HG_alloc(H5F_t *f, H5HG_heap_t *heap, size_t size, unsigned *heap_flags_ptr) heap->obj[0].size = 0; heap->obj[0].begin = NULL; } /* end if */ - //else if(heap->obj[0].size - need >= H5HG_SIZEOF_OBJHDR(f)) { - else if(heap->obj[0].size >= need + H5HG_SIZEOF_OBJHDR(f)) { - /* - * Some free space remains and it's larger than a heap object header, - * so write the new free heap object header to the heap. - */ - heap->obj[0].size -= need; - heap->obj[0].begin += need; - p = heap->obj[0].begin; - UINT16ENCODE(p, 0); /*id*/ - UINT16ENCODE(p, 0); /*nrefs*/ - UINT32ENCODE(p, 0); /*reserved*/ - H5F_ENCODE_LENGTH (f, p, heap->obj[0].size); - HDassert(H5HG_ISALIGNED(heap->obj[0].size)); + else if(heap->obj[0].size-need >= H5HG_SIZEOF_OBJHDR (f)) { + /* + * Some free space remains and it's larger than a heap object header, + * so write the new free heap object header to the heap. + */ + heap->obj[0].size -= need; + heap->obj[0].begin += need; + p = heap->obj[0].begin; + UINT16ENCODE(p, 0); /*id*/ + UINT16ENCODE(p, 0); /*nrefs*/ + UINT32ENCODE(p, 0); /*reserved*/ + H5F_ENCODE_LENGTH (f, p, heap->obj[0].size); + HDassert(H5HG_ISALIGNED(heap->obj[0].size)); } /* end else-if */ else { - /* - * Some free space remains but it's smaller than a heap object header, - * so we don't write the header. - */ - heap->obj[0].size -= need; - heap->obj[0].begin += need; - HDassert(H5HG_ISALIGNED(heap->obj[0].size)); + /* + * Some free space remains but it's smaller than a heap object header, + * so we don't write the header. + */ + heap->obj[0].size -= need; + heap->obj[0].begin += need; + HDassert(H5HG_ISALIGNED(heap->obj[0].size)); } /* Mark the heap as dirty */ @@ -476,7 +475,7 @@ HDmemset(new_chunk + heap->size, 0, need); UINT16ENCODE(p, 0); /*nrefs*/ UINT32ENCODE(p, 0); /*reserved*/ H5F_ENCODE_LENGTH(f, p, heap->obj[0].size); - assert(H5HG_ISALIGNED(heap->obj[0].size)); + HDassert(H5HG_ISALIGNED(heap->obj[0].size)); /* Resize the heap in the cache */ if(H5AC_resize_entry(heap, heap->size) < 0) |