]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove the unnecessary Parse.szOpAlloc field, for small size reduction
authordrh <>
Wed, 17 Jun 2026 19:28:17 +0000 (19:28 +0000)
committerdrh <>
Wed, 17 Jun 2026 19:28:17 +0000 (19:28 +0000)
and performance improvement.

FossilOrigin-Name: 9a2a230464e4314033e67e602dbd9f554f50ec2eefc7b1a5f05b85249591f7b8

manifest
manifest.uuid
src/sqliteInt.h
src/vdbeaux.c

index 96295ff4504b1c632e865007f6ea53cf9684e73f..619979f047f57f24c35bc632ad3faaff102492e7 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Small\sperformance\sboost\sin\sthe\ssqlite3VdbeResolveLabel()\sroutine\sof\sthe\ncode\sgenerator.
-D 2026-06-17T18:39:05.979
+C Remove\sthe\sunnecessary\sParse.szOpAlloc\sfield,\sfor\ssmall\ssize\sreduction\nand\sperformance\simprovement.
+D 2026-06-17T19:28:17.082
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -742,7 +742,7 @@ F src/shell.c.in a4e83895cfa336065ad7f7a7dea8fc2a19d050f7ce7466621c67208acaac9e4
 F src/sqlite.h.in 740636d37edf1ed4a64378989e48ccfad169008aac250330f982e14aaf1d599b
 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
 F src/sqlite3ext.h 9788c301f95370fa30e808861f1d2e6f022a816ddbe2a4f67486784c1b31db2e
-F src/sqliteInt.h 1dcfbcc4419a7629c2e6b72aeeba283a48b17000e356b235680bdadc65b977cb
+F src/sqliteInt.h 2020077a20fcf1a0cc00d7e5e44cb18c2478f64062749d4f99a046356822dd0c
 F src/sqliteLimit.h c70656b67ab5b96741a8f1c812bdd80c81f2b1c1e443d0cc3ea8c33bb1f1a092
 F src/status.c 7565d63a79aa2f326339a24a0461a60096d0bd2bce711fefb50b5c89335f3592
 F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
@@ -808,7 +808,7 @@ F src/vdbe.c 39658ee12b9d6bf5fc546e1ede20b307d86d9e988ae709c9b461249a8312513d
 F src/vdbe.h 70e862ac8a11b590f8c1eaac17a0078429d42bc4ea3f757a9af0f451dd966a71
 F src/vdbeInt.h c31ba4dc8d280c2b1dc89c6fcee68f2555e3813ab34279552c20b964c0e338b1
 F src/vdbeapi.c 6cdcbe5c7afa754c998e73d2d5d2805556268362914b952811bdfb9c78a37cf1
-F src/vdbeaux.c 22b786874c7c26b0410990bf5acaf3e3e1f6f821a51d57d275dcc72d497e4099
+F src/vdbeaux.c 7c1f5542565bb7406ae2aae95acb0682a81b1abc6b86185fed8b96ed42e17822
 F src/vdbeblob.c b3f0640db9642fbdc88bd6ebcc83d6009514cafc98f062f675f2c8d505d82692
 F src/vdbemem.c 6e7ad67507c9a8e625b46256a9c003929331d6a27b99bbe139b8f0dab636e1f2
 F src/vdbesort.c b69220f4ea9ffea5fdef34d968c60305444eea909252a81933b54c296d9cca70
@@ -2208,8 +2208,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
 F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
 F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P 17c444382979b70cdca78e51418366e802b2d41d1156774e5e9693b52542b84c
-R eb60e5bacc37200fc3809eda21d427d1
+P f786f3643e410e862568777ea021afa47c924348e511a83e7e9000cf14bec534
+R 4c04be80f7283503d9c998bde86c0621
 U drh
-Z 287e30c1d3e97cd73a4cfc8f041f4b06
+Z ca70ffa427e0a2aecfc80c727849b21e
 # Remove this line to create a well-formed Fossil manifest.
index 2f3b2098cc3e54ec2354c3af874ec496b9a56c74..d621b9a5b974c6b63965c8da2216d0d6ed3e21e0 100644 (file)
@@ -1 +1 @@
-f786f3643e410e862568777ea021afa47c924348e511a83e7e9000cf14bec534
+9a2a230464e4314033e67e602dbd9f554f50ec2eefc7b1a5f05b85249591f7b8
index 12124e7d36f31afe416bf955ec0d52ac023adb35..41ac01089f9322de95be6a6a48cc50df1a492f26 100644 (file)
@@ -3916,7 +3916,6 @@ struct Parse {
   int nErr;            /* Number of errors seen */
   int nTab;            /* Number of previously allocated VDBE cursors */
   int nMem;            /* Number of memory cells used so far */
-  int szOpAlloc;       /* Bytes of memory space allocated for Vdbe.aOp[] */
   int iSelfTab;        /* Table associated with an index on expr, or negative
                        ** of the base register during check-constraint eval */
   int nNestSel;        /* Number of nested SELECT statements and/or VIEWs */
index c7eb98dee39ed6902c32c7ac81f831a26cb19c66..9ccbf96a87a257f5264c381fe35bf0faa5ef51ce 100644 (file)
@@ -41,7 +41,6 @@ Vdbe *sqlite3VdbeCreate(Parse *pParse){
   assert( pParse->aLabel==0 );
   assert( pParse->nLabel==0 );
   assert( p->nOpAlloc==0 );
-  assert( pParse->szOpAlloc==0 );
   sqlite3VdbeAddOp2(p, OP_Init, 0, 1);
   return p;
 }
@@ -191,8 +190,7 @@ static int growOpArray(Vdbe *v, int nOp){
   assert( nNew>=(v->nOpAlloc+nOp) );
   pNew = sqlite3DbRealloc(p->db, v->aOp, nNew*sizeof(Op));
   if( pNew ){
-    p->szOpAlloc = sqlite3DbMallocSize(p->db, pNew);
-    v->nOpAlloc = p->szOpAlloc/sizeof(Op);
+    v->nOpAlloc = sqlite3DbMallocSize(p->db, pNew)/sizeof(Op);
     v->aOp = pNew;
   }
   return (pNew ? SQLITE_OK : SQLITE_NOMEM_BKPT);
@@ -2695,7 +2693,7 @@ void sqlite3VdbeMakeReady(
   n = ROUND8P(sizeof(Op)*p->nOp);             /* Bytes of opcode memory used */
   x.pSpace = &((u8*)p->aOp)[n];               /* Unused opcode memory */
   assert( EIGHT_BYTE_ALIGNMENT(x.pSpace) );
-  x.nFree = ROUNDDOWN8(pParse->szOpAlloc - n);  /* Bytes of unused memory */
+  x.nFree = ROUNDDOWN8(p->nOpAlloc*sizeof(Op) - n);  /* Bytes unused memory */
   assert( x.nFree>=0 );
   assert( EIGHT_BYTE_ALIGNMENT(&x.pSpace[x.nFree]) );