diff options
| author | mig <mig> | 2013-12-18 15:34:39 (GMT) |
|---|---|---|
| committer | mig <mig> | 2013-12-18 15:34:39 (GMT) |
| commit | 0b16f38c48601182e39f3f7dd425878de206d5fc (patch) | |
| tree | 35a294cbee8763fa0270415cf220c0d8f1c8c44d /generic/tclInt.h | |
| parent | 24e4504f1396ed210942a2d4ddb747fcf52a641e (diff) | |
| download | tcl-0b16f38c48601182e39f3f7dd425878de206d5fc.zip tcl-0b16f38c48601182e39f3f7dd425878de206d5fc.tar.gz tcl-0b16f38c48601182e39f3f7dd425878de206d5fc.tar.bz2 | |
Making the optimizer pluggable by extensions; please review for committing to trunk
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 |
