summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-06-28 21:17:28 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-06-28 21:17:28 (GMT)
commitedc450c53752cf92b00a45883fee2d66a2bde27c (patch)
tree15eacd2c1053ac65edb0fe6309c2a2aac14c7f9f /generic/tclExecute.c
parent2453f30fb9e0fd71b6fc37ef6df3385f2efaf6d5 (diff)
parent69471e1a17152088f9d8e90e684fd75e9fc99dfc (diff)
downloadtcl-edc450c53752cf92b00a45883fee2d66a2bde27c.zip
tcl-edc450c53752cf92b00a45883fee2d66a2bde27c.tar.gz
tcl-edc450c53752cf92b00a45883fee2d66a2bde27c.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 38924c6..355b667 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -2081,6 +2081,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();