next up previous contents
Next: Behavior Up: Simulator Input Previous: Simulator Input

 

4.1.1 Setup

The setup file contains static data about the program. It consists of three sections:

  1. Source and object file dependence information.
  2. Function tex2html_wrap_inline1388 File mapping.
  3. File sizes and compilation times.

The source and object file dependence information is similar to that found in the ``makefiles'' used by the utility make. It is used by the Compiler module of the continuous compiler in the same way such information is used by a traditional compiler: to determine if some files must be compiled before others and to determine which files need recompilation after another file has been edited.

The function tex2html_wrap_inline1388 file mapping allows the continuous compiler to know what new functions are available in native code after a file has been compiled. It is also used to help determine which file to compile next in some of the compilation strategies defined in Section 3.2. The information is identical to that produced by the ctags utility.

  figure192
Figure 4.2: Sample Setup File 

The file sizes and compilation times are used by our simulator both to simulate compilation and to implement the smallest-first and largest-first compilation strategies.

Our simulator implements the following five compilation strategies intrinsically: smallest-first, largest-first, random, most-frequently-executed-so-far, and longest-so-far. However, it is also possible to specify any desired compilation order by providing an ordered list of source files to the simulator as part of the setup. The most-frequently-executed-overall and longest-overall strategies were implemented in this manner.

Figure 4.2 shows a small sample setup file. The section under the ``MakeStuff'' heading specifies the file dependencies in exactly the same format as that used by the make utility. The ``CtagStuff'' section lists all of the functions defined in the source files along with the file in which each function is defined. The ``CompileStuff'' section lists all of the source files along with the number of lines in each file and the time, in milliseconds, required to compile the file. gif

  figure208
Figure 4.3: Sample Behavior File 


next up previous contents
Next: Behavior Up: Simulator Input Previous: Simulator Input