pub struct JitContext { /* private fields */ }Expand description
Owns the Cranelift JIT module and builder context used for compiling expressions.
Create one per compilation session (typically per query). Each compiled function
gets a unique name via next_func_name.
Implementations§
Source§impl JitContext
impl JitContext
Sourcepub fn new() -> Result<Self, CompileError>
pub fn new() -> Result<Self, CompileError>
Creates a new JIT context targeting the host CPU with opt_level = speed.
§Errors
Returns CompileError::Cranelift if the native ISA cannot be detected.
Sourcepub fn module(&mut self) -> &mut JITModule
pub fn module(&mut self) -> &mut JITModule
Returns a mutable reference to the underlying [JITModule].
Sourcepub fn builder_ctx(&mut self) -> &mut FunctionBuilderContext
pub fn builder_ctx(&mut self) -> &mut FunctionBuilderContext
Returns a mutable reference to the shared [FunctionBuilderContext].
Sourcepub fn next_func_name(&mut self, prefix: &str) -> String
pub fn next_func_name(&mut self, prefix: &str) -> String
Generates a unique function name with the given prefix.
Auto Trait Implementations§
impl !Freeze for JitContext
impl !RefUnwindSafe for JitContext
impl Send for JitContext
impl !Sync for JitContext
impl Unpin for JitContext
impl UnsafeUnpin for JitContext
impl !UnwindSafe for JitContext
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.