From: drh Date: Mon, 21 Mar 2016 00:30:40 +0000 (+0000) Subject: Remove an unreachable branch. Improvements to comments. X-Git-Tag: version-3.12.0~31^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fheads%2Fzero-base-aMem;p=thirdparty%2Fsqlite.git Remove an unreachable branch. Improvements to comments. FossilOrigin-Name: c5677ecd5cd2637d92a831ec6bd5b002f8d75626 --- diff --git a/manifest b/manifest index dc84917b98..24f48cdd5b 100644 --- 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 diff --git a/manifest.uuid b/manifest.uuid index 24fae6a151..7cf8597f25 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e07b0c47eb5a39623f5fe0e66b939bba0906691c \ No newline at end of file +c5677ecd5cd2637d92a831ec6bd5b002f8d75626 \ No newline at end of file diff --git a/src/vdbe.c b/src/vdbe.c index bdab41b6b6..52747ce8ba 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -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 *) diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 75307c258e..e651589ace 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -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;