diff options
author | mig <mig> | 2011-03-01 18:24:34 (GMT) |
---|---|---|
committer | mig <mig> | 2011-03-01 18:24:34 (GMT) |
commit | c874b60a078337a1c19f856b6898a856af606486 (patch) | |
tree | c7f1975c2730cd7b3cc2b71d4d2a57979aa09562 /generic/tclExecute.c | |
parent | be81c9e32619ce659a8c2120211585938b341f21 (diff) | |
download | tcl-c874b60a078337a1c19f856b6898a856af606486.zip tcl-c874b60a078337a1c19f856b6898a856af606486.tar.gz tcl-c874b60a078337a1c19f856b6898a856af606486.tar.bz2 |
* generic/tclExecute.c (TEBCresume): store local var array and constants in automatic vars to reduce indirection, slight perf increase
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r-- | generic/tclExecute.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 8561bd4..e2c873e 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -2053,8 +2053,12 @@ TEBCresume( int traceInstructions; /* Whether we are doing instruction-level * tracing or not. */ #endif -#define LOCAL(i) (&iPtr->varFramePtr->compiledLocals[(i)]) -#define TCONST(i) (iPtr->execEnvPtr->constants[(i)]) + + Var *compiledLocals = iPtr->varFramePtr->compiledLocals; + Tcl_Obj **constants = &iPtr->execEnvPtr->constants[0]; + +#define LOCAL(i) (&compiledLocals[(i)]) +#define TCONST(i) (constants[(i)]) /* * These macros are just meant to save some global variables that are not |