An Efficient MachineIndependent Procedure for Garbage Collection in
An Efficient Machine-Independent Procedure for Garbage Collection in Various List Structures -Schorr & Waite Sowmiya Chocka Narayanan
Introduction Problem Statement Free listed exhausted!!! Mission Reclamation Solution proposed Newell, Simon and Shaw placed the responsibility on the user Reference Counting Keeping track of lists, sub lists, shared lists make it painful Too much of bookkeeping involved Haunting Circular lists Invoking a special procedure to mark and collect Additional storage for handling branch points or higher frequency of retracing the list Sign reversal of whole words Handling multiple word lists
One way list garbage collector Step 1: Step 2:
Handling branch Step 3: Step 4:
Comparison of Results Test Bench Storage Requirement 68 words, 2 index registers and accumulator 35 words, 2 temporary locations Highlight Lowlight Speed Can trace any WISP list structure Bigger routine 1. 85 sec Routine with any no. of branch points Could get lost Wilkes Lesser storage in a circular 2. 75 sec Routine list Parts of List Branch point 34 words, 48 No. of branch structure stored words for points less. 448 sec traversed only Routine branch points than 49 once
Symbolic garbage collector Portability is best achieved by writing the garbage collector in a higher level language Trace phase can be written in high level language With support for extra low level operations like setting an element minus, setting branch point flag, testing sign etc. The sweep phase is machine dependent
GC in variable item list Case 1 Each list element has n consecutive registers Handled similar to list with single register New Free list element occurs at every nth location in free store
GC in variable item list Case 2: Head of first register contains register count Follows same Mark phase as case 1, returns a single free list element consisting of largest discarded register block Addresses the problem with negative data word
GC for other list structures Threaded List System Split List System
Conclusion What we saw so far. . Are the experiments mentioned thorough and sufficient? What about the pause time aspect of the system?
References [1] Newell, A. Information Processing Language V Manual. Prentice-Hall, Englewood Cliffs, N. J. , 1961. [2] John Mc. Carthy, Recursive functions of symbolic expressions and their computation by machine, Part I, Communications of the ACM, v. 3 n. 4, p. 184 -195, April 1960 [3] Daniel G. Bobrow , Daniel L. Murphy, Structure of a LISP system using two-level storage, Communications of the ACM, v. 10 n. 3, p. 155 -159, March 1967 [4] M. V. Wilkes, Lists and why they are useful, Proceedings of the 1964 19 th ACM national conference, p. 61. 1 -61. 5, January 1964
- Slides: 11