Abstract
The scoped-memory feature is central to the Real-Time Specification for Java. It allows greater control over memory management, in particular the deallocation of objects without the use of a garbage collector. To preserve the safety of storage references associated with Java™ since its inception, the use of scoped memory is constrained by a set of rules in the specification. While a program's adherence to the rules can be partially checked at compile-time, undecidability issues imply that some-perhaps, many-checks may be required at run-time. Poor implementations of those run-time checks could adversely affect overall performance and predictability, the latter being a founding principle of the specification. In this paper we present efficient algorithms for managing scoped memories and the checks they impose on programs. Implementations and results published to date require time linear in the depth of scope nesting; our algorithms operate in constant time. We describe our approach and present experiments quantifying the gains in efficiency.
| Original language | English |
|---|---|
| Pages | 51-58 |
| Number of pages | 8 |
| DOIs | |
| State | Published - 2003 |
| Event | Proceedings of the 2003 ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems - San Diego, CA, United States Duration: Jun 11 2003 → Jun 13 2003 |
Conference
| Conference | Proceedings of the 2003 ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems |
|---|---|
| Country/Territory | United States |
| City | San Diego, CA |
| Period | 06/11/03 → 06/13/03 |
Keywords
- Garbage collection
- Memory management
- Object oriented languages
- Real-time Java
- Scoped memory