summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-06-28 22:30:18 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-06-28 22:30:18 (GMT)
commit23a0290873b671c61ba3bc112ffc158fb859667a (patch)
tree9405168e88fadae774bff8ed265edeb3f236bfcc /generic/tclExecute.c
parent00357e27055dd3b3dcc2b853833731d6db76c137 (diff)
parentedc450c53752cf92b00a45883fee2d66a2bde27c (diff)
downloadtcl-23a0290873b671c61ba3bc112ffc158fb859667a.zip
tcl-23a0290873b671c61ba3bc112ffc158fb859667a.tar.gz
tcl-23a0290873b671c61ba3bc112ffc158fb859667a.tar.bz2
Route all ensemble rewrite activity through a few utility routines.
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r--generic/tclExecute.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 3f57333..0a6e60e 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -2074,6 +2074,8 @@ TclNRExecuteByteCode(
* Push the callback for bytecode execution
*/
+ TclResetRewriteEnsemble(interp, 1);
+
TclNRAddCallback(interp, TEBCresume, TD, /* pc */ NULL,
/* cleanup */ INT2PTR(0), NULL);
return TCL_OK;
@@ -3172,9 +3174,8 @@ TEBCresume(
if (iPtr->flags & INTERP_DEBUG_FRAME) {
ArgumentBCEnter(interp, codePtr, TD, pc, objc, objv);
}
- iPtr->ensembleRewrite.sourceObjs = objv;
- iPtr->ensembleRewrite.numRemovedObjs = opnd;
- iPtr->ensembleRewrite.numInsertedObjs = 1;
+
+ TclInitRewriteEnsemble(interp, opnd, 1, objv);
DECACHE_STACK_INFO();
pc += 6;
TEBC_YIELD();