summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorescoffon <escoffon>1998-06-10 12:32:36 (GMT)
committerescoffon <escoffon>1998-06-10 12:32:36 (GMT)
commit0c5942c4533ba53f9a91fc95bf9309ea2e1b2603 (patch)
tree92d719e43ececb3575fd0cc33b1583b9dfd30e18 /generic
parent36dcbab765eba736c60ae35a104bb19d759d63e2 (diff)
downloadtcl-0c5942c4533ba53f9a91fc95bf9309ea2e1b2603.zip
tcl-0c5942c4533ba53f9a91fc95bf9309ea2e1b2603.tar.gz
tcl-0c5942c4533ba53f9a91fc95bf9309ea2e1b2603.tar.bz2
- Added the flags field in a ByteCode struct, and added one flag:
TCL_BYTECODE_PRECOMPILED to mark ByteCodes generated from .tbc files - Added the TclGetInstructionTable procedure
Diffstat (limited to 'generic')
-rw-r--r--generic/tclCompile.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/generic/tclCompile.h b/generic/tclCompile.h
index 6dc3f03..c9b01bc 100644
--- a/generic/tclCompile.h
+++ b/generic/tclCompile.h
@@ -309,6 +309,12 @@ typedef struct CompileEnv {
* CmdLocation map, and the compilation AuxData array.
*/
+/*
+ * A PRECOMPILED bytecode struct is one that was generated from a compiled
+ * image rather than implicitly compiled from source
+ */
+#define TCL_BYTECODE_PRECOMPILED 0x0001
+
typedef struct ByteCode {
Interp *iPtr; /* Interpreter containing the code being
* compiled. Commands and their compile
@@ -323,6 +329,9 @@ typedef struct ByteCode {
* plus 1 for each execution of the code
* currently active. This structure can be
* freed when refCount becomes zero. */
+ unsigned int flags; /* flags describing state for the codebyte.
+ * this variable holds ORed values from the
+ * TCL_BYTECODE_ masks defined above */
char *source; /* The source string from which this
* ByteCode was compiled. Note that this
* pointer is not owned by the ByteCode and
@@ -758,6 +767,7 @@ EXTERN void TclEmitForwardJump _ANSI_ARGS_((CompileEnv *envPtr,
EXTERN ExceptionRange * TclGetExceptionRangeForPc _ANSI_ARGS_((
unsigned char *pc, int catchOnly,
ByteCode* codePtr));
+EXTERN InstructionDesc * TclGetInstructionTable _ANSI_ARGS_(());
EXTERN int TclExecuteByteCode _ANSI_ARGS_((Tcl_Interp *interp,
ByteCode *codePtr));
EXTERN void TclExpandCodeArray _ANSI_ARGS_((