z-logo
Premium
Optimizing procedure calls and returns
Author(s) -
Er M. C.
Publication year - 1983
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380131005
Subject(s) - continuation , computer science , closure (psychology) , statement (logic) , frame (networking) , stack (abstract data type) , heuristic , call stack , mathematical optimization , dependency (uml) , reuse , algorithm , mathematics , programming language , engineering , artificial intelligence , telecommunications , economics , political science , law , market economy , waste management
When a procedure is activated as a logical last statement in another procedure, optimization could be done to the procedure call and return. Several optimizations are discussed. The first optimization is based on the idea of reusing the current stack frame. With this approach, it is necessary to compute the order of passing parameters. A tactic of computing the dependency of parameters and a heuristic method of breaking the cyclic dependencies are therefore proposed. However, this approach has severe restrictions imposed on the kinds of procedure that can be called; in particular, the called procedure cannot contain references to the calling procedure. To remove all such restrictions, the second and third methods of optimization are put forwards. The second optimization revolves around the concept of continuation closure. It uses the normal stack frame of standard implementation, but alters its continuation closure to achieve quick procedure exit. The third optimization builds upon the concept of para‐stack frame and common continuation closure for achieving fast procedure exit. Various other refinements are also considered.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom