pub struct JitCodeLoadRecord<'a> {
pub pid: u32,
pub tid: u32,
pub vma: u64,
pub code_addr: u64,
pub code_index: u64,
pub function_name: RawData<'a>,
pub code_bytes: RawData<'a>,
}
Expand description
A parsed JIT_CODE_LOAD
record, for a single jitted function.
This carries the function name and the code bytes.
Fields§
§pid: u32
The process ID of the runtime generating the jitted code.
tid: u32
The thread ID of the runtime thread generating the jitted code.
vma: u64
The virtual address where code_bytes
starts in the memory of the process.
code_addr: u64
The code start address for the jitted code. It is unclear in what cases this would differ from vma
.
code_index: u64
A unique identifier for this piece of jitted code, to allow future JitCodeMoveRecord
s to refer back to this record.
function_name: RawData<'a>
The function name, in ASCII.
code_bytes: RawData<'a>
The jitted code, as raw bytes. These bytes can be decoded into assembly instructions of the CPU architecture given in the file header.
Implementations§
Source§impl<'a> JitCodeLoadRecord<'a>
impl<'a> JitCodeLoadRecord<'a>
Sourcepub const NAME_OFFSET_FROM_RECORD_START: usize = 56usize
pub const NAME_OFFSET_FROM_RECORD_START: usize = 56usize
The offset, in bytes, between the start of the record header and the start of the function name.
pub fn parse(endian: Endianness, data: RawData<'a>) -> Result<Self, Error>
pub fn parse_impl<O: ByteOrder>(data: RawData<'a>) -> Result<Self, Error>
Sourcepub fn code_bytes_offset_from_record_header_start(&self) -> usize
pub fn code_bytes_offset_from_record_header_start(&self) -> usize
The offset, in bytes, between the start of the record header and the start of the code bytes.
This can be different for each record because the code bytes are after the function name, so this offset depends on the length of the function name.
Trait Implementations§
Source§impl<'a> Clone for JitCodeLoadRecord<'a>
impl<'a> Clone for JitCodeLoadRecord<'a>
Source§fn clone(&self) -> JitCodeLoadRecord<'a>
fn clone(&self) -> JitCodeLoadRecord<'a>
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read more