Previous: Simultaneous Execution Function Evaluation Result Recorded, Up: Simultaneous Execution [Index]
When sharing the set of executable objects, the simultaneously executed programs refer all a number of objects that need to belong to the execution. Included are resource allocators, error reporters, aime objects referred by program variables, etc.
Moving from one program execution to another requires that the set of objects known by all the programs by the same identificator is switched to match the program next to execute.
For an instance, if an aime object of type ‘file’ is available to the executed programs by one global variable, and that variable definition is the same across all programs yet the ‘file’ object is specific to the execution, all the programs pick the object address from the same memory location (the one associated with the single variable definition). When switching between program executions, the address of ‘file’ object specific to the next program to execute is to be stored at the one memory location from where it will be picked up.
Similarly, program execution states such as the integer indication whether temporaries are to be cleared (if the chosen temporaries manager uses such a feature) has to be updated with the value for the next program to execute, though not before the current value is saved for the program interrupting execution.
All proxies objects (like the error reporter) that defer to a second object known from a fixed location require extra effort if the second object should be execution specific (the second object value has to be saved/replaced).