Publication | Closed Access
Region-based memory management in cyclone
404
Citations
28
References
2002
Year
Unknown Venue
EngineeringCompiler TechnologyIn-memory DatabaseComputer ArchitectureSoftware EngineeringSoftware AnalysisFormal VerificationLegacy CDependently Typed ProgrammingType-safe Programming LanguageParallel ComputingMemory ManagementHigh-level Programming LanguageCompiler SupportComputer EngineeringComputer ScienceVirtual MemorySoftware DesignRegion AnnotationsProgram AnalysisFormal MethodsParallel ProgrammingRegion-based Memory ManagementSystem Software
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1