The virtual address space can contain of a complex set of mappings. Compaction also allows the use of more efficient allocation mechanisms , by making large free blocks available. Lisp II Garbage Collector . Recursive Functions of Symbolic Expressions and Their Computation by Machine . It follows all references from a set of roots to mark all the reachable objects .
Marking follows reference chains and makes some sort of mark for each object it reaches.
Marking is often achieved by setting a bit in the object, though any conservative representation of a predicate on the location of the object can be used. In particular, storing the mark bit within the object can lead to poor locality of reference . Caching is a heuristic that stores answers to questions asked in the past in a cache or a table , in order that they may be more quickly answered in the future. These terms are also used for the capacity of a system to store data, and may be applied to the sum total of all the storage devices attached to a computer. The cache is automatically used by the processor for fast access to any data currently resident there.