diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2004-05-17 02:06:01 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2004-05-17 02:06:01 (GMT) |
commit | 42d336357aadc4c7f5cebb68f93fabf79cf8f7f3 (patch) | |
tree | fe9e1f6d8d01fa662bdf6b97e9b79caf9b2abeb9 | |
parent | 38411a62113308c5212d6c63aae61c77e281299f (diff) | |
download | tcl-42d336357aadc4c7f5cebb68f93fabf79cf8f7f3.zip tcl-42d336357aadc4c7f5cebb68f93fabf79cf8f7f3.tar.gz tcl-42d336357aadc4c7f5cebb68f93fabf79cf8f7f3.tar.bz2 |
* generic/tclExecute.c (TclExecuteByteCode): remove one level of
indirection for compiledLocals addressing.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | generic/tclExecute.c | 22 |
2 files changed, 14 insertions, 12 deletions
@@ -1,3 +1,7 @@ +2004-05-17 Miguel Sofer <msofer@users.sf.net> + * generic/tclExecute.c (TclExecuteByteCode): remove one level of + indirection for compiledLocals addressing. + 2004-05-16 Miguel Sofer <msofer@users.sf.net> * generic/tclExecute.c (INST_CALL_FUNC1): bugfix; restored diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 8f95c38..c64a376 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclExecute.c,v 1.130 2004/05/16 22:26:47 msofer Exp $ + * RCS: @(#) $Id: tclExecute.c,v 1.131 2004/05/17 02:06:02 msofer Exp $ */ #include "tclInt.h" @@ -1104,7 +1104,7 @@ TclExecuteByteCode(interp, codePtr) Tcl_Obj *objResultPtr; char *part1, *part2; Var *varPtr, *arrayPtr; - CallFrame *varFramePtr = iPtr->varFramePtr; + Var *compiledLocals = iPtr->varFramePtr->compiledLocals; #ifdef TCL_COMPILE_DEBUG int traceInstructions = (tclTraceExec == 3); char cmdNameBuf[21]; @@ -1728,7 +1728,7 @@ TclExecuteByteCode(interp, codePtr) case INST_LOAD_SCALAR1: opnd = TclGetUInt1AtPtr(pc+1); - varPtr = &(varFramePtr->compiledLocals[opnd]); + varPtr = &(compiledLocals[opnd]); part1 = varPtr->name; while (TclIsVarLink(varPtr)) { varPtr = varPtr->value.linkPtr; @@ -1751,7 +1751,7 @@ TclExecuteByteCode(interp, codePtr) case INST_LOAD_SCALAR4: opnd = TclGetUInt4AtPtr(pc+1); - varPtr = &(varFramePtr->compiledLocals[opnd]); + varPtr = &(compiledLocals[opnd]); part1 = varPtr->name; while (TclIsVarLink(varPtr)) { varPtr = varPtr->value.linkPtr; @@ -1822,7 +1822,7 @@ TclExecuteByteCode(interp, codePtr) doLoadArray: part2 = TclGetString(*tosPtr); - arrayPtr = &(varFramePtr->compiledLocals[opnd]); + arrayPtr = &(compiledLocals[opnd]); part1 = arrayPtr->name; while (TclIsVarLink(arrayPtr)) { arrayPtr = arrayPtr->value.linkPtr; @@ -1984,7 +1984,7 @@ TclExecuteByteCode(interp, codePtr) doStoreArray: valuePtr = *tosPtr; part2 = TclGetString(*(tosPtr - 1)); - arrayPtr = &(varFramePtr->compiledLocals[opnd]); + arrayPtr = &(compiledLocals[opnd]); part1 = arrayPtr->name; TRACE(("%u \"%.30s\" <- \"%.30s\" => ", opnd, part2, O2S(valuePtr))); @@ -2040,7 +2040,7 @@ TclExecuteByteCode(interp, codePtr) doStoreScalar: valuePtr = *tosPtr; - varPtr = &(varFramePtr->compiledLocals[opnd]); + varPtr = &(compiledLocals[opnd]); part1 = varPtr->name; TRACE(("%u <- \"%.30s\" => ", opnd, O2S(valuePtr))); while (TclIsVarLink(varPtr)) { @@ -2200,7 +2200,7 @@ TclExecuteByteCode(interp, codePtr) doIncrArray: part2 = TclGetString(*tosPtr); - arrayPtr = &(varFramePtr->compiledLocals[opnd]); + arrayPtr = &(compiledLocals[opnd]); part1 = arrayPtr->name; while (TclIsVarLink(arrayPtr)) { arrayPtr = arrayPtr->value.linkPtr; @@ -2224,7 +2224,7 @@ TclExecuteByteCode(interp, codePtr) pcAdjustment = 3; doIncrScalar: - varPtr = &(varFramePtr->compiledLocals[opnd]); + varPtr = &(compiledLocals[opnd]); part1 = varPtr->name; while (TclIsVarLink(varPtr)) { varPtr = varPtr->value.linkPtr; @@ -4242,7 +4242,6 @@ TclExecuteByteCode(interp, codePtr) ForeachInfo *infoPtr = (ForeachInfo *) codePtr->auxDataArrayPtr[opnd].clientData; int iterTmpIndex = infoPtr->loopCtTemp; - Var *compiledLocals = iPtr->varFramePtr->compiledLocals; Var *iterVarPtr = &(compiledLocals[iterTmpIndex]); Tcl_Obj *oldValuePtr = iterVarPtr->value.objPtr; @@ -4281,7 +4280,6 @@ TclExecuteByteCode(interp, codePtr) codePtr->auxDataArrayPtr[opnd].clientData; ForeachVarList *varListPtr; int numLists = infoPtr->numLists; - Var *compiledLocals = iPtr->varFramePtr->compiledLocals; Tcl_Obj *listPtr; List *listRepPtr; Var *iterVarPtr, *listVarPtr; @@ -4351,7 +4349,7 @@ TclExecuteByteCode(interp, codePtr) } varIndex = varListPtr->varIndexes[j]; - varPtr = &(varFramePtr->compiledLocals[varIndex]); + varPtr = &(compiledLocals[varIndex]); part1 = varPtr->name; while (TclIsVarLink(varPtr)) { varPtr = varPtr->value.linkPtr; |