Struct ThreadJitAlloc

Source
pub struct ThreadJitAlloc(/* private fields */);
Available on crate features std and default_jit_alloc only.
Expand description

Marker type providing access to a thread-local JIT allocator.

Unlike GlobalJitAlloc, this allocator is neither Send nor Sync.

Trait Implementations§

Source§

impl Clone for ThreadJitAlloc

Source§

fn clone(&self) -> ThreadJitAlloc

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for ThreadJitAlloc

Source§

fn default() -> ThreadJitAlloc

Returns the “default value” for a type. Read more
Source§

impl JitAlloc for ThreadJitAlloc

Source§

fn alloc(&self, size: usize) -> Result<(*const u8, *mut u8), JitAllocError>

Allocates size bytes in the executable memory region. Returns two pointers. One points to Read-Execute mapping and another to Read-Write mapping. All code writes must go to the Read-Write mapping.
Source§

unsafe fn release(&self, rx_ptr: *const u8) -> Result<(), JitAllocError>

Releases the memory allocated by alloc. Read more
Source§

unsafe fn flush_instruction_cache(&self, rx_ptr: *const u8, size: usize)

Flushes the instruction cache for (at least) the given slice of executable memory. Should be called after the JIT memory is ready to be executed. Read more
Source§

unsafe fn protect_jit_memory( &self, _ptr: *const u8, _size: usize, access: ProtectJitAccess, )

On hardened architectures with MAP_JIT-like memory flags, set the access for the current thread. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<'a, T> ToBoxedDyn<dyn Any + 'a> for T
where T: 'a,

Source§

fn to_boxed_unsize(value: T) -> Box<dyn Any + 'a>

Constructs a Box<T> from Self, coercing into the unsized type.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Any for T
where T: ?Sized,