Struct gccjit::CompileResult

source ·
pub struct CompileResult { /* private fields */ }
Expand description

Represents a successful compilation of a context. This type provides the means to access compiled functions and globals. JIT compiled functions are exposted to Rust as an extern “C” function pointer.

Implementations§

source§

impl CompileResult

source

pub fn get_function<S: AsRef<str>>(&self, name: S) -> *mut ()

Gets a function pointer to a JIT compiled function. If the function does not exist (wasn’t compiled by the Context that produced this CompileResult), this function returns a null pointer.

It is the caller’s responsibility to ensure that this pointer is not used past the lifetime of the CompileResult object. Second, it is the caller’s responsibility to check whether or not the pointer is null. It is also expected that the caller of this function will transmute this pointer to a function pointer type.

source

pub fn get_global<S: AsRef<str>>(&self, name: S) -> *mut ()

Gets a pointer to a global variable that lives on the JIT heap.

It is the caller’s responsibility to ensure that the pointer is not used past the lifetime of the CompileResult object. It is also the caller’s responsibility to check whether or not the returned pointer is null.

Trait Implementations§

source§

impl Drop for CompileResult

source§

fn drop(&mut self)

Executes the destructor for this type. 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> 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<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.