We propose a type-directed garbage collection (GC) scheme for a programming language with static memory management based on a linear type system. Linear type systems, which can guarantee certain values (called linear values) to be used only once during program execution, are useful for memory management: memory space for linear values can be reclaimed immediately after they are used. However, conventional pointer-tracing GC does not work under such a memory management scheme: if the memory space for used linear values is still reachable through pointers, dangling pointers are created. This problem is solved by exploiting static type information during garbage collection in a way similar to tag-free GC. Type information in our linear type sy...
Existing techniques for garbage collection and machine code optimizations can interfere with each ot...
Garbage collection algorithms rely on invariants to permit the identification of pointers and to cor...
As real-time systems become more complex, the need for more sophisticated runtime kernel features ar...
Efficient low-level systems such as garbage collectors need more control over memory than safe high-...
Garbage collectors perform two functions: live-object detection and dead-object reclamation. In thi...
We consider the problem of supporting compacting garbage collection in the presence of modern compil...
Conservative garbage collectors are designed to operate in environments that do not provide sufficie...
By compile-time type analysis of a program written in a statically typed first-order polymorphic lan...
Typed assembly languages usually support heap allocation safely, but often rely on an external garba...
collectioninthepresenceof moderncompileroptimizations. Sinceour colleetormay move any heapobject, it...
Several papers ([Appel89],[Goldberg91]) have recently claimed that garbage collection can be perform...
In the heap model in which garbage collectors usually operate, the heap is an array of cells. Each c...
Automated memory management techniques, or garbage collection, reduces the complexity and problems...
We develop a series of calculi that are just low-level enough that we can express allocation and gar...
Generational techniques have been very successful in reducing the impact of garbage collection algor...
Existing techniques for garbage collection and machine code optimizations can interfere with each ot...
Garbage collection algorithms rely on invariants to permit the identification of pointers and to cor...
As real-time systems become more complex, the need for more sophisticated runtime kernel features ar...
Efficient low-level systems such as garbage collectors need more control over memory than safe high-...
Garbage collectors perform two functions: live-object detection and dead-object reclamation. In thi...
We consider the problem of supporting compacting garbage collection in the presence of modern compil...
Conservative garbage collectors are designed to operate in environments that do not provide sufficie...
By compile-time type analysis of a program written in a statically typed first-order polymorphic lan...
Typed assembly languages usually support heap allocation safely, but often rely on an external garba...
collectioninthepresenceof moderncompileroptimizations. Sinceour colleetormay move any heapobject, it...
Several papers ([Appel89],[Goldberg91]) have recently claimed that garbage collection can be perform...
In the heap model in which garbage collectors usually operate, the heap is an array of cells. Each c...
Automated memory management techniques, or garbage collection, reduces the complexity and problems...
We develop a series of calculi that are just low-level enough that we can express allocation and gar...
Generational techniques have been very successful in reducing the impact of garbage collection algor...
Existing techniques for garbage collection and machine code optimizations can interfere with each ot...
Garbage collection algorithms rely on invariants to permit the identification of pointers and to cor...
As real-time systems become more complex, the need for more sophisticated runtime kernel features ar...