Skip to main content

PassConfig

Struct PassConfig 

Source
pub struct PassConfig {
Show 14 fields pub root_chain: bool, pub field_chain: bool, pub filter_count: bool, pub filter_fusion: bool, pub find_quantifier: bool, pub strength_reduce: bool, pub redundant_ops: bool, pub kind_check_fold: bool, pub method_const: bool, pub const_fold: bool, pub nullness: bool, pub equi_join: bool, pub reorder_and: bool, pub dedup_subprogs: bool,
}
Expand description

High-performance v2 virtual machine.

Maintains:

  • Compile cache — expression string → Program (parse + compile once).
  • Path cache(doc_hash, json_pointer)Val; doc-scoped so any program navigating the same path on the same document shares cached nodes. Intermediate nodes are populated as a side-effect of every traversal, enabling prefix reuse without re-traversal.

One VM per thread; wrap in Mutex for shared use. Toggle each optimiser pass independently. Default enables every pass. Disabling a pass invalidates the compile cache for the next compilation by changing hash().

Fields§

§root_chain: bool§field_chain: bool§filter_count: bool§filter_fusion: bool§find_quantifier: bool§strength_reduce: bool§redundant_ops: bool§kind_check_fold: bool§method_const: bool§const_fold: bool§nullness: bool§equi_join: bool§reorder_and: bool§dedup_subprogs: bool

Implementations§

Source§

impl PassConfig

Source

pub fn none() -> Self

Disable every pass — emit raw opcodes.

Source

pub fn hash(&self) -> u64

Trait Implementations§

Source§

impl Clone for PassConfig

Source§

fn clone(&self) -> PassConfig

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 Debug for PassConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PassConfig

Source§

fn default() -> Self

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

impl PartialEq for PassConfig

Source§

fn eq(&self, other: &PassConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for PassConfig

Source§

impl Eq for PassConfig

Source§

impl StructuralPartialEq for PassConfig

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> 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.