Skip to main content
Log in

The one-bit reference count

  • Published:
BIT Numerical Mathematics Aims and scope Submit manuscript

Abstract

Deutsch and Bobrow propose a storage reclamation scheme for a heap which is a hybrid of garbage collection and reference counting. The point of the hybrid scheme is to keep track of very low reference counts between necessary invocation of garbage collection so that nodes which are allocated and rather quickly abandoned can be returned to available space, delaying necessity for garbage collection. We show how such a scheme may be implemented using the mark bit already required in every node by the garbage collector. Between garbage collections that bit is used to distinguish nodes with a reference count known to be one. A significant feature of our scheme is a small cache of references to nodes whose implemented counts “ought to be higher” which prevents the loss of logical count information in simple manipulations of uniquely referenced structures.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. J. M. Barth,Shifting garbage collection overhead to compile time, Comm. ACM. 20, 7 (July, 1977), 513–518.

    Article  Google Scholar 

  2. D. W. Clark and C. C. Green,An empirical study of list structure in LISP, Comm. ACM. 20, 2 (February, 1977), 78–87.

    Article  Google Scholar 

  3. G. E. Collins,A method for overlapping and erasure of lists, Comm. ACM. 3, 12 (December, 1960), 655–657.

    Article  Google Scholar 

  4. L. P. Deutsch and D. G. Bobrow,An efficient, incremental, automatic garbage collector, Comm. ACM. 19, 9 (September, 1976), 522–526.

    Article  Google Scholar 

  5. D. P. Friedman and D. S. Wise,CONS should not evaluate its arguments, In S. Michaelson and R. MilnerAutomata Languages and Programming, Edinburgh University Press, Edinburgh (1976), 257–284.

    Google Scholar 

  6. D. P. Friedman and D. S. Wise,Output driven interpretation of recursive programs, or writing creates and destroys data structures, Information Processing Lett. 5, 6 (December, 1976), 155–160.

    Article  Google Scholar 

  7. C. A. R. Hoare,Towards a theory of parallel processing, In C. A. R. Hoare and R. H. Perrott (eds.),Operating System Techniques, Academic Press, London (1972), 61–71.

    Google Scholar 

  8. D. E. Knuth,Fundamental Algorithms, Addison-Wesley, Reading, MA (1975).

    Google Scholar 

  9. E. S. Lowry and C. W. Medlock,Object code optimization, Comm. ACM. 12, 1 (January, 1969), 13–22.

    Article  Google Scholar 

  10. J. McCarthy, P. W. Abrahams, D. J. Edwards, T. P. Hart and M. I. Levin,LISP 1.5Programmer's Manual, MIT Press, Cambridge, MA (1962).

    Google Scholar 

  11. H. Schorr and W. M. Waite,An efficient machine-independent procedure for garbage collection in various list structures, Comm. ACM. 10, 8 (August, 1967), 501–506.

    Article  Google Scholar 

  12. M. Wand and D. P. Friedman,Compiling lambda expressions using continuations, Technical Report 55, Computer Science Department, Indiana University (1976).

  13. J. Weizenbaum,Symmetric list processor, Comm. ACM. 6, 9 (September, 1963), 524–544.

    Article  Google Scholar 

  14. N. Wirth,The programming language PASCAL, Acta Informatica 1, 1 (1971), 35–63.

    Article  Google Scholar 

  15. W. Wulf and M. Shaw,Global variables considered harmful, ACM SIGPLAN Notices 8, 2 (February, 1973), 28–34.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Research reported herein was supported in part by the National Science Foundation under grants numbered MCS 75-08145 and DCR 75-06678.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wise, D.S., Friedman, D.P. The one-bit reference count. BIT 17, 351–359 (1977). https://doi.org/10.1007/BF01932156

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01932156

Key word and phrases

CR categories

Navigation