diff options
author | mig <mig> | 2013-12-18 15:34:39 (GMT) |
---|---|---|
committer | mig <mig> | 2013-12-18 15:34:39 (GMT) |
commit | 4cc4d69fe462a3661da5df84b1897b9959f6d5fd (patch) | |
tree | 35a294cbee8763fa0270415cf220c0d8f1c8c44d /generic/tclInt.h | |
parent | 12a14105a15ca9bae71b2020fdc9d1c1b1b95dff (diff) | |
download | tcl-mig_tmp_optimize.zip tcl-mig_tmp_optimize.tar.gz tcl-mig_tmp_optimize.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.h | 9 |
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 |