Automated memory management is generally non-deterministic. Attempts to improve its performance require testing and simulation of basic memory management (MM) operations. Simulation of automated memory management usually involves running a virtual machine (VM) with benchmark applications. However, this process requires significant run-time. Moreover, there are few benchmarks available for programmers to test and validate their systems against. In this work, we record basic memory management operations of benchmark applications into trace files. These trace files can be used platform independently to evaluate systems off-line. Empirical results show that recording traces of memory management operations of applications into files requires large amounts of physical space. To aid developers, we also design and implement a trace synthesizer that creates basic memory operations dynamically for given specifications. The significance of trace files is shown experimentally by simulating and evaluating GC policies.
展开▼