{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:51:29Z","timestamp":1750308689362,"version":"3.41.0"},"reference-count":8,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2019,2,1]],"date-time":"2019-02-01T00:00:00Z","timestamp":1548979200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Queue"],"published-print":{"date-parts":[[2019,2]]},"abstract":"<jats:p>Cross-component tracing is a way to solve the problem of reference cycles across component boundaries. This problem appears as soon as components can form arbitrary object graphs with nontrivial ownership across API boundaries. An incremental version of CCT is implemented in V8 and Blink, enabling effective and efficient reclamation of memory in a safe manner.<\/jats:p>","DOI":"10.1145\/3317287.3325132","type":"journal-article","created":{"date-parts":[[2020,9,3]],"date-time":"2020-09-03T04:23:40Z","timestamp":1599107020000},"page":"98-115","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Garbage Collection as a Joint Venture"],"prefix":"10.1145","volume":"17","author":[{"given":"Ulan","family":"Degenbaev","sequence":"first","affiliation":[{"name":"Google Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Michael","family":"Lippautz","sequence":"additional","affiliation":[{"name":"Google Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hannes","family":"Payer","sequence":"additional","affiliation":[{"name":"Google Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,2]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.5555\/646158.680003"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/74877.74884"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276521"},{"key":"e_1_2_1_4_1","unstructured":"Degenbaev U. Filippov A. Lippautz M. Payer H. 2018. Tracing from JS to the DOM and back again. V8; https:\/\/v8.dev\/blog\/tracing-js-dom.  Degenbaev U. Filippov A. Lippautz M. Payer H. 2018. Tracing from JS to the DOM and back again. V8; https:\/\/v8.dev\/blog\/tracing-js-dom."},{"key":"e_1_2_1_5_1","unstructured":"Degenbaev U. Lippautz M. Payer H. 2018. Concurrent marking in V8. V8; https:\/\/v8.dev\/blog\/concurrent-marking.  Degenbaev U. Lippautz M. Payer H. 2018. Concurrent marking in V8. V8; https:\/\/v8.dev\/blog\/concurrent-marking."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/359642.359655"},{"key":"e_1_2_1_7_1","unstructured":"Hablich M. Payer H. 2018. Lessons learned from the memory roadshow; https:\/\/bit.ly\/2018-memory-roadshow.  Hablich M. Payer H. 2018. Lessons learned from the memory roadshow; https:\/\/bit.ly\/2018-memory-roadshow."},{"key":"e_1_2_1_8_1","doi-asserted-by":"crossref","unstructured":"Jones R. Hosking A. Moss E. 2012. The Garbage Collection Handbook: The Art of Automatic Memory Management. Chapman & Hall.   Jones R. Hosking A. Moss E. 2012. The Garbage Collection Handbook: The Art of Automatic Memory Management. Chapman & Hall.","DOI":"10.1201\/9781315388021"}],"container-title":["Queue"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3317287.3325132","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3317287.3325132","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T20:01:17Z","timestamp":1750276877000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3317287.3325132"}},"subtitle":["A collaborative approach to reclaiming memory in heterogeneous software systems"],"short-title":[],"issued":{"date-parts":[[2019,2]]},"references-count":8,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2019,2]]}},"alternative-id":["10.1145\/3317287.3325132"],"URL":"https:\/\/doi.org\/10.1145\/3317287.3325132","relation":{},"ISSN":["1542-7730","1542-7749"],"issn-type":[{"type":"print","value":"1542-7730"},{"type":"electronic","value":"1542-7749"}],"subject":[],"published":{"date-parts":[[2019,2]]},"assertion":[{"value":"2019-02-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}