#[repr(C)]pub struct POGOInfo<'a> {
pub signature: u32,
pub data: &'a [u8],
}Expand description
Represents the POGO info structure, which provides information about Profile-Guided Optimization (POGO aka PGO) data within a PE file.
PGO is a compiler optimization technique that uses data collected from program execution to optimize code layout and improve runtime performance. This structure contains details such as the relative virtual address (RVA), size, and the associated name of the function or data block for which PGO data is provided.
Fields§
§signature: u32The signature of POGO debug directory entry is always first 4-bytes
Either one of:
data: &'a [u8]Raw bytes of POGO debug entry, without first 4-bytes signatures field
Implementations§
Source§impl<'a> POGOInfo<'a>
impl<'a> POGOInfo<'a>
pub fn parse(bytes: &'a [u8], idd: &ImageDebugDirectory) -> Result<Option<Self>>
pub fn parse_with_opts( bytes: &'a [u8], idd: &ImageDebugDirectory, opts: &ParseOptions, ) -> Result<Option<Self>>
Sourcepub fn entries(&self) -> POGOEntryIterator<'a> ⓘ
pub fn entries(&self) -> POGOEntryIterator<'a> ⓘ
Returns iterator for POGOInfoEntry
Trait Implementations§
impl<'a> Copy for POGOInfo<'a>
Source§impl<'a> PartialEq for POGOInfo<'a>
impl<'a> PartialEq for POGOInfo<'a>
impl<'a> StructuralPartialEq for POGOInfo<'a>
Auto Trait Implementations§
impl<'a> Freeze for POGOInfo<'a>
impl<'a> RefUnwindSafe for POGOInfo<'a>
impl<'a> Send for POGOInfo<'a>
impl<'a> Sync for POGOInfo<'a>
impl<'a> Unpin for POGOInfo<'a>
impl<'a> UnsafeUnpin for POGOInfo<'a>
impl<'a> UnwindSafe for POGOInfo<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more