Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Optimization to the out2Prerelease() helper routine in the VDBE engine. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
79298fe8c42f64b6a6110a70b8403387 |
User & Date: | drh 2015-10-15 17:31:41.009 |
Context
2015-10-15
| ||
18:04 | Add the OP_IntCopy opcode - an optimized version of OP_SCopy that only works for integer values. (check-in: 3a2f73a492 user: drh tags: trunk) | |
17:31 | Optimization to the out2Prerelease() helper routine in the VDBE engine. (check-in: 79298fe8c4 user: drh tags: trunk) | |
17:21 | Remove a superfluous conditional from the memory allocation initialization. (check-in: 9ccf8f8d35 user: drh tags: trunk) | |
Changes
Changes to src/vdbe.c.
︙ | ︙ | |||
514 515 516 517 518 519 520 | return 1; } #endif /* ** Return the register of pOp->p2 after first preparing it to be ** overwritten with an integer value. | | > > > > > | > > | | > | 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 | return 1; } #endif /* ** Return the register of pOp->p2 after first preparing it to be ** overwritten with an integer value. */ static SQLITE_NOINLINE Mem *out2PrereleaseWithClear(Mem *pOut){ sqlite3VdbeMemSetNull(pOut); pOut->flags = MEM_Int; return pOut; } static Mem *out2Prerelease(Vdbe *p, VdbeOp *pOp){ Mem *pOut; assert( pOp->p2>0 ); assert( pOp->p2<=(p->nMem-p->nCursor) ); pOut = &p->aMem[pOp->p2]; memAboutToChange(p, pOut); if( VdbeMemDynamic(pOut) ){ return out2PrereleaseWithClear(pOut); }else{ pOut->flags = MEM_Int; return pOut; } } /* ** Execute as much of a VDBE program as we can. ** This is the core of sqlite3_step(). */ |
︙ | ︙ |