aboutsummaryrefslogtreecommitdiff
path: root/src/malloc.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-10-15 16:20:57 +0000
committerdrh <drh@noemail.net>2015-10-15 16:20:57 +0000
commit039ca6ab59cb869b439a776f1389ef8c3687f017 (patch)
treefe2dba2e61299fbadd3564f818e97e771cad1eb2 /src/malloc.c
parentb02392e6f0a8980c261c1e46c1f7fbcfe54c23c2 (diff)
downloadsqlite-039ca6ab59cb869b439a776f1389ef8c3687f017.tar.gz
sqlite-039ca6ab59cb869b439a776f1389ef8c3687f017.zip
Performance optimizations to the sqlite3MallocSize() by requiring the
argument to always be non-NULL. FossilOrigin-Name: cb65989b0710c65e4df69063b346344fdb1d12c7
Diffstat (limited to 'src/malloc.c')
-rw-r--r--src/malloc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/malloc.c b/src/malloc.c
index f017e1bc0..7b52661a3 100644
--- a/src/malloc.c
+++ b/src/malloc.c
@@ -411,6 +411,7 @@ int sqlite3MallocSize(void *p){
return sqlite3GlobalConfig.m.xSize(p);
}
int sqlite3DbMallocSize(sqlite3 *db, void *p){
+ assert( p!=0 );
if( db==0 || !isLookaside(db,p) ){
#if SQLITE_DEBUG
if( db==0 ){
@@ -430,7 +431,7 @@ int sqlite3DbMallocSize(sqlite3 *db, void *p){
sqlite3_uint64 sqlite3_msize(void *p){
assert( sqlite3MemdebugNoType(p, (u8)~MEMTYPE_HEAP) );
assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) );
- return (sqlite3_uint64)sqlite3GlobalConfig.m.xSize(p);
+ return p ? sqlite3GlobalConfig.m.xSize(p) : 0;
}
/*
@@ -456,7 +457,7 @@ void sqlite3_free(void *p){
** *db->pnBytesFreed.
*/
static SQLITE_NOINLINE void measureAllocationSize(sqlite3 *db, void *p){
- *db->pnBytesFreed += sqlite3DbMallocSize(db,p);
+ if( p ) *db->pnBytesFreed += sqlite3DbMallocSize(db,p);
}
/*