Reinstate the releaseMemArray() performance optimization of
[bb520293d8c11518] with corrections. FossilOrigin-Name: 1291080d118c678072289a2e57a56b73657e9256ae47eafa7853716c8d47392f
This commit is contained in:
parent
e3994f2975
commit
5308d3931e
13
manifest
13
manifest
@ -1,5 +1,5 @@
|
||||
C The\soptimization\sat\s[ece326db50201937]\sis\snot\squite\sright,\sso\sback\sit\sout\nfor\snow.
|
||||
D 2022-03-02T11:39:11.573
|
||||
C Reinstate\sthe\sreleaseMemArray()\sperformance\soptimization\sof\n[bb520293d8c11518]\swith\scorrections.
|
||||
D 2022-03-02T13:45:22.786
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||
@ -628,7 +628,7 @@ F src/vdbe.c 4b969ebe6b61f87a90aebf817bc6ebda5075fe56987591091a9bf22556262484
|
||||
F src/vdbe.h a1d0e3b934e835e73edd146f2e7c4eadb711b5c9875c18159a57483fd78e550e
|
||||
F src/vdbeInt.h 958066f0448930dac697a7d1fc345d1b5fd1bb2d93685860967b94c901a7b244
|
||||
F src/vdbeapi.c 1c80efbe51118bbecc7279023e75d18edcfa4b3dc441287e1718ee70ad594f58
|
||||
F src/vdbeaux.c ab8c90419e78021b70b3a76a02b6f6dcc8f80d4208f065e916066968909020bf
|
||||
F src/vdbeaux.c 219aef2bb6dc46f6ede76de18e7c388c30bd359ec094e178c362e1b412c56213
|
||||
F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd
|
||||
F src/vdbemem.c 7737f0b1c480a32b057849c804d2f21d5389649bb8be80f77ad75df700adc9a1
|
||||
F src/vdbesort.c 43756031ca7430f7aec3ef904824a7883c4ede783e51f280d99b9b65c0796e35
|
||||
@ -1944,9 +1944,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||
P 6497997aa80419688890ed5dbbb7d6acc26bf3732305ff4a728cba1fe4d1626b
|
||||
Q -ece326db50201937eb688809df39edc7fb97413b4614d2e2e783418192f7b02a
|
||||
R 6e3d2a70dcfbb60b44acaa137825df92
|
||||
P b218a4b9fe44ffc5cb8d2a2491a5aad217d37b26ccc6b04caf8f28b71bcfe809
|
||||
R 5f0e4af1c896fc134e4b58b7139e0944
|
||||
U drh
|
||||
Z 2c1c2df4762c35de9490f72bfde9d5c8
|
||||
Z 49bdd6bb7b5e60b4733d0aedae5472b4
|
||||
# Remove this line to create a well-formed Fossil manifest.
|
||||
|
@ -1 +1 @@
|
||||
b218a4b9fe44ffc5cb8d2a2491a5aad217d37b26ccc6b04caf8f28b71bcfe809
|
||||
1291080d118c678072289a2e57a56b73657e9256ae47eafa7853716c8d47392f
|
@ -1866,7 +1866,12 @@ static void initMemArray(Mem *p, int N, sqlite3 *db, u16 flags){
|
||||
}
|
||||
|
||||
/*
|
||||
** Release an array of N Mem elements
|
||||
** Release auxiliary memory held in an array of N Mem elements.
|
||||
**
|
||||
** After this routine returns, all Mem elements in the array will still
|
||||
** be valid. Those Mem elements that were not holding auxiliary resources
|
||||
** will be unchanged. Mem elements which had something freed will be
|
||||
** set to MEM_Undefined.
|
||||
*/
|
||||
static void releaseMemArray(Mem *p, int N){
|
||||
if( p && N ){
|
||||
@ -1899,12 +1904,17 @@ static void releaseMemArray(Mem *p, int N){
|
||||
if( p->flags&(MEM_Agg|MEM_Dyn) ){
|
||||
testcase( (p->flags & MEM_Dyn)!=0 && p->xDel==sqlite3VdbeFrameMemDel );
|
||||
sqlite3VdbeMemRelease(p);
|
||||
p->flags = MEM_Undefined;
|
||||
}else if( p->szMalloc ){
|
||||
sqlite3DbFreeNN(db, p->zMalloc);
|
||||
p->szMalloc = 0;
|
||||
p->flags = MEM_Undefined;
|
||||
}
|
||||
|
||||
p->flags = MEM_Undefined;
|
||||
#ifdef SQLITE_DEBUG
|
||||
else{
|
||||
p->flags = MEM_Undefined;
|
||||
}
|
||||
#endif
|
||||
}while( (++p)<pEnd );
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user