Index: generic/tclExecute.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclExecute.c,v
retrieving revision 1.276
diff -u -r1.276 tclExecute.c
--- generic/tclExecute.c	14 Apr 2007 17:35:54 -0000	1.276
+++ generic/tclExecute.c	16 Apr 2007 19:20:53 -0000
@@ -186,8 +186,7 @@
     tosPtr = eePtr->tosPtr
 
 #define DECACHE_STACK_INFO() \
-    eePtr->tosPtr = tosPtr;\
-    checkInterp = 1
+    eePtr->tosPtr = tosPtr
 
 /*
  * Macros used to access items on the Tcl evaluation stack. PUSH_OBJECT
@@ -1189,8 +1188,6 @@
     int instructionCount = 0;	/* Counter that is used to work out when to
 				 * call Tcl_AsyncReady() */
     Tcl_Obj *expandNestList = NULL;
-    int checkInterp = 0;	/* Indicates when a check of interp readyness
-				 * is necessary. Set by DECACHE_STACK_INFO() */
 
     /*
      * Transfer variables - needed only between opcodes, but not while
@@ -1512,10 +1509,9 @@
 	 */
 
 	iPtr->cmdCount += TclGetUInt4AtPtr(pc+5);
-	if (!checkInterp ||
-		(((codePtr->compileEpoch == iPtr->compileEpoch)
+	if (((codePtr->compileEpoch == iPtr->compileEpoch)
 			&& (codePtr->nsEpoch == namespacePtr->resolverEpoch))
-			|| (codePtr->flags & TCL_BYTECODE_PRECOMPILED))) {
+			|| (codePtr->flags & TCL_BYTECODE_PRECOMPILED)) {
 #if 0 && !TCL_COMPILE_DEBUG
 	    /*
 	     * Peephole optimisations: check if there are several
@@ -1816,7 +1812,7 @@
 
 	    if (cmdPtr && !(cmdPtr->flags & CMD_HAS_EXEC_TRACES)
 		    && iPtr->tracePtr == NULL
-		    && (!checkInterp || (codePtr->compileEpoch == iPtr->compileEpoch))) {
+		    && (codePtr->compileEpoch == iPtr->compileEpoch)) {
 		/*
 		 * No traces, the interp is ok: avoid the call out to TEOVi
 		 */
