/ Check-in [717bcd11]
Login

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

Overview
Comment:Allow the P2 operand to be negative on opcodes that are not jumps. (CVS 4680)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 717bcd11a222fe100e25c5b2eb6de8b6b9930de1
User & Date: drh 2008-01-04 19:33:49
Context
2008-01-04
22:01
Implement the out2-prerelease opcode design pattern. (CVS 4681) check-in: fe057a88 user: drh tags: trunk
19:33
Allow the P2 operand to be negative on opcodes that are not jumps. (CVS 4680) check-in: 717bcd11 user: drh tags: trunk
19:12
Fix mkopcodeh.awk so that it works on a mac. (CVS 4679) check-in: 59d3dfa4 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/vdbeaux.c.

296
297
298
299
300
301
302
303
304
305

306
307
308
309
310
311
312
      if( n>nMaxArgs ) nMaxArgs = n;
#endif
    }
    if( !sqlite3VdbeOpcodeHasProperty(opcode, OPFLG_PUSH) ){
      nMaxStack--;
    }

    if( pOp->p2>=0 ) continue;
    assert( -1-pOp->p2<p->nLabel );
    pOp->p2 = aLabel[-1-pOp->p2];

  }
  sqlite3_free(p->aLabel);
  p->aLabel = 0;

  *pMaxFuncArgs = nMaxArgs;
  *pMaxStack = nMaxStack;








|
|
|
>







296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
      if( n>nMaxArgs ) nMaxArgs = n;
#endif
    }
    if( !sqlite3VdbeOpcodeHasProperty(opcode, OPFLG_PUSH) ){
      nMaxStack--;
    }

    if( sqlite3VdbeOpcodeHasProperty(opcode, OPFLG_JUMP) && pOp->p2<0 ){
      assert( -1-pOp->p2<p->nLabel );
      pOp->p2 = aLabel[-1-pOp->p2];
    }
  }
  sqlite3_free(p->aLabel);
  p->aLabel = 0;

  *pMaxFuncArgs = nMaxArgs;
  *pMaxStack = nMaxStack;