mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-21 09:00:59 +03:00
Fix to the register validity tracking logic in debug builds. No impact
on release builds. FossilOrigin-Name: 0a500da6aa659a8e73206e6d22ddbf2da5e4f1d1d551eeb66433163a3e13109d
This commit is contained in:
@@ -1209,14 +1209,16 @@ void sqlite3VdbeReleaseRegisters(
|
||||
assert( pParse->pVdbe );
|
||||
assert( iFirst>=1 );
|
||||
assert( iFirst+N-1<=pParse->nMem );
|
||||
while( N>0 && (mask&1)!=0 ){
|
||||
mask >>= 1;
|
||||
iFirst++;
|
||||
N--;
|
||||
}
|
||||
while( N>0 && N<=32 && (mask & MASKBIT32(N-1))!=0 ){
|
||||
mask &= ~MASKBIT32(N-1);
|
||||
N--;
|
||||
if( N<=31 && mask!=0 ){
|
||||
while( N>0 && (mask&1)!=0 ){
|
||||
mask >>= 1;
|
||||
iFirst++;
|
||||
N--;
|
||||
}
|
||||
while( N>0 && N<=32 && (mask & MASKBIT32(N-1))!=0 ){
|
||||
mask &= ~MASKBIT32(N-1);
|
||||
N--;
|
||||
}
|
||||
}
|
||||
if( N>0 ){
|
||||
sqlite3VdbeAddOp3(pParse->pVdbe, OP_ReleaseReg, iFirst, N, *(int*)&mask);
|
||||
|
||||
Reference in New Issue
Block a user