1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00

Register-ify the OP_AddImm and all casting opcodes. Omit the

OP_MemIncr opcode. (CVS 4683)

FossilOrigin-Name: 3e8a07dd3cc9921ad39e379576abb0b485a42202
This commit is contained in:
drh
2008-01-05 05:20:10 +00:00
parent b1fdb2adea
commit 8558cde1ab
12 changed files with 100 additions and 120 deletions

View File

@@ -12,7 +12,7 @@
** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite.
**
** $Id: expr.c,v 1.331 2008/01/05 04:06:04 drh Exp $
** $Id: expr.c,v 1.332 2008/01/05 05:20:10 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -2127,7 +2127,7 @@ int sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){
sqlite3ExprCode(pParse, pExpr->pLeft, 0);
dest = sqlite3VdbeCurrentAddr(v) + 2;
sqlite3VdbeAddOp2(v, op, 1, dest);
sqlite3VdbeAddOp1(v, OP_AddImm, -1);
sqlite3VdbeAddOp2(v, OP_AddImm, 0, -1);
stackChng = 0;
break;
}
@@ -2242,7 +2242,7 @@ int sqlite3ExprCode(Parse *pParse, Expr *pExpr, int target){
&affinity, 1); /* addr + 4 */
sqlite3VdbeAddOp2(v, OP_Found, pExpr->iTable, iLabel);
}
sqlite3VdbeAddOp1(v, OP_AddImm, -1); /* addr + 6 */
sqlite3VdbeAddOp2(v, OP_AddImm, 0, -1); /* addr + 6 */
sqlite3VdbeResolveLabel(v, iLabel);
break;