Abstract
The storage reuse of aggregates is a key problem in implementing single assignment languages. In this paper, on the basis of a typical subset of the single assignment language SISAL, we analyze the inherent limits of storage reuse and define what the maximal storage reuse is. We propose an efficient method of achieving storage reuse, which is of polynomial complexity and linear in common cases. It achieves the maximal storage reuse for an extensive program class into which all common benchmark programs fall. We also show that no general method can guarantee the maximal storage reuse for programs outside the class. In this case, our method can choose the most likely operation to reuse the storage of an aggregate or a set of shared aggregates.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
A. Bloss. Update Analysis and Efficient Implementation of Function Aggregates. In The 4th Int. Conf. on Functional Programming Language, and Computer Architecture, pages 26–38, 1989.
D. C. Cann. Compilation Techniques for High Performance Applicative Computation. PhD thesis, Computer Science Department, Colorado State University, 1989.
D.C. Cann. Retire Fortran? A Debate Rekindled. CACM, 35(8):81–89, Aug 1992.
K. Gopinath. Copy elimination in single assignment languages. PhD thesis, Computer System Laboratory, Stanford University, 1989.
Z. Li and C. Kirkham. Efficient Implementation of Aggregates in United Functions and Objects. In 33rd ACM Southeast Conference, pages 73–82, Mar. 95.
J. R. McGraw, S.K. Skedzielewski, S. J. Allan, R. R. Oldehoeft, J. Glauert, C. C. Kirkham, W. Noyce, and R. Thomas. SISAL: Streams and Iteration in a Single Assignment Language. Lawrence Livermore National Laboratory, reference manual 1.2, manual m-146, rev. first edition, 1985.
A. V. Sastry, W. Clinger, and Z. Ariola. Order-of-evaluation Analysis for Destructive Updates in Strict Functional Languages with Flat Aggregates. In the 6th Int. Conf. on Functional Programming Languages and Computer Architectures, 1993.
S. K. Skedzielewski and M. L. Welcome. Dataflow Graph Optimization in IF1. In J-P. Jouannaud, editor, Functional Programming Languages and Computer Architecture, pages 17–34. Springer-Verlag, NY, November 1985.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Li, Z., Kirkham, C.C. (1996). Efficient storage reuse of aggregates in single assignment languages. In: Gyimóthy, T. (eds) Compiler Construction. CC 1996. Lecture Notes in Computer Science, vol 1060. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61053-7_65
Download citation
DOI: https://doi.org/10.1007/3-540-61053-7_65
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61053-3
Online ISBN: 978-3-540-49939-8
eBook Packages: Springer Book Archive