aboutsummaryrefslogtreecommitdiff
path: root/src/malloc.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2014-09-18 21:25:33 +0000
committerdrh <drh@noemail.net>2014-09-18 21:25:33 +0000
commit17bcb102993a155dec69a58e2f079a880e1967b7 (patch)
tree8abc9f4462b8269582e7e4aa23c7af3dd82dd360 /src/malloc.c
parent26c79a060b2e7fdf6d05585a3b44d0498df3fe1c (diff)
downloadsqlite-17bcb102993a155dec69a58e2f079a880e1967b7.tar.gz
sqlite-17bcb102993a155dec69a58e2f079a880e1967b7.zip
Add the Mem.szMalloc element to the Mem object and use it to keep track of
the size of the Mem.zMalloc allocation. FossilOrigin-Name: 9c09ac353df6041808cace41880f4729ee73f5e1
Diffstat (limited to 'src/malloc.c')
-rw-r--r--src/malloc.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/malloc.c b/src/malloc.c
index e0d5b5ff9..8ba5fa0a8 100644
--- a/src/malloc.c
+++ b/src/malloc.c
@@ -451,15 +451,18 @@ int sqlite3MallocSize(void *p){
return sqlite3GlobalConfig.m.xSize(p);
}
int sqlite3DbMallocSize(sqlite3 *db, void *p){
- assert( db!=0 );
- assert( sqlite3_mutex_held(db->mutex) );
- if( isLookaside(db, p) ){
- return db->lookaside.sz;
+ if( db==0 ){
+ return sqlite3MallocSize(p);
}else{
- assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) );
- assert( sqlite3MemdebugHasType(p, MEMTYPE_LOOKASIDE|MEMTYPE_HEAP) );
- assert( db!=0 || sqlite3MemdebugNoType(p, MEMTYPE_LOOKASIDE) );
- return sqlite3GlobalConfig.m.xSize(p);
+ assert( sqlite3_mutex_held(db->mutex) );
+ if( isLookaside(db, p) ){
+ return db->lookaside.sz;
+ }else{
+ assert( sqlite3MemdebugHasType(p, MEMTYPE_DB) );
+ assert( sqlite3MemdebugHasType(p, MEMTYPE_LOOKASIDE|MEMTYPE_HEAP) );
+ assert( db!=0 || sqlite3MemdebugNoType(p, MEMTYPE_LOOKASIDE) );
+ return sqlite3GlobalConfig.m.xSize(p);
+ }
}
}
sqlite3_uint64 sqlite3_msize(void *p){