SQLite

Check-in [82e46fe0d4]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Faster implementation of resolveP2Values().
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 82e46fe0d497f871e652a579f25e77de7ef05d56484418961a1296f65f19415e
User & Date: drh 2017-08-02 02:46:43.052
Context
2017-08-02
03:21
Add the "%token" control to the lemon parser. Not currently used by SQLite. (check-in: a6e4c5ae8f user: drh tags: trunk)
02:46
Faster implementation of resolveP2Values(). (check-in: 82e46fe0d4 user: drh tags: trunk)
2017-08-01
20:59
Slightly smaller and faster by allocating Parser objects on the stack. (check-in: 436a89b919 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/vdbeaux.c.
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
        case OP_Prev:
        case OP_PrevIfOpen: {
          pOp->p4.xAdvance = sqlite3BtreePrevious;
          pOp->p4type = P4_ADVANCE;
          break;
        }
      }
      if( (sqlite3OpcodeProperty[pOp->opcode] & OPFLG_JUMP)!=0 && pOp->p2<0 ){
        assert( ADDR(pOp->p2)<pParse->nLabel );
        pOp->p2 = aLabel[ADDR(pOp->p2)];
      }
    }
    if( pOp==p->aOp ) break;
    pOp--;
  }







|







621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
        case OP_Prev:
        case OP_PrevIfOpen: {
          pOp->p4.xAdvance = sqlite3BtreePrevious;
          pOp->p4type = P4_ADVANCE;
          break;
        }
      }
      if( pOp->p2<0 && (sqlite3OpcodeProperty[pOp->opcode] & OPFLG_JUMP)!=0 ){
        assert( ADDR(pOp->p2)<pParse->nLabel );
        pOp->p2 = aLabel[ADDR(pOp->p2)];
      }
    }
    if( pOp==p->aOp ) break;
    pOp--;
  }