aboutsummaryrefslogtreecommitdiff
path: root/src/malloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/malloc.c')
-rw-r--r--src/malloc.c40
1 files changed, 25 insertions, 15 deletions
diff --git a/src/malloc.c b/src/malloc.c
index 3c567c9c0..7db0eacc3 100644
--- a/src/malloc.c
+++ b/src/malloc.c
@@ -12,7 +12,7 @@
**
** Memory allocation functions used throughout sqlite.
**
-** $Id: malloc.c,v 1.17 2008/06/15 02:51:48 drh Exp $
+** $Id: malloc.c,v 1.18 2008/06/17 15:12:01 drh Exp $
*/
#include "sqliteInt.h"
#include <stdarg.h>
@@ -91,7 +91,7 @@ static struct {
sqlite3_int64 nowUsed; /* Main memory currently in use */
sqlite3_int64 mxUsed; /* Highwater mark for nowUsed */
int mxReq; /* Max request size for ordinary mallocs */
- int mxTempReq; /* Max request size for xTemp mallocs */
+ int mxScratchReq; /* Max request size for xTemp mallocs */
} mem0;
/*
@@ -229,12 +229,12 @@ void *sqlite3_malloc(int n){
/*
** Each thread may only have a single outstanding allocation from
-** xTempMalloc(). We verify this constraint in the single-threaded
-** case by setting tempAllocOut to 1 when an allocation
+** xScratchMalloc(). We verify this constraint in the single-threaded
+** case by setting scratchAllocOut to 1 when an allocation
** is outstanding clearing it when the allocation is freed.
*/
#if SQLITE_THREADSAFE==0 && !defined(NDEBUG)
-static int tempAllocOut = 0;
+static int scratchAllocOut = 0;
#endif
@@ -246,37 +246,47 @@ static int tempAllocOut = 0;
** structures that would not normally fit on the stack of an
** embedded processor.
*/
-void *sqlite3TempMalloc(int n){
+void *sqlite3ScratchMalloc(int n){
void *p;
assert( n>0 );
if( sqlite3FaultStep(SQLITE_FAULTINJECTOR_MALLOC) ){
return 0;
}
#if SQLITE_THREADSAFE==0 && !defined(NDEBUG)
- assert( tempAllocOut==0 );
- tempAllocOut = 1;
+ assert( scratchAllocOut==0 );
+ scratchAllocOut = 1;
#endif
if( sqlite3Config.bMemstat ){
sqlite3_mutex_enter(mem0.mutex);
- if( n>mem0.mxTempReq ) mem0.mxTempReq = n;
- p = sqlite3Config.m.xTempMalloc(n);
+ if( n>mem0.mxScratchReq ) mem0.mxScratchReq = n;
+ p = sqlite3Config.m.xMalloc(n);
sqlite3_mutex_leave(mem0.mutex);
}else{
- p = sqlite3Config.m.xTempMalloc(n);
+ p = sqlite3Config.m.xMalloc(n);
}
return p;
}
-void sqlite3TempFree(void *p){
+void sqlite3ScratchFree(void *p){
if( p ){
#if SQLITE_THREADSAFE==0 && !defined(NDEBUG)
- assert( tempAllocOut==1 );
- tempAllocOut = 0;
+ assert( scratchAllocOut==1 );
+ scratchAllocOut = 0;
#endif
- sqlite3Config.m.xTempFree(p);
+ sqlite3Config.m.xFree(p);
}
}
/*
+** Place holders for the page-cache memory allocator.
+*/
+void *sqlite3PageMalloc(int iSize){
+ return sqlite3Malloc(iSize);
+}
+void sqlite3PageFree(void *pOld){
+ sqlite3_free(pOld);
+}
+
+/*
** Return the size of a memory allocation previously obtained from
** sqlite3Malloc() or sqlite3_malloc().
*/