pub struct TranspilerRunnerBuilder { /* private fields */ }Expand description
Builder for creating a configured transpiler runner.
Implementations§
Source§impl TranspilerRunnerBuilder
impl TranspilerRunnerBuilder
pub fn new(app_bin_path: impl AsRef<Path>) -> Self
pub fn with_cycles(self, cycles: usize) -> Self
pub fn maybe_cycles(self, cycles: Option<usize>) -> Self
pub fn with_text_path(self, text_path: impl AsRef<Path>) -> Self
pub fn maybe_text_path(self, text_path: Option<impl AsRef<Path>>) -> Self
pub fn with_flamegraph(self, flamegraph: FlamegraphConfig) -> Self
Sourcepub fn with_machine_profile(self, profile: MachineProfile) -> Self
pub fn with_machine_profile(self, profile: MachineProfile) -> Self
Selects one of the platform-supported machine profiles for bytecode preprocessing.
The default is MachineProfile::FullUnsigned, which preserves the historical
airbender-host transpiler behavior. Non-default profiles currently require
interpreter execution; combining them with Self::with_jit returns an error.
Sourcepub fn with_unstable_raw_decoder<D>(self, name: &'static str) -> Selfwhere
D: DecodingOptions,
pub fn with_unstable_raw_decoder<D>(self, name: &'static str) -> Selfwhere
D: DecodingOptions,
Selects a raw upstream decoder configuration.
This method intentionally exposes riscv_transpiler internals and is not
covered by Airbender Platform’s stability guarantees. It is intended for
advanced users who already accept that upstream Airbender APIs can change
without a platform-level compatibility layer. Raw decoders currently require
interpreter execution; combining them with Self::with_jit returns an error.
If the decoder emits instructions that the host runner does not implement,
execution may panic instead of returning a structured error.
name is used only for diagnostics, so callers should pass a short domain
name that will make sense in error messages.
pub fn with_jit(self) -> Self
pub fn build(self) -> Result<TranspilerRunner>
Auto Trait Implementations§
impl Freeze for TranspilerRunnerBuilder
impl RefUnwindSafe for TranspilerRunnerBuilder
impl Send for TranspilerRunnerBuilder
impl Sync for TranspilerRunnerBuilder
impl Unpin for TranspilerRunnerBuilder
impl UnsafeUnpin for TranspilerRunnerBuilder
impl UnwindSafe for TranspilerRunnerBuilder
Blanket Implementations§
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
§impl<T> CudaVariable<T> for T
impl<T> CudaVariable<T> for T
§impl<T> CudaVariableMut<T> for T
impl<T> CudaVariableMut<T> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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> ⓘ
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