diff options
| author | donal.k.fellows@manchester.ac.uk <dkf> | 2012-11-01 18:06:09 (GMT) |
|---|---|---|
| committer | donal.k.fellows@manchester.ac.uk <dkf> | 2012-11-01 18:06:09 (GMT) |
| commit | d72c1c681d561ca1b22fb51b56d06856c12e8b4e (patch) | |
| tree | 73c6e63a58a37fcfd2efd533ae233d19a6aa0f0b /generic/tclCompile.c | |
| parent | 64be38de51614d0fb9a2bf6b5d905022cb556c15 (diff) | |
| download | tcl-d72c1c681d561ca1b22fb51b56d06856c12e8b4e.zip tcl-d72c1c681d561ca1b22fb51b56d06856c12e8b4e.tar.gz tcl-d72c1c681d561ca1b22fb51b56d06856c12e8b4e.tar.bz2 | |
Added compilation of [tailcall]. Not a particularly efficient compilation though; it does not detect tailcall-of-self as a special case.
Diffstat (limited to 'generic/tclCompile.c')
| -rw-r--r-- | generic/tclCompile.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/generic/tclCompile.c b/generic/tclCompile.c index f979fa3..ee8511c 100644 --- a/generic/tclCompile.c +++ b/generic/tclCompile.c @@ -464,6 +464,10 @@ InstructionDesc const tclInstructionTable[] = { {"coroName", 1, +1, 0, {OPERAND_NONE}}, /* Push the name of the interpreter's current coroutine as an object * on the stack. */ + {"tailcall", 2, INT_MIN, 1, {OPERAND_UINT1}}, + /* Do a tailcall with the opnd items on the stack as the thing to + * tailcall to; opnd must be greater than 0 for the semantics to work + * right. */ {"currentNamespace", 1, +1, 0, {OPERAND_NONE}}, /* Push the name of the interpreter's current namespace as an object |
