Region-based Memory Management in Cyclone

Dan Grossman, Greg Morrisett, Trevor Jim, Michael Hicks, Yanling Wang, James Cheney

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Cyclone is a type-safe programming language derived from C. The primary design goal of Cyclone is to let programmers control data representation and memory management without sacrificing type-safety. In this paper, we focus on the region-based memory management of Cyclone and its static typing discipline. The design incorporates several advancements, including support for region subtyping and a coherent integration with stack allocation and a garbage collector. To support separate compilation, Cyclone requires programmers to write some explicit region annotations, but a combination of default annotations, local type inference, and a novel treatment of region effects reduces this burden. As a result, we integrate C idioms in a region-based framework. In our experience, porting legacy C to Cyclone has required altering about 8% of the code; of the changes, only 6% (of the 8%) were region annotations.
Original languageEnglish
Title of host publicationProceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation
Place of PublicationNew York, NY, USA
PublisherACM
Pages282-293
Number of pages12
ISBN (Print)1-58113-463-0
DOIs
Publication statusPublished - 2002

Publication series

NamePLDI '02
PublisherACM

Fingerprint

Dive into the research topics of 'Region-based Memory Management in Cyclone'. Together they form a unique fingerprint.

Cite this