Abstract
We have developed two mathematical techniques which, used together, can increase the speed of Ada compiled code, in two ways. We can eliminate most subprogram call overhead, involving stack pointer adjustment when a subprogram is called and when it returns. We can also eliminate most static scoping overhead, requiring the use of multiple base registers when procedures are nested. In particular, all this overhead can be eliminated in the absence of recursion. One of our techniques is based on an analogy with a variant of the well-known critical path method. The other is based on a new result in directed graph theory, which has many potential applications in addition to the one presented here.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Sebesta, R.W.: Concepts of Programming Languages, 7th edn. Addison-Wesley, Boston (2005)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. McGraw-Hill, New York (2001)
Ryder, B.G.: Constructing the Call Graph of a Program. IEEE Trans. on Software Eng. 1, 216–226 (1979)
Maurer, W.D.: Loop Trees for Directed Graphs and Their Applications. Technical Report TR-GWU-CS-05-004. Computer Science Dept., George Washington Univ., Washington (2005)
Hecht, M.S., Ullman, J.D.: Flow Graph Reducibility. SIAM J. on Computing 1, 188–202 (1972)
Gabow, H.N.: Path-Based Depth-First Search for Strong and Biconnected Components. Inf. Processing Letters 74, 107–114 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Maurer, W.D. (2006). Using Mathematics to Improve Ada Compiled Code. In: Pinho, L.M., González Harbour, M. (eds) Reliable Software Technologies – Ada-Europe 2006. Ada-Europe 2006. Lecture Notes in Computer Science, vol 4006. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11767077_16
Download citation
DOI: https://doi.org/10.1007/11767077_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34663-0
Online ISBN: 978-3-540-34664-7
eBook Packages: Computer ScienceComputer Science (R0)