pub struct OpcodeHandlerEntry {
pub handler_offset: u32,
pub handler_arity: u8,
pub side_effecting: bool,
pub control_flow: bool,
}Expand description
One opcode → handler entry, the host-side representation that
pack_dispatch_table turns into a packed u32.
Fields§
§handler_offset: u32Offset of the handler routine within the program-pool buffer. Capped at 2^24 - 1 = 16777215.
handler_arity: u8Operand-byte count this handler reads after the opcode byte. Capped at 15.
side_effecting: boolTrue if the handler has observable side effects (writes a buffer, triggers a sync, etc). Codegen uses this to refuse fusion across.
control_flow: boolTrue if the handler can change control flow (branch / call / return). Interpreter optimizer uses this to disable speculation across.
Trait Implementations§
Source§impl Clone for OpcodeHandlerEntry
impl Clone for OpcodeHandlerEntry
Source§fn clone(&self) -> OpcodeHandlerEntry
fn clone(&self) -> OpcodeHandlerEntry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for OpcodeHandlerEntry
Source§impl Debug for OpcodeHandlerEntry
impl Debug for OpcodeHandlerEntry
impl Eq for OpcodeHandlerEntry
Source§impl PartialEq for OpcodeHandlerEntry
impl PartialEq for OpcodeHandlerEntry
impl StructuralPartialEq for OpcodeHandlerEntry
Auto Trait Implementations§
impl Freeze for OpcodeHandlerEntry
impl RefUnwindSafe for OpcodeHandlerEntry
impl Send for OpcodeHandlerEntry
impl Sync for OpcodeHandlerEntry
impl Unpin for OpcodeHandlerEntry
impl UnsafeUnpin for OpcodeHandlerEntry
impl UnwindSafe for OpcodeHandlerEntry
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.