Fast allocation and deallocation of memory based on object lifetimes
Software—Practice & Experience
Using lifetime predictors to improve memory allocation performance
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Region-based memory management
Information and Computation
Memory management with explicit regions
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Typed memory management in a calculus of capabilities
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Managing Reentrant Structures Using Reference Counts
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
Enforcing high-level protocols in low-level software
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
A Retargetable C Compiler: Design and Implementation
A Retargetable C Compiler: Design and Implementation
Dynamic Storage Allocation: A Survey and Critical Review
IWMM '95 Proceedings of the International Workshop on Memory Management
Uniprocessor Garbage Collection Techniques
IWMM '92 Proceedings of the International Workshop on Memory Management
Alias Types for Recursive Data Structures (Extended Version)
Alias Types for Recursive Data Structures (Extended Version)
Language Support and Compilation Techniques for Regions
Language Support and Compilation Techniques for Regions
Portable, modular expression of locality
Portable, modular expression of locality
Pointer and escape analysis for multithreaded programs
PPoPP '01 Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming
Automated discovery of scoped memory regions for real-time Java
Proceedings of the 3rd international symposium on Memory management
An adaptive, region-based allocator for java
Proceedings of the 3rd international symposium on Memory management
Combining region inference and garbage collection
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Region-based memory management in cyclone
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Reconsidering custom memory allocation
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Object combining: A new aggressive optimization for object intensive programs
JGI '02 Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
An Implementation of Scoped Memory for Real-Time Java
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Automatic pool allocation for disjoint data structures
Proceedings of the 2002 workshop on Memory system performance
A practical flow-sensitive and context-sensitive C and C++ memory leak detector
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Ownership types for safe region-based memory management in real-time Java
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
A Retrospective on Region-Based Memory Management
Higher-Order and Symbolic Computation
Region inference for an object-oriented language
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Experience with safe manual memory-management in cyclone
Proceedings of the 4th international symposium on Memory management
Region analysis and transformation for Java programs
Proceedings of the 4th international symposium on Memory management
Experiments on the effectiveness of an automatic insertion of memory reuses into ML-like programs
Proceedings of the 4th international symposium on Memory management
Bisimilarity for the Region Calculus
Higher-Order and Symbolic Computation
Quantifying the performance of garbage collection vs. explicit memory management
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Static insertion of safe and effective memory reuse commands into ML-like programs
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
JScoper: Eclipse support for research on scoping and instrumentation for real time Java applications
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Free-Me: a static analysis for automatic individual object reclamation
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Static detection of leaks in polymorphic containers
Proceedings of the 28th international conference on Software engineering
Dynamic state restoration using versioning exceptions
Higher-Order and Symbolic Computation
Safe manual memory management in cyclone
Science of Computer Programming - Special issue on five perspectives on modern memory management: Systems, hardware and theory
Flow-insensitive type qualifiers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Scrash: a system for generating secure crash information
SSYM'03 Proceedings of the 12th conference on USENIX Security Symposium - Volume 12
Parallel Languages and Compilers: Perspective From the Titanium Experience
International Journal of High Performance Computing Applications
Proceedings of the 6th international symposium on Memory management
The transactional memory / garbage collection analogy
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Conditional correlation analysis for safe region-based memory management
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Parametric prediction of heap memory requirements
Proceedings of the 7th international symposium on Memory management
Implicit ownership types for memory management
Science of Computer Programming
Lightweight annotations for controlling sharing in concurrent data structures
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
On transforming Java-like programs into memory-predictable code
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Program Instrumentation and Run-Time Analysis of Scoped Memory in Java
Electronic Notes in Theoretical Computer Science (ENTCS)
A Verifier for Region-Annotated Java Bytecodes
Electronic Notes in Theoretical Computer Science (ENTCS)
Fast Escape Analysis for Region-based Memory Management
Electronic Notes in Theoretical Computer Science (ENTCS)
Race-free and memory-safe multithreading: design and implementation in cyclone
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
Inserting safe memory reuse commands into ML-like programs
SAS'03 Proceedings of the 10th international conference on Static analysis
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Just-in-time compiler assisted object reclamation and space reuse
NPC'10 Proceedings of the 2010 IFIP international conference on Network and parallel computing
Banshee: a scalable constraint-based analysis toolkit
SAS'05 Proceedings of the 12th international conference on Static Analysis
Towards region-based memory management for Go
Proceedings of the 2012 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
The myrmics memory allocator: hierarchical,message-passing allocation for global address spaces
Proceedings of the 2012 international symposium on Memory Management
Legion: expressing locality and independence with logical regions
SC '12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
A bloat-aware design for big data applications
Proceedings of the 2013 international symposium on memory management
OOPSLA 2002: Reconsidering custom memory allocation
ACM SIGPLAN Notices - Supplemental issue
Language support for dynamic, hierarchical data partitioning
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Static safety guarantees for a low-level multithreaded language with regions
Science of Computer Programming
Hi-index | 0.00 |
Region-based memory management systems structure memory by grouping objects in regions under program control. Memory is reclaimed by deleting regions, freeing all objects stored therein. Our compiler for C with regions, RC, prevents unsafe region deletions by keeping a count of references to each region. Using type annotations that make the structure of a program's regions more explicit, we reduce the overhead of reference counting from a maximum of 27% to a maximum of 11% on a suite of realistic benchmarks. We generalise these annotations in a region type system whose main novelty is the use of existentially quantified abstract regions to represent pointers to objects whose region is partially or totally unknown. A distribution of RC is available at http://www.cs.berkeley.edu/~dgay/rc.tar.gz.