Struct profiler_get_symbols::CompactSymbolTable[][src]

pub struct CompactSymbolTable {
    pub addr: Vec<u32>,
    pub index: Vec<u32>,
    pub buffer: Vec<u8>,
}
Expand description

A “compact” representation of a symbol table. This is a legacy concept used by the Firefox profiler and kept for compatibility purposes. It’s called SymbolTableAsTuple in the profiler code.

The string for the address addrs[i] is std::str::from_utf8(buffer[index[i] as usize .. index[i + 1] as usize])

Fields

addr: Vec<u32>

A sorted array of symbol addresses, as library-relative offsets in bytes, in ascending order.

index: Vec<u32>

Contains positions into buffer. For every address addr[i], index[i] is the position where the string for that address starts in the buffer. Also contains one extra index at the end which is buffer.len(). index.len() == addr.len() + 1

buffer: Vec<u8>

A buffer of bytes that contains all strings from this symbol table, in the order of the addresses they correspond to, in utf-8 encoded form, all concatenated together.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.