]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove an unreachable branch. Improvements to comments. zero-base-aMem
authordrh <drh@noemail.net>
Mon, 21 Mar 2016 00:30:40 +0000 (00:30 +0000)
committerdrh <drh@noemail.net>
Mon, 21 Mar 2016 00:30:40 +0000 (00:30 +0000)
FossilOrigin-Name: c5677ecd5cd2637d92a831ec6bd5b002f8d75626

manifest
manifest.uuid
src/vdbe.c
src/vdbeaux.c

index dc84917b98bca3c5cc9171e6b65d9954434937b2..24f48cdd5ba3ab6f4195ff38abd159ffe40e449b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Change\sthe\sVdbe.aMem\sarray\sso\sthat\sit\sis\szero-based\sinstead\sof\sone-based.
-D 2016-03-19T23:32:59.000
+C Remove\san\sunreachable\sbranch.\s\sImprovements\sto\scomments.
+D 2016-03-21T00:30:40.611
 F Makefile.in f53429fb2f313c099283659d0df6f20f932c861f
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc df0bf9ff7f8b3f4dd9fb4cc43f92fe58f6ec5c66
@@ -417,11 +417,11 @@ F src/update.c 56b3db7edff0110360a12b76af97c39ebe3ea8b8
 F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
 F src/util.c 34ef7be420f82415ec48131404995ddb6ee7502f
 F src/vacuum.c feb1eabb20987983d9350cad98299b21fa811f52
-F src/vdbe.c 90d18d0a91284092a099e9a048982df38920190c
+F src/vdbe.c 3b542ffd5b6aaab55255ec3801fc86dcbfaea543
 F src/vdbe.h 6f44193e7be52fd5f7c308175a936555b1e6b101
 F src/vdbeInt.h f88d3115e9bde33b01d81f0dd26d8dd51f995991
 F src/vdbeapi.c 95b1f8e527240a18a9aea41a655b013bf07a7009
-F src/vdbeaux.c 4a38b9f9dab7350f670b9efff25f605933f81963
+F src/vdbeaux.c c8dd3e4e932bede6363b380519d05c0557ad27ce
 F src/vdbeblob.c 3b570b730109e8f653d9d2081649f6e7015113db
 F src/vdbemem.c fe76c1f866de362d9b8332e59d74aa44f6560d69
 F src/vdbesort.c 307460bfa4de4d1c3901fcd42089159131e34062
@@ -1457,10 +1457,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P d7852c639683a1d305a1e731df3cccafa64b594b
-R 4a4c5282463bb7b6f1f36414c3f19a6f
-T *branch * zero-base-aMem
-T *sym-zero-base-aMem *
-T -sym-trunk *
+P e07b0c47eb5a39623f5fe0e66b939bba0906691c
+R 3918e948fd7d72bc109c3b7a0fa018f3
 U drh
-Z 5ba539d03a989ddc8c4359f1a3ede74d
+Z ae546b517b9c79f405f4513ed17a526d
index 24fae6a151170896b8b90d1945fd41d46de72118..7cf8597f257e2648b5961c4618c096d36b635dd7 100644 (file)
@@ -1 +1 @@
-e07b0c47eb5a39623f5fe0e66b939bba0906691c
\ No newline at end of file
+c5677ecd5cd2637d92a831ec6bd5b002f8d75626
\ No newline at end of file
index bdab41b6b60b0597bb61b1f63eb22843d47c5e8b..52747ce8ba967e471735d04c5be6d82c99ba4099 100644 (file)
@@ -192,7 +192,7 @@ static VdbeCursor *allocateCursor(
   **     be freed lazily via the sqlite3_release_memory() API. This
   **     minimizes the number of malloc calls made by the system.
   **
-  ** Memory cell for cursor 0 is Mem[0]. The rest are allocated from
+  ** The memory cell for cursor 0 is aMem[0]. The rest are allocated from
   ** the top of the register space.  Cursor 1 is at Mem[p->nMem-1].
   ** Cursor 2 is at Mem[p->nMem-2]. And so forth.
   */
@@ -5643,7 +5643,8 @@ case OP_Program: {        /* jump */
     ** variable nMem (and later, VdbeFrame.nChildMem) to this value.
     */
     nMem = pProgram->nMem + pProgram->nCsr;
-    if( pProgram->nCsr==0 && nMem>0 ) nMem++;
+    assert( nMem>0 );
+    if( pProgram->nCsr==0 ) nMem++;
     nByte = ROUND8(sizeof(VdbeFrame))
               + nMem * sizeof(Mem)
               + pProgram->nCsr * sizeof(VdbeCursor *)
index 75307c258ef58695c97e1be7959df4b0179a257f..e651589aceddce1d48ade7afa09cd0643aaf5989 100644 (file)
@@ -1866,14 +1866,9 @@ void sqlite3VdbeMakeReady(
   nOnce = pParse->nOnce;
   if( nOnce==0 ) nOnce = 1; /* Ensure at least one byte in p->aOnceFlag[] */
   
-  /* For each cursor required, also allocate a memory cell.  Memory
-  ** cells 0 and (nMem-nCursor)..nMem-1 inclusive will never be used by
-  ** the vdbe program. Instead they are used to allocate memory for
-  ** VdbeCursor/BtCursor structures. The blob of memory associated with 
-  ** cursor 0 is stored in memory cell 0. Memory cell (nMem-1)
-  ** stores the blob of memory associated with cursor 1.  Memory cell
-  ** (nMem-iCur) is used for cursor iCur.
-  **
+  /* Each cursor uses a memory cell.  The first cursor (cursor 0) can
+  ** use aMem[0] which is not otherwise used by the VDBE program.  Allocate
+  ** space at the end of aMem[] for cursors 1 and greater.
   ** See also: allocateCursor().
   */
   nMem += nCursor;