[−][src]Struct wasmer_clif_fork_simplejit::SimpleJITBackend
A SimpleJITBackend
implements Backend
and emits code and data into memory where it can be
directly called and accessed.
See the SimpleJITBuilder
for a convenient way to construct SimpleJITBackend
instances.
Trait Implementations
impl<'simple_jit_backend> Backend for SimpleJITBackend
[src]
type Builder = SimpleJITBuilder
A builder for constructing Backend
instances.
type CompiledFunction = SimpleJITCompiledFunction
SimpleJIT compiled function and data objects may have outstanding
relocations that need to be performed before the memory can be used.
These relocations are performed within finalize_function
and
finalize_data
.
type CompiledData = SimpleJITCompiledData
The results of "compiling" a data object.
type FinalizedFunction = *const u8
SimpleJIT emits code and data into memory, and provides raw pointers to them.
type FinalizedData = (*mut u8, usize)
The completed output artifact for a data object, if this is meaningful for the Backend
. Read more
type Product = ()
SimpleJIT emits code and data into memory as it processes them, so it
doesn't need to provide anything after the Module
is complete.
fn new(builder: SimpleJITBuilder) -> Self
[src]
Create a new SimpleJITBackend
.
fn isa(&self) -> &dyn TargetIsa
[src]
fn declare_function(&mut self, _name: &str, _linkage: Linkage)
[src]
fn declare_data(
&mut self,
_name: &str,
_linkage: Linkage,
_writable: bool,
_align: Option<u8>
)
[src]
&mut self,
_name: &str,
_linkage: Linkage,
_writable: bool,
_align: Option<u8>
)
fn define_function(
&mut self,
name: &str,
ctx: &Context,
_namespace: &ModuleNamespace<Self>,
code_size: u32
) -> ModuleResult<Self::CompiledFunction>
[src]
&mut self,
name: &str,
ctx: &Context,
_namespace: &ModuleNamespace<Self>,
code_size: u32
) -> ModuleResult<Self::CompiledFunction>
fn define_data(
&mut self,
_name: &str,
writable: bool,
align: Option<u8>,
data: &DataContext,
_namespace: &ModuleNamespace<Self>
) -> ModuleResult<Self::CompiledData>
[src]
&mut self,
_name: &str,
writable: bool,
align: Option<u8>,
data: &DataContext,
_namespace: &ModuleNamespace<Self>
) -> ModuleResult<Self::CompiledData>
fn write_data_funcaddr(
&mut self,
_data: &mut Self::CompiledData,
_offset: usize,
_what: FuncRef
)
[src]
&mut self,
_data: &mut Self::CompiledData,
_offset: usize,
_what: FuncRef
)
fn write_data_dataaddr(
&mut self,
_data: &mut Self::CompiledData,
_offset: usize,
_what: GlobalValue,
_usize: Addend
)
[src]
&mut self,
_data: &mut Self::CompiledData,
_offset: usize,
_what: GlobalValue,
_usize: Addend
)
fn finalize_function(
&mut self,
func: &Self::CompiledFunction,
namespace: &ModuleNamespace<Self>
) -> Self::FinalizedFunction
[src]
&mut self,
func: &Self::CompiledFunction,
namespace: &ModuleNamespace<Self>
) -> Self::FinalizedFunction
fn get_finalized_function(
&self,
func: &Self::CompiledFunction
) -> Self::FinalizedFunction
[src]
&self,
func: &Self::CompiledFunction
) -> Self::FinalizedFunction
fn finalize_data(
&mut self,
data: &Self::CompiledData,
namespace: &ModuleNamespace<Self>
) -> Self::FinalizedData
[src]
&mut self,
data: &Self::CompiledData,
namespace: &ModuleNamespace<Self>
) -> Self::FinalizedData
fn get_finalized_data(&self, data: &Self::CompiledData) -> Self::FinalizedData
[src]
fn publish(&mut self)
[src]
fn finish(self)
[src]
SimpleJIT emits code and data into memory as it processes them, so it
doesn't need to provide anything after the Module
is complete.
Auto Trait Implementations
impl Unpin for SimpleJITBackend
impl !Sync for SimpleJITBackend
impl !Send for SimpleJITBackend
impl !UnwindSafe for SimpleJITBackend
impl !RefUnwindSafe for SimpleJITBackend
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> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,