Content deleted Content added
Undid revision 1142389109 by 49.248.216.238 (talk) |
Patar knight (talk | contribs) Adding short description: "Computer software algorithm" |
||
(7 intermediate revisions by 5 users not shown) | |||
Line 1:
{{Short description|Computer software algorithm}}
{{Use dmy dates|date=September 2021}}
{{more footnotes|date=April 2014}}
'''Cheney's algorithm''', first described in a 1970 [[Association for Computing Machinery|ACM]] paper by C.J. Cheney, is a [[stop and copy]] method of [[tracing garbage collection]] in computer software systems. In this scheme, the [[Memory management#Manual memory management|heap]] is divided into two equal halves, only one of which is in use at any one time. Garbage collection is performed by copying live objects from one semispace (the from-space) to the other (the to-space), which then becomes the new heap. The entire old heap is then discarded in one piece. It is an improvement on the previous stop
Cheney's algorithm reclaims items as follows:
Line 15 ⟶ 16:
The forwarding pointer (sometimes called a "broken heart") is used only during the garbage collection process; when a reference to an object already in to-space (thus having a forwarding pointer in from-space) is found, the reference can be updated quickly simply by updating its pointer to match the forwarding pointer.
Because the strategy is to exhaust all live references, and then all references in referenced objects, this is known as a ''[[breadth-first]]'' list copying garbage collection scheme.
== Semispace ==
Line 91 ⟶ 38:
|doi=10.1145/362790.362798
|s2cid=36538112
|doi-access=free
}}
* {{cite journal
Line 100 ⟶ 48:
|doi=10.1145/363269.363280
|s2cid=36616954
|doi-access=free
}}
* {{cite journal
|