On the calling behaviour of procedures

  • Dieter Armbruster
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 206)


If a procedure P is relatively nonrecursive with respect to a procedure Q, i.e., P is always preceded by Q in the calling graph of the program, then P does not need an activation record of its own — it can be integrated into that of Q. Thus, the efficiency of a call to P is between that of a strictly recursive and a nonrecursive one.

An algorithm is presented which classifies each procedure (or function) in a program as being either nonrecursive, relatively nonrecursive or strictly recursive (i.e., recursive but not relatively nonrecursive) and associates each relatively nonrecursive with a strictly recursive one.

The method is based on finding dominators in the (transformed) calling graph.


Transitive Closure Activation Record Main Program Recursive Procedure Calling Behaviour 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

7. References

  1. [AU79]
    Alfred V. Aho, Jeffrey D. Ullman: Principles of Compiler Design, Chapter 13, Addison-Wesley Publishing Company, third Printing, April 1979Google Scholar
  2. [LAN73]
    Hans Langmaack: On Correct Procedure Parameter Passing in Higher Programming Languages Acta Informatica 2, 110–142 (1973)Google Scholar
  3. [TAR74]
    R. Tarjan: Finding Dominators in Directed Graphs SIAM Journal of Comp., Vol.3, No.1, 62–89, March 1974CrossRefGoogle Scholar
  4. [WAL76]
    Kenneth G. Walter: Recursion Analysis for Compiler Optimization Communications of the ACM, September 1976, Volume 19, Number 9, 514–516Google Scholar
  5. [WIN82]
    Karl Winklmann: On the Complexity of Some Problems Concerning the Use of Procedures. I. Acta Informatica 18, 299–318 (1982)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Dieter Armbruster
    • 1
  1. 1.Institut für InformatikUniversität StuttgartStuttgart 1West-Germany

Personalised recommendations