Region-based memory management in cyclone

被引:84
|
作者
Grossman, D [1 ]
Morrisett, G
Jim, T
Hicks, M
Wang, YL
Cheney, J
机构
[1] Cornell Univ, Dept Comp Sci, Ithaca, NY 14853 USA
[2] AT&T Labs Res, Florham Pk, NJ 07932 USA
关键词
languages;
D O I
10.1145/543552.512563
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:282 / 293
页数:12
相关论文
共 50 条
  • [1] Region-based memory management
    Tofte, M
    Talpin, JP
    [J]. INFORMATION AND COMPUTATION, 1997, 132 (02) : 109 - 176
  • [2] Region-based memory management for Mercury programs
    Phan, Quan
    Janssens, Gerda
    Somogyi, Zoltan
    [J]. THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2013, 13 : 959 - 1024
  • [3] Region-Based RTSJ Memory Management: State of the art
    Hamza, H.
    Counsell, S.
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2012, 77 (05) : 644 - 659
  • [4] Runtime Support for Region-Based Memory Management in Mercury
    Phan, Quan
    Somogyi, Zoltan
    Janssens, Gerda
    [J]. ISMM'08: PROCEEDINGS OF THE 2008 INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT, 2008, : 61 - +
  • [5] Garbage collection safety for region-based memory management
    Elsman, M
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (03) : 123 - 134
  • [6] Fast Escape Analysis for Region-based Memory Management
    Salagnac, G.
    Yovine, S.
    Garbervetsky, D.
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 131 : 99 - 110
  • [7] Region-based memory management for a dynamically-typed language
    Nagata, A
    Kobayashi, N
    Yonezawa, A
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2004, 3302 : 229 - 245
  • [8] Conditional correlation analysis for safe region-based memory management
    Wang, Xi
    Xu, Zhilei
    Liu, Xuezheng
    Guo, Zhenyu
    Wang, Xiaoge
    Zhang, Zheng
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (06) : 45 - 55
  • [9] Conditional Correlation Analysis for Safe Region-based Memory Management
    Wang, Xi
    Xu, Zhilei
    Liu, Xuezheng
    Guo, Zhenyu
    Wang, Xiaoge
    Zhang, Zheng
    [J]. PLDI'08: PROCEEDINGS OF THE 2008 SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN & IMPLEMENTATION, 2008, : 45 - +
  • [10] Region-based memory management for real-time Java']Java
    Higuera, T
    Issarny, V
    Banâtre, M
    Cabillic, G
    Lesot, JP
    Parain, F
    [J]. FOURTH IEEE INTERNATIONAL SYMPOSIUM ON OBJECT-ORIENTED REAL-TIME DISTRIBUTED COMPUTING, PROCEEDINGS, 2001, : 387 - 394