summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.c
diff options
context:
space:
mode:
authordonal.k.fellows@manchester.ac.uk <dkf>2014-01-21 15:07:59 (GMT)
committerdonal.k.fellows@manchester.ac.uk <dkf>2014-01-21 15:07:59 (GMT)
commit98f66e1519ca57ce81a7511621840d7fa505c5fa (patch)
treeedde2684acb69fbdefc4ae76635e5cb9ab149de5 /generic/tclCompile.c
parentefd559dac122ae50477edea12f10cedb7d2902dd (diff)
downloadtcl-98f66e1519ca57ce81a7511621840d7fa505c5fa.zip
tcl-98f66e1519ca57ce81a7511621840d7fa505c5fa.tar.gz
tcl-98f66e1519ca57ce81a7511621840d7fa505c5fa.tar.bz2
implementation of [yieldto] in bytecode
Diffstat (limited to 'generic/tclCompile.c')
-rw-r--r--generic/tclCompile.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/generic/tclCompile.c b/generic/tclCompile.c
index bd97e3e..f75ac83 100644
--- a/generic/tclCompile.c
+++ b/generic/tclCompile.c
@@ -631,6 +631,13 @@ InstructionDesc const tclInstructionTable[] = {
* arguments (similar to invokeStk).
* Stack: ... "nextto" className arg3 arg4 -- argN => ... result */
+ {"yieldToInvoke", 1, 0, 0, {OPERAND_NONE}},
+ /* Makes the current coroutine yield the value at the top of the
+ * stack, invoking the given command/args with resolution in the given
+ * namespace (all packed into a list), and places the list of values
+ * that are the response back on top of the stack when it resumes.
+ * Stack: ... [list ns cmd arg1 ... argN] => ... resumeList */
+
{NULL, 0, 0, 0, {OPERAND_NONE}}
};