{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,8,7]],"date-time":"2024-08-07T23:36:40Z","timestamp":1723073800981},"reference-count":52,"publisher":"Association for Computing Machinery (ACM)","issue":"1","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[2006,1]]},"abstract":"Reference-counting is traditionally considered unsuitable for multiprocessor systems. According to conventional wisdom, the update of reference slots and reference-counts requires atomic or synchronized operations. In this work we demonstrate this is not the case by presenting a novel reference-counting algorithm suitable for a multiprocessor system that does not require any synchronized operation in its write barrier (not even a compare-and-swap type of synchronization). A second novelty of this algorithm is that it allows eliminating a large fraction of the reference-count updates, thus, drastically reducing the reference-counting traditional overhead. This article includes a full proof of the algorithm showing that it is safe (does not reclaim live objects) and live (eventually reclaims all unreachable objects).We have implemented our algorithm on Sun Microsystems' Java Virtual Machine (JVM) 1.2.2 and ran it on a four-way IBM Netfinity 8500R server with 550-MHz Intel Pentium III Xeon and 2 GB of physical memory. Our results show that the algorithm has an extremely low latency and throughput that is comparable to the stop-the-world mark and sweep algorithm used in the original JVM.<\/jats:p>","DOI":"10.1145\/1111596.1111597","type":"journal-article","created":{"date-parts":[[2006,2,6]],"date-time":"2006-02-06T15:07:09Z","timestamp":1139238429000},"page":"1-69","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":48,"title":["An on-the-fly reference-counting garbage collector for java"],"prefix":"10.1145","volume":"28","author":[{"given":"Yossi","family":"Levanoni","sequence":"first","affiliation":[{"name":"Microsoft Corporation, Redmond, WA"}]},{"given":"Erez","family":"Petrank","sequence":"additional","affiliation":[{"name":"Technion---Israel Institute of Technology, Haifa, Israel"}]}],"member":"320","published-online":{"date-parts":[[2006,1]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Aho A. V. Kernighan B. W. and Weinberger P. J. 1988. The AWK Programming Language. Addison-Wesley Reading MA. Aho A. V. Kernighan B. W. and Weinberger P. J. 1988. The AWK Programming Language. Addison-Wesley Reading MA."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/960116.53992"},{"key":"e_1_2_1_3_1","doi-asserted-by":"crossref","unstructured":"Azatchi H. Levanoni Y. Paz H. and Petrank E. 2003. An on-the-fly mark and sweep garbage collector based on sliding views. See OOPSLA {2003} 269--281. 10.1145\/949305.949329 Azatchi H. Levanoni Y. Paz H. and Petrank E. 2003. An on-the-fly mark and sweep garbage collector based on sliding views. See OOPSLA {2003} 269--281. 10.1145\/949305.949329","DOI":"10.1145\/949343.949329"},{"key":"e_1_2_1_4_1","volume-title":"International Conference on Compiler Construction (CC'2003)","volume":"2622","author":"Azatchi H.","unstructured":"Azatchi , H. and Petrank , E . 2003. Integrating generations with advanced reference counting garbage collectors . In International Conference on Compiler Construction (CC'2003) . Lecture Notes in Computer Science , vol. 2622 . Springer, Berlin, Germany, 185--199. Azatchi, H. and Petrank, E. 2003. Integrating generations with advanced reference counting garbage collectors. In International Conference on Compiler Construction (CC'2003). Lecture Notes in Computer Science, vol. 2622. Springer, Berlin, Germany, 185--199."},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the SIGPLAN 2001 Conference on Programming Languages Design and Implementation. ACM Press","author":"Bacon D.","unstructured":"Bacon , D. , Attanasio , D. , Lee , H. , and Smith , S . 2001. Java without the coffee breaks: A nonintrusive multiprocessor garbage collector . In Proceedings of the SIGPLAN 2001 Conference on Programming Languages Design and Implementation. ACM Press , New York, NY, 92--103. 10.1145\/378795.378819 Bacon, D., Attanasio, D., Lee, H., and Smith, S. 2001. Java without the coffee breaks: A nonintrusive multiprocessor garbage collector. In Proceedings of the SIGPLAN 2001 Conference on Programming Languages Design and Implementation. ACM Press, New York, NY, 92--103. 10.1145\/378795.378819"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of 15th European Conference on Object-Oriented Programming (ECOOP","author":"Bacon D.","year":"2001","unstructured":"Bacon , D. and Rajan , V . 2001. Concurrent cycle collection in reference counted systems . In Proceedings of 15th European Conference on Object-Oriented Programming (ECOOP 2001 , Budapest, Hungary). Bacon, D. and Rajan, V. 2001. Concurrent cycle collection in reference counted systems. In Proceedings of 15th European Conference on Object-Oriented Programming (ECOOP 2001, Budapest, Hungary)."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/359460.359470"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/185009.185016"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/359636.359713"},{"key":"e_1_2_1_10_1","doi-asserted-by":"crossref","unstructured":"Blackburn S. and McKinley K. 2003. Ulterior reference counting: Fast garbage collection without a long wait. See OOPSLA {2003} 344--358. 10.1145\/949305.949336 Blackburn S. and McKinley K. 2003. Ulterior reference counting: Fast garbage collection without a long wait. See OOPSLA {2003} 344--358. 10.1145\/949305.949336","DOI":"10.1145\/949343.949336"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/113446.113459"},{"key":"e_1_2_1_12_1","volume-title":"4th International Conference on Logic Programming. MIT Press","author":"Chikayama T.","unstructured":"Chikayama , T. and Kimura , Y . 1987. Multiple reference management in Flat GHC . In 4th International Conference on Logic Programming. MIT Press , Cambridge, MA, 276--293. Chikayama, T. and Kimura, Y. 1987. Multiple reference management in Flat GHC. In 4th International Conference on Logic Programming. MIT Press, Cambridge, MA, 276--293."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/367487.367501"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01407816"},{"key":"e_1_2_1_15_1","volume-title":"Experience with concurrent garbage collectors for Modula-2+. Tech. rep. 64","author":"DeTreville J.","unstructured":"DeTreville , J. 1990. Experience with concurrent garbage collectors for Modula-2+. Tech. rep. 64 . DEC Systems Research Center , Palo Alto, CA . DeTreville, J. 1990. Experience with concurrent garbage collectors for Modula-2+. Tech. rep. 64. DEC Systems Research Center, Palo Alto, CA."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/360336.360345"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/359642.359655"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press","author":"Doligez D.","unstructured":"Doligez , D. and Gonthier , G . 1994. Portable, unobtrusive garbage collection for multiprocessor systems . In Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press , New York, NY, 70--83. 10.1145\/174675.174673 Doligez, D. and Gonthier, G. 1994. Portable, unobtrusive garbage collection for multiprocessor systems. In Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press, New York, NY, 70--83. 10.1145\/174675.174673"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press","author":"Doligez D.","unstructured":"Doligez , D. and Leroy , X . 1993. A concurrent generational garbage collector for a multi-threaded implementation of ML . In Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press , New York, NY, 113--123. 10.1145\/158511.158611 Doligez, D. and Leroy, X. 1993. A concurrent generational garbage collector for a multi-threaded implementation of ML. In Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press, New York, NY, 113--123. 10.1145\/158511.158611"},{"key":"e_1_2_1_20_1","doi-asserted-by":"crossref","unstructured":"Domani T. Kolodner E. K. Lewis E. Salant E. E. Barabash K. Lahan I. Petrank E. Yanover I. and Levanoni Y. 2000. Implementing an on-the-fly garbage collector for Java. See Hosking {2000} 155--166. 10.1145\/362422.362484 Domani T. Kolodner E. K. Lewis E. Salant E. E. Barabash K. Lahan I. Petrank E. Yanover I. and Levanoni Y. 2000. Implementing an on-the-fly garbage collector for Java. See Hosking {2000} 155--166. 10.1145\/362422.362484","DOI":"10.1145\/362426.362484"},{"key":"e_1_2_1_21_1","volume-title":"Proceedings of the Conference on High Performance Networking and Computing (SC'97)","author":"Endo T.","unstructured":"Endo , T. , Taura , K. , and Yonezawa , A . 1997. A scalable mark-sweep garbage collector on large-scale shared-memory machines . In Proceedings of the Conference on High Performance Networking and Computing (SC'97) . ACM Press, New York, NY, 1--14. 10.1145\/509593.509641 Endo, T., Taura, K., and Yonezawa, A. 1997. A scalable mark-sweep garbage collector on large-scale shared-memory machines. In Proceedings of the Conference on High Performance Networking and Computing (SC'97). ACM Press, New York, NY, 1--14. 10.1145\/509593.509641"},{"key":"e_1_2_1_22_1","volume-title":"USENIX Java Virtual Machine Research and Technology Symposium (JVM '01","author":"Flood C.","unstructured":"Flood , C. , Detlefs , D. , Shavit , N. , and Zhang , C . 2001. Parallel garbage collection for shared memory multiprocessors . In USENIX Java Virtual Machine Research and Technology Symposium (JVM '01 , Monterey, CA). USENIX, Berkeley, CA. Flood, C., Detlefs, D., Shavit, N., and Zhang, C. 2001. Parallel garbage collection for shared memory multiprocessors. In USENIX Java Virtual Machine Research and Technology Symposium (JVM '01, Monterey, CA). USENIX, Berkeley, CA."},{"key":"e_1_2_1_23_1","volume-title":"OOPSLA\/ECOOP '91 Workshop on Garbage Collection in Object-Oriented Systems, Addendum to OOPSLA'91 Proceedings, P. R. Wilson and B. Hayes, Eds. ACM Press","author":"Furusou S.","unstructured":"Furusou , S. , Matsuoka , S. , and Yonezawa , A . 1991. Parallel conservative garbage collection with fast allocation . In OOPSLA\/ECOOP '91 Workshop on Garbage Collection in Object-Oriented Systems, Addendum to OOPSLA'91 Proceedings, P. R. Wilson and B. Hayes, Eds. ACM Press , New York, NY. 10.1145\/143773.143792 Furusou, S., Matsuoka, S., and Yonezawa, A. 1991. Parallel conservative garbage collection with fast allocation. In OOPSLA\/ECOOP '91 Workshop on Garbage Collection in Object-Oriented Systems, Addendum to OOPSLA'91 Proceedings, P. R. Wilson and B. Hayes, Eds. ACM Press, New York, NY. 10.1145\/143773.143792"},{"key":"e_1_2_1_24_1","unstructured":"Goldberg A. and Robson D. 1983. Smalltalk-80: The Language and Its Implementation. Addison-Wesley Reading MA. Goldberg A. and Robson D. 1983. Smalltalk-80: The Language and Its Implementation. Addison-Wesley Reading MA."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/4472.4478"},{"key":"e_1_2_1_26_1","unstructured":"Herlihy M. and Moss J. E. B. 1990. Non-blocking garbage collection for multiprocessors. Tech. rep. CRL 90\/9. DEC Cambridge Research Laboratory Cambridge MA. Herlihy M. and Moss J. E. B. 1990. Non-blocking garbage collection for multiprocessors. Tech. rep. CRL 90\/9. DEC Cambridge Research Laboratory Cambridge MA."},{"key":"e_1_2_1_27_1","volume-title":"Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications, A. Paepcke, Ed. ACM Press","author":"Hosking A. L.","year":"1936","unstructured":"Hosking , A. L. , Moss , J. E. B. , and Stefanovi\u0107 , D . 1992. A comparative performance evaluation of write barrier implementations . In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications, A. Paepcke, Ed. ACM Press , New York, NY, 92--109. 10.1145\/14 1936 .141946 Hosking, A. L., Moss, J. E. B., and Stefanovi\u0107, D. 1992. A comparative performance evaluation of write barrier implementations. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications, A. Paepcke, Ed. ACM Press, New York, NY, 92--109. 10.1145\/141936.141946"},{"key":"e_1_2_1_28_1","volume-title":"ISMM 2000 Proceedings of the Second International Symposium on Memory Management. ACM Press","author":"Hosking T., Ed.","year":"2000","unstructured":"Hosking , T., Ed. 2000 . ISMM 2000 Proceedings of the Second International Symposium on Memory Management. ACM Press , New York, NY. Hosking, T., Ed. 2000. ISMM 2000 Proceedings of the Second International Symposium on Memory Management. ACM Press, New York, NY."},{"key":"e_1_2_1_29_1","first-page":"3","article-title":"Copying garbage collection without stopping the world","volume":"15","author":"Hudson R. L.","year":"2003","unstructured":"Hudson , R. L. and Moss , J. E. B. 2003 . Copying garbage collection without stopping the world . Concurr. Computat.: Pract. Exp. 15 , 3 -- 5 , 223--261. Hudson, R. L. and Moss, J. E. B. 2003. Copying garbage collection without stopping the world. Concurr. Computat.: Pract. Exp. 15, 3--5, 223--261.","journal-title":"Concurr. Computat.: Pract. Exp."},{"key":"e_1_2_1_30_1","volume-title":"Garbage Collection: Algorithms for Automatic Dynamic Memory Management","author":"Jones R. E.","year":"1996","unstructured":"Jones , R. E. and Lins , R . 1996 . Garbage Collection: Algorithms for Automatic Dynamic Memory Management . Wiley , Chichester, U.K. Jones, R. E. and Lins, R. 1996. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, Chichester, U.K."},{"key":"e_1_2_1_31_1","first-page":"2","article-title":"Parallel copying garbage collection using delayed allocation","volume":"14","author":"Kolodner E. K.","year":"2004","unstructured":"Kolodner , E. K. and Petrank , E. 2004 . Parallel copying garbage collection using delayed allocation . Parall. Process. Lett. 14 , 2 . To appear. Kolodner, E. K. and Petrank, E. 2004. Parallel copying garbage collection using delayed allocation. Parall. Process. Lett. 14, 2. To appear.","journal-title":"Parall. Process. Lett."},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the 16th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications. ACM Press","author":"Levanoni Y.","unstructured":"Levanoni , Y. and Petrank , E . 2001. An on-the-fly reference counting garbage collector for Java . In Proceedings of the 16th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications. ACM Press , New York, NY, 367--380. 10.1145\/504282.504309 Levanoni, Y. and Petrank, E. 2001. An on-the-fly reference counting garbage collector for Java. In Proceedings of the 16th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications. ACM Press, New York, NY, 367--380. 10.1145\/504282.504309"},{"key":"e_1_2_1_33_1","unstructured":"Lins R. D. and Vasques M. A. 1991. A comparative study of algorithms for cyclic reference counting. Tech. rep. 92. Computing Laboratory The University of Kent at Canterbury. Canterbury U.K. Lins R. D. and Vasques M. A. 1991. A comparative study of algorithms for cyclic reference counting. Tech. rep. 92. Computing Laboratory The University of Kent at Canterbury. Canterbury U.K."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/367593.367649"},{"key":"e_1_2_1_35_1","volume-title":"US\/Japan Workshop on Parallel Lisp. Lecture Notes in Computer Science","volume":"441","author":"Miller J. S.","unstructured":"Miller , J. S. and Epstein , B . 1990. Garbage collection in MultiScheme . In US\/Japan Workshop on Parallel Lisp. Lecture Notes in Computer Science , vol. 441 . Springer, Berlin, Germany, 138--160. Miller, J. S. and Epstein, B. 1990. Garbage collection in MultiScheme. In US\/Japan Workshop on Parallel Lisp. Lecture Notes in Computer Science, vol. 441. Springer, Berlin, Germany, 138--160."},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. ACM Press","author":"OOPSLA.","year":"2003","unstructured":"OOPSLA. 2003 . Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. ACM Press , New York, NY. OOPSLA. 2003. Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. ACM Press, New York, NY."},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the ACM SIGPLAN 2002 Conference on Programming Languages Design and Implementation. ACM Press","author":"Ossia Y.","unstructured":"Ossia , Y. , Ben-Yitzhak , O. , Goft , I. , Kolodner , E. K. , Leikehman , V. , and Owshanko , A . 2002. A parallel, incremental and concurrent GC for servers . In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Languages Design and Implementation. ACM Press , New York, NY, 129--140. 10.1145\/512529.512546 Ossia, Y., Ben-Yitzhak, O., Goft, I., Kolodner, E. K., Leikehman, V., and Owshanko, A. 2002. A parallel, incremental and concurrent GC for servers. In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Languages Design and Implementation. ACM Press, New York, NY, 129--140. 10.1145\/512529.512546"},{"key":"e_1_2_1_38_1","volume-title":"Proceedings of the 1994 ACM Conference on LISP and Functional Programming. ACM Press","author":"O'Toole J. W.","year":"1824","unstructured":"O'Toole , J. W. and Nettles , S. M . 1994. Concurrent replicating garbage collection . In Proceedings of the 1994 ACM Conference on LISP and Functional Programming. ACM Press , New York, NY, 34--42. 10.1145\/ 1824 09.182425 O'Toole, J. W. and Nettles, S. M. 1994. Concurrent replicating garbage collection. In Proceedings of the 1994 ACM Conference on LISP and Functional Programming. ACM Press, New York, NY, 34--42. 10.1145\/182409.182425"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(95)00096-U"},{"key":"e_1_2_1_40_1","doi-asserted-by":"crossref","unstructured":"Plakal M. and Fischer C. N. 2000. Concurrent garbage collection using program slices on multithreaded processors. See Hosking {2000} 94--100. 10.1145\/362422.362468 Plakal M. and Fischer C. N. 2000. Concurrent garbage collection using program slices on multithreaded processors. See Hosking {2000} 94--100. 10.1145\/362422.362468","DOI":"10.1145\/362426.362468"},{"key":"e_1_2_1_41_1","doi-asserted-by":"crossref","unstructured":"Printezis T. and Detlefs D. 2000. A generational mostly-concurrent garbage collector. See Hosking {2000} 143--154. 10.1145\/362422.362480 Printezis T. and Detlefs D. 2000. A generational mostly-concurrent garbage collector. See Hosking {2000} 143--154. 10.1145\/362422.362480","DOI":"10.1145\/362426.362480"},{"key":"e_1_2_1_42_1","volume-title":"Proceedings of the 3rd Israeli Symposium on the Theory of Computing and Systems. IEEE Press","author":"Riany Y.","unstructured":"Riany , Y. , Shavit , N. , and Touitou , D . 1995. Towards a practical snapshot algorithm . In Proceedings of the 3rd Israeli Symposium on the Theory of Computing and Systems. IEEE Press , Los Alamitos, CA, 58--173. Riany, Y., Shavit, N., and Touitou, D. 1995. Towards a practical snapshot algorithm. In Proceedings of the 3rd Israeli Symposium on the Theory of Computing and Systems. IEEE Press, Los Alamitos, CA, 58--173."},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the First International Symposium on Memory Management, R. Jones, Ed. ACM SIGPLAN Not. 34","author":"Roth D. J.","unstructured":"Roth , D. J. and Wise , D. S . 1999. One-bit counts between unique and sticky . In Proceedings of the First International Symposium on Memory Management, R. Jones, Ed. ACM SIGPLAN Not. 34 , 3 (Mar.), 49--56. 10.1145\/301589.286866 Roth, D. J. and Wise, D. S. 1999. One-bit counts between unique and sticky. In Proceedings of the First International Symposium on Memory Management, R. Jones, Ed. ACM SIGPLAN Not. 34, 3 (Mar.), 49--56. 10.1145\/301589.286866"},{"key":"e_1_2_1_44_1","volume-title":"A lifetime-based garbage collector for Lisp systems on general-purpose computers. Tech. rep. AITR-1417. MIT AI Lab","author":"Sobalvarro P.","unstructured":"Sobalvarro , P. 1988. A lifetime-based garbage collector for Lisp systems on general-purpose computers. Tech. rep. AITR-1417. MIT AI Lab , Cambridge, MA . Also, Bachelor of Science thesis, Massachusetts Institute of Technology , Cambridge, MA. Sobalvarro, P. 1988. A lifetime-based garbage collector for Lisp systems on general-purpose computers. Tech. rep. AITR-1417. MIT AI Lab, Cambridge, MA. Also, Bachelor of Science thesis, Massachusetts Institute of Technology, Cambridge, MA."},{"key":"e_1_2_1_45_1","unstructured":"SPEC Benchmarks. 2000. Standard Performance Evaluation Corporation. Available online at http:\/\/www.spec.org\/. SPEC Benchmarks. 2000. Standard Performance Evaluation Corporation. Available online at http:\/\/www.spec.org\/."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/361002.361005"},{"key":"e_1_2_1_47_1","volume-title":"Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming, G. L. Steele, Ed. ACM Press","author":"Stoye W. R.","year":"2032","unstructured":"Stoye , W. R. , Clarke , T. J. W. , and Norman , A. C . 1984. Some practical methods for rapid combinator reduction . In Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming, G. L. Steele, Ed. ACM Press , New York, NY, 159--166. 10.1145\/800055.80 2032 Stoye, W. R., Clarke, T. J. W., and Norman, A. C. 1984. Some practical methods for rapid combinator reduction. In Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming, G. L. Steele, Ed. ACM Press, New York, NY, 159--166. 10.1145\/800055.802032"},{"key":"e_1_2_1_48_1","unstructured":"Wall L. and Schwartz R. L. 1991. Programming Perl. O'Reilly and Associates Inc Sebastopol CA. Wall L. and Schwartz R. L. 1991. Programming Perl. O'Reilly and Associates Inc Sebastopol CA."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/367593.367617"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(93)90103-G"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(90)90084-Y"},{"key":"e_1_2_1_52_1","volume-title":"Barrier methods for garbage collection. Tech. rep. CU-CS-494-90","author":"Zorn B.","unstructured":"Zorn , B. 1990. Barrier methods for garbage collection. Tech. rep. CU-CS-494-90 . University of Colorado , Boulder, CO . Zorn, B. 1990. Barrier methods for garbage collection. Tech. rep. CU-CS-494-90. University of Colorado, Boulder, CO."}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1111596.1111597","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,5,6]],"date-time":"2023-05-06T11:25:39Z","timestamp":1683372339000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1111596.1111597"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006,1]]},"references-count":52,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2006,1]]}},"alternative-id":["10.1145\/1111596.1111597"],"URL":"https:\/\/doi.org\/10.1145\/1111596.1111597","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"value":"0164-0925","type":"print"},{"value":"1558-4593","type":"electronic"}],"subject":[],"published":{"date-parts":[[2006,1]]},"assertion":[{"value":"2006-01-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}