pub struct StackmapRequestInfo {
    pub reftype_class: RegClass,
    pub reftyped_vregs: Vec<VirtualReg>,
    pub safepoint_insns: Vec<InstIx>,
}
Expand description

A structure with which callers can request stackmap information.

Fields

reftype_class: RegClass

The register class that holds reftypes. This may only be RegClass::I32 or RegClass::I64, and it must equal the word size of the target architecture.

reftyped_vregs: Vec<VirtualReg>

The virtual regs that hold reftyped values. These must be provided in ascending order of register index and be duplicate-free. They must have class reftype_class.

safepoint_insns: Vec<InstIx>

The indices of instructions for which the allocator will construct stackmaps. These must be provided in ascending order and be duplicate-free. The specified instructions may not be coalescable move instructions (as the allocator may remove those) and they may not modify any register carrying a reftyped value (they may “def” or “use” them, though). The reason is that, at a safepoint, the client’s garbage collector may change the values of all live references, so it would be meaningless for a safepoint instruction also to attempt to do that – we’d end up with two competing new values.

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.