From f73ab8b8a9cf7788447f2a37e4a10f28029cfcd1 Mon Sep 17 00:00:00 2001
From: danielk1977 <danielk1977@noemail.net>
Date: Mon, 29 Dec 2008 10:39:53 +0000
Subject: [PATCH] Set the OPFLG_IN1 flag on a couple of extra opcodes. (CVS
 6070)

FossilOrigin-Name: 03d0350441ef5fa5a9f22fcb0b760200614cf9f9
---
 manifest      | 14 +++++++-------
 manifest.uuid |  2 +-
 src/vdbe.c    | 17 ++++-------------
 3 files changed, 12 insertions(+), 21 deletions(-)

diff --git a/manifest b/manifest
index 7738c19046..cbd0702403 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Multi-index\sOR\soptimizer\sresponse\sto\sORDER\sBY\srowid.\nBut\sfix\sin\ssqlite3_stmt_status():\sreport\sa\sfull\stable\sscan\nwhen\s"ORDER\sBY\srowid"\sis\sused\swithout\sconstraints.\s(CVS\s6069)
-D 2008-12-28T20:47:03
+C Set\sthe\sOPFLG_IN1\sflag\son\sa\scouple\sof\sextra\sopcodes.\s(CVS\s6070)
+D 2008-12-29T10:39:54
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 77635d0909c2067cee03889a1e04ce910d8fb809
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -198,7 +198,7 @@ F src/update.c 8c4925f9ca664effc8a1faaad67449d2074567b1
 F src/utf.c 1da9c832dba0fa8f865b5b902d93f420a1ee4245
 F src/util.c ea62608f66f33a7e8322de83024ae37c415c0c7f
 F src/vacuum.c 383d6297bddc011ab04a9eed110db6eaf523e8e9
-F src/vdbe.c fb84f5ce769c74348d808cdc6fbba91aec54fe30
+F src/vdbe.c aa4674ce5de9bb928c03692ae8a680263937fe81
 F src/vdbe.h 03516f28bf5aca00a53c4dccd6c313f96adb94f6
 F src/vdbeInt.h e6e80a99ce634983b7cc2498843b4d2e5540900a
 F src/vdbeapi.c 85c33cfbfa56249cbe627831610afafba754477d
@@ -686,7 +686,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P 67cf24b30e087796cfb0fccf47328e72ade5ecdc
-R 4dc373b9ad303968012bfa905d6a842d
-U drh
-Z 29937d7ee562a44850eb3aacdfc0a0a0
+P 3464d369d3b6899ec726cf5b42b68b1dac2ba982
+R 18ab6bbe2acad0c91cc7b30e9c634db0
+U danielk1977
+Z 69d1ac8257e029b8703d5cb87f6151a6
diff --git a/manifest.uuid b/manifest.uuid
index 1166a79c79..b54e4650ca 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-3464d369d3b6899ec726cf5b42b68b1dac2ba982
\ No newline at end of file
+03d0350441ef5fa5a9f22fcb0b760200614cf9f9
\ No newline at end of file
diff --git a/src/vdbe.c b/src/vdbe.c
index f9a126ad3a..9bdeef95f4 100644
--- a/src/vdbe.c
+++ b/src/vdbe.c
@@ -43,7 +43,7 @@
 ** in this file for details.  If in doubt, do not deviate from existing
 ** commenting and indentation practices when changing or adding code.
 **
-** $Id: vdbe.c,v 1.806 2008/12/23 13:35:23 drh Exp $
+** $Id: vdbe.c,v 1.807 2008/12/29 10:39:54 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 #include <ctype.h>
@@ -809,11 +809,8 @@ case OP_Return: {           /* in1 */
 **
 ** Swap the program counter with the value in register P1.
 */
-case OP_Yield: {
+case OP_Yield: {            /* in1 */
   int pcDest;
-  assert( pOp->p1>0 );
-  assert( pOp->p1<=p->nMem );
-  pIn1 = &p->aMem[pOp->p1];
   assert( (pIn1->flags & MEM_Dyn)==0 );
   pIn1->flags = MEM_Int;
   pcDest = (int)pIn1->u.i;
@@ -1033,10 +1030,7 @@ case OP_Move: {
 ** This instruction makes a deep copy of the value.  A duplicate
 ** is made of any string or blob constant.  See also OP_SCopy.
 */
-case OP_Copy: {
-  assert( pOp->p1>0 );
-  assert( pOp->p1<=p->nMem );
-  pIn1 = &p->aMem[pOp->p1];
+case OP_Copy: {             /* in1 */
   assert( pOp->p2>0 );
   assert( pOp->p2<=p->nMem );
   pOut = &p->aMem[pOp->p2];
@@ -1059,10 +1053,7 @@ case OP_Copy: {
 ** during the lifetime of the copy.  Use OP_Copy to make a complete
 ** copy.
 */
-case OP_SCopy: {
-  assert( pOp->p1>0 );
-  assert( pOp->p1<=p->nMem );
-  pIn1 = &p->aMem[pOp->p1];
+case OP_SCopy: {            /* in1 */
   REGISTER_TRACE(pOp->p1, pIn1);
   assert( pOp->p2>0 );
   assert( pOp->p2<=p->nMem );