diff options
author | dgp <dgp@users.sourceforge.net> | 2013-12-18 18:20:56 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2013-12-18 18:20:56 (GMT) |
commit | 339c995c5ac6bf497980352ad05e8462519be1ee (patch) | |
tree | f02daf534eefe6f9e5fbde7625d9d77fb0cd81af /generic/tclCompile.h | |
parent | 85c73dc9ce50fd5ec5798a10173e29ab8e2c1bd1 (diff) | |
parent | 2111573919f6f8e8327c705b2df11131b2bf6b95 (diff) | |
download | tcl-339c995c5ac6bf497980352ad05e8462519be1ee.zip tcl-339c995c5ac6bf497980352ad05e8462519be1ee.tar.gz tcl-339c995c5ac6bf497980352ad05e8462519be1ee.tar.bz2 |
merge trunkbug_0b874c344d
Diffstat (limited to 'generic/tclCompile.h')
-rw-r--r-- | generic/tclCompile.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/generic/tclCompile.h b/generic/tclCompile.h index a39e0f1..55dd37a 100644 --- a/generic/tclCompile.h +++ b/generic/tclCompile.h @@ -586,8 +586,8 @@ typedef struct ByteCode { #define INST_CONTINUE 66 /* Opcodes 67 to 68 */ -#define INST_FOREACH_START4 67 -#define INST_FOREACH_STEP4 68 +#define INST_FOREACH_START4 67 /* DEPRECATED */ +#define INST_FOREACH_STEP4 68 /* DEPRECATED */ /* Opcodes 69 to 72 */ #define INST_BEGIN_CATCH4 69 @@ -768,8 +768,15 @@ typedef struct ByteCode { #define INST_EXPAND_DROP 165 +/* New foreach implementation */ + +#define INST_FOREACH_START 166 +#define INST_FOREACH_STEP 167 +#define INST_FOREACH_END 168 +#define INST_LMAP_COLLECT 169 + /* The last opcode */ -#define LAST_INST_OPCODE 165 +#define LAST_INST_OPCODE 169 /* * Table describing the Tcl bytecode instructions: their name (for displaying @@ -902,6 +909,7 @@ typedef struct ForeachInfo { } ForeachInfo; MODULE_SCOPE const AuxDataType tclForeachInfoType; +MODULE_SCOPE const AuxDataType tclNewForeachInfoType; #define FOREACHINFO(envPtr, index) \ ((ForeachInfo*)((envPtr)->auxDataArrayPtr[TclGetUInt4AtPtr(index)].clientData)) @@ -1056,7 +1064,7 @@ MODULE_SCOPE void TclFinalizeLoopExceptionRange(CompileEnv *envPtr, MODULE_SCOPE char * TclLiteralStats(LiteralTable *tablePtr); MODULE_SCOPE int TclLog2(int value); #endif -MODULE_SCOPE void TclOptimizeBytecode(CompileEnv *envPtr); +MODULE_SCOPE void TclOptimizeBytecode(void *envPtr); #ifdef TCL_COMPILE_DEBUG MODULE_SCOPE void TclPrintByteCodeObj(Tcl_Interp *interp, Tcl_Obj *objPtr); |