| OCR Text |
Show in the executor can be replaced with a new code. The code to change a function is shown in Figure 4.14. Routine dsldobject loads an object file with the code for the function. This can be hypothetical code or host code. The loader automatically finds out the type of the code from the file header. The function is linked in the executor's code with dslink. All subsequent calls to the function will use the new code. Active instances of the function will not be changed, since they will continue executing until they return. 4.6 Issues in Controlling The director analyzes the execution stream and the executor's state in order to get information about executor's behavior. The execution stream and the state of the executor provide low level information. This section describes how high level information can be extracted from the low level information. The division between high level information and low level information occurs because the executor has two representations. One representation is the source program which is suitable for users. Another representation is the machine code which is suitable for fast execution on computers. The director must relate these two representations in order to transform information from one representation to another. To effectively perform monitoring and directing, the director must understand executor's program and data. Understanding program and data means that the dsldobject(filename); dslink(filename,funcname); 92 Figure 4.14. Modifying a Function |