diff options
| author | mig <mig> | 2013-01-10 21:18:52 (GMT) |
|---|---|---|
| committer | mig <mig> | 2013-01-10 21:18:52 (GMT) |
| commit | 08c8eda58153a7e128cbb081363f9510bdf421ed (patch) | |
| tree | ba9d20a99fce98d2f9273df62edbb14bab9f55d8 /generic/tclNamesp.c | |
| parent | 47498002503b0a9943f5239856f08c1e6353b9ed (diff) | |
| download | tcl-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.c | 4 |
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); } |
