From c58dd062591f47a79eee6b838b267e51534bbdd5 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Tue, 27 Jan 2015 10:09:57 -0800 Subject: Fixing reported memory alignment issue. --- src/aig/aig/aigMem.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/aig') diff --git a/src/aig/aig/aigMem.c b/src/aig/aig/aigMem.c index a21b812d..7626b5fb 100644 --- a/src/aig/aig/aigMem.c +++ b/src/aig/aig/aigMem.c @@ -366,6 +366,10 @@ void Aig_MmFlexStop( Aig_MmFlex_t * p, int fVerbose ) char * Aig_MmFlexEntryFetch( Aig_MmFlex_t * p, int nBytes ) { char * pTemp; +#ifdef ABC_MEMALIGN + // extend size to max alignment + nBytes += (ABC_MEMALIGN - nBytes % ABC_MEMALIGN) % ABC_MEMALIGN; +#endif // check if there are still free entries if ( p->pCurrent == NULL || p->pCurrent + nBytes > p->pEnd ) { // need to allocate more entries @@ -535,6 +539,10 @@ char * Aig_MmStepEntryFetch( Aig_MmStep_t * p, int nBytes ) { if ( nBytes == 0 ) return NULL; +#ifdef ABC_MEMALIGN + // extend size to max alignment + nBytes += (ABC_MEMALIGN - nBytes % ABC_MEMALIGN) % ABC_MEMALIGN; +#endif if ( nBytes > p->nMapSize ) { if ( p->nChunks == p->nChunksAlloc ) @@ -564,6 +572,10 @@ void Aig_MmStepEntryRecycle( Aig_MmStep_t * p, char * pEntry, int nBytes ) { if ( nBytes == 0 ) return; +#ifdef ABC_MEMALIGN + // extend size to max alignment + nBytes += (ABC_MEMALIGN - nBytes % ABC_MEMALIGN) % ABC_MEMALIGN; +#endif if ( nBytes > p->nMapSize ) { // ABC_FREE( pEntry ); -- cgit v1.2.3