[][src]Struct cranelift_codegen::binemit::Stackmap

pub struct Stackmap { /* fields omitted */ }

A stack map is a bitmap with one bit per machine word on the stack. Stack maps are created at safepoint instructions and record all live reference values that are on the stack. All slot kinds, except OutgoingArg are captured in a stack map. The OutgoingArg's will be captured in the callee function as IncomingArg's.

The first value in the bitmap is of the lowest addressed slot on the stack. As all stacks in Isa's supported by Cranelift grow down, this means that first value is of the top of the stack and values proceed down the stack.

Methods

impl Stackmap[src]

pub fn from_values(args: &[Value], func: &Function, isa: &dyn TargetIsa) -> Self[src]

Create a stackmap based on where references are located on a function's stack.

pub fn from_slice(vec: &[bool]) -> Self[src]

Create a vec of Bitsets from a slice of bools.

pub fn get_bit(&self, bit_index: usize) -> bool[src]

Returns a specified bit.

pub fn as_slice(&self) -> &[BitSet<u32>][src]

Returns the raw bitmap that represents this stack map.

pub fn mapped_words(&self) -> u32[src]

Returns the number of words represented by this stack map.

Trait Implementations

impl Clone for Stackmap[src]

impl Debug for Stackmap[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.