{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T20:15:30Z","timestamp":1784232930131,"version":"3.55.0"},"publisher-location":"New York, NY, USA","reference-count":28,"publisher":"ACM","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2025,6,13]]},"DOI":"10.1145\/3735950.3735960","type":"proceedings-article","created":{"date-parts":[[2025,6,13]],"date-time":"2025-06-13T15:04:50Z","timestamp":1749827090000},"page":"109-121","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Reworking Memory Management in CRuby"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0009-0004-3492-0494","authenticated-orcid":false,"given":"Kunshan","family":"Wang","sequence":"first","affiliation":[{"name":"Australian National University, Beijing, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6632-6001","authenticated-orcid":false,"given":"Stephen M.","family":"Blackburn","sequence":"additional","affiliation":[{"name":"Google, Sydney, Australia"},{"name":"Australian National University, Canberra, Australia"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0007-4992-9119","authenticated-orcid":false,"given":"Peter","family":"Zhu","sequence":"additional","affiliation":[{"name":"Shopify, Toronto, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0007-1069-5052","authenticated-orcid":false,"given":"Matthew","family":"Valentine-House","sequence":"additional","affiliation":[{"name":"Shopify, Canterbury, United Kingdom"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,6,13]]},"reference":[{"key":"e_1_3_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/320384.320418"},{"key":"e_1_3_2_2_2_1","unstructured":"Angus Atkinson. 2023. Software Cache Prefetching for Tracing Garbage Collectors. https:\/\/www.steveblackburn.org\/pubs\/theses\/atkinson-2023.pdf"},{"key":"e_1_3_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2004.1317436"},{"key":"e_1_3_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375586"},{"key":"e_1_3_2_2_5_1","unstructured":"Jean Boussier. 2023. Call Cache for singleton methods can lead to \u201cmemory leaks\u201d. https:\/\/bugs.ruby-lang.org\/issues\/19436"},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/3486606.3486781"},{"key":"e_1_3_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3617651.3622982"},{"key":"e_1_3_2_2_8_1","unstructured":"Mike Dalessio Aaron Patterson Yoko Harada Akinori MUSHA John Shahid Karol Bucek Sam Ruby Craig Barnes Stephen Checkoway Lars Kanis Sergio Arbeo Timothy Elliott and Nobuyoshi Nakada. 2025. Nokogiri. https:\/\/github.com\/sparklemotion\/nokogiri"},{"key":"e_1_3_2_2_9_1","unstructured":"MMTk Developers. 2025. The MMTk Project. https:\/\/mmtk.io"},{"key":"e_1_3_2_2_10_1","unstructured":"Ruby Developers. 2025. The Ruby Programming Language. https:\/\/github.com\/ruby\/ruby"},{"key":"e_1_3_2_2_11_1","unstructured":"Florian Frank. 2025. JSON implementation for Ruby. https:\/\/github.com\/ruby\/json"},{"key":"e_1_3_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993478.1993484"},{"key":"e_1_3_2_2_13_1","unstructured":"Heroku. 2011. Matz joins Heroku. https:\/\/blog.heroku.com\/matz_joins_heroku"},{"key":"e_1_3_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3617651.3622986"},{"key":"e_1_3_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1988915.1988930"},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/358141.358147"},{"key":"e_1_3_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2754169.2754187"},{"key":"e_1_3_2_2_18_1","unstructured":"Aaron Patterson. 2019. Manual Compaction for MRI\u2019s GC ( GC.compact). https:\/\/bugs.ruby-lang.org\/issues\/15626"},{"key":"e_1_3_2_2_19_1","unstructured":"Android Open Source Project. 2017. Perfetto. https:\/\/perfetto.dev\/"},{"key":"e_1_3_2_2_20_1","volume-title":"The Programming Language LISP: Its Operation and Applications, Edmund C","author":"Saunders Robert A.","unstructured":"Robert A. Saunders. 1964. The LISP System for the Q-32 Computer. In The Programming Language LISP: Its Operation and Applications, Edmund C. Berkeley and Daniel G. Bobrow (Eds.). The M.I.T. Press, 220\u2013238."},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2660193.2660198"},{"key":"e_1_3_2_2_22_1","volume-title":"Epsilon: A No-Op Garbage Collector (Experimental). https:\/\/openjdk.org\/jeps\/318","author":"Shipil\u00ebv Aleksey","year":"2018","unstructured":"Aleksey Shipil\u00ebv. 2018. Epsilon: A No-Op Garbage Collector (Experimental). https:\/\/openjdk.org\/jeps\/318 Oracle Corporation, JEP 318"},{"key":"e_1_3_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/800020.808261"},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2258996.2259004"},{"key":"e_1_3_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/3519939.3523440"},{"key":"e_1_3_2_2_26_1","unstructured":"Peter Zhu. 2022. Optimizing Ruby\u2019s Memory Layout: Variable Width Allocation. https:\/\/shopify.engineering\/ruby-variable-width-allocation"},{"key":"e_1_3_2_2_27_1","unstructured":"Peter Zhu. 2023. Garbage Collection in Ruby. https:\/\/blog.peterzhu.ca\/notes-on-ruby-gc\/"},{"key":"e_1_3_2_2_28_1","unstructured":"Peter Zhu. 2023. Weak References in the GC. https:\/\/bugs.ruby-lang.org\/issues\/19783"}],"event":{"name":"ISMM '25: 2025 ACM SIGPLAN International Symposium on Memory Management","location":"Seoul Republic of Korea","acronym":"ISMM '25","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 2025 ACM SIGPLAN International Symposium on Memory Management"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3735950.3735960","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,7,16]],"date-time":"2025-07-16T07:02:20Z","timestamp":1752649340000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3735950.3735960"}},"subtitle":["A Practitioner Report"],"short-title":[],"issued":{"date-parts":[[2025,6,13]]},"references-count":28,"alternative-id":["10.1145\/3735950.3735960","10.1145\/3735950"],"URL":"https:\/\/doi.org\/10.1145\/3735950.3735960","relation":{},"subject":[],"published":{"date-parts":[[2025,6,13]]},"assertion":[{"value":"2025-06-13","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}