Floorplan: Spatial Layout in Memory Management Systems
Karl Cronburg, Samuel Z. Guyer

TL;DR
Floorplan is a declarative language that simplifies specifying memory layouts, automates address calculation generation, and enhances safety in memory management systems, demonstrated by reducing unsafe code in a garbage collector implementation.
Contribution
Introduces Floorplan, a declarative language for high-level memory layout specification, enabling automatic address calculation and improving safety in memory management.
Findings
Eliminates 55 of 63 unsafe lines in a garbage collector implementation
Enables automatic generation of address calculations from high-level constraints
Provides a safer, more expressive way to specify memory layouts
Abstract
In modern runtime systems, memory layout calculations are hand-coded in systems languages. Primitives in these languages are not powerful enough to describe a rich set of layouts, leading to reliance on ad-hoc macros, numerous interrelated static constants, and other boilerplate code. Memory management policies must also carefully orchestrate their application of address calculations in order to modify memory cooperatively, a task ill-suited to low-level systems languages at hand which lack proper safety mechanisms. In this paper we introduce Floorplan, a declarative language for specifying high level memory layouts. Constraints formerly implemented by describing how to compute locations are, in Floorplan, defined declaratively using explicit layout constructs. The challenge here was to discover constructs capable of sufficiently enabling the automatic generation of address…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
