From 1e3c5b0ab5408e7b2fbad71c1137414bc7ae1f78 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 11 Feb 1998 21:45:40 +0000 Subject: [PATCH] Memset cleanup --- src/include/c.h | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/include/c.h b/src/include/c.h index c97d5e3b1b..9b4db686b6 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -7,7 +7,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: c.h,v 1.32 1998/02/11 21:38:08 momjian Exp $ + * $Id: c.h,v 1.33 1998/02/11 21:45:40 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -708,20 +708,18 @@ typedef struct Exception /* Get a bit mask of the bits set in non-int32 aligned addresses */ #define INT_ALIGN_MASK (sizeof(int32) - 1) -/* This function gets call too often, so we inline it if we can */ +/* + * This function gets call too often, so we inline it if we can. + * Are we aligned for int32? + * We have to cast the pointer to int so we can do the AND + * We got the 64 number by testing this against the stock memset() on + * BSD/OS 3.0. Larger values were slower. + */ #define MemSet(start, val, len) do \ - { /* are we aligned for int32? */ \ - /* We have to cast the pointer to int \ - so we can do the AND */ \ + { if (((long)(start) & INT_ALIGN_MASK) == 0 && \ ((len) & INT_ALIGN_MASK) == 0 && \ (val) == 0 && \ - /* \ - * We got this number by testing this \ - * against the stock memset() on \ - * bsd/os 3.0. Larger values were \ - * slower. \ - */ \ (len) <= 64) \ { \ int32 *_i = (int32 *)(start); \