Trait cranelift_codegen::binemit::RelocSink[][src]

pub trait RelocSink {
    fn reloc_external(
        &mut self,
        _: CodeOffset,
        _: SourceLoc,
        _: Reloc,
        _: &ExternalName,
        _: Addend
    );
fn reloc_constant(&mut self, _: CodeOffset, _: Reloc, _: ConstantOffset);
fn reloc_jt(&mut self, _: CodeOffset, _: Reloc, _: JumpTable); fn add_call_site(&mut self, _: Opcode, _: CodeOffset, _: SourceLoc) { ... } }
Expand description

A trait for receiving relocations for code that is emitted directly into memory.

Required methods

fn reloc_external(
    &mut self,
    _: CodeOffset,
    _: SourceLoc,
    _: Reloc,
    _: &ExternalName,
    _: Addend
)
[src]

Add a relocation referencing an external symbol at the current offset.

fn reloc_constant(&mut self, _: CodeOffset, _: Reloc, _: ConstantOffset)[src]

Add a relocation referencing a constant.

fn reloc_jt(&mut self, _: CodeOffset, _: Reloc, _: JumpTable)[src]

Add a relocation referencing a jump table.

Provided methods

fn add_call_site(&mut self, _: Opcode, _: CodeOffset, _: SourceLoc)[src]

Track a call site whose return address is the given CodeOffset, for the given opcode. Does nothing in general, only useful for certain embedders (SpiderMonkey).

Implementors

impl RelocSink for NullRelocSink[src]

fn reloc_external(
    &mut self,
    _: CodeOffset,
    _: SourceLoc,
    _: Reloc,
    _: &ExternalName,
    _: Addend
)
[src]

fn reloc_constant(&mut self, _: CodeOffset, _: Reloc, _: ConstantOffset)[src]

fn reloc_jt(&mut self, _: CodeOffset, _: Reloc, _: JumpTable)[src]