From: drh Date: Fri, 22 Aug 2014 13:22:32 +0000 (+0000) Subject: Change a while-loop into a do-loop in sqlite3VdbeSerialPut() for a small X-Git-Tag: version-3.8.7~174 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3f5b199eb596a6e8031647d93e00451ade43806e;p=thirdparty%2Fsqlite.git Change a while-loop into a do-loop in sqlite3VdbeSerialPut() for a small size reduction and performance improvement. FossilOrigin-Name: 750bb0a0960606ab24037e0992e9f7a17524cc3e --- diff --git a/manifest b/manifest index c3d516552f..0e059ae46c 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Enhance\sthe\sspellfix\sextension\swith\sthe\sability\sto\sspecify\sa\srowid\swhen\ninserting\snew\srows. -D 2014-08-22T11:11:30.047 +C Change\sa\swhile-loop\sinto\sa\sdo-loop\sin\ssqlite3VdbeSerialPut()\sfor\sa\ssmall\nsize\sreduction\sand\sperformance\simprovement. +D 2014-08-22T13:22:32.819 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5eb79e334a5de69c87740edd56af6527dd219308 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -288,7 +288,7 @@ F src/vdbe.c f7f4066e4d6e3858878d76ce9288ea603e12ddf6 F src/vdbe.h c63fad052c9e7388d551e556e119c0bcf6bebdf8 F src/vdbeInt.h f5513f2b5ac1e2c5128996c7ea23add256a301df F src/vdbeapi.c 7858d7e7cd23267d3fbca18e3a28cce8e0d162a8 -F src/vdbeaux.c 25d62ef82cf1be2a1255eacac636fa0d943d8b3d +F src/vdbeaux.c 9c9571706aaf0e5debab5b01629ef569cde40920 F src/vdbeblob.c 9205ce9d3b064d9600f8418a897fc88b5687d9ac F src/vdbemem.c d90a1e8acf8b63dc9d14cbbea12bfec6cec31394 F src/vdbesort.c f7f5563bf7d4695ca8f3203f3bf9de96d04ed0b3 @@ -1188,7 +1188,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 14b0f561fe15622b61c6676c9c455dca6b9ba5f0 -R e9738e2157edd7ced31f8162753e2f5b +P 369c480cda6fa66394b995346bbf51f3298446e1 +R 9c1a6f648ddd3ddf03093ccb99facf2b U drh -Z 9671128edfd421e5d7e75c6453894b1f +Z 453b7d6a328e84b291043b75c1b3327d diff --git a/manifest.uuid b/manifest.uuid index 85d3cf892f..6ea1746008 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -369c480cda6fa66394b995346bbf51f3298446e1 \ No newline at end of file +750bb0a0960606ab24037e0992e9f7a17524cc3e \ No newline at end of file diff --git a/src/vdbeaux.c b/src/vdbeaux.c index fb3f7c3a8c..83c6e1f65a 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -2933,10 +2933,11 @@ u32 sqlite3VdbeSerialPut(u8 *buf, Mem *pMem, u32 serial_type){ v = pMem->u.i; } len = i = sqlite3VdbeSerialTypeLen(serial_type); - while( i-- ){ - buf[i] = (u8)(v&0xFF); + assert( i>0 ); + do{ + buf[--i] = (u8)(v&0xFF); v >>= 8; - } + }while( i ); return len; }