Skip to main content

A Flow-Sensitive Region Inference for CLI

  • Conference paper
Programming Languages and Systems (APLAS 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5356))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Boehm, H.: http://www.hpl.hp.com/personal/Hans_Boehm/gc/

  2. Bogda, J., Hölzle, U.: Removing Unnecessary Synchronization in Java. ACM SIGPLAN Notices 34(10), 35–46 (1999)

    Article  Google Scholar 

  3. Bollella, G., Brosgol, B., Dibble, P., Furr, S., Gosling, J., Hardin, D., Turnbull, M.: The Real-Time Specification for Java. Addison-Wesley, Reading (2000)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Cherem, S., Rugina, R.: Compile-Time Deallocation of Individual Objects. In: Proceedings of the 2006 International Symposium on Memory Management (ISMM 2006) (June 2006)

    Google Scholar 

  7. Chin, W.N., Craciun, F., Qin, S.C., Rinard, M.: Region Inference for an Object-Oriented Language. In: ACM PLDI, Washington, DC (2004)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. Christiansen, M.V., Velschow, P.: Region-Based Memory Management in Java. Master’s Thesis, Department of Computer Science (DIKU), University of Copenhagen (1998)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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)

    Chapter  Google Scholar 

  15. Stutz, D., Neward, T., Shilling, G.: Shared Source CLI Essentials. O’Reilly, Sebastopol (2003)

    Google Scholar 

  16. ECMA-335 Standard: Common Language Infrastructure (CLI), 4th edition (2006)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Tofte, M., Talpin, J.: Implementing the Call-By-Value λ-calculus Using a Stack of Regions. In: ACM POPL. ACM Press, New York (1994)

    Google Scholar 

  19. Whaley, J., Rinard, M.: Compositional Pointer and Escape Analysis for Java Programs. In: ACM OOPSLA, Denver, CO. ACM Press, New York (1999)

    Google Scholar 

  20. F# Language, http://research.microsoft.com/fsharp/fsharp.aspx

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics