]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Rearrange memory allocation in sqlite3VdbeMakeReady to try to work around
authordrh <drh@noemail.net>
Tue, 5 Oct 2004 17:37:36 +0000 (17:37 +0000)
committerdrh <drh@noemail.net>
Tue, 5 Oct 2004 17:37:36 +0000 (17:37 +0000)
some byte-alignment problems on Sparc. (CVS 2002)

FossilOrigin-Name: f623d6e74fb5f6f70a22c06278b2bb1b4b7f9b85

manifest
manifest.uuid
src/vdbeaux.c

index 8ffe90b49109d92f4d576a47d26bedd470b30f6c..601e3aaca73e276babc3ff6cf5aef8591c7f8ebf 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Use\sthe\sdatabase\sname\ssupplied\sto\stable_info()\sand\srelated\spragmas.\s(CVS\s2001)
-D 2004-10-05T15:42:53
+C Rearrange\smemory\sallocation\sin\ssqlite3VdbeMakeReady\sto\stry\sto\swork\saround\nsome\sbyte-alignment\sproblems\son\sSparc.\s(CVS\s2002)
+D 2004-10-05T17:37:36
 F Makefile.in 78ddc9fca09ab6e3b75a79ecf8d490e34cd0519c
 F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -79,7 +79,7 @@ F src/vdbe.c f7ebf1a20a5fdca27e80cb96e06e988da2426379
 F src/vdbe.h 067ca8d6750ba4f69a50284765e5883dee860181
 F src/vdbeInt.h 6017100adff362b8dfa37a69e3f1431f084bfa5b
 F src/vdbeapi.c 81ab9e84c55f5762f552904e6e5d309269b02017
-F src/vdbeaux.c a43a2989eeb3a478b31dba2fc28578bbb2d6366e
+F src/vdbeaux.c edf87d360ed8af02a4d197d1c3f0d7a1d8d4d6ea
 F src/vdbemem.c ef9ac7d32acfe4bce5c5b408b1294c8d9e0cdb56
 F src/where.c 6e637a6b3e61fe3104adc4e5caa4738bf6570daa
 F test/all.test 929bfa932b55e75c96fe2203f7650ba451c1862c
@@ -250,7 +250,7 @@ F www/tclsqlite.tcl 560ecd6a916b320e59f2917317398f3d59b7cc25
 F www/vdbe.tcl 59288db1ac5c0616296b26dce071c36cb611dfe9
 F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P 81ff8107ad63113782cf5a9ba7a512496114ba08
-R ff0efd5a5f898106b48c51aa9ee32ff8
+P 0415af325739fd4e0bd4761c889719355a1ec4ff
+R e89157b4e00ba8f0209c420ebd34655f
 U drh
-Z 077e72fc4e15bfcfe383832545b7afca
+Z 2e9077980f61e3df7d6059849a32a371
index 1ef9202e6e14fe312261930e417392ac0a3158d6..e649f6a17dd3be56a1d353302acdc01e5b15f8b3 100644 (file)
@@ -1 +1 @@
-0415af325739fd4e0bd4761c889719355a1ec4ff
\ No newline at end of file
+f623d6e74fb5f6f70a22c06278b2bb1b4b7f9b85
\ No newline at end of file
index e7cadea8864cba216e1920ffea47e6ecf4465ac1..374275e8a847d96f98b90c58cc915554e00e7313 100644 (file)
@@ -604,21 +604,22 @@ void sqlite3VdbeMakeReady(
     assert( nVar>=0 );
     n = isExplain ? 10 : p->nOp;
     p->aStack = sqliteMalloc(
-      n*(sizeof(p->aStack[0])+sizeof(Mem*))          /* aStack, apArg */
-      + nVar*sizeof(Mem)                             /* aVar */
-      + nVar*sizeof(char*)                           /* azVar */
-      + nMem*sizeof(Mem)                             /* aMem */
-      + nCursor*sizeof(Cursor*)                      /* apCsr */
+        n*sizeof(p->aStack[0])         /* aStack */
+      + n*sizeof(Mem*)                 /* apArg */
+      + nVar*sizeof(Mem)               /* aVar */
+      + nVar*sizeof(char*)             /* azVar */
+      + nMem*sizeof(Mem)               /* aMem */
+      + nCursor*sizeof(Cursor*)        /* apCsr */
     );
     if( !sqlite3_malloc_failed ){
-      p->apArg = (Mem **)&p->aStack[n];
-      p->aVar = (Mem *)&p->apArg[n];
-      p->azVar = (char**)&p->aVar[nVar];
-      p->okVar = 0;
-      p->nVar = nVar;
-      p->aMem = (Mem*)&p->azVar[nVar];
+      p->aMem = &p->aStack[n];
       p->nMem = nMem;
-      p->apCsr = (Cursor**)&p->aMem[nMem];
+      p->aVar = &p->aMem[nMem];
+      p->nVar = nVar;
+      p->okVar = 0;
+      p->apArg = (Mem**)&p->aVar[nVar];
+      p->azVar = (char**)&p->apArg[n];
+      p->apCsr = (Cursor**)&p->azVar[nVar];
       p->nCursor = nCursor;
       for(n=0; n<nVar; n++){
         p->aVar[n].flags = MEM_Null;