2002
DOI: 10.1145/543552.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...
3
2

Citation Types

0
94
0

Year Published

2006
2006
2019
2019

Publication Types

Select...
4
4
1

Relationship

1
8

Authors

Journals

citations
Cited by 85 publications
(94 citation statements)
references
References 24 publications
0
94
0
Order By: Relevance
“…Region-based memory partitioning has been explored before in the context of safe and efficient memory management [30,59], but not for information flow. In ConfLLVM, regions obviate the need for dynamic taint tracking [39,51,55].…”
Section: Related Workmentioning
confidence: 99%
“…Region-based memory partitioning has been explored before in the context of safe and efficient memory management [30,59], but not for information flow. In ConfLLVM, regions obviate the need for dynamic taint tracking [39,51,55].…”
Section: Related Workmentioning
confidence: 99%
“…Previous work has leveraged type-safe languages [22] to build reliable and safe operating systems [34]. Spin [9] allowed applications to extend and optimize kernel performance by downloading modules written in Modula-3 [10].…”
Section: Related Workmentioning
confidence: 99%
“…The hypothesis that many objects, allocated in the same scope, share the same faith, i.e., have similar lifetimes has also been leveraged by many region-based memory management algorithms [1,4,9,15,19,20,23,24,26,28,35,46]. In such algorithms, objects with similar lifetime profiles are allocated in scope-based regions, which are deallocated as a whole when objects inside these regions are no longer reachable.…”
Section: Region-based Garbage Collectionmentioning
confidence: 99%
“…In such algorithms, objects with similar lifetime profiles are allocated in scope-based regions, which are deallocated as a whole when objects inside these regions are no longer reachable. However, existing region-based algorithms either require sophisticated static analysis [1,4,9,19,20,24] (which does not scale to large systems), heavily rely on manual code refactoring [23,46] (to guarantee that objects in the same region die approximately at the same time), or support only simple programming models [41,46,47] (such as parallel bag of tasks).…”
Section: Region-based Garbage Collectionmentioning
confidence: 99%