Proceedings of the 4th International Symposium on Memory Management 2004
DOI: 10.1145/1029873.1029883
|View full text |Cite
|
Sign up to set email alerts
|

Experience with safe manual memory-management in cyclone

Abstract: The goal of the Cyclone project is to investigate type safety for low-level languages such as C. Our hardest challenge has been providing programmers control over memory management while retaining type safety. This paper reports on our experience trying to integrate and effectively use two previously proposed, type-safe memory management mechanisms: statically-scoped regions and unique pointers. We found that these typing mechanisms can be combined to build alternative memory-management abstractions, such as r… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

1
51
0

Year Published

2004
2004
2022
2022

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 65 publications
(52 citation statements)
references
References 31 publications
1
51
0
Order By: Relevance
“…They use region types, which divide memory in regions, in an ML language, where allocation and deallocation are inferred from type and effect analysis. This idea was used in the Cyclone language [Hicks et al 2004], which is concerned with safety of C-like languages. Deterministic Parallel Java also provides means to split data in the heap: Java code is annotated with regions information used to calculate the effects of reading and writing to data [Bocchino et al 2009].…”
Section: Related Workmentioning
confidence: 99%
“…They use region types, which divide memory in regions, in an ML language, where allocation and deallocation are inferred from type and effect analysis. This idea was used in the Cyclone language [Hicks et al 2004], which is concerned with safety of C-like languages. Deterministic Parallel Java also provides means to split data in the heap: Java code is annotated with regions information used to calculate the effects of reading and writing to data [Bocchino et al 2009].…”
Section: Related Workmentioning
confidence: 99%
“…Region-based memory management Region-based memory management was first used in the implementations of functional languages [7,39] such as Standard ML [25], and then was extended to Prolog [28], C [21,22,24,26], and real-time Java [13,17,27]. More recently, some mark-region hybrid methods such as Immix [15] combine tracing GC with regions to improve GC performance for Java.…”
Section: Related Workmentioning
confidence: 99%
“…In [11], they briefly outline this technique along with two other memory management ideas that are of independent interest. Their dynamic regions can be roughly interpreted in our small region language by assuming that region handles are always existentially packed.…”
Section: Related Workmentioning
confidence: 99%
“…Recently, there have been a number of proposals [4,18,9,2,11] based on the concept of regions [14,15], that allow safe, explicitly controlled memory management. All these systems (with the exception of portions of [11] which was developed independently from our work around the same time) guarantee safety at compile time.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation