| OCR Text |
Show and from 1.64 /iseconds to 1.87 /iseconds for the interpreted filter. The overhead of a filter increases approximately linearly with increasing filter complexity. 4.5 Construction of Directors Directing routines of Dynascope provide the interface between the interpreter and the director. This section shows basic techniques used in the construction of the directors. Techniques are demonstrated on examples taken from Chapter 3. They show how the director interacts with the interpreter, how filters are used, and how the executor is controlled. 4.5.1 Interacting with Interpreter Section 3.2.1 gives an example of a director that checks for the use of uninitialized registers. The central part of the director, routine Check_Register_Allocation, is shown in Figure 3.1. This section explains the missing details of the director. The main program is shown in Figure 4.7. It represents a generic template for directors. 84 mainO { /* open a socket to the interpreter */ dsopenQ ; /* connect to the execution stream */ dsconnect(); /* report all events */ dsldfilter("ALL"); Check_Register_Allocation(); /* disconnect from the execution stream */ dsdisconnect(); /* close the socket to the interpreter */ dscloseO ; } Figure 4.7. Main Program to Check Register Allocation |