Issues to be addressed
. Can procedures be recursive?
. What happens to locals when procedures return from an activation?
. Can procedure refer to non local names?
. How to pass parameters?
. Can procedure be parameter?
. Can procedure be returned?
. Can storage be dynamically allocated?
. Can storage be de-allocated?
There are several issues that need to be looked at relating to procedure calls, and they are listed here. All of these are relevant to the design of the runtime system. For instance, the runtime system may have to be designed differently to support recursion. In some cases, local variables may need to be preserved after a procedure returns. Parameter passing may be carried out in multiple ways, such as call by value and call by reference. If storage is dynamically allocated, then a de-allocation mechanism (a garbage collector) may be required. The coming slides will look at these issues and their possible resolutions.
|