Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Slightly smaller and faster implementation of OP_If and OP_IfNot. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
6ab42934e2c4957b5d8927bf4434a9db |
User & Date: | drh 2018-01-25 01:20:29.953 |
Context
2018-01-25
| ||
20:50 | Reorganize zipfile.c code to make it easier to add support for in-memory zip archive processing. (check-in: 30b9258294 user: dan tags: trunk) | |
01:20 | Slightly smaller and faster implementation of OP_If and OP_IfNot. (check-in: 6ab42934e2 user: drh tags: trunk) | |
2018-01-24
| ||
20:42 | When unpacking a sorter record, do so from right to left instead of left to right, since by starting with the right-most column, the work done by OP_Column opcodes is reduced. (check-in: 8055e4f424 user: drh tags: trunk) | |
Changes
Changes to src/vdbe.c.
︙ | ︙ | |||
2285 2286 2287 2288 2289 2290 2291 | case OP_If: /* jump, in1 */ case OP_IfNot: { /* jump, in1 */ int c; pIn1 = &aMem[pOp->p1]; if( pIn1->flags & MEM_Null ){ c = pOp->p3; }else{ | | | | | < > | 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 | case OP_If: /* jump, in1 */ case OP_IfNot: { /* jump, in1 */ int c; pIn1 = &aMem[pOp->p1]; if( pIn1->flags & MEM_Null ){ c = pOp->p3; }else{ if( pIn1->flags & MEM_Int ){ c = pIn1->u.i!=0; }else{ c = sqlite3VdbeRealValue(pIn1)!=0.0; } if( pOp->opcode==OP_IfNot ) c = !c; } VdbeBranchTaken(c!=0, 2); if( c ){ goto jump_to_p2; } break; |
︙ | ︙ |