MappedTrace: Tracing Pointer Remotely with Compiler-generated Maps
This addresses performance issues in pointer tracing for memory management, though it appears incremental as it builds on compiler-assisted methods.
The paper tackles the problem of high runtime overhead in precise pointer tracing by proposing MappedTrace, which uses compiler-generated maps to identify pointers in program snapshots without bookkeeping or safe-point polling, reducing overhead and enabling applications like memory leak detection.
Existing precise pointer tracing methods introduce substantial runtime overhead to the program being traced and are applicable only at specific program execution points. We propose MappedTrace that leverages compiler-generated read-only maps to accurately identify all pointers in any given snapshot of a program's execution state. The maps record the locations and types of pointers, allowing the tracer to precisely identify pointers without requiring the traced program to maintain bookkeeping data structures or poll at safe points, thereby reducing runtime overhead. By running the tracer from a different address space or machine, MappedTrace presents new opportunities to improve memory management techniques like memory leak detection and enables novel use cases such as infinite memory abstraction for resource-constrained environments.