Meshilon: A Merging-based Java Garbage Collector
Modern Garbage Collectors (GCs) compact memory by moving objects. This design requires updating all references pointing to relocated objects to avoid dangling pointers and application crashes. Having to constantly update references introduces additional complexity and can reduce the performance of GCs. This paper presents Meshilon, a non-moving GC for Java that compacts memory by leveraging virtual-to-physical page mapping to maintain the address of all live objects. To the application, its objects are never moved, while memory is freed back to the OS. Meshilon minimizes internal fragmentation by reusing free space that cannot be returned to the OS. Meshilon achieves mixed results, being able to reduce memory usage temporarily, but often increasing average memory usage. The paper also analyzes Meshilon's shortcomings and proposes potential improvements for future work.
Institutions
- University of Belgrade (RS)
- Texas A&M University (US)
Publication Details
- Published
- 2025-10-09
- DOI
- https://doi.org/10.1145/3725783.3764397
- Primary Topic
- Advanced Data Storage Technologies
- Type
- article
- Field-Weighted Citation Impact
- 0.00