summaryrefslogtreecommitdiffstats
path: root/generic/tclNamesp.c
diff options
context:
space:
mode:
authormig <mig>2013-01-10 21:18:52 (GMT)
committermig <mig>2013-01-10 21:18:52 (GMT)
commit08c8eda58153a7e128cbb081363f9510bdf421ed (patch)
treeba9d20a99fce98d2f9273df62edbb14bab9f55d8 /generic/tclNamesp.c
parent47498002503b0a9943f5239856f08c1e6353b9ed (diff)
downloadtcl-08c8eda58153a7e128cbb081363f9510bdf421ed.zip
tcl-08c8eda58153a7e128cbb081363f9510bdf421ed.tar.gz
tcl-08c8eda58153a7e128cbb081363f9510bdf421ed.tar.bz2
tailcall now running in a simpler model, with no eval-flags and no nre-stack rewriting; yieldto also requires one fewer bounce. Mostly from mig-nre-mods
Diffstat (limited to 'generic/tclNamesp.c')
-rw-r--r--generic/tclNamesp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c
index 8da4b42..ee8aaa6 100644
--- a/generic/tclNamesp.c
+++ b/generic/tclNamesp.c
@@ -423,7 +423,7 @@ Tcl_PopCallFrame(
framePtr->nsPtr = NULL;
if (framePtr->tailcallPtr) {
- TclSpliceTailcall(interp, framePtr->tailcallPtr);
+ TclSetTailcall(interp, framePtr->tailcallPtr);
}
}
@@ -1945,7 +1945,7 @@ InvokeImportedNRCmd(
ImportedCmdData *dataPtr = clientData;
Command *realCmdPtr = dataPtr->realCmdPtr;
- ((Interp *) interp)->evalFlags |= TCL_EVAL_REDIRECT;
+ TclDeferCallbacks(interp, /* skip tailcalls */ 1);
return Tcl_NRCmdSwap(interp, (Tcl_Command) realCmdPtr, objc, objv, 0);
}