summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
diff options
context:
space:
mode:
authormig <mig>2013-12-18 15:34:39 (GMT)
committermig <mig>2013-12-18 15:34:39 (GMT)
commit4cc4d69fe462a3661da5df84b1897b9959f6d5fd (patch)
tree35a294cbee8763fa0270415cf220c0d8f1c8c44d /generic/tclInt.h
parent12a14105a15ca9bae71b2020fdc9d1c1b1b95dff (diff)
downloadtcl-4cc4d69fe462a3661da5df84b1897b9959f6d5fd.zip
tcl-4cc4d69fe462a3661da5df84b1897b9959f6d5fd.tar.gz
tcl-4cc4d69fe462a3661da5df84b1897b9959f6d5fd.tar.bz2
Making the optimizer pluggable by extensions; please review for committing to trunkmig_tmp_optimize
Diffstat (limited to 'generic/tclInt.h')
-rw-r--r--generic/tclInt.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 5c8dbfd..8ccfadb 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -1809,7 +1809,14 @@ typedef struct Interp {
ClientData interpInfo; /* Information used by tclInterp.c to keep
* track of master/slave interps on a
* per-interp basis. */
- Tcl_HashTable unused2; /* No longer used (was mathFuncTable) */
+ union {
+ void (*optimizer)(void *envPtr);
+ Tcl_HashTable unused2; /* No longer used (was mathFuncTable). The
+ * unused space in interp was repurposed for
+ * pluggable bytecode optimizers. The core
+ * contains one optimizer, which can be
+ * selectively overriden by extensions. */
+ } extra;
/*
* Information related to procedures and variables. See tclProc.c and