Abstract
Region-based memory management can offer improved time performance, relatively good memory locality and reuse, and also provide better adherence to real-time constraints during execution, when compared against traditional garbage collection. We have implemented a region-memory subsystem into the SSCLI 2.0 platform and then adapted an inference system to region-enable CIL programs, with the aid of newly introduced instructions. Initial results are promising, as the programs running with regions have considerably smaller interrupting delays, compared to those running with garbage collection. Regions can bring runtime improvement for some programs (up to 50%), depending on how complicated are the data structures used in execution.
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
Bogda, J., Hölzle, U.: Removing Unnecessary Synchronization in Java. ACM SIGPLAN Notices 34(10), 35–46 (1999)
Bollella, G., Brosgol, B., Dibble, P., Furr, S., Gosling, J., Hardin, D., Turnbull, M.: The Real-Time Specification for Java. Addison-Wesley, Reading (2000)
Carlisle, M.C., Rogers, A.: Software Caching and Computation Migration in Olden. In: ACM PPoPP, Santa Barbara, California, pp. 29–38. ACM Press, New York (1993)
Cherem, S., Rugina, R.: Region Analysis and Transformation for Java Programs. In: Proceedings of the International Symposium on Memory Management (ISMM 2004). ACM Press, New York (October 2004)
Cherem, S., Rugina, R.: Compile-Time Deallocation of Individual Objects. In: Proceedings of the 2006 International Symposium on Memory Management (ISMM 2006) (June 2006)
Chin, W.N., Craciun, F., Qin, S.C., Rinard, M.: Region Inference for an Object-Oriented Language. In: ACM PLDI, Washington, DC (2004)
Choi, J.D., Gupta, M., Serrano, M.J., Sreedhar, V.C., Midkiff, S.P.: Escape Analysis for Java. In: Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pp. 1–19 (1999)
Christiansen, M.V., Velschow, P.: Region-Based Memory Management in Java. Master’s Thesis, Department of Computer Science (DIKU), University of Copenhagen (1998)
Goldberg, B., Park, Y.G.: Higher Order Escape Analysis: Optimizing Stack Allocation in Functional Program Implementations. In: Proceedings of the 1990 European Symposium on Programming, pp. 152–160 (1990)
Grossman, D., Morrisett, G., Jim, T., Hicks, M., Wang, Y., Cheney, J.: Region-Based Memory Management in Cyclone. In: ACM PLDI. ACM Press, New York (2002)
Guyer, S.Z., McKinley, K.S., Frampton, D.: Free-Me: A Static Analysis for Automatic Individual Object Reclamation. In: Proceedings of the SIGPLAN 2006 Conference on Program Language Design and Implementation (June 2006)
Park, Y.G., Goldberg, B.: Escape Analysis on Lists. In: Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation, pp. 116–127 (1992)
Shaham, R., Yahav, E., Kolodner, E.K., Sagiv, M.: Establishing Local Temporal Heap Safety Properties with Application to Compile-Time Memory Management. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, Springer, Heidelberg (2003)
Stutz, D., Neward, T., Shilling, G.: Shared Source CLI Essentials. O’Reilly, Sebastopol (2003)
ECMA-335 Standard: Common Language Infrastructure (CLI), 4th edition (2006)
Tofte, M., Birkedal, L., Elsman, M., Hallenberg, N., Olesen, T.H., Sestoft, P.: Programming with Regions in the ML Kit (for Version 4). The IT University of Copenhagen (September 2001)
Tofte, M., Talpin, J.: Implementing the Call-By-Value λ-calculus Using a Stack of Regions. In: ACM POPL. ACM Press, New York (1994)
Whaley, J., Rinard, M.: Compositional Pointer and Escape Analysis for Java Programs. In: ACM OOPSLA, Denver, CO. ACM Press, New York (1999)
F# Language, http://research.microsoft.com/fsharp/fsharp.aspx
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Stefan, A., Craciun, F., Chin, WN. (2008). A Flow-Sensitive Region Inference for CLI. In: Ramalingam, G. (eds) Programming Languages and Systems. APLAS 2008. Lecture Notes in Computer Science, vol 5356. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89330-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-89330-1_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-89329-5
Online ISBN: 978-3-540-89330-1
eBook Packages: Computer ScienceComputer Science (R0)