This workbench provides anything which is required to perform your own experiments on amodular core. It is organized as described below.
The configuration information for each variant is stored in the file cdrive.cfg. It contains a reference to the sources to use (relative to work/src) and the compilation flags to give to the build system. Subdirectories not containing cdrive.cfg are ignored. If the file STACK is present in the configuration directory this configuration will be recognized as one for which a stack-test can be run.
Five configurations are predefined for your convenience.
The implementation of the recorder can be found in the work/src/tcl834_stkr sources. It consists of four functions, all implemented in the file unix/tclUnixInit.c (at the bottom).
Four additional macros, declared in generic/tcl.h allow us to compile the core with and without stack recording. The controlling macro is TCL_RECORD_STACK_SIZES. Its presence activates the recorder.
These four macros are
To reduce the size of the output the recorder maintains a hashtable which contains lines already written as its keys. Known strings are not written again.
The written lines contain the following information:
Use the script report-gen.stack-usage to convert such a log into a readable report.