no need to load the entire file into a string to split out stuff
an index at the end allows for fast access into the data tables, including into the middle of references tables
more parallelism in reading data in
parsing snapshots is much faster and uses less ram in total
with a bit of future work, even heap snapshots from crashed processes can be read
on the moarvm side, the new format has the benefit of not having to interact with HLL code in order to get heap snapshots collected, which lets us write each snapshot as soon as we GC'd, and also lets us trigger heap snapshots from inside a running process (for example with gdb, or a debug server kind of deal).
this adds support to moarvm's new binary format.
benefits include:
on the moarvm side, the new format has the benefit of not having to interact with HLL code in order to get heap snapshots collected, which lets us write each snapshot as soon as we GC'd, and also lets us trigger heap snapshots from inside a running process (for example with gdb, or a debug server kind of deal).