summaryrefslogtreecommitdiffstats
path: root/src/base/cba/cba.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-12-03 20:35:39 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2014-12-03 20:35:39 -0800
commit705006a64830a4b08bce2310d3c118e47770ad7c (patch)
treea73fb8b5d18d786ccaad055594c6afa7e54d98f0 /src/base/cba/cba.h
parente970aa8521002b242deb259690d1cad67367fb11 (diff)
downloadabc-705006a64830a4b08bce2310d3c118e47770ad7c.tar.gz
abc-705006a64830a4b08bce2310d3c118e47770ad7c.tar.bz2
abc-705006a64830a4b08bce2310d3c118e47770ad7c.zip
Changes to the parser.
Diffstat (limited to 'src/base/cba/cba.h')
-rw-r--r--src/base/cba/cba.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/base/cba/cba.h b/src/base/cba/cba.h
index 810e2d23..0a519893 100644
--- a/src/base/cba/cba.h
+++ b/src/base/cba/cba.h
@@ -150,7 +150,7 @@ static inline Cba_Ntk_t * Cba_NtkAlloc( Cba_Man_t * p, char * pName )
{
Cba_Ntk_t * pNtk = ABC_CALLOC( Cba_Ntk_t, 1 );
pNtk->pDesign = p;
- pNtk->pName = pName;
+ pNtk->pName = Abc_UtilStrsav(pName);
Vec_PtrPush( &p->vNtks, pNtk );
return pNtk;
}
@@ -169,9 +169,13 @@ static inline void Cba_NtkFree( Cba_Ntk_t * p )
Vec_IntErase( &p->vNameIds );
Vec_IntErase( &p->vRanges );
Vec_IntErase( &p->vCopies );
+ ABC_FREE( p->pName );
ABC_FREE( p );
}
-
+static inline int Cba_NtkMemory( Cba_Ntk_t * p )
+{
+ return Vec_WecMemory(&p->vFanins);
+}
static inline Cba_Man_t * Cba_ManAlloc( char * pFileName )
{
@@ -193,6 +197,7 @@ static inline void Cba_ManFree( Cba_Man_t * p )
Cba_Ntk_t * pNtk; int i;
Cba_ManForEachNtk( p, pNtk, i )
Cba_NtkFree( pNtk );
+ ABC_FREE( p->vNtks.pArray );
Mem_FlexStop( p->pMem, 0 );
// design names
Abc_NamStop( p->pNames );
@@ -202,6 +207,19 @@ static inline void Cba_ManFree( Cba_Man_t * p )
ABC_FREE( p->pSpec );
ABC_FREE( p );
}
+static inline int Cba_ManMemory( Cba_Man_t * p )
+{
+ Cba_Ntk_t * pNtk; int i;
+ int nMem = sizeof(Cba_Man_t);
+ nMem += Abc_NamMemUsed(p->pNames);
+ nMem += Abc_NamMemUsed(p->pModels);
+ nMem += Abc_NamMemUsed(p->pFuncs);
+ nMem += Mem_FlexReadMemUsage(p->pMem);
+ nMem += (int)Vec_PtrMemory(&p->vNtks);
+ Cba_ManForEachNtk( p, pNtk, i )
+ nMem += Cba_NtkMemory( pNtk );
+ return nMem;
+}
/*=== cbaReadBlif.c =========================================================*/