An Implementation of Scoped Memory for Real-Time Java
This paper presents our experience implementing the memory management extensions in the Real-Time Specification for Java. These extensions are designed to given real-time programmers the control they need to obtain predictable memory system behavior while preserving Java’s safe memory model.We describe our implementation of certain dynamic checks required by the Real-Time Java extensions. In particular, we describe how to perform these checks in a way that avoids harmful interactions between the garbage collector and the memory management system. We also found that extensive debugging support was necessary during the development of Real-Time Java programs. We therefore used a static analysis and a dynamic debugging package during the development of our benchmark applications.
KeywordsGarbage Collection Memory Management Region Allocation Memory Area Garbage Collector
Unable to display preview. Download preview PDF.
- 1.Aiken, A., Gay, D.: Memory Management with Explicit Regions. Proceedings of the ACM SIGPLAN’ 98 Conference on Programming Language Design and Implementation. Montreal, Canada, June 1998.Google Scholar
- 2.Aiken, A., Gay, D.: Language Support for Regions. Proceedings of the ACM SIGPLAN’ 01 Conference on Programming Language Design and Implementation. Snowbird, Utah, June 2001.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, Massachusetts, 2000.Google Scholar
- 4.Christiansen, M., Velschow, P.: Region-Based Memory Management in Java. Master’s thesis, Department of Computer Science (DIKU), University of Copenhagen, May 1998.Google Scholar
- 5.Salcianu, A., Rinard, M.: Pointer and Escape Analysis for Multithreaded Programs. Proceedings of the Eighth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. Snowbird, Utah, June 2001.Google Scholar