summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2014-01-21 15:07:59 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2014-01-21 15:07:59 (GMT)
commit61bfac2613d3cc063099ad9e6de3110491b6f5df (patch)
treeedde2684acb69fbdefc4ae76635e5cb9ab149de5 /generic/tclCompile.c
parentab8fd1e3f28322c8d57229cd2e171fea351097af (diff)
downloadtcl-61bfac2613d3cc063099ad9e6de3110491b6f5df.zip
tcl-61bfac2613d3cc063099ad9e6de3110491b6f5df.tar.gz
tcl-61bfac2613d3cc063099ad9e6de3110491b6f5df.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}}
};