Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation - PLDI '02 2002
DOI: 10.1145/512561.512563
|View full text |Cite
|
Sign up to set email alerts
|

Region-based memory management in cyclone

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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
80
0

Year Published

2003
2003
2015
2015

Publication Types

Select...
6
2

Relationship

2
6

Authors

Journals

citations
Cited by 47 publications
(80 citation statements)
references
References 23 publications
(30 reference statements)
0
80
0
Order By: Relevance
“…Providing this feature in a type-safe manner will be challenging because G provides stack allocation, though region-based techniques may provide a solution [92,93].…”
Section: Resultsmentioning
confidence: 99%
“…Providing this feature in a type-safe manner will be challenging because G provides stack allocation, though region-based techniques may provide a solution [92,93].…”
Section: Resultsmentioning
confidence: 99%
“…Moreover, the runtime overhead of CCured renders it unsuitable for the analysis of operating systems and low-level software that has performance requirements. Vault [16] and Cyclone [17] are safe variants of the C programming language. They enforce static and dynamic safety restrictions to prevent runtime errors.…”
Section: Related Workmentioning
confidence: 99%
“…The annotation "; {}" on the function's prototype is an empty "effect". The fact that it is empty effectively denotes that 'r need not be live when the function is called (see our earlier paper [3] or the Cyclone manual for more detail on effects). Within the body of ins typedef, t may not be dereferenced until it can be shown that the region of t is live.…”
Section: Dynamic Arenasmentioning
confidence: 99%
“…In previous work [3], we described an integration of BDW with safe stack allocation and LIFO arena allocation; in both cases all objects are deallocated at once when the relevant scope is exited. A regionbased type-and-effect system based upon the work of Tofte and Talpin [4] ensured safety while providing enough polymorphism for reusable code to operate over data allocated anywhere.…”
Section: Introductionmentioning
confidence: 99%