Expand description

Types and parsers for memthol’s dump structures.

These types are used by memthol’s client when loading up memthol diffs.

Generally speaking, all the types in this crate are parsed, not created from scratch. There is no Uid factory for instance, since we will not have to generate fresh Uids. We will only parse them, the fact that they’re unique must be guaranteed by whoever generated them.

The entry point in terms of parsing is Diff, since (currently) the only way the client can build the other types is when parsing a Diff.

Dealing With Time

There are two types to handle time: Date and SinceStart. The former encodes an absolute date, while the latter is a only a duration. Memthol’s init file specifies the Date at which the program we’re profiling started. After that, all the allocation data relies on SinceStart to refer to point in times relative to the start date.

Modules

Errors, handled by error_chain.

Provides a generic factory-like type to share labels and locations across allocations.

Allocation data parsers.

Crate’s prelude.

Macros

Exits a function early with an error

Imports this crate’s prelude.

Structs

Some allocation information.

A big unsigned integer type.

An allocation builder.

A counted location.

A diff.

Data from a memthol init file.

A location.

Enums

A kind of allocation.

Type Definitions

A byte-span.