[−][src]Struct wasmer_clif_fork_simplejit::SimpleJITBuilder
A builder for SimpleJITBackend
.
Methods
impl SimpleJITBuilder
[src]
pub fn new(libcall_names: Box<dyn Fn(LibCall) -> String>) -> Self
[src]
Create a new SimpleJITBuilder
.
The libcall_names
function provides a way to translate cranelift_codegen
's ir::LibCall
enum to symbols. LibCalls are inserted in the IR as part of the legalization for certain
floating point instructions, and for stack probes. If you don't know what to use for this
argument, use cranelift_module::default_libcall_names()
.
pub fn with_isa(
isa: Box<dyn TargetIsa>,
libcall_names: Box<dyn Fn(LibCall) -> String>
) -> Self
[src]
isa: Box<dyn TargetIsa>,
libcall_names: Box<dyn Fn(LibCall) -> String>
) -> Self
Create a new SimpleJITBuilder
with an arbitrary target. This is mainly
useful for testing.
SimpleJIT requires a TargetIsa
configured for non-PIC.
To create a SimpleJITBuilder
for native use, use the new
constructor
instead.
The libcall_names
function provides a way to translate cranelift_codegen
's ir::LibCall
enum to symbols. LibCalls are inserted in the IR as part of the legalization for certain
floating point instructions, and for stack probes. If you don't know what to use for this
argument, use cranelift_module::default_libcall_names()
.
pub fn symbol<K>(&mut self, name: K, ptr: *const u8) -> &Self where
K: Into<String>,
[src]
K: Into<String>,
Define a symbol in the internal symbol table.
The JIT will use the symbol table to resolve names that are declared, but not defined, in the module being compiled. A common example is external functions. With this method, functions and data can be exposed to the code being compiled which are defined by the host.
If a symbol is defined more than once, the most recent definition will be retained.
If the JIT fails to find a symbol in its internal table, it will fall back to a platform-specific search (this typically involves searching the current process for public symbols, followed by searching the platform's C runtime).
pub fn symbols<It, K>(&mut self, symbols: It) -> &Self where
It: IntoIterator<Item = (K, *const u8)>,
K: Into<String>,
[src]
It: IntoIterator<Item = (K, *const u8)>,
K: Into<String>,
Define multiple symbols in the internal symbol table.
Using this is equivalent to calling symbol
on each element.
Auto Trait Implementations
impl !Sync for SimpleJITBuilder
impl !Send for SimpleJITBuilder
impl Unpin for SimpleJITBuilder
impl !RefUnwindSafe for SimpleJITBuilder
impl !UnwindSafe for SimpleJITBuilder
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,