diff options
| author | dkf <donal.k.fellows@manchester.ac.uk> | 2013-01-03 10:23:01 (GMT) |
|---|---|---|
| committer | dkf <donal.k.fellows@manchester.ac.uk> | 2013-01-03 10:23:01 (GMT) |
| commit | 3aba154e262799023f279e68fffc7b55da0c87e7 (patch) | |
| tree | e893b3dd616ac686c87b773ce210095f78318130 /generic/tclCompCmds.c | |
| parent | 1bef171761a573a3b00543557144bc362439e619 (diff) | |
| parent | 3ce1c8d98bd84327c3a5ce6a2d5de45362efcad4 (diff) | |
| download | tcl-3aba154e262799023f279e68fffc7b55da0c87e7.zip tcl-3aba154e262799023f279e68fffc7b55da0c87e7.tar.gz tcl-3aba154e262799023f279e68fffc7b55da0c87e7.tar.bz2 | |
Added mechanism for pre-parsing built-in ensembles even when they are not going
to generate specific code. This provides a good speedup in some cases.
Diffstat (limited to 'generic/tclCompCmds.c')
| -rw-r--r-- | generic/tclCompCmds.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c index 160fa3c..8fa191b 100644 --- a/generic/tclCompCmds.c +++ b/generic/tclCompCmds.c @@ -5791,7 +5791,7 @@ TclCompileVariableCmd( */ valueTokenPtr = parsePtr->tokenPtr; - for (i=2; i<=numWords; i+=2) { + for (i=1; i<numWords; i+=2) { varTokenPtr = TokenAfter(valueTokenPtr); valueTokenPtr = TokenAfter(varTokenPtr); @@ -5801,15 +5801,15 @@ TclCompileVariableCmd( return TCL_ERROR; } - CompileWord(envPtr, varTokenPtr, interp, 1); + CompileWord(envPtr, varTokenPtr, interp, i); TclEmitInstInt4( INST_VARIABLE, localIndex, envPtr); - if (i != numWords) { + if (i+1 < numWords) { /* * A value has been given: set the variable, pop the value */ - CompileWord(envPtr, valueTokenPtr, interp, 1); + CompileWord(envPtr, valueTokenPtr, interp, i+1); Emit14Inst( INST_STORE_SCALAR, localIndex, envPtr); TclEmitOpcode( INST_POP, envPtr); } |
