Safe and Flexible Memory Management in Cyclone
dc.contributor.author | Hicks, Michael | en_US |
dc.contributor.author | Morrisett, Greg | en_US |
dc.contributor.author | Grossman, Dan | en_US |
dc.contributor.author | Jim, Trevor | en_US |
dc.date.accessioned | 2004-05-31T23:31:21Z | |
dc.date.available | 2004-05-31T23:31:21Z | |
dc.date.created | 2003-07 | en_US |
dc.date.issued | 2003-08-01 | en_US |
dc.description.abstract | Cyclone is a type-safe programming language intended for applications requiring control over memory management. Our previous work on Cyclone included support for stack allocation, lexical region allocation, and a garbage-collected heap. We achieved safety (i.e., prevented dangling pointers) through a region-based type-and-effects system. This paper describes some new memory-management mechanisms that we have integrated into Cyclone: dynamic regions, unique pointers, and reference-counted objects. Our experience shows that these new mechanisms are well suited for the timely recovery of objects in situations where it is awkward to use lexical regions. Crucially, programmers can write reusable functions without unnecessarily restricting callers' choices among the variety of memory-management options. To achieve this goal, Cyclone employs a combination of polymorphism and scoped constructs that temporarily let us treat objects as if they were allocated in a lexical region. (UMIACS-TR-2003-82) | en_US |
dc.format.extent | 326372 bytes | |
dc.format.mimetype | application/pdf | |
dc.identifier.uri | http://hdl.handle.net/1903/1304 | |
dc.language.iso | en_US | |
dc.relation.isAvailableAt | Digital Repository at the University of Maryland | en_US |
dc.relation.isAvailableAt | University of Maryland (College Park, Md.) | en_US |
dc.relation.isAvailableAt | Tech Reports in Computer Science and Engineering | en_US |
dc.relation.isAvailableAt | UMIACS Technical Reports | en_US |
dc.relation.ispartofseries | UM Computer Science Department; CS-TR-4514 | en_US |
dc.relation.ispartofseries | UMIACS; UMIACS-TR-2003-82 | en_US |
dc.title | Safe and Flexible Memory Management in Cyclone | en_US |
dc.type | Technical Report | en_US |
Files
Original bundle
1 - 1 of 1