Compiling with continuations
Implementation of the typed call-by-value λ-calculus using a stack of regions
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Better static memory management: improving region-based analysis of higher-order languages
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
From region inference to von Neumann machines via region representation inference
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Region-based memory management
Information and Computation
Escape analysis: correctness proof, implementation and experimental results
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Memory management with explicit regions
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Static interpretation of modules
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
A real-time garbage collector based on the lifetimes of objects
Communications of the ACM
Type-preserving garbage collectors
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A nonrecursive list compacting algorithm
Communications of the ACM
Proceedings of the ACM SIGPLAN 2001 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
The Definition of Standard ML
Uniprocessor Garbage Collection Techniques
IWMM '92 Proceedings of the International Workshop on Memory Management
Polymorphic Equality - No Tags Required
TIC '98 Proceedings of the Second International Workshop on Types in Compilation
Automated discovery of scoped memory regions for real-time Java
Proceedings of the 3rd international symposium on Memory management
Region-based memory management in cyclone
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Garbage collection safety for region-based memory management
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Web Programming with SMLserver
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Automatic pool allocation for disjoint data structures
Proceedings of the 2002 workshop on Memory system performance
A Retrospective on Region-Based Memory Management
Higher-Order and Symbolic Computation
Experience with safe manual memory-management in cyclone
Proceedings of the 4th international symposium on Memory management
Automatic pool allocation: improving performance by controlling data structure layout in the heap
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Compile-time deallocation of individual objects
Proceedings of the 5th international symposium on Memory management
Optimistic stack allocation for java-like languages
Proceedings of the 5th international symposium on Memory management
Free-Me: a static analysis for automatic individual object reclamation
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Safe manual memory management in cyclone
Science of Computer Programming - Special issue on five perspectives on modern memory management: Systems, hardware and theory
Heap data allocation to scratch-pad memory in embedded systems
Journal of Embedded Computing - Cache exploitation in embedded systems
Heap reference analysis using access graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
The transactional memory / garbage collection analogy
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
The CLOSER: automating resource management in java
Proceedings of the 7th international symposium on Memory management
Memory management for self-adjusting computation
Proceedings of the 7th international symposium on Memory management
Implicit ownership types for memory management
Science of Computer Programming
Local reasoning about a copying garbage collector
ACM Transactions on Programming Languages and Systems (TOPLAS)
SAS'03 Proceedings of the 10th international conference on Static analysis
Bounded-latency regional garbage collection
Proceedings of the 7th symposium on Dynamic languages
A bloat-aware design for big data applications
Proceedings of the 2013 international symposium on memory management
A low overhead method for recovering unused memory inside regions
Proceedings of the ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
Hi-index | 0.00 |
This paper describes a memory discipline that combines region-based memory management and copying garbage collection by extending Cheney's copying garbage collection algorithm to work with regions. The paper presents empirical evidence that region inference very significantly reduces the number of garbage collections; and evidence that the fastest execution is obtained by using regions alone, without garbage collection. The memory discipline is implemented for Standard ML in the ML Kit compiler and measurements show that for a variety of benchmark programs, code generated by the compiler is as efficient, both with respect to execution time and memory usage, as programs compiled with Standard ML of New Jersey, another state-of-the-art Standard ML compiler.