diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2004-06-10 21:02:43 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2004-06-10 21:02:43 (GMT) |
commit | 8b82f6d9f0100e07bd4eb1267404135c7f0515d1 (patch) | |
tree | 8c27afbe6e2695c31ee6fedeb2f47add980e4c46 | |
parent | 9d0ee097081d06dc71fa0d103716a01e24ada2b3 (diff) | |
download | hdf5-8b82f6d9f0100e07bd4eb1267404135c7f0515d1.zip hdf5-8b82f6d9f0100e07bd4eb1267404135c7f0515d1.tar.gz hdf5-8b82f6d9f0100e07bd4eb1267404135c7f0515d1.tar.bz2 |
[svn-r8648] Purpose:
Code optimization
Description:
Eliminate some operations through temporary variables in H5F_addr_encode.
Eliminate some redundant memset()'s of structures that will be completely
overwritten in the variable-length datatype code.
Platforms tested:
Solaris 2.7 (arabica)
FreeBSD 4.10 (sleipnir) w/parallel
-rw-r--r-- | src/H5F.c | 8 | ||||
-rw-r--r-- | src/H5Tvlen.c | 12 |
2 files changed, 6 insertions, 14 deletions
@@ -4629,18 +4629,16 @@ void H5F_addr_encode(const H5F_t *f, uint8_t **pp/*in,out*/, haddr_t addr) { unsigned i; - haddr_t tmp; assert(f); assert(pp && *pp); if (H5F_addr_defined(addr)) { - tmp = addr; for (i=0; i<H5F_SIZEOF_ADDR(f); i++) { - *(*pp)++ = (uint8_t)(tmp & 0xff); - tmp >>= 8; + *(*pp)++ = (uint8_t)(addr & 0xff); + addr >>= 8; } - assert("overflow" && 0 == tmp); + assert("overflow" && 0 == addr); } else { for (i=0; i<H5F_SIZEOF_ADDR(f); i++) diff --git a/src/H5Tvlen.c b/src/H5Tvlen.c index 0d510b59..21628ef 100644 --- a/src/H5Tvlen.c +++ b/src/H5Tvlen.c @@ -791,7 +791,6 @@ H5T_vlen_disk_write(H5F_t *f, hid_t dxpl_id, const H5T_vlen_alloc_info_t UNUSED H5HG_t bg_hobjid; /* "Background" VL info sequence's ID info */ /* Get the length of the sequence and heap object ID from background data. */ - HDmemset(&bg_hobjid,0,sizeof(H5HG_t)); UINT32DECODE(bg, bg_seq_len); /* Get heap information */ @@ -844,7 +843,6 @@ H5T_vlen_disk_setnull(H5F_t *f, hid_t dxpl_id, void *_vl, void *_bg) uint8_t *vl=(uint8_t *)_vl; /*Pointer to the user's hvl_t information*/ uint8_t *bg=(uint8_t *)_bg; /*Pointer to the old data hvl_t */ uint32_t seq_len=0; /* Sequence length */ - H5HG_t hobjid; /* New VL sequence's heap ID */ herr_t ret_value=SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT(H5T_vlen_disk_setnull) @@ -859,7 +857,6 @@ H5T_vlen_disk_setnull(H5F_t *f, hid_t dxpl_id, void *_vl, void *_bg) H5HG_t bg_hobjid; /* "Background" VL info sequence's ID info */ /* Get the length of the sequence and heap object ID from background data. */ - HDmemset(&bg_hobjid,0,sizeof(H5HG_t)); UINT32DECODE(bg, bg_seq_len); /* Get heap information */ @@ -877,12 +874,9 @@ H5T_vlen_disk_setnull(H5F_t *f, hid_t dxpl_id, void *_vl, void *_bg) /* Set the length of the sequence */ UINT32ENCODE(vl, seq_len); - /* Set the "nil" pointer information for the heap ID */ - HDmemset(&hobjid,0,sizeof(H5HG_t)); - - /* Encode the heap information */ - H5F_addr_encode(f,&vl,hobjid.addr); - INT32ENCODE(vl,hobjid.idx); + /* Encode the "nil" heap pointer information */ + H5F_addr_encode(f,&vl,(haddr_t)0); + INT32ENCODE(vl,0); done: FUNC_LEAVE_NOAPI(ret_value) |