]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Small simplification and performance improvement in memsys5Free().
authordrh <drh@noemail.net>
Mon, 25 Jan 2016 01:07:59 +0000 (01:07 +0000)
committerdrh <drh@noemail.net>
Mon, 25 Jan 2016 01:07:59 +0000 (01:07 +0000)
FossilOrigin-Name: 0a9cff5c4822874b74e90bfca3963bc7e5c753a5

manifest
manifest.uuid
src/mem5.c

index d6adb98190f190e88c3c993cd09d0a98f6ef10d2..1cbb37b4061cea5f31d189b74c9d7472322bb9b4 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\sSQLITE_SPELLFIX_STACKALLOC_SZ\scompile-time\soption\sto\scontrol\show\smuch\nstack\sspace\sis\savailable\sfor\suse\sas\sthe\sWagner\smatrix\sin\seditDest3\sof\sthe\nspellfix\sextension.
-D 2016-01-23T22:55:53.451
+C Small\ssimplification\sand\sperformance\simprovement\sin\smemsys5Free().
+D 2016-01-25T01:07:59.493
 F Makefile.in 027c1603f255390c43a426671055a31c0a65fdb4
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc 1708a78eda223b6daa302b140037fcc214a779f9
@@ -316,7 +316,7 @@ F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
 F src/mem1.c 6919bcf12f221868ea066eec27e579fed95ce98b
 F src/mem2.c f1940d9e91948dd6a908fbb9ce3835c36b5d83c3
 F src/mem3.c 8768ac94694f31ffaf8b4d0ea5dc08af7010a35a
-F src/mem5.c 71f81a11fc5e29a57428761ab38a7bf2ef4ee19d
+F src/mem5.c 9bf955937b07f8c32541c8a9991f33ce3173d944
 F src/memjournal.c 3eb2c0b51adbd869cb6a44780323f05fa904dc85
 F src/msvc.h d9ba56c6851227ab44b3f228a35f3f5772296495
 F src/mutex.c 8e45800ee78e0cd1f1f3fe8e398853307f4a085c
@@ -1419,7 +1419,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P dfcebc7393a3a780ee9c4f257723c303bb633064
-R f2b384711e45db4261b5ef34d3e09d67
+P dd0100dd87e2c7c70fabb2d3188f0906e605583d
+R a179bcf25d5e17fae98e7434f7b5c754
 U drh
-Z 57efa8447e9c944d8afed12c4b4dd5da
+Z 6a3ae2a8bc97ab052cdf4e5d8140159f
index dfbb1735b418a00739ca50e93e0f61e063399ef9..fed0f2a55781adb7adb93211896b33ca7140aaa1 100644 (file)
@@ -1 +1 @@
-dd0100dd87e2c7c70fabb2d3188f0906e605583d
\ No newline at end of file
+0a9cff5c4822874b74e90bfca3963bc7e5c753a5
\ No newline at end of file
index 7316a630a614cb0fcaf1c58efeb4eac63f3f99c4..c194a6b778172d6abb109512a64ad4dfa93b79c0 100644 (file)
@@ -322,11 +322,11 @@ static void memsys5FreeUnsafe(void *pOld){
     int iBuddy;
     if( (iBlock>>iLogsize) & 1 ){
       iBuddy = iBlock - size;
+      assert( iBuddy>=0 );
     }else{
       iBuddy = iBlock + size;
+      if( iBuddy>=mem5.nBlock ) break;
     }
-    assert( iBuddy>=0 );
-    if( (iBuddy+(1<<iLogsize))>mem5.nBlock ) break;
     if( mem5.aCtrl[iBuddy]!=(CTRL_FREE | iLogsize) ) break;
     memsys5Unlink(iBuddy, iLogsize);
     iLogsize++;